diff options
author | Dianne Hackborn <hackbod@google.com> | 2010-12-07 11:08:07 -0800 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2010-12-13 14:31:40 -0800 |
commit | e4a5951925f16f18dae91ed65567e96528f17fee (patch) | |
tree | b96636542b481ce23865326f49c5ddff934e71cd /services/java | |
parent | e3f6336bcffc250da90ec864bccfa73ad1d016b9 (diff) | |
download | frameworks_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.java | 3 | ||||
-rw-r--r-- | services/java/com/android/server/am/BatteryStatsService.java | 33 |
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); + } } } } |