Merge "Clear frequents dialog now reloads the speed dial fragment."
diff --git a/java/com/android/dialer/speeddial/SpeedDialFragment.java b/java/com/android/dialer/speeddial/SpeedDialFragment.java
index d9593c2..f94ad7d 100644
--- a/java/com/android/dialer/speeddial/SpeedDialFragment.java
+++ b/java/com/android/dialer/speeddial/SpeedDialFragment.java
@@ -21,6 +21,7 @@
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.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 @@
}
};
+ /** 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 @@
super.onStart();
PermissionsUtil.registerPermissionReceiver(
getActivity(), readContactsPermissionGrantedReceiver, Manifest.permission.READ_CONTACTS);
+ getContext()
+ .getContentResolver()
+ .registerContentObserver(Contacts.CONTENT_STREQUENT_URI, true, strequentsContentObserver);
}
@Override
@@ -279,6 +294,7 @@
super.onStop();
PermissionsUtil.unregisterPermissionReceiver(
getContext(), readContactsPermissionGrantedReceiver);
+ getContext().getContentResolver().unregisterContentObserver(strequentsContentObserver);
}
private class SpeedDialFragmentHeaderListener implements SpeedDialHeaderListener {