Fix inconsistency in user activity types.
Looks like BatteryStats was not updated when we reduced the number
of user activity types from 7 to 3.
Change-Id: I7465f86c78baa561a6555c33f681553b870827f2
diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java
index 2aa6fb5..1bb27bd 100644
--- a/core/java/android/os/BatteryStats.java
+++ b/core/java/android/os/BatteryStats.java
@@ -277,13 +277,15 @@
public abstract long getVideoTurnedOnTime(long batteryRealtime, int which);
/**
- * Note that these must match the constants in android.os.LocalPowerManager.
+ * Note that these must match the constants in android.os.PowerManager.
+ * Also, if the user activity types change, the BatteryStatsImpl.VERSION must
+ * also be bumped.
*/
static final String[] USER_ACTIVITY_TYPES = {
- "other", "cheek", "touch", "long_touch", "touch_up", "button", "unknown"
+ "other", "button", "touch"
};
- public static final int NUM_USER_ACTIVITY_TYPES = 7;
+ public static final int NUM_USER_ACTIVITY_TYPES = 3;
public abstract void noteUserActivityLocked(int type);
public abstract boolean hasUserActivity();
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index 42bc14d..4656b8b 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -87,7 +87,7 @@
private static final int MAGIC = 0xBA757475; // 'BATSTATS'
// Current on-disk Parcel version
- private static final int VERSION = 61 + (USE_OLD_HISTORY ? 1000 : 0);
+ private static final int VERSION = 62 + (USE_OLD_HISTORY ? 1000 : 0);
// Maximum number of items we will record in the history.
private static final int MAX_HISTORY_ITEMS = 2000;
@@ -2681,9 +2681,12 @@
if (mUserActivityCounters == null) {
initUserActivityLocked();
}
- if (type < 0) type = 0;
- else if (type >= NUM_USER_ACTIVITY_TYPES) type = NUM_USER_ACTIVITY_TYPES-1;
- mUserActivityCounters[type].stepAtomic();
+ if (type >= 0 && type < NUM_USER_ACTIVITY_TYPES) {
+ mUserActivityCounters[type].stepAtomic();
+ } else {
+ Slog.w(TAG, "Unknown user activity type " + type + " was specified.",
+ new Throwable());
+ }
}
@Override