diff options
author | Dianne Hackborn <> | 2009-03-31 14:46:20 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-31 14:46:20 -0700 |
commit | bed30e1b6ea4a1d71dbe5e731c274cc66974283a (patch) | |
tree | ab6cce8b9619ab8d31672395e75e603d5e516100 /services/java/com/android/server/HardwareService.java | |
parent | 2b5be0748d160c6df1a9197272a776dc35879081 (diff) |
AI 143823: am: CL 143800 am: CL 143748 Fix issue #1743326 (More battery stats)
Adds stats for:
- Number of raw user events that have happened in the system.
- Number of times user activity has been reported, dividied by UID and type of activity.
- Duration of screen brightness levels in 4 buckets.
- Per-UID tracking of who has turned on Wifi and how long we can attribute it being on because of them.
Original author: hackbod
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143823
Diffstat (limited to 'services/java/com/android/server/HardwareService.java')
-rwxr-xr-x | services/java/com/android/server/HardwareService.java | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/services/java/com/android/server/HardwareService.java b/services/java/com/android/server/HardwareService.java index 42367ef86a8e..5bc9b5faf61c 100755 --- a/services/java/com/android/server/HardwareService.java +++ b/services/java/com/android/server/HardwareService.java @@ -16,6 +16,9 @@ package com.android.server; +import com.android.internal.app.IBatteryStats; +import com.android.server.am.BatteryStatsService; + import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -63,6 +66,8 @@ public class HardwareService extends IHardwareService.Stub { mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG); mWakeLock.setReferenceCounted(true); + mBatteryStats = BatteryStatsService.getService(); + IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_SCREEN_OFF); context.registerReceiver(mIntentReceiver, filter); @@ -200,6 +205,14 @@ public class HardwareService extends IHardwareService.Stub { setLightBrightness_UNCHECKED(LIGHT_ID_BACKLIGHT, brightness); setLightBrightness_UNCHECKED(LIGHT_ID_KEYBOARD, brightness); setLightBrightness_UNCHECKED(LIGHT_ID_BUTTONS, brightness); + long identity = Binder.clearCallingIdentity(); + try { + mBatteryStats.noteScreenBrightness(brightness); + } catch (RemoteException e) { + Log.w(TAG, "RemoteException calling noteScreenBrightness on BatteryStatsService", e); + } finally { + Binder.restoreCallingIdentity(identity); + } } void setLightOff_UNCHECKED(int light) { @@ -388,9 +401,11 @@ public class HardwareService extends IHardwareService.Stub { private static native void setLight_native(int ptr, int light, int color, int mode, int onMS, int offMS); - private Context mContext; - private PowerManager.WakeLock mWakeLock; + private final Context mContext; + private final PowerManager.WakeLock mWakeLock; + private final IBatteryStats mBatteryStats; + volatile VibrateThread mThread; volatile Death mDeath; volatile IBinder mToken; |