From ab616d477be693fc455329953711264af0ed7814 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Thu, 4 Oct 2012 15:44:50 -0700 Subject: [PATCH] Fix issue #7226978: Still in app detail screen after uninstall Change-Id: I3b03db0a68bfab5dd010474ee714d5f7a5538af0 --- .../settings/applications/InstalledAppDetails.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java index 55f18d20c18..7690b7e3fb3 100644 --- a/src/com/android/settings/applications/InstalledAppDetails.java +++ b/src/com/android/settings/applications/InstalledAppDetails.java @@ -110,6 +110,8 @@ public class InstalledAppDetails extends Fragment private ApplicationsState mState; private ApplicationsState.Session mSession; private ApplicationsState.AppEntry mAppEntry; + private boolean mInitialized; + private boolean mShowUninstalled; private PackageInfo mPackageInfo; private CanBeOnSdCardChecker mCanBeOnSdCardChecker; private View mRootView; @@ -767,6 +769,17 @@ public class InstalledAppDetails extends Fragment setAppLabelAndIcon(mPackageInfo); refreshButtons(); refreshSizeInfo(); + + if (!mInitialized) { + // First time init: are we displaying an uninstalled app? + mInitialized = true; + mShowUninstalled = (mAppEntry.info.flags&ApplicationInfo.FLAG_INSTALLED) == 0; + } else if (!mShowUninstalled) { + // All other times: if we did not start out with the app uninstalled, + // then if it becomes uninstalled we want to go away. + return (mAppEntry.info.flags&ApplicationInfo.FLAG_INSTALLED) == 0; + } + return true; }