summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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.
*