summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/com/android/dialer/speeddial/SpeedDialFragment.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/java/com/android/dialer/speeddial/SpeedDialFragment.java b/java/com/android/dialer/speeddial/SpeedDialFragment.java
index d9593c211..f94ad7d9e 100644
--- a/java/com/android/dialer/speeddial/SpeedDialFragment.java
+++ b/java/com/android/dialer/speeddial/SpeedDialFragment.java
@@ -21,6 +21,7 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
+import android.database.ContentObserver;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract.CommonDataKinds.Phone;
@@ -45,6 +46,7 @@ import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.DefaultFutureCallback;
import com.android.dialer.common.concurrent.DialerExecutorComponent;
import com.android.dialer.common.concurrent.SupportUiListener;
+import com.android.dialer.common.concurrent.ThreadUtil;
import com.android.dialer.constants.ActivityRequestCodes;
import com.android.dialer.historyitemactions.DividerModule;
import com.android.dialer.historyitemactions.HistoryItemActionBottomSheet;
@@ -99,6 +101,16 @@ public class SpeedDialFragment extends Fragment {
}
};
+ /** Listen for changes to the strequents content observer. */
+ private final ContentObserver strequentsContentObserver =
+ new ContentObserver(ThreadUtil.getUiThreadHandler()) {
+ @Override
+ public void onChange(boolean selfChange) {
+ super.onChange(selfChange);
+ loadContacts();
+ }
+ };
+
private final SpeedDialHeaderListener headerListener = new SpeedDialFragmentHeaderListener();
private final SpeedDialSuggestedListener suggestedListener = new SpeedDialSuggestedListener();
@@ -272,6 +284,9 @@ public class SpeedDialFragment extends Fragment {
super.onStart();
PermissionsUtil.registerPermissionReceiver(
getActivity(), readContactsPermissionGrantedReceiver, Manifest.permission.READ_CONTACTS);
+ getContext()
+ .getContentResolver()
+ .registerContentObserver(Contacts.CONTENT_STREQUENT_URI, true, strequentsContentObserver);
}
@Override
@@ -279,6 +294,7 @@ public class SpeedDialFragment extends Fragment {
super.onStop();
PermissionsUtil.unregisterPermissionReceiver(
getContext(), readContactsPermissionGrantedReceiver);
+ getContext().getContentResolver().unregisterContentObserver(strequentsContentObserver);
}
private class SpeedDialFragmentHeaderListener implements SpeedDialHeaderListener {