From fa863beddae5b1eb69b5c14e66cb5e55ee6aff29 Mon Sep 17 00:00:00 2001 From: calderwoodra Date: Tue, 15 May 2018 13:36:35 -0700 Subject: Clear frequents dialog now reloads the speed dial fragment. Bug: 79131964 Test: manual, frequents table is only readable, so setting up tests is difficult PiperOrigin-RevId: 196720970 Change-Id: I0b0ef991fadaebb8abbcd48394a2780d8f824550 --- java/com/android/dialer/speeddial/SpeedDialFragment.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'java') 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 { -- cgit v1.2.3