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:
@@ -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);
|
||||||
|
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user