summaryrefslogtreecommitdiffstats
path: root/services/java
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2013-11-18 13:32:42 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2013-11-18 13:32:42 -0800
commitbac61807d3bcfff957b358cb9ad77850bd373689 (patch)
treeeb46493a44c43af830d5842eb1a2fd32279bd33b /services/java
parent32962b3e2c1968fbd83ebbf4cc94ab3dd8de3485 (diff)
parent1abead425c0e862e316e17521833a33d22e7a850 (diff)
downloadframeworks_base-bac61807d3bcfff957b358cb9ad77850bd373689.zip
frameworks_base-bac61807d3bcfff957b358cb9ad77850bd373689.tar.gz
frameworks_base-bac61807d3bcfff957b358cb9ad77850bd373689.tar.bz2
am 1abead42: am 245408d2: Merge "Do not hold direct ref BatteryStatsImpl" into klp-dev
* commit '1abead425c0e862e316e17521833a33d22e7a850': Do not hold direct ref BatteryStatsImpl$Uid$Proc
Diffstat (limited to 'services/java')
-rw-r--r--services/java/com/android/server/am/ActivityManagerService.java12
-rw-r--r--services/java/com/android/server/am/ProcessRecord.java10
2 files changed, 10 insertions, 12 deletions
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index c42a15e..fc66e45 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -2149,7 +2149,8 @@ public final class ActivityManagerService extends ActivityManagerNative
totalUTime += otherUTime;
totalSTime += otherSTime;
if (pr != null) {
- BatteryStatsImpl.Uid.Proc ps = pr.batteryStats;
+ BatteryStatsImpl.Uid.Proc ps = bstats.getProcessStatsLocked(
+ st.name, st.pid);
ps.addCpuTimeLocked(st.rel_utime-otherUTime,
st.rel_stime-otherSTime);
ps.addSpeedStepTimes(cpuSpeedTimes);
@@ -2769,10 +2770,10 @@ public final class ActivityManagerService extends ActivityManagerNative
app.processName, uid, uid, gids, debugFlags, mountExternal,
app.info.targetSdkVersion, app.info.seinfo, null);
- BatteryStatsImpl bs = app.batteryStats.getBatteryStats();
+ BatteryStatsImpl bs = mBatteryStatsService.getActiveStatistics();
synchronized (bs) {
if (bs.isOnBattery()) {
- app.batteryStats.incStartsLocked();
+ bs.getProcessStatsLocked(app.uid, app.processName).incStartsLocked();
}
}
@@ -8150,10 +8151,7 @@ public final class ActivityManagerService extends ActivityManagerNative
}
}
}
- synchronized (stats) {
- ps = stats.getProcessStatsLocked(info.uid, proc);
- }
- return new ProcessRecord(ps, info, proc, uid);
+ return new ProcessRecord(stats, info, proc, uid);
}
final ProcessRecord addAppLocked(ApplicationInfo info, boolean isolated) {
diff --git a/services/java/com/android/server/am/ProcessRecord.java b/services/java/com/android/server/am/ProcessRecord.java
index 187cd44..217a8d6 100644
--- a/services/java/com/android/server/am/ProcessRecord.java
+++ b/services/java/com/android/server/am/ProcessRecord.java
@@ -46,7 +46,7 @@ import java.util.ArrayList;
* is currently running.
*/
final class ProcessRecord {
- final BatteryStatsImpl.Uid.Proc batteryStats; // where to collect runtime statistics
+ private final BatteryStatsImpl mBatteryStats; // where to collect runtime statistics
final ApplicationInfo info; // all about the first app in the process
final boolean isolated; // true if this is a special isolated process
final int uid; // uid of process; may be different from 'info' if isolated
@@ -273,8 +273,8 @@ final class ProcessRecord {
}
if (!keeping) {
long wtime;
- synchronized (batteryStats.getBatteryStats()) {
- wtime = batteryStats.getBatteryStats().getProcessWakeTime(info.uid,
+ synchronized (mBatteryStats) {
+ wtime = mBatteryStats.getProcessWakeTime(info.uid,
pid, SystemClock.elapsedRealtime());
}
long timeUsed = wtime - lastWakeTime;
@@ -359,9 +359,9 @@ final class ProcessRecord {
}
}
- ProcessRecord(BatteryStatsImpl.Uid.Proc _batteryStats, ApplicationInfo _info,
+ ProcessRecord(BatteryStatsImpl _batteryStats, ApplicationInfo _info,
String _processName, int _uid) {
- batteryStats = _batteryStats;
+ mBatteryStats = _batteryStats;
info = _info;
isolated = _info.uid != _uid;
uid = _uid;