summaryrefslogtreecommitdiffstats
path: root/services/java
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2010-12-07 11:08:07 -0800
committerDianne Hackborn <hackbod@google.com>2010-12-13 14:31:40 -0800
commite4a5951925f16f18dae91ed65567e96528f17fee (patch)
treeb96636542b481ce23865326f49c5ddff934e71cd /services/java
parente3f6336bcffc250da90ec864bccfa73ad1d016b9 (diff)
downloadframeworks_base-e4a5951925f16f18dae91ed65567e96528f17fee.zip
frameworks_base-e4a5951925f16f18dae91ed65567e96528f17fee.tar.gz
frameworks_base-e4a5951925f16f18dae91ed65567e96528f17fee.tar.bz2
Fix issue #3154576: battery stats checkin should include UID -> packages+ map
Includes some other small fixes to battery collection and a few other things. Output of package info looks like this: 5,0,i,uid,1000,com.android.settings 5,0,i,uid,1000,com.android.providers.subscribedfeeds 5,0,i,uid,1000,com.android.providers.settings 5,0,i,uid,1000,com.android.server.vpn 5,0,i,uid,1000,android 5,0,i,uid,1000,com.android.systemui 5,0,i,uid,1000,com.google.android.backup 5,0,i,uid,1001,com.android.phone 5,0,i,uid,1001,com.android.providers.telephony 5,0,i,uid,1022,com.android.nfc 5,0,i,uid,10021,com.google.android.location 5,0,i,uid,10021,com.google.android.syncadapters.calendar 5,0,i,uid,10021,com.google.android.gsf 5,0,i,uid,10021,com.google.android.syncadapters.contacts 5,0,i,uid,10026,com.android.providers.downloads.ui 5,0,i,uid,10026,com.android.providers.media 5,0,i,uid,10026,com.android.providers.drm 5,0,i,uid,10026,com.android.providers.downloads 5,0,i,uid,10032,com.android.launcher 5,0,i,uid,10039,com.google.android.gm 5,0,i,uid,10041,com.google.android.gallery3d 5,0,i,uid,10049,com.android.providers.calendar Change-Id: I9e38f254eef146339113ad270f5c6e8b60fb7a1d
Diffstat (limited to 'services/java')
-rw-r--r--services/java/com/android/server/PackageManagerService.java3
-rw-r--r--services/java/com/android/server/am/BatteryStatsService.java33
2 files changed, 23 insertions, 13 deletions
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index 4520f18..be3cd75 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -5699,9 +5699,6 @@ class PackageManagerService extends IPackageManager.Stub {
res.removedInfo.removedPackage = packageName;
// Remove existing system package
removePackageLI(oldPkg, true);
- synchronized (mPackages) {
- res.removedInfo.removedUid = mSettings.disableSystemPackageLP(packageName);
- }
// Successfully disabled the old package. Now proceed with re-installation
mLastScanError = PackageManager.INSTALL_SUCCEEDED;
diff --git a/services/java/com/android/server/am/BatteryStatsService.java b/services/java/com/android/server/am/BatteryStatsService.java
index 73a5435..367c4cf 100644
--- a/services/java/com/android/server/am/BatteryStatsService.java
+++ b/services/java/com/android/server/am/BatteryStatsService.java
@@ -18,6 +18,7 @@ package com.android.server.am;
import android.bluetooth.BluetoothHeadset;
import android.content.Context;
+import android.content.pm.ApplicationInfo;
import android.os.Binder;
import android.os.IBinder;
import android.os.Parcel;
@@ -25,6 +26,7 @@ import android.os.Process;
import android.os.ServiceManager;
import android.os.WorkSource;
import android.telephony.SignalStrength;
+import android.telephony.TelephonyManager;
import android.util.Slog;
import com.android.internal.app.IBatteryStats;
@@ -33,6 +35,7 @@ import com.android.internal.os.PowerProfile;
import java.io.FileDescriptor;
import java.io.PrintWriter;
+import java.util.List;
/**
* All information we are collecting about things that can happen that impact
@@ -213,8 +216,9 @@ public final class BatteryStatsService extends IBatteryStats.Stub {
public void notePhoneState(int state) {
enforceCallingPermission();
+ int simState = TelephonyManager.getDefault().getSimState();
synchronized (mStats) {
- mStats.notePhoneStateLocked(state);
+ mStats.notePhoneStateLocked(state, simState);
}
}
@@ -413,19 +417,28 @@ public final class BatteryStatsService extends IBatteryStats.Stub {
@Override
protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
- synchronized (mStats) {
- boolean isCheckin = false;
- if (args != null) {
- for (String arg : args) {
- if ("--checkin".equals(arg)) {
- isCheckin = true;
- } else if ("--reset".equals(arg)) {
+ boolean isCheckin = false;
+ if (args != null) {
+ for (String arg : args) {
+ if ("--checkin".equals(arg)) {
+ isCheckin = true;
+ } else if ("--reset".equals(arg)) {
+ synchronized (mStats) {
mStats.resetAllStatsLocked();
+ pw.println("Battery stats reset.");
}
}
}
- if (isCheckin) mStats.dumpCheckinLocked(pw, args);
- else mStats.dumpLocked(pw);
+ }
+ if (isCheckin) {
+ List<ApplicationInfo> apps = mContext.getPackageManager().getInstalledApplications(0);
+ synchronized (mStats) {
+ mStats.dumpCheckinLocked(pw, args, apps);
+ }
+ } else {
+ synchronized (mStats) {
+ mStats.dumpLocked(pw);
+ }
}
}
}