diff options
author | Dianne Hackborn <hackbod@google.com> | 2013-10-07 22:30:34 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-10-07 22:30:34 +0000 |
commit | cade4089e75df2c9ef86aa1a37f3396e0d4b57d5 (patch) | |
tree | 47b874ad6f07ed75ab897142f9ed5399cf6cc130 /services/java/com/android/server | |
parent | c2d6e51d6c27eb8f3ca917b467e4a6d55d10cdc8 (diff) | |
parent | 13c590de1e3097a77987664836fb8f060d8e5caf (diff) | |
download | frameworks_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.java | 18 |
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) { |