summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/HardwareService.java
diff options
context:
space:
mode:
authorDianne Hackborn <>2009-03-31 14:46:20 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-31 14:46:20 -0700
commitbed30e1b6ea4a1d71dbe5e731c274cc66974283a (patch)
treeab6cce8b9619ab8d31672395e75e603d5e516100 /services/java/com/android/server/HardwareService.java
parent2b5be0748d160c6df1a9197272a776dc35879081 (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-xservices/java/com/android/server/HardwareService.java19
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;