diff options
author | Nate Myren <ntmyren@google.com> | 2021-03-08 09:56:17 -0800 |
---|---|---|
committer | Nate Myren <ntmyren@google.com> | 2021-03-08 23:28:14 +0000 |
commit | 6b5d6239ee64550f726a5051a1768f98858677aa (patch) | |
tree | d709400a957a5298626c619532aa8f868e6b6c6d | |
parent | 1a875dfd98f8d0c8884e087962ba547ceae4e819 (diff) | |
download | Permission-6b5d6239ee64550f726a5051a1768f98858677aa.tar.gz |
Refresh ViewModel in onStartandroid-mainline-11.0.0_r27android-mainline-11.0.0_r23android-mainline-11.0.0_r22android-mainline-11.0.0_r21
Refreshes the ReviewOngoingUsageViewModel in onStart, and stops
observing after showing the dialog.
Bug: 177862337
Test: manual
Change-Id: Ic7921f97f0d1e2cdcaeaae8ccbffadaa5db7be24
-rw-r--r-- | PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ReviewOngoingUsageFragment.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ReviewOngoingUsageFragment.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ReviewOngoingUsageFragment.java index 523a92a90..4273a2fd8 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ReviewOngoingUsageFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ReviewOngoingUsageFragment.java @@ -81,9 +81,11 @@ public class ReviewOngoingUsageFragment extends PreferenceFragmentCompat { return fragment; } + // create new ViewModel in onStart, because viewModel is sometimes persisting after finish() + // TODO: determine why viewModel is doing this. @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + public void onStart() { + super.onStart(); ReviewOngoingUsageViewModelFactory factory = new ReviewOngoingUsageViewModelFactory( @@ -112,9 +114,18 @@ public class ReviewOngoingUsageFragment extends PreferenceFragmentCompat { } else { updateDialogView(usages); } + mViewModel.getUsages().removeObservers(this); }); } + @Override + public void onPause() { + super.onPause(); + if (mDialog != null && getActivity() != null && !getActivity().isFinishing()) { + mDialog.dismiss(); + } + } + /** * Get a list of permission labels. * |