Loading core/java/android/content/pm/ActivityInfo.java +14 −7 Original line number Diff line number Diff line Loading @@ -309,15 +309,22 @@ public class ActivityInfo extends ComponentInfo public void dump(Printer pw, String prefix) { super.dumpFront(pw, prefix); if (permission != null) { pw.println(prefix + "permission=" + permission); } pw.println(prefix + "taskAffinity=" + taskAffinity + " targetActivity=" + targetActivity); if (launchMode != 0 || flags != 0 || theme != 0) { pw.println(prefix + "launchMode=" + launchMode + " flags=0x" + Integer.toHexString(flags) + " theme=0x" + Integer.toHexString(theme)); } if (screenOrientation != SCREEN_ORIENTATION_UNSPECIFIED || configChanges != 0 || softInputMode != 0) { pw.println(prefix + "screenOrientation=" + screenOrientation + " configChanges=0x" + Integer.toHexString(configChanges) + " softInputMode=0x" + Integer.toHexString(softInputMode)); } super.dumpBack(pw, prefix); } Loading core/java/android/content/pm/ApplicationInfo.java +20 −10 Original line number Diff line number Diff line Loading @@ -270,21 +270,31 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { public void dump(Printer pw, String prefix) { super.dumpFront(pw, prefix); if (className != null) { pw.println(prefix + "className=" + className); pw.println(prefix + "permission=" + permission + " uid=" + uid); pw.println(prefix + "taskAffinity=" + taskAffinity); } if (permission != null) { pw.println(prefix + "permission=" + permission); } pw.println(prefix + "uid=" + uid + " taskAffinity=" + taskAffinity); if (theme != 0) { pw.println(prefix + "theme=0x" + Integer.toHexString(theme)); } pw.println(prefix + "flags=0x" + Integer.toHexString(flags) + " processName=" + processName); pw.println(prefix + "sourceDir=" + sourceDir); pw.println(prefix + "publicSourceDir=" + publicSourceDir); pw.println(prefix + "sharedLibraryFiles=" + sharedLibraryFiles); pw.println(prefix + "dataDir=" + dataDir); pw.println(prefix + "targetSdkVersion=" + targetSdkVersion); pw.println(prefix + "enabled=" + enabled); if (sharedLibraryFiles != null) { pw.println(prefix + "sharedLibraryFiles=" + sharedLibraryFiles); } pw.println(prefix + "enabled=" + enabled + " targetSdkVersion=" + targetSdkVersion); if (manageSpaceActivityName != null) { pw.println(prefix + "manageSpaceActivityName="+manageSpaceActivityName); } if (descriptionRes != 0) { pw.println(prefix + "description=0x"+Integer.toHexString(descriptionRes)); } super.dumpBack(pw, prefix); } Loading core/java/android/content/pm/PackageItemInfo.java +8 −4 Original line number Diff line number Diff line Loading @@ -141,12 +141,16 @@ public class PackageItemInfo { } protected void dumpFront(Printer pw, String prefix) { if (name != null) { pw.println(prefix + "name=" + name); } pw.println(prefix + "packageName=" + packageName); if (labelRes != 0 || nonLocalizedLabel != null || icon != 0) { pw.println(prefix + "labelRes=0x" + Integer.toHexString(labelRes) + " nonLocalizedLabel=" + nonLocalizedLabel + " icon=0x" + Integer.toHexString(icon)); } } protected void dumpBack(Printer pw, String prefix) { // no back here Loading services/java/com/android/server/am/ActivityManagerService.java +46 −13 Original line number Diff line number Diff line Loading @@ -409,6 +409,13 @@ public final class ActivityManagerService extends ActivityManagerNative implemen final ArrayList<BroadcastRecord> mOrderedBroadcasts = new ArrayList<BroadcastRecord>(); /** * Historical data of past broadcasts, for debugging. */ static final int MAX_BROADCAST_HISTORY = 100; final BroadcastRecord[] mBroadcastHistory = new BroadcastRecord[MAX_BROADCAST_HISTORY]; /** * Set when we current have a BROADCAST_INTENT_MSG in flight. */ Loading Loading @@ -9391,6 +9398,17 @@ public final class ActivityManagerService extends ActivityManagerNative implemen } } pw.println(" "); pw.println(" Historical broadcasts:"); for (int i=0; i<MAX_BROADCAST_HISTORY; i++) { BroadcastRecord r = mBroadcastHistory[i]; if (r == null) { break; } pw.println(" Historical Broadcast #" + i + ":"); r.dump(pw, " "); } pw.println(" "); pw.println(" mBroadcastsScheduled=" + mBroadcastsScheduled); if (mStickyBroadcasts != null) { Loading Loading @@ -11610,7 +11628,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen Intent intent = (Intent)allSticky.get(i); BroadcastRecord r = new BroadcastRecord(intent, null, null, -1, -1, null, receivers, null, 0, null, null, false, true); false, true, true); if (mParallelBroadcasts.size() == 0) { scheduleBroadcastsLocked(); } Loading Loading @@ -11835,7 +11853,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen BroadcastRecord r = new BroadcastRecord(intent, callerApp, callerPackage, callingPid, callingUid, requiredPermission, registeredReceivers, resultTo, resultCode, resultData, map, ordered, false); ordered, sticky, false); if (DEBUG_BROADCAST) Log.v( TAG, "Enqueueing parallel broadcast " + r + ": prev had " + mParallelBroadcasts.size()); Loading Loading @@ -11914,7 +11932,8 @@ public final class ActivityManagerService extends ActivityManagerNative implemen || resultTo != null) { BroadcastRecord r = new BroadcastRecord(intent, callerApp, callerPackage, callingPid, callingUid, requiredPermission, receivers, resultTo, resultCode, resultData, map, ordered, false); receivers, resultTo, resultCode, resultData, map, ordered, sticky, false); if (DEBUG_BROADCAST) Log.v( TAG, "Enqueueing ordered broadcast " + r + ": prev had " + mOrderedBroadcasts.size()); Loading Loading @@ -12132,17 +12151,17 @@ public final class ActivityManagerService extends ActivityManagerNative implemen } long now = SystemClock.uptimeMillis(); BroadcastRecord r = mOrderedBroadcasts.get(0); if ((r.startTime+BROADCAST_TIMEOUT) > now) { if ((r.receiverTime+BROADCAST_TIMEOUT) > now) { if (DEBUG_BROADCAST) Log.v(TAG, "Premature timeout @ " + now + ": resetting BROADCAST_TIMEOUT_MSG for " + (r.startTime + BROADCAST_TIMEOUT)); + (r.receiverTime + BROADCAST_TIMEOUT)); Message msg = mHandler.obtainMessage(BROADCAST_TIMEOUT_MSG); mHandler.sendMessageAtTime(msg, r.startTime+BROADCAST_TIMEOUT); mHandler.sendMessageAtTime(msg, r.receiverTime+BROADCAST_TIMEOUT); return; } Log.w(TAG, "Timeout of broadcast " + r + " - receiver=" + r.receiver); r.startTime = now; r.receiverTime = now; r.anrCount++; // Current receiver has passed its expiration date. Loading Loading @@ -12290,7 +12309,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen } performReceive(filter.receiverList.app, filter.receiverList.receiver, new Intent(r.intent), r.resultCode, r.resultData, r.resultExtras, r.ordered, r.sticky); r.resultData, r.resultExtras, r.ordered, r.initialSticky); if (ordered) { r.state = BroadcastRecord.CALL_DONE_RECEIVE; } Loading @@ -12308,6 +12327,17 @@ public final class ActivityManagerService extends ActivityManagerNative implemen } } private final void addBroadcastToHistoryLocked(BroadcastRecord r) { if (r.callingUid < 0) { // This was from a registerReceiver() call; ignore it. return; } System.arraycopy(mBroadcastHistory, 0, mBroadcastHistory, 1, MAX_BROADCAST_HISTORY-1); r.finishTime = SystemClock.uptimeMillis(); mBroadcastHistory[0] = r; } private final void processNextBroadcast(boolean fromMsg) { synchronized(this) { BroadcastRecord r; Loading @@ -12325,6 +12355,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen // First, deliver any non-serialized broadcasts right away. while (mParallelBroadcasts.size() > 0) { r = mParallelBroadcasts.remove(0); r.dispatchTime = SystemClock.uptimeMillis(); final int N = r.receivers.size(); if (DEBUG_BROADCAST_LIGHT) Log.v(TAG, "Processing parallel broadcast " + r); Loading @@ -12335,6 +12366,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen + target + ": " + r); deliverToRegisteredReceiver(r, (BroadcastFilter)target, false); } addBroadcastToHistoryLocked(r); if (DEBUG_BROADCAST_LIGHT) Log.v(TAG, "Done with parallel broadcast " + r); } Loading Loading @@ -12392,7 +12424,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen Log.w(TAG, "Hung broadcast discarded after timeout failure:" + " now=" + now + " dispatchTime=" + r.dispatchTime + " startTime=" + r.startTime + " startTime=" + r.receiverTime + " intent=" + r.intent + " numReceivers=" + numReceivers + " nextReceiver=" + r.nextReceiver Loading Loading @@ -12436,6 +12468,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen + r); // ... and on to the next... addBroadcastToHistoryLocked(r); mOrderedBroadcasts.remove(0); r = null; looped = true; Loading @@ -12448,17 +12481,17 @@ public final class ActivityManagerService extends ActivityManagerNative implemen // Keep track of when this receiver started, and make sure there // is a timeout message pending to kill it if need be. r.startTime = SystemClock.uptimeMillis(); r.receiverTime = SystemClock.uptimeMillis(); if (recIdx == 0) { r.dispatchTime = r.startTime; r.dispatchTime = r.receiverTime; if (DEBUG_BROADCAST_LIGHT) Log.v(TAG, "Processing ordered broadcast " + r); if (DEBUG_BROADCAST) Log.v(TAG, "Submitting BROADCAST_TIMEOUT_MSG for " + (r.startTime + BROADCAST_TIMEOUT)); + (r.receiverTime + BROADCAST_TIMEOUT)); Message msg = mHandler.obtainMessage(BROADCAST_TIMEOUT_MSG); mHandler.sendMessageAtTime(msg, r.startTime+BROADCAST_TIMEOUT); mHandler.sendMessageAtTime(msg, r.receiverTime+BROADCAST_TIMEOUT); } Object nextReceiver = r.receivers.get(recIdx); Loading services/java/com/android/server/am/BroadcastFilter.java +8 −0 Original line number Diff line number Diff line Loading @@ -39,8 +39,16 @@ class BroadcastFilter extends IntentFilter { receiverList.dumpLocal(pw, prefix); } public void dumpBrief(PrintWriter pw, String prefix) { dumpBroadcastFilterState(pw, prefix); } public void dumpInReceiverList(PrintWriter pw, Printer pr, String prefix) { super.dump(pr, prefix); dumpBroadcastFilterState(pw, prefix); } void dumpBroadcastFilterState(PrintWriter pw, String prefix) { if (requiredPermission != null) { pw.print(prefix); pw.print("requiredPermission="); pw.println(requiredPermission); } Loading Loading
core/java/android/content/pm/ActivityInfo.java +14 −7 Original line number Diff line number Diff line Loading @@ -309,15 +309,22 @@ public class ActivityInfo extends ComponentInfo public void dump(Printer pw, String prefix) { super.dumpFront(pw, prefix); if (permission != null) { pw.println(prefix + "permission=" + permission); } pw.println(prefix + "taskAffinity=" + taskAffinity + " targetActivity=" + targetActivity); if (launchMode != 0 || flags != 0 || theme != 0) { pw.println(prefix + "launchMode=" + launchMode + " flags=0x" + Integer.toHexString(flags) + " theme=0x" + Integer.toHexString(theme)); } if (screenOrientation != SCREEN_ORIENTATION_UNSPECIFIED || configChanges != 0 || softInputMode != 0) { pw.println(prefix + "screenOrientation=" + screenOrientation + " configChanges=0x" + Integer.toHexString(configChanges) + " softInputMode=0x" + Integer.toHexString(softInputMode)); } super.dumpBack(pw, prefix); } Loading
core/java/android/content/pm/ApplicationInfo.java +20 −10 Original line number Diff line number Diff line Loading @@ -270,21 +270,31 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { public void dump(Printer pw, String prefix) { super.dumpFront(pw, prefix); if (className != null) { pw.println(prefix + "className=" + className); pw.println(prefix + "permission=" + permission + " uid=" + uid); pw.println(prefix + "taskAffinity=" + taskAffinity); } if (permission != null) { pw.println(prefix + "permission=" + permission); } pw.println(prefix + "uid=" + uid + " taskAffinity=" + taskAffinity); if (theme != 0) { pw.println(prefix + "theme=0x" + Integer.toHexString(theme)); } pw.println(prefix + "flags=0x" + Integer.toHexString(flags) + " processName=" + processName); pw.println(prefix + "sourceDir=" + sourceDir); pw.println(prefix + "publicSourceDir=" + publicSourceDir); pw.println(prefix + "sharedLibraryFiles=" + sharedLibraryFiles); pw.println(prefix + "dataDir=" + dataDir); pw.println(prefix + "targetSdkVersion=" + targetSdkVersion); pw.println(prefix + "enabled=" + enabled); if (sharedLibraryFiles != null) { pw.println(prefix + "sharedLibraryFiles=" + sharedLibraryFiles); } pw.println(prefix + "enabled=" + enabled + " targetSdkVersion=" + targetSdkVersion); if (manageSpaceActivityName != null) { pw.println(prefix + "manageSpaceActivityName="+manageSpaceActivityName); } if (descriptionRes != 0) { pw.println(prefix + "description=0x"+Integer.toHexString(descriptionRes)); } super.dumpBack(pw, prefix); } Loading
core/java/android/content/pm/PackageItemInfo.java +8 −4 Original line number Diff line number Diff line Loading @@ -141,12 +141,16 @@ public class PackageItemInfo { } protected void dumpFront(Printer pw, String prefix) { if (name != null) { pw.println(prefix + "name=" + name); } pw.println(prefix + "packageName=" + packageName); if (labelRes != 0 || nonLocalizedLabel != null || icon != 0) { pw.println(prefix + "labelRes=0x" + Integer.toHexString(labelRes) + " nonLocalizedLabel=" + nonLocalizedLabel + " icon=0x" + Integer.toHexString(icon)); } } protected void dumpBack(Printer pw, String prefix) { // no back here Loading
services/java/com/android/server/am/ActivityManagerService.java +46 −13 Original line number Diff line number Diff line Loading @@ -409,6 +409,13 @@ public final class ActivityManagerService extends ActivityManagerNative implemen final ArrayList<BroadcastRecord> mOrderedBroadcasts = new ArrayList<BroadcastRecord>(); /** * Historical data of past broadcasts, for debugging. */ static final int MAX_BROADCAST_HISTORY = 100; final BroadcastRecord[] mBroadcastHistory = new BroadcastRecord[MAX_BROADCAST_HISTORY]; /** * Set when we current have a BROADCAST_INTENT_MSG in flight. */ Loading Loading @@ -9391,6 +9398,17 @@ public final class ActivityManagerService extends ActivityManagerNative implemen } } pw.println(" "); pw.println(" Historical broadcasts:"); for (int i=0; i<MAX_BROADCAST_HISTORY; i++) { BroadcastRecord r = mBroadcastHistory[i]; if (r == null) { break; } pw.println(" Historical Broadcast #" + i + ":"); r.dump(pw, " "); } pw.println(" "); pw.println(" mBroadcastsScheduled=" + mBroadcastsScheduled); if (mStickyBroadcasts != null) { Loading Loading @@ -11610,7 +11628,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen Intent intent = (Intent)allSticky.get(i); BroadcastRecord r = new BroadcastRecord(intent, null, null, -1, -1, null, receivers, null, 0, null, null, false, true); false, true, true); if (mParallelBroadcasts.size() == 0) { scheduleBroadcastsLocked(); } Loading Loading @@ -11835,7 +11853,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen BroadcastRecord r = new BroadcastRecord(intent, callerApp, callerPackage, callingPid, callingUid, requiredPermission, registeredReceivers, resultTo, resultCode, resultData, map, ordered, false); ordered, sticky, false); if (DEBUG_BROADCAST) Log.v( TAG, "Enqueueing parallel broadcast " + r + ": prev had " + mParallelBroadcasts.size()); Loading Loading @@ -11914,7 +11932,8 @@ public final class ActivityManagerService extends ActivityManagerNative implemen || resultTo != null) { BroadcastRecord r = new BroadcastRecord(intent, callerApp, callerPackage, callingPid, callingUid, requiredPermission, receivers, resultTo, resultCode, resultData, map, ordered, false); receivers, resultTo, resultCode, resultData, map, ordered, sticky, false); if (DEBUG_BROADCAST) Log.v( TAG, "Enqueueing ordered broadcast " + r + ": prev had " + mOrderedBroadcasts.size()); Loading Loading @@ -12132,17 +12151,17 @@ public final class ActivityManagerService extends ActivityManagerNative implemen } long now = SystemClock.uptimeMillis(); BroadcastRecord r = mOrderedBroadcasts.get(0); if ((r.startTime+BROADCAST_TIMEOUT) > now) { if ((r.receiverTime+BROADCAST_TIMEOUT) > now) { if (DEBUG_BROADCAST) Log.v(TAG, "Premature timeout @ " + now + ": resetting BROADCAST_TIMEOUT_MSG for " + (r.startTime + BROADCAST_TIMEOUT)); + (r.receiverTime + BROADCAST_TIMEOUT)); Message msg = mHandler.obtainMessage(BROADCAST_TIMEOUT_MSG); mHandler.sendMessageAtTime(msg, r.startTime+BROADCAST_TIMEOUT); mHandler.sendMessageAtTime(msg, r.receiverTime+BROADCAST_TIMEOUT); return; } Log.w(TAG, "Timeout of broadcast " + r + " - receiver=" + r.receiver); r.startTime = now; r.receiverTime = now; r.anrCount++; // Current receiver has passed its expiration date. Loading Loading @@ -12290,7 +12309,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen } performReceive(filter.receiverList.app, filter.receiverList.receiver, new Intent(r.intent), r.resultCode, r.resultData, r.resultExtras, r.ordered, r.sticky); r.resultData, r.resultExtras, r.ordered, r.initialSticky); if (ordered) { r.state = BroadcastRecord.CALL_DONE_RECEIVE; } Loading @@ -12308,6 +12327,17 @@ public final class ActivityManagerService extends ActivityManagerNative implemen } } private final void addBroadcastToHistoryLocked(BroadcastRecord r) { if (r.callingUid < 0) { // This was from a registerReceiver() call; ignore it. return; } System.arraycopy(mBroadcastHistory, 0, mBroadcastHistory, 1, MAX_BROADCAST_HISTORY-1); r.finishTime = SystemClock.uptimeMillis(); mBroadcastHistory[0] = r; } private final void processNextBroadcast(boolean fromMsg) { synchronized(this) { BroadcastRecord r; Loading @@ -12325,6 +12355,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen // First, deliver any non-serialized broadcasts right away. while (mParallelBroadcasts.size() > 0) { r = mParallelBroadcasts.remove(0); r.dispatchTime = SystemClock.uptimeMillis(); final int N = r.receivers.size(); if (DEBUG_BROADCAST_LIGHT) Log.v(TAG, "Processing parallel broadcast " + r); Loading @@ -12335,6 +12366,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen + target + ": " + r); deliverToRegisteredReceiver(r, (BroadcastFilter)target, false); } addBroadcastToHistoryLocked(r); if (DEBUG_BROADCAST_LIGHT) Log.v(TAG, "Done with parallel broadcast " + r); } Loading Loading @@ -12392,7 +12424,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen Log.w(TAG, "Hung broadcast discarded after timeout failure:" + " now=" + now + " dispatchTime=" + r.dispatchTime + " startTime=" + r.startTime + " startTime=" + r.receiverTime + " intent=" + r.intent + " numReceivers=" + numReceivers + " nextReceiver=" + r.nextReceiver Loading Loading @@ -12436,6 +12468,7 @@ public final class ActivityManagerService extends ActivityManagerNative implemen + r); // ... and on to the next... addBroadcastToHistoryLocked(r); mOrderedBroadcasts.remove(0); r = null; looped = true; Loading @@ -12448,17 +12481,17 @@ public final class ActivityManagerService extends ActivityManagerNative implemen // Keep track of when this receiver started, and make sure there // is a timeout message pending to kill it if need be. r.startTime = SystemClock.uptimeMillis(); r.receiverTime = SystemClock.uptimeMillis(); if (recIdx == 0) { r.dispatchTime = r.startTime; r.dispatchTime = r.receiverTime; if (DEBUG_BROADCAST_LIGHT) Log.v(TAG, "Processing ordered broadcast " + r); if (DEBUG_BROADCAST) Log.v(TAG, "Submitting BROADCAST_TIMEOUT_MSG for " + (r.startTime + BROADCAST_TIMEOUT)); + (r.receiverTime + BROADCAST_TIMEOUT)); Message msg = mHandler.obtainMessage(BROADCAST_TIMEOUT_MSG); mHandler.sendMessageAtTime(msg, r.startTime+BROADCAST_TIMEOUT); mHandler.sendMessageAtTime(msg, r.receiverTime+BROADCAST_TIMEOUT); } Object nextReceiver = r.receivers.get(recIdx); Loading
services/java/com/android/server/am/BroadcastFilter.java +8 −0 Original line number Diff line number Diff line Loading @@ -39,8 +39,16 @@ class BroadcastFilter extends IntentFilter { receiverList.dumpLocal(pw, prefix); } public void dumpBrief(PrintWriter pw, String prefix) { dumpBroadcastFilterState(pw, prefix); } public void dumpInReceiverList(PrintWriter pw, Printer pr, String prefix) { super.dump(pr, prefix); dumpBroadcastFilterState(pw, prefix); } void dumpBroadcastFilterState(PrintWriter pw, String prefix) { if (requiredPermission != null) { pw.print(prefix); pw.print("requiredPermission="); pw.println(requiredPermission); } Loading