Refresh ViewModel in onStart
Refreshes the ReviewOngoingUsageViewModel in onStart, and stops
observing after showing the dialog.
Bug: 177862337
Test: manual
Change-Id: Ic7921f97f0d1e2cdcaeaae8ccbffadaa5db7be24
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 523a92a..4273a2f 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 @@
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 @@
} 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.
*