am 486a9942: Merge "[ActivityManager] Use synchronized to protect object"
automerge: e3b07b4
* commit 'e3b07b4856d55f7d96dcb25e3749c7cce1a1cd3d':
[ActivityManager] Use synchronized to protect object
This commit is contained in:
@@ -4187,22 +4187,24 @@ public final class ActivityThread {
|
|||||||
final void handleDispatchPackageBroadcast(int cmd, String[] packages) {
|
final void handleDispatchPackageBroadcast(int cmd, String[] packages) {
|
||||||
boolean hasPkgInfo = false;
|
boolean hasPkgInfo = false;
|
||||||
if (packages != null) {
|
if (packages != null) {
|
||||||
for (int i=packages.length-1; i>=0; i--) {
|
synchronized (mResourcesManager) {
|
||||||
//Slog.i(TAG, "Cleaning old package: " + packages[i]);
|
for (int i=packages.length-1; i>=0; i--) {
|
||||||
if (!hasPkgInfo) {
|
//Slog.i(TAG, "Cleaning old package: " + packages[i]);
|
||||||
WeakReference<LoadedApk> ref;
|
if (!hasPkgInfo) {
|
||||||
ref = mPackages.get(packages[i]);
|
WeakReference<LoadedApk> ref;
|
||||||
if (ref != null && ref.get() != null) {
|
ref = mPackages.get(packages[i]);
|
||||||
hasPkgInfo = true;
|
|
||||||
} else {
|
|
||||||
ref = mResourcePackages.get(packages[i]);
|
|
||||||
if (ref != null && ref.get() != null) {
|
if (ref != null && ref.get() != null) {
|
||||||
hasPkgInfo = true;
|
hasPkgInfo = true;
|
||||||
|
} else {
|
||||||
|
ref = mResourcePackages.get(packages[i]);
|
||||||
|
if (ref != null && ref.get() != null) {
|
||||||
|
hasPkgInfo = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
mPackages.remove(packages[i]);
|
||||||
|
mResourcePackages.remove(packages[i]);
|
||||||
}
|
}
|
||||||
mPackages.remove(packages[i]);
|
|
||||||
mResourcePackages.remove(packages[i]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ApplicationPackageManager.handlePackageBroadcast(cmd, packages,
|
ApplicationPackageManager.handlePackageBroadcast(cmd, packages,
|
||||||
|
|||||||
Reference in New Issue
Block a user