diff options
Diffstat (limited to 'java')
-rw-r--r-- | java/com/android/dialer/speeddial/SpeedDialFragment.java | 16 |
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 { |