Loading services/core/java/com/android/server/am/ActivityManagerService.java +15 −19 Original line number Diff line number Diff line Loading @@ -699,12 +699,10 @@ public final class ActivityManagerService extends ActivityManagerNative private final StringBuilder mStrictModeBuffer = new StringBuilder(); /** * Keeps track of all IIntentReceivers that have been registered for * broadcasts. Hash keys are the receiver IBinder, hash value is * a ReceiverList. * Keeps track of all IIntentReceivers that have been registered for broadcasts. * Hash keys are the receiver IBinder, hash value is a ReceiverList. */ final HashMap<IBinder, ReceiverList> mRegisteredReceivers = new HashMap<IBinder, ReceiverList>(); final HashMap<IBinder, ReceiverList> mRegisteredReceivers = new HashMap<>(); /** * Resolver for broadcast intents to registered receivers. Loading Loading @@ -15656,8 +15654,7 @@ public final class ActivityManagerService extends ActivityManagerNative // Original caller already died return null; } ReceiverList rl = (ReceiverList)mRegisteredReceivers.get(receiver.asBinder()); ReceiverList rl = mRegisteredReceivers.get(receiver.asBinder()); if (rl == null) { rl = new ReceiverList(this, callerApp, callingPid, callingUid, userId, receiver); Loading Loading @@ -15689,7 +15686,7 @@ public final class ActivityManagerService extends ActivityManagerNative permission, callingUid, userId); rl.add(bf); if (!bf.debugCheck()) { Slog.w(TAG, "==> For Dynamic broadast"); Slog.w(TAG, "==> For Dynamic broadcast"); } mReceiverResolver.addFilter(bf); Loading @@ -15699,9 +15696,9 @@ public final class ActivityManagerService extends ActivityManagerNative ArrayList receivers = new ArrayList(); receivers.add(bf); int N = allSticky.size(); for (int i=0; i<N; i++) { Intent intent = (Intent)allSticky.get(i); final int stickyCount = allSticky.size(); for (int i = 0; i < stickyCount; i++) { Intent intent = allSticky.get(i); BroadcastQueue queue = broadcastQueueForIntent(intent); BroadcastRecord r = new BroadcastRecord(queue, intent, null, null, -1, -1, null, null, AppOpsManager.OP_NONE, receivers, null, 0, Loading Loading @@ -15761,8 +15758,7 @@ public final class ActivityManagerService extends ActivityManagerNative void removeReceiverLocked(ReceiverList rl) { mRegisteredReceivers.remove(rl.receiver.asBinder()); int N = rl.size(); for (int i=0; i<N; i++) { for (int i = rl.size() - 1; i >= 0; i--) { mReceiverResolver.removeFilter(rl.get(i)); } } Loading Loading @@ -16133,24 +16129,24 @@ public final class ActivityManagerService extends ActivityManagerNative } ArrayMap<String, ArrayList<Intent>> stickies = mStickyBroadcasts.get(userId); if (stickies == null) { stickies = new ArrayMap<String, ArrayList<Intent>>(); stickies = new ArrayMap<>(); mStickyBroadcasts.put(userId, stickies); } ArrayList<Intent> list = stickies.get(intent.getAction()); if (list == null) { list = new ArrayList<Intent>(); list = new ArrayList<>(); stickies.put(intent.getAction(), list); } int N = list.size(); final int stickiesCount = list.size(); int i; for (i=0; i<N; i++) { for (i = 0; i < stickiesCount; i++) { if (intent.filterEquals(list.get(i))) { // This sticky already exists, replace it. list.set(i, new Intent(intent)); break; } } if (i >= N) { if (i >= stickiesCount) { list.add(new Intent(intent)); } } services/core/java/com/android/server/am/BroadcastQueue.java +0 −2 Original line number Diff line number Diff line Loading @@ -309,7 +309,6 @@ public final class BroadcastQueue { } public void skipCurrentReceiverLocked(ProcessRecord app) { boolean reschedule = false; BroadcastRecord r = app.curReceiver; if (r != null && r.queue == this) { // The current broadcast is waiting for this app's receiver Loading @@ -318,7 +317,6 @@ public final class BroadcastQueue { logBroadcastReceiverDiscardLocked(r); finishReceiverLocked(r, r.resultCode, r.resultData, r.resultExtras, r.resultAbort, false); reschedule = true; } if (r == null && mPendingBroadcast != null && mPendingBroadcast.curApp == app) { if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, Loading Loading
services/core/java/com/android/server/am/ActivityManagerService.java +15 −19 Original line number Diff line number Diff line Loading @@ -699,12 +699,10 @@ public final class ActivityManagerService extends ActivityManagerNative private final StringBuilder mStrictModeBuffer = new StringBuilder(); /** * Keeps track of all IIntentReceivers that have been registered for * broadcasts. Hash keys are the receiver IBinder, hash value is * a ReceiverList. * Keeps track of all IIntentReceivers that have been registered for broadcasts. * Hash keys are the receiver IBinder, hash value is a ReceiverList. */ final HashMap<IBinder, ReceiverList> mRegisteredReceivers = new HashMap<IBinder, ReceiverList>(); final HashMap<IBinder, ReceiverList> mRegisteredReceivers = new HashMap<>(); /** * Resolver for broadcast intents to registered receivers. Loading Loading @@ -15656,8 +15654,7 @@ public final class ActivityManagerService extends ActivityManagerNative // Original caller already died return null; } ReceiverList rl = (ReceiverList)mRegisteredReceivers.get(receiver.asBinder()); ReceiverList rl = mRegisteredReceivers.get(receiver.asBinder()); if (rl == null) { rl = new ReceiverList(this, callerApp, callingPid, callingUid, userId, receiver); Loading Loading @@ -15689,7 +15686,7 @@ public final class ActivityManagerService extends ActivityManagerNative permission, callingUid, userId); rl.add(bf); if (!bf.debugCheck()) { Slog.w(TAG, "==> For Dynamic broadast"); Slog.w(TAG, "==> For Dynamic broadcast"); } mReceiverResolver.addFilter(bf); Loading @@ -15699,9 +15696,9 @@ public final class ActivityManagerService extends ActivityManagerNative ArrayList receivers = new ArrayList(); receivers.add(bf); int N = allSticky.size(); for (int i=0; i<N; i++) { Intent intent = (Intent)allSticky.get(i); final int stickyCount = allSticky.size(); for (int i = 0; i < stickyCount; i++) { Intent intent = allSticky.get(i); BroadcastQueue queue = broadcastQueueForIntent(intent); BroadcastRecord r = new BroadcastRecord(queue, intent, null, null, -1, -1, null, null, AppOpsManager.OP_NONE, receivers, null, 0, Loading Loading @@ -15761,8 +15758,7 @@ public final class ActivityManagerService extends ActivityManagerNative void removeReceiverLocked(ReceiverList rl) { mRegisteredReceivers.remove(rl.receiver.asBinder()); int N = rl.size(); for (int i=0; i<N; i++) { for (int i = rl.size() - 1; i >= 0; i--) { mReceiverResolver.removeFilter(rl.get(i)); } } Loading Loading @@ -16133,24 +16129,24 @@ public final class ActivityManagerService extends ActivityManagerNative } ArrayMap<String, ArrayList<Intent>> stickies = mStickyBroadcasts.get(userId); if (stickies == null) { stickies = new ArrayMap<String, ArrayList<Intent>>(); stickies = new ArrayMap<>(); mStickyBroadcasts.put(userId, stickies); } ArrayList<Intent> list = stickies.get(intent.getAction()); if (list == null) { list = new ArrayList<Intent>(); list = new ArrayList<>(); stickies.put(intent.getAction(), list); } int N = list.size(); final int stickiesCount = list.size(); int i; for (i=0; i<N; i++) { for (i = 0; i < stickiesCount; i++) { if (intent.filterEquals(list.get(i))) { // This sticky already exists, replace it. list.set(i, new Intent(intent)); break; } } if (i >= N) { if (i >= stickiesCount) { list.add(new Intent(intent)); } }
services/core/java/com/android/server/am/BroadcastQueue.java +0 −2 Original line number Diff line number Diff line Loading @@ -309,7 +309,6 @@ public final class BroadcastQueue { } public void skipCurrentReceiverLocked(ProcessRecord app) { boolean reschedule = false; BroadcastRecord r = app.curReceiver; if (r != null && r.queue == this) { // The current broadcast is waiting for this app's receiver Loading @@ -318,7 +317,6 @@ public final class BroadcastQueue { logBroadcastReceiverDiscardLocked(r); finishReceiverLocked(r, r.resultCode, r.resultData, r.resultExtras, r.resultAbort, false); reschedule = true; } if (r == null && mPendingBroadcast != null && mPendingBroadcast.curApp == app) { if (DEBUG_BROADCAST) Slog.v(TAG_BROADCAST, Loading