diff options
-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. * |