Cross Reference: /frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
4153 private void dispatchUidsChanged() {
4154 int N;
4155 synchronized (this) {
4156 N = mPendingUidChanges.size();
4157 if (mActiveUidChanges.length < N) {
4158 mActiveUidChanges = new UidRecord.ChangeItem[N];
4159 }
4160 for (int i=0; i<N; i++) {
4161 final UidRecord.ChangeItem change = mPendingUidChanges.get(i);
4162 mActiveUidChanges[i] = change;
4163 if (change.uidRecord != null) {
4164 change.uidRecord.pendingChange = null;
4165 change.uidRecord = null;
4166 }
4167 }
4168 mPendingUidChanges.clear();
4169 if (DEBUG_UID_OBSERVERS) Slog.i(TAG_UID_OBSERVERS,
4170 "*** Delivering " + N + " uid changes");
*** Delivering 1 uid changes
I/ActivityManager(717): UID CHANGED uid=10063: 16
I/ActivityManager(717): UID CHANGED uid=10063: 16
*** Delivering 1 uid changes
I/ActivityManager(717): UID CHANGED uid=10010: 7
I/ActivityManager(717): UID CHANGED uid=10010: 7
4171 }
4172
4173 if (mLocalPowerManager != null) {
4174 for (int j=0; j<N; j++) {
4175 UidRecord.ChangeItem item = mActiveUidChanges[j];
4176 if (item.change == UidRecord.CHANGE_GONE
4177 || item.change == UidRecord.CHANGE_GONE_IDLE) {
4178 mLocalPowerManager.uidGone(item.uid);
4179 } else {
4180 mLocalPowerManager.updateUidProcState(item.uid, item.processState);
4181 }
4182 }
4183 }