Fix issue #4021524 HMI63B: "Force stop" button not disabled after app is stopped

There should probably be a broadcast from PM about this.  Later.

Change-Id: I713197ed458f8f6a914efb3800cd1b192f741613
This commit is contained in:
Dianne Hackborn
2011-03-08 14:40:25 -08:00
parent 3f1d39193e
commit c442e52dca
2 changed files with 12 additions and 4 deletions

View File

@@ -248,8 +248,7 @@ public class ApplicationsState {
} else if (Intent.ACTION_PACKAGE_CHANGED.equals(actionStr)) { } else if (Intent.ACTION_PACKAGE_CHANGED.equals(actionStr)) {
Uri data = intent.getData(); Uri data = intent.getData();
String pkgName = data.getEncodedSchemeSpecificPart(); String pkgName = data.getEncodedSchemeSpecificPart();
removePackage(pkgName); invalidatePackage(pkgName);
addPackage(pkgName);
} else if (Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE.equals(actionStr) || } else if (Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE.equals(actionStr) ||
Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE.equals(actionStr)) { Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE.equals(actionStr)) {
// When applications become available or unavailable (perhaps because // When applications become available or unavailable (perhaps because
@@ -266,8 +265,7 @@ public class ApplicationsState {
boolean avail = Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE.equals(actionStr); boolean avail = Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE.equals(actionStr);
if (avail) { if (avail) {
for (String pkgName : pkgList) { for (String pkgName : pkgList) {
removePackage(pkgName); invalidatePackage(pkgName);
addPackage(pkgName);
} }
} }
} }
@@ -624,6 +622,11 @@ public class ApplicationsState {
} }
} }
void invalidatePackage(String pkgName) {
removePackage(pkgName);
addPackage(pkgName);
}
AppEntry getEntryLocked(ApplicationInfo info) { AppEntry getEntryLocked(ApplicationInfo info) {
AppEntry entry = mEntriesMap.get(info.packageName); AppEntry entry = mEntriesMap.get(info.packageName);
if (DEBUG) Log.i(TAG, "Looking up entry of pkg " + info.packageName + ": " + entry); if (DEBUG) Log.i(TAG, "Looking up entry of pkg " + info.packageName + ": " + entry);

View File

@@ -736,6 +736,11 @@ public class InstalledAppDetails extends Fragment
ActivityManager am = (ActivityManager)getActivity().getSystemService( ActivityManager am = (ActivityManager)getActivity().getSystemService(
Context.ACTIVITY_SERVICE); Context.ACTIVITY_SERVICE);
am.forceStopPackage(pkgName); am.forceStopPackage(pkgName);
mState.invalidatePackage(pkgName);
ApplicationsState.AppEntry newEnt = mState.getEntry(pkgName);
if (newEnt != null) {
mAppEntry = newEnt;
}
checkForceStop(); checkForceStop();
} }