diff options
3 files changed, 41 insertions, 42 deletions
diff --git a/core/java/com/android/internal/app/IBatteryStats.aidl b/core/java/com/android/internal/app/IBatteryStats.aidl index 40965f0cf69e..55b3eccf0846 100644 --- a/core/java/com/android/internal/app/IBatteryStats.aidl +++ b/core/java/com/android/internal/app/IBatteryStats.aidl @@ -48,14 +48,8 @@ interface IBatteryStats { // Returns -1 if nothing could be computed. long computeChargeTimeRemaining(); - void addIsolatedUid(int isolatedUid, int appUid); - void removeIsolatedUid(int isolatedUid, int appUid); - void noteEvent(int code, String name, int uid); - void noteProcessStart(String name, int uid); - void noteProcessState(String name, int uid, int state); - void noteProcessFinish(String name, int uid); void noteSyncStart(String name, int uid); void noteSyncFinish(String name, int uid); void noteJobStart(String name, int uid); diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 4d2fd4c725ec..74841ba6016d 100755 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -9542,7 +9542,13 @@ public final class ActivityManagerService extends ActivityManagerNative public void removeContentProviderExternal(String name, IBinder token) { enforceCallingPermission(android.Manifest.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY, "Do not have permission in call removeContentProviderExternal()"); - removeContentProviderExternalUnchecked(name, token, UserHandle.getCallingUserId()); + int userId = UserHandle.getCallingUserId(); + long ident = Binder.clearCallingIdentity(); + try { + removeContentProviderExternalUnchecked(name, token, userId); + } finally { + Binder.restoreCallingIdentity(ident); + } } private void removeContentProviderExternalUnchecked(String name, IBinder token, int userId) { diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index 786196ff05a7..a0219196edbc 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -123,6 +123,40 @@ public final class BatteryStatsService extends IBatteryStats.Stub return mStats; } + // These are for direct use by the activity manager... + + void addIsolatedUid(int isolatedUid, int appUid) { + synchronized (mStats) { + mStats.addIsolatedUidLocked(isolatedUid, appUid); + } + } + + void removeIsolatedUid(int isolatedUid, int appUid) { + synchronized (mStats) { + mStats.removeIsolatedUidLocked(isolatedUid, appUid); + } + } + + void noteProcessStart(String name, int uid) { + synchronized (mStats) { + mStats.noteProcessStartLocked(name, uid); + } + } + + void noteProcessState(String name, int uid, int state) { + synchronized (mStats) { + mStats.noteProcessStateLocked(name, uid, state); + } + } + + void noteProcessFinish(String name, int uid) { + synchronized (mStats) { + mStats.noteProcessFinishLocked(name, uid); + } + } + + // Public interface... + public byte[] getStatistics() { mContext.enforceCallingPermission( android.Manifest.permission.BATTERY_STATS, null); @@ -166,20 +200,6 @@ public final class BatteryStatsService extends IBatteryStats.Stub } } - public void addIsolatedUid(int isolatedUid, int appUid) { - enforceCallingPermission(); - synchronized (mStats) { - mStats.addIsolatedUidLocked(isolatedUid, appUid); - } - } - - public void removeIsolatedUid(int isolatedUid, int appUid) { - enforceCallingPermission(); - synchronized (mStats) { - mStats.removeIsolatedUidLocked(isolatedUid, appUid); - } - } - public void noteEvent(int code, String name, int uid) { enforceCallingPermission(); synchronized (mStats) { @@ -187,27 +207,6 @@ public final class BatteryStatsService extends IBatteryStats.Stub } } - public void noteProcessStart(String name, int uid) { - enforceCallingPermission(); - synchronized (mStats) { - mStats.noteProcessStartLocked(name, uid); - } - } - - public void noteProcessState(String name, int uid, int state) { - enforceCallingPermission(); - synchronized (mStats) { - mStats.noteProcessStateLocked(name, uid, state); - } - } - - public void noteProcessFinish(String name, int uid) { - enforceCallingPermission(); - synchronized (mStats) { - mStats.noteProcessFinishLocked(name, uid); - } - } - public void noteSyncStart(String name, int uid) { enforceCallingPermission(); synchronized (mStats) { |