diff options
author | Yorke Lee <yorkelee@google.com> | 2013-10-08 00:02:29 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-10-08 00:02:29 +0000 |
commit | e8b56fbeb69448c861b55d99568c27b484b3e5de (patch) | |
tree | 4e98769226f61f97ffd4a73b56740671968b3a12 | |
parent | 888df858aafc84ec9bbb32b6e4e6d08d2a40664a (diff) | |
parent | f2a0756a67d1f1ba3060ce1913cbcf87d37a8403 (diff) |
Merge "Clear phone number cache when call log is cleared" into klp-dev
-rw-r--r-- | src/com/android/dialer/calllog/ClearCallLogDialog.java | 10 | ||||
-rw-r--r-- | src/com/android/dialer/service/CachedNumberLookupService.java | 8 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/com/android/dialer/calllog/ClearCallLogDialog.java b/src/com/android/dialer/calllog/ClearCallLogDialog.java index 1f5b2b3b7..e6b4ce29c 100644 --- a/src/com/android/dialer/calllog/ClearCallLogDialog.java +++ b/src/com/android/dialer/calllog/ClearCallLogDialog.java @@ -22,6 +22,7 @@ import android.app.DialogFragment; import android.app.FragmentManager; import android.app.ProgressDialog; import android.content.ContentResolver; +import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.AsyncTask; @@ -29,11 +30,16 @@ import android.os.Bundle; import android.provider.CallLog.Calls; import com.android.dialer.R; +import com.android.dialer.service.CachedNumberLookupService; +import com.android.dialerbind.ObjectFactory; /** * Dialog that clears the call log after confirming with the user */ public class ClearCallLogDialog extends DialogFragment { + private static final CachedNumberLookupService mCachedNumberLookupService = + ObjectFactory.newCachedNumberLookupService(); + /** Preferred way to show this dialog */ public static void show(FragmentManager fragmentManager) { ClearCallLogDialog dialog = new ClearCallLogDialog(); @@ -43,6 +49,7 @@ public class ClearCallLogDialog extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final ContentResolver resolver = getActivity().getContentResolver(); + final Context context = getActivity().getApplicationContext(); final OnClickListener okListener = new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { @@ -53,6 +60,9 @@ public class ClearCallLogDialog extends DialogFragment { @Override protected Void doInBackground(Void... params) { resolver.delete(Calls.CONTENT_URI, null, null); + if (mCachedNumberLookupService != null) { + mCachedNumberLookupService.clearAllCacheEntries(context); + } return null; } @Override diff --git a/src/com/android/dialer/service/CachedNumberLookupService.java b/src/com/android/dialer/service/CachedNumberLookupService.java index 62881d2fe..5745c9ded 100644 --- a/src/com/android/dialer/service/CachedNumberLookupService.java +++ b/src/com/android/dialer/service/CachedNumberLookupService.java @@ -34,4 +34,12 @@ public interface CachedNumberLookupService { public boolean isCacheUri(String uri); public boolean addPhoto(Context context, String number, byte[] photo); + + /** + * Remove all cached phone number entries from the cache, regardless of how old they + * are. + * + * @param context Valid context + */ + public void clearAllCacheEntries(Context context); } |