diff options
author | calderwoodra <calderwoodra@google.com> | 2017-10-16 14:29:52 -0700 |
---|---|---|
committer | Eric Erfanian <erfanian@google.com> | 2017-10-17 08:08:31 -0700 |
commit | e6706d676ebc8b91c96a8cc453e48f3f3ea0d205 (patch) | |
tree | 273cdeeafddb5952683286b8e3a37d491947e3da /java | |
parent | 2f8d48f5e981ab9945c907cd9ab0f6bd6a82db22 (diff) |
Dismissing location prompt now actually prevents it from reshowing.
Bug: 67709163
Test: NewSearchFragmentTest
PiperOrigin-RevId: 172378559
Change-Id: I2b92e1e06057a57638d23a333d04239b2e288bc1
Diffstat (limited to 'java')
-rw-r--r-- | java/com/android/dialer/searchfragment/list/NewSearchFragment.java | 10 | ||||
-rw-r--r-- | java/com/android/dialer/searchfragment/list/SearchAdapter.java | 2 |
2 files changed, 9 insertions, 3 deletions
diff --git a/java/com/android/dialer/searchfragment/list/NewSearchFragment.java b/java/com/android/dialer/searchfragment/list/NewSearchFragment.java index 393b07a6b..6115c2f1c 100644 --- a/java/com/android/dialer/searchfragment/list/NewSearchFragment.java +++ b/java/com/android/dialer/searchfragment/list/NewSearchFragment.java @@ -345,7 +345,7 @@ public final class NewSearchFragment extends Fragment if (!PermissionsUtil.hasLocationPermissions(getContext()) && !DialerUtils.getDefaultSharedPreferenceForDeviceProtectedStorageContext(getContext()) .getBoolean(KEY_LOCATION_PROMPT_DISMISSED, false)) { - if (adapter != null && isRegularSearch()) { + if (adapter != null && isRegularSearch() && !hasBeenDismissed()) { adapter.showLocationPermissionRequest( v -> requestLocationPermission(), v -> dismissLocationPermission()); } @@ -372,7 +372,8 @@ public final class NewSearchFragment extends Fragment requestPermissions(deniedPermissions, LOCATION_PERMISSION_REQUEST_CODE); } - private void dismissLocationPermission() { + @VisibleForTesting + public void dismissLocationPermission() { PreferenceManager.getDefaultSharedPreferences(getContext()) .edit() .putBoolean(KEY_LOCATION_PROMPT_DISMISSED, true) @@ -380,6 +381,11 @@ public final class NewSearchFragment extends Fragment adapter.hideLocationPermissionRequest(); } + private boolean hasBeenDismissed() { + return PreferenceManager.getDefaultSharedPreferences(getContext()) + .getBoolean(KEY_LOCATION_PROMPT_DISMISSED, false); + } + @Override public void onResume() { super.onResume(); diff --git a/java/com/android/dialer/searchfragment/list/SearchAdapter.java b/java/com/android/dialer/searchfragment/list/SearchAdapter.java index 29e4e2320..949c2a2c5 100644 --- a/java/com/android/dialer/searchfragment/list/SearchAdapter.java +++ b/java/com/android/dialer/searchfragment/list/SearchAdapter.java @@ -187,7 +187,7 @@ public final class SearchAdapter extends RecyclerView.Adapter<ViewHolder> this.allowClickListener = Assert.isNotNull(allowClickListener); this.dismissClickListener = Assert.isNotNull(dismissClickListener); if (searchCursorManager.showLocationPermissionRequest(true)) { - notifyItemRemoved(0); + notifyItemInserted(0); } } |