From e2b78ac68653c295149ff70c7f4489150033e8f6 Mon Sep 17 00:00:00 2001 From: Adam Lesinski Date: Wed, 27 Jul 2016 12:25:00 -0700 Subject: [PATCH] Register isolated UIDs before reporting process state Isolated UIDs should be registered with a real app UID before any process state changes are reported for them. Bug:25195548 Change-Id: Id0d3a5373ca57d3725315b2d99e5f8e5286022c8 --- .../java/com/android/server/am/ActivityManagerService.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 8e4af12f2d0e..ae0ccd6b778a 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -3780,9 +3780,6 @@ public final class ActivityManagerService extends ActivityManagerNative checkTime(startTime, "startProcess: returned from zygote!"); Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); - if (app.isolated) { - mBatteryStatsService.addIsolatedUid(app.uid, app.info.uid); - } mBatteryStatsService.noteProcessStart(app.processName, app.info.uid); checkTime(startTime, "startProcess: done updating battery stats"); @@ -11457,6 +11454,14 @@ public final class ActivityManagerService extends ActivityManagerNative // the uid of the isolated process is specified by the caller. uid = isolatedUid; } + + // Register the isolated UID with this application so BatteryStats knows to + // attribute resource usage to the application. + // + // NOTE: This is done here before addProcessNameLocked, which will tell BatteryStats + // about the process state of the isolated UID *before* it is registered with the + // owning application. + mBatteryStatsService.addIsolatedUid(uid, info.uid); } final ProcessRecord r = new ProcessRecord(stats, info, proc, uid); if (!mBooted && !mBooting -- 2.11.0