diff options
author | calderwoodra <calderwoodra@google.com> | 2018-02-28 17:10:18 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-02-28 17:15:00 -0800 |
commit | 76cf7e18da00545145df8a5f215f3a377d605866 (patch) | |
tree | 3f9fac1016800841f7d00b383cf08668e187d4ef /java/com/android/dialer/app/calllog | |
parent | 999b5d5a7152c3b7608fe30630b983512e9e4e43 (diff) | |
download | android_packages_apps_Dialer-76cf7e18da00545145df8a5f215f3a377d605866.tar.gz android_packages_apps_Dialer-76cf7e18da00545145df8a5f215f3a377d605866.tar.bz2 android_packages_apps_Dialer-76cf7e18da00545145df8a5f215f3a377d605866.zip |
Some small bug fixes in NUI.
- Never show the dialpad chooser in MainActivity.
- If the call log changed while dialer was in the background, it would trigger
the content observer to fetch the new info, which would request it's parent
that wasn't there. Now we register/unregister them in onResume/onPause. This
is safe to do because we force refresh the data onResume anyways, so any
changes will still be shown.
Bug: 73972084,73975555,73995512
Test: manual
PiperOrigin-RevId: 187407058
Change-Id: Iae86dabbcb852398bb2b9df4627e234261ab8030
Diffstat (limited to 'java/com/android/dialer/app/calllog')
-rw-r--r-- | java/com/android/dialer/app/calllog/CallLogFragment.java | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/java/com/android/dialer/app/calllog/CallLogFragment.java b/java/com/android/dialer/app/calllog/CallLogFragment.java index 11c249944..7e49cc965 100644 --- a/java/com/android/dialer/app/calllog/CallLogFragment.java +++ b/java/com/android/dialer/app/calllog/CallLogFragment.java @@ -222,18 +222,6 @@ public class CallLogFragment extends Fragment final Activity activity = getActivity(); final ContentResolver resolver = activity.getContentResolver(); callLogQueryHandler = new CallLogQueryHandler(activity, resolver, this, logLimit); - - if (PermissionsUtil.hasCallLogReadPermissions(getContext())) { - resolver.registerContentObserver(CallLog.CONTENT_URI, true, callLogObserver); - } else { - LogUtil.w("CallLogFragment.onCreate", "call log permission not available"); - } - if (PermissionsUtil.hasContactsReadPermissions(getContext())) { - resolver.registerContentObserver( - ContactsContract.Contacts.CONTENT_URI, true, contactsObserver); - } else { - LogUtil.w("CallLogFragment.onCreate", "contacts permission not available."); - } setHasOptionsMenu(true); } @@ -412,6 +400,19 @@ public class CallLogFragment extends Fragment updateEmptyMessage(callTypeFilter); } + ContentResolver resolver = getActivity().getContentResolver(); + if (PermissionsUtil.hasCallLogReadPermissions(getContext())) { + resolver.registerContentObserver(CallLog.CONTENT_URI, true, callLogObserver); + } else { + LogUtil.w("CallLogFragment.onCreate", "call log permission not available"); + } + if (PermissionsUtil.hasContactsReadPermissions(getContext())) { + resolver.registerContentObserver( + ContactsContract.Contacts.CONTENT_URI, true, contactsObserver); + } else { + LogUtil.w("CallLogFragment.onCreate", "contacts permission not available."); + } + this.hasReadCallLogPermission = hasReadCallLogPermission; /* @@ -432,6 +433,8 @@ public class CallLogFragment extends Fragment @Override public void onPause() { LogUtil.enterBlock("CallLogFragment.onPause"); + getActivity().getContentResolver().unregisterContentObserver(callLogObserver); + getActivity().getContentResolver().unregisterContentObserver(contactsObserver); if (getUserVisibleHint()) { onNotVisible(); } @@ -465,9 +468,6 @@ public class CallLogFragment extends Fragment if (adapter != null) { adapter.changeCursor(null); } - - getActivity().getContentResolver().unregisterContentObserver(callLogObserver); - getActivity().getContentResolver().unregisterContentObserver(contactsObserver); super.onDestroy(); } |