summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2013-10-07 22:30:34 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-10-07 22:30:34 +0000
commitcade4089e75df2c9ef86aa1a37f3396e0d4b57d5 (patch)
tree47b874ad6f07ed75ab897142f9ed5399cf6cc130 /services/java/com/android/server
parentc2d6e51d6c27eb8f3ca917b467e4a6d55d10cdc8 (diff)
parent13c590de1e3097a77987664836fb8f060d8e5caf (diff)
downloadframeworks_base-cade4089e75df2c9ef86aa1a37f3396e0d4b57d5.zip
frameworks_base-cade4089e75df2c9ef86aa1a37f3396e0d4b57d5.tar.gz
frameworks_base-cade4089e75df2c9ef86aa1a37f3396e0d4b57d5.tar.bz2
Merge "Fix issue #11113111: `dumpsys activity service` is broken" into klp-dev
Diffstat (limited to 'services/java/com/android/server')
-rw-r--r--services/java/com/android/server/am/ActiveServices.java18
1 files changed, 14 insertions, 4 deletions
diff --git a/services/java/com/android/server/am/ActiveServices.java b/services/java/com/android/server/am/ActiveServices.java
index 27ca7a0..b69a0c8 100644
--- a/services/java/com/android/server/am/ActiveServices.java
+++ b/services/java/com/android/server/am/ActiveServices.java
@@ -25,6 +25,7 @@ import java.util.Iterator;
import java.util.List;
import android.os.Handler;
+import android.os.Looper;
import android.util.ArrayMap;
import com.android.internal.app.ProcessStats;
import com.android.internal.os.BatteryStatsImpl;
@@ -166,7 +167,8 @@ public final class ActiveServices {
static final int MSG_BG_START_TIMEOUT = 1;
- ServiceMap(int userId) {
+ ServiceMap(Looper looper, int userId) {
+ super(looper);
mUserId = userId;
}
@@ -255,7 +257,7 @@ public final class ActiveServices {
private ServiceMap getServiceMap(int callingUser) {
ServiceMap smap = mServiceMap.get(callingUser);
if (smap == null) {
- smap = new ServiceMap(callingUser);
+ smap = new ServiceMap(mAm.mHandler.getLooper(), callingUser);
mServiceMap.put(callingUser, smap);
}
return smap;
@@ -2417,7 +2419,11 @@ public final class ActiveServices {
int[] users = mAm.getUsersLocked();
if ("all".equals(name)) {
for (int user : users) {
- ArrayMap<ComponentName, ServiceRecord> alls = getServices(user);
+ ServiceMap smap = mServiceMap.get(user);
+ if (smap == null) {
+ continue;
+ }
+ ArrayMap<ComponentName, ServiceRecord> alls = smap.mServicesByName;
for (int i=0; i<alls.size(); i++) {
ServiceRecord r1 = alls.valueAt(i);
services.add(r1);
@@ -2438,7 +2444,11 @@ public final class ActiveServices {
}
for (int user : users) {
- ArrayMap<ComponentName, ServiceRecord> alls = getServices(user);
+ ServiceMap smap = mServiceMap.get(user);
+ if (smap == null) {
+ continue;
+ }
+ ArrayMap<ComponentName, ServiceRecord> alls = smap.mServicesByName;
for (int i=0; i<alls.size(); i++) {
ServiceRecord r1 = alls.valueAt(i);
if (componentName != null) {