summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNate Myren <ntmyren@google.com>2021-03-08 09:56:17 -0800
committerNate Myren <ntmyren@google.com>2021-03-08 23:28:14 +0000
commit6b5d6239ee64550f726a5051a1768f98858677aa (patch)
treed709400a957a5298626c619532aa8f868e6b6c6d
parent1a875dfd98f8d0c8884e087962ba547ceae4e819 (diff)
downloadPermission-6b5d6239ee64550f726a5051a1768f98858677aa.tar.gz
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.java15
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.
*