summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2010-04-14 12:11:17 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-04-14 12:11:17 -0700
commit093d621c2f645ba2b9a604bf9eae61cd6778967b (patch)
tree01094461741942a15f1abef24a6a90414b4d7620 /services
parentfff02afa01afafa6edeb0cc547a8e5e19f04cd98 (diff)
parent11d7502b35374da12168004e277bcc87f4f7bb50 (diff)
downloadframeworks_base-093d621c2f645ba2b9a604bf9eae61cd6778967b.zip
frameworks_base-093d621c2f645ba2b9a604bf9eae61cd6778967b.tar.gz
frameworks_base-093d621c2f645ba2b9a604bf9eae61cd6778967b.tar.bz2
am 11d7502b: am 8656145e: Merge "Fix issue #593153: Broadcast time out when sending..." into froyo
Merge commit '11d7502b35374da12168004e277bcc87f4f7bb50' into kraken * commit '11d7502b35374da12168004e277bcc87f4f7bb50': Fix issue #593153: Broadcast time out when sending...
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/PackageManagerService.java10
-rw-r--r--services/java/com/android/server/am/ActivityManagerService.java12
-rw-r--r--services/java/com/android/server/am/BroadcastRecord.java4
3 files changed, 16 insertions, 10 deletions
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index 2ad1bd5..e68effa 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -181,6 +181,8 @@ class PackageManagerService extends IPackageManager.Stub {
static final int SCAN_NEW_INSTALL = 1<<4;
static final int SCAN_NO_PATHS = 1<<5;
+ static final int REMOVE_CHATTY = 1<<16;
+
static final ComponentName DEFAULT_CONTAINER_COMPONENT = new ComponentName(
"com.android.defcontainer",
"com.android.defcontainer.DefaultContainerService");
@@ -6092,7 +6094,8 @@ class PackageManagerService extends IPackageManager.Stub {
}
synchronized (mInstallLock) {
- res = deletePackageLI(packageName, deleteCodeAndResources, flags, info);
+ res = deletePackageLI(packageName, deleteCodeAndResources,
+ flags | REMOVE_CHATTY, info);
}
if(res && sendBroadCast) {
@@ -6158,7 +6161,7 @@ class PackageManagerService extends IPackageManager.Stub {
if (outInfo != null) {
outInfo.removedPackage = packageName;
}
- removePackageLI(p, true);
+ removePackageLI(p, (flags&REMOVE_CHATTY) != 0);
// Retrieve object to delete permissions for shared user later on
PackageSetting deletedPs;
synchronized (mPackages) {
@@ -9625,8 +9628,7 @@ class PackageManagerService extends IPackageManager.Stub {
continue;
}
// Parse package
- int parseFlags = PackageParser.PARSE_CHATTY |
- PackageParser.PARSE_ON_SDCARD | mDefParseFlags;
+ int parseFlags = PackageParser.PARSE_ON_SDCARD | mDefParseFlags;
doGc = true;
synchronized (mInstallLock) {
final PackageParser.Package pkg = scanPackageLI(new File(codePath),
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index b6f323d..1486a1d 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -9905,7 +9905,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
}
if (mOrderedBroadcasts.size() > 0) {
pw.println(" ");
- pw.println(" Active serialized broadcasts:");
+ pw.println(" Active ordered broadcasts:");
}
for (int i=mOrderedBroadcasts.size()-1; i>=0; i--) {
pw.println(" Serialized Broadcast #" + i + ":");
@@ -12919,7 +12919,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
try {
if (DEBUG_BROADCAST_LIGHT) {
int seq = r.intent.getIntExtra("seq", -1);
- Slog.i(TAG, "Delivering to " + filter.receiverList.app
+ Slog.i(TAG, "Delivering to " + filter
+ " (seq=" + seq + "): " + r);
}
performReceive(filter.receiverList.app, filter.receiverList.receiver,
@@ -12959,7 +12959,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
if (DEBUG_BROADCAST) Slog.v(TAG, "processNextBroadcast: "
+ mParallelBroadcasts.size() + " broadcasts, "
- + mOrderedBroadcasts.size() + " serialized broadcasts");
+ + mOrderedBroadcasts.size() + " ordered broadcasts");
updateCpuStats();
@@ -12977,7 +12977,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
for (int i=0; i<N; i++) {
Object target = r.receivers.get(i);
if (DEBUG_BROADCAST) Slog.v(TAG,
- "Delivering non-serialized to registered "
+ "Delivering non-ordered to registered "
+ target + ": " + r);
deliverToRegisteredReceiver(r, (BroadcastFilter)target, false);
}
@@ -13115,12 +13115,14 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
// a direct call.
BroadcastFilter filter = (BroadcastFilter)nextReceiver;
if (DEBUG_BROADCAST) Slog.v(TAG,
- "Delivering serialized to registered "
+ "Delivering ordered to registered "
+ filter + ": " + r);
deliverToRegisteredReceiver(r, filter, r.ordered);
if (r.receiver == null || !r.ordered) {
// The receiver has already finished, so schedule to
// process the next one.
+ if (DEBUG_BROADCAST) Slog.v(TAG, "Quick finishing: ordered="
+ + r.ordered + " receiver=" + r.receiver);
r.state = BroadcastRecord.IDLE;
scheduleBroadcastsLocked();
}
diff --git a/services/java/com/android/server/am/BroadcastRecord.java b/services/java/com/android/server/am/BroadcastRecord.java
index 75c9600..c3f0b3e 100644
--- a/services/java/com/android/server/am/BroadcastRecord.java
+++ b/services/java/com/android/server/am/BroadcastRecord.java
@@ -126,7 +126,9 @@ class BroadcastRecord extends Binder {
pw.println(prefix + "curApp=" + curApp);
pw.println(prefix + "curComponent="
+ (curComponent != null ? curComponent.toShortString() : "--"));
- pw.println(prefix + "curSourceDir=" + curReceiver.applicationInfo.sourceDir);
+ if (curReceiver != null && curReceiver.applicationInfo != null) {
+ pw.println(prefix + "curSourceDir=" + curReceiver.applicationInfo.sourceDir);
+ }
}
String stateStr = " (?)";
switch (state) {