Fix some uid issues in battery stats.

Change-Id: I9f7773568ff12603d51b26d50d758add09bedbb2
This commit is contained in:
Dianne Hackborn
2014-03-13 09:50:24 -07:00
parent a7124cdd83
commit bbb7472b8e
2 changed files with 9 additions and 11 deletions

View File

@ -270,7 +270,6 @@ public final class BatteryStatsImpl extends BatteryStats {
boolean mWifiOn; boolean mWifiOn;
StopwatchTimer mWifiOnTimer; StopwatchTimer mWifiOnTimer;
int mWifiOnUid = -1;
boolean mGlobalWifiRunning; boolean mGlobalWifiRunning;
StopwatchTimer mGlobalWifiRunningTimer; StopwatchTimer mGlobalWifiRunningTimer;
@ -2912,10 +2911,6 @@ public final class BatteryStatsImpl extends BatteryStats {
mWifiOn = false; mWifiOn = false;
mWifiOnTimer.stopRunningLocked(elapsedRealtime); mWifiOnTimer.stopRunningLocked(elapsedRealtime);
} }
if (mWifiOnUid >= 0) {
getUidStatsLocked(mWifiOnUid).noteWifiStoppedLocked(elapsedRealtime);
mWifiOnUid = -1;
}
} }
public void noteAudioOnLocked(int uid) { public void noteAudioOnLocked(int uid) {
@ -5973,7 +5968,7 @@ public final class BatteryStatsImpl extends BatteryStats {
if (entry.rxBytes == 0 || entry.txBytes == 0) continue; if (entry.rxBytes == 0 || entry.txBytes == 0) continue;
final Uid u = getUidStatsLocked(entry.uid); final Uid u = getUidStatsLocked(mapUid(entry.uid));
u.noteNetworkActivityLocked(NETWORK_MOBILE_RX_DATA, entry.rxBytes, u.noteNetworkActivityLocked(NETWORK_MOBILE_RX_DATA, entry.rxBytes,
entry.rxPackets); entry.rxPackets);
u.noteNetworkActivityLocked(NETWORK_MOBILE_TX_DATA, entry.txBytes, u.noteNetworkActivityLocked(NETWORK_MOBILE_TX_DATA, entry.txBytes,
@ -6040,7 +6035,7 @@ public final class BatteryStatsImpl extends BatteryStats {
if (entry.rxBytes == 0 || entry.txBytes == 0) continue; if (entry.rxBytes == 0 || entry.txBytes == 0) continue;
final Uid u = getUidStatsLocked(entry.uid); final Uid u = getUidStatsLocked(mapUid(entry.uid));
u.noteNetworkActivityLocked(NETWORK_WIFI_RX_DATA, entry.rxBytes, u.noteNetworkActivityLocked(NETWORK_WIFI_RX_DATA, entry.rxBytes,
entry.rxPackets); entry.rxPackets);
u.noteNetworkActivityLocked(NETWORK_WIFI_TX_DATA, entry.txBytes, u.noteNetworkActivityLocked(NETWORK_WIFI_TX_DATA, entry.txBytes,
@ -6240,6 +6235,7 @@ public final class BatteryStatsImpl extends BatteryStats {
* if needed. * if needed.
*/ */
public Uid.Proc getProcessStatsLocked(int uid, String name) { public Uid.Proc getProcessStatsLocked(int uid, String name) {
uid = mapUid(uid);
Uid u = getUidStatsLocked(uid); Uid u = getUidStatsLocked(uid);
return u.getProcessStatsLocked(name); return u.getProcessStatsLocked(name);
} }
@ -6249,6 +6245,7 @@ public final class BatteryStatsImpl extends BatteryStats {
* if needed. * if needed.
*/ */
public Uid.Pkg getPackageStatsLocked(int uid, String pkg) { public Uid.Pkg getPackageStatsLocked(int uid, String pkg) {
uid = mapUid(uid);
Uid u = getUidStatsLocked(uid); Uid u = getUidStatsLocked(uid);
return u.getPackageStatsLocked(pkg); return u.getPackageStatsLocked(pkg);
} }
@ -6258,6 +6255,7 @@ public final class BatteryStatsImpl extends BatteryStats {
* if needed. * if needed.
*/ */
public Uid.Pkg.Serv getServiceStatsLocked(int uid, String pkg, String name) { public Uid.Pkg.Serv getServiceStatsLocked(int uid, String pkg, String name) {
uid = mapUid(uid);
Uid u = getUidStatsLocked(uid); Uid u = getUidStatsLocked(uid);
return u.getServiceStatsLocked(pkg, name); return u.getServiceStatsLocked(pkg, name);
} }

View File

@ -165,11 +165,11 @@ final class Notifier {
int newFlags, String newTag, String newPackageName, int newOwnerUid, int newFlags, String newTag, String newPackageName, int newOwnerUid,
int newOwnerPid, WorkSource newWorkSource, String newHistoryTag) { int newOwnerPid, WorkSource newWorkSource, String newHistoryTag) {
final int monitorType = getBatteryStatsWakeLockMonitorType(flags);
final int newMonitorType = getBatteryStatsWakeLockMonitorType(newFlags);
boolean unimportantForLogging = (flags&PowerManager.UNIMPORTANT_FOR_LOGGING) != 0
&& ownerUid == Process.SYSTEM_UID;
if (workSource != null && newWorkSource != null) { if (workSource != null && newWorkSource != null) {
final int monitorType = getBatteryStatsWakeLockMonitorType(flags);
final int newMonitorType = getBatteryStatsWakeLockMonitorType(newFlags);
boolean unimportantForLogging = (newFlags&PowerManager.UNIMPORTANT_FOR_LOGGING) != 0
&& newOwnerUid == Process.SYSTEM_UID;
if (DEBUG) { if (DEBUG) {
Slog.d(TAG, "onWakeLockChanging: flags=" + newFlags + ", tag=\"" + newTag Slog.d(TAG, "onWakeLockChanging: flags=" + newFlags + ", tag=\"" + newTag
+ "\", packageName=" + newPackageName + "\", packageName=" + newPackageName