Merge "Do not retrive app detail if the fragment is exiting." into qt-dev

This commit is contained in:
TreeHugger Robot
2019-04-09 21:19:24 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 3 deletions

View File

@@ -112,7 +112,8 @@ public class AppInfoDashboardFragment extends DashboardFragment
private UserManager mUserManager;
private PackageManager mPm;
private boolean mFinishing;
@VisibleForTesting
boolean mFinishing;
private boolean mListeningToPackageRemove;
@@ -544,7 +545,7 @@ public class AppInfoDashboardFragment extends DashboardFragment
@VisibleForTesting
void retrieveAppEntry() {
final Activity activity = getActivity();
if (activity == null) {
if (activity == null || mFinishing) {
return;
}
if (mState == null) {
@@ -650,7 +651,7 @@ public class AppInfoDashboardFragment extends DashboardFragment
|| TextUtils.equals(mAppEntry.info.packageName, packageName)) {
onPackageRemoved();
} else if (mAppEntry.info.isResourceOverlay()
&& TextUtils.equals(mPackageInfo.overlayTarget, packageName)) {
&& TextUtils.equals(mPackageInfo.overlayTarget, packageName)) {
refreshUi();
}
}

View File

@@ -281,6 +281,13 @@ public final class AppInfoDashboardFragmentTest {
assertThat(mFragment.createPreferenceControllers(mShadowContext)).isNull();
}
@Test
public void getPreferenceControllers_exiting_shouldReturnNull() {
mFragment.mFinishing = true;
assertThat(mFragment.createPreferenceControllers(mShadowContext)).isNull();
}
@Test
public void getNumberOfUserWithPackageInstalled_twoUsersInstalled_shouldReturnTwo()
throws PackageManager.NameNotFoundException {