Merge "Add comments and additional constants for the known bad anomaly types." into pi-dev
am: 32d9f451f9

Change-Id: Ib66379c8c5a5dbae415aecc701ebb0a66859b7d5
diff --git a/src/com/android/settings/fuelgauge/batterytip/StatsManagerConfig.java b/src/com/android/settings/fuelgauge/batterytip/StatsManagerConfig.java
index 7f4b1eb..9fae14e 100644
--- a/src/com/android/settings/fuelgauge/batterytip/StatsManagerConfig.java
+++ b/src/com/android/settings/fuelgauge/batterytip/StatsManagerConfig.java
@@ -46,15 +46,181 @@
             AnomalyType.EXCESSIVE_WAKEUPS_IN_BACKGROUND,
             AnomalyType.EXCESSIVE_UNOPTIMIZED_BLE_SCAN,
             AnomalyType.EXCESSIVE_BACKGROUND_SERVICE,
-            AnomalyType.EXCESSIVE_WIFI_SCAN})
+            AnomalyType.EXCESSIVE_WIFI_SCAN,
+            AnomalyType.EXCESSIVE_FLASH_WRITES,
+            AnomalyType.EXCESSIVE_MEMORY_IN_BACKGROUND,
+            AnomalyType.EXCESSIVE_DAVEY_RATE,
+            AnomalyType.EXCESSIVE_JANKY_FRAMES,
+            AnomalyType.SLOW_COLD_START_TIME,
+            AnomalyType.SLOW_HOT_START_TIME,
+            AnomalyType.SLOW_WARM_START_TIME,
+            AnomalyType.EXCESSIVE_BACKGROUND_SYNCS,
+            AnomalyType.EXCESSIVE_GPS_SCANS_IN_BACKGROUND,
+            AnomalyType.EXCESSIVE_JOB_SCHEDULING,
+            AnomalyType.EXCESSIVE_MOBILE_NETWORK_IN_BACKGROUND,
+            AnomalyType.EXCESSIVE_WIFI_LOCK_TIME,
+            AnomalyType.JOB_TIMED_OUT,
+            AnomalyType.LONG_UNOPTIMIZED_BLE_SCAN,
+            AnomalyType.BACKGROUND_ANR,
+            AnomalyType.BACKGROUND_CRASH_RATE,
+            AnomalyType.EXCESSIVE_ANR_LOOPING,
+            AnomalyType.EXCESSIVE_ANRS,
+            AnomalyType.EXCESSIVE_CRASH_RATE,
+            AnomalyType.EXCESSIVE_CRASH_LOOPING,
+            AnomalyType.NUMBER_OF_OPEN_FILES,
+    })
     public @interface AnomalyType {
+        /**
+         * This represents an error condition in the anomaly detection.
+         */
         int NULL = -1;
+
+        /**
+         * The anomaly type does not match any other defined type.
+         */
         int UNKNOWN_REASON = 0;
+
+        /**
+         * The application held a partial (screen off) wake lock for a period of time that
+         * exceeded the threshold with the screen off when not charging.
+         */
         int EXCESSIVE_WAKELOCK_ALL_SCREEN_OFF = 1;
+
+        /**
+         * The application exceeded the maximum number of wakeups while in the background
+         * when not charging.
+         */
         int EXCESSIVE_WAKEUPS_IN_BACKGROUND = 2;
+
+        /**
+         * The application did unoptimized Bluetooth scans too frequently when not charging.
+         */
         int EXCESSIVE_UNOPTIMIZED_BLE_SCAN = 3;
+
+        /**
+         * The application ran in the background for a period of time that exceeded the
+         * threshold.
+         */
         int EXCESSIVE_BACKGROUND_SERVICE = 4;
+
+        /**
+         * The application exceeded the maximum number of wifi scans when not charging.
+         */
         int EXCESSIVE_WIFI_SCAN = 5;
+
+        /**
+         * The application exceed the maximum number of flash writes
+         */
+        int EXCESSIVE_FLASH_WRITES = 6;
+
+        /**
+         * The application used more than the maximum memory, while not spending any time
+         * in the foreground.
+         */
+        int EXCESSIVE_MEMORY_IN_BACKGROUND = 7;
+
+        /**
+         * The application exceeded the maximum percentage of frames with a render rate of
+         * greater than 700ms.
+         */
+        int EXCESSIVE_DAVEY_RATE = 8;
+
+        /**
+         * The application exceeded the maximum percentage of frames with a render rate
+         * greater than 16ms.
+         */
+        int EXCESSIVE_JANKY_FRAMES = 9;
+
+        /**
+         * The application exceeded the maximum cold start time - the app has not been
+         * launched since last system start, died or was killed.
+         */
+        int SLOW_COLD_START_TIME = 10;
+
+        /**
+         * The application exceeded the maximum hot start time - the app and activity are
+         * already in memory.
+         */
+        int SLOW_HOT_START_TIME = 11;
+
+        /**
+         * The application exceeded the maximum warm start time - the app was already in
+         * memory but the activity wasn’t created yet or was removed from memory.
+         */
+        int SLOW_WARM_START_TIME = 12;
+
+        /**
+         * The application exceeded the maximum number of syncs while in the background.
+         */
+        int EXCESSIVE_BACKGROUND_SYNCS = 13;
+
+        /**
+         * The application exceeded the maximum number of gps scans while in the background.
+         */
+        int EXCESSIVE_GPS_SCANS_IN_BACKGROUND = 14;
+
+        /**
+         * The application scheduled more than the maximum number of jobs while not charging.
+         */
+        int EXCESSIVE_JOB_SCHEDULING = 15;
+
+        /**
+         * The application exceeded the maximum amount of mobile network traffic while in
+         * the background.
+         */
+        int EXCESSIVE_MOBILE_NETWORK_IN_BACKGROUND = 16;
+
+        /**
+         * The application held the WiFi lock for more than the maximum amount of time while
+         * not charging.
+         */
+        int EXCESSIVE_WIFI_LOCK_TIME = 17;
+
+        /**
+         * The application scheduled a job that ran longer than the maximum amount of time.
+         */
+        int JOB_TIMED_OUT = 18;
+
+        /**
+         * The application did an unoptimized Bluetooth scan that exceeded the maximum
+         * time while in the background.
+         */
+        int LONG_UNOPTIMIZED_BLE_SCAN = 19;
+
+        /**
+         * The application exceeded the maximum ANR rate while in the background.
+         */
+        int BACKGROUND_ANR = 20;
+
+        /**
+         * The application exceeded the maximum crash rate while in the background.
+         */
+        int BACKGROUND_CRASH_RATE = 21;
+
+        /**
+         * The application exceeded the maximum ANR-looping rate.
+         */
+        int EXCESSIVE_ANR_LOOPING = 22;
+
+        /**
+         * The application exceeded the maximum ANR rate.
+         */
+        int EXCESSIVE_ANRS = 23;
+
+        /**
+         * The application exceeded the maximum crash rate.
+         */
+        int EXCESSIVE_CRASH_RATE = 24;
+
+        /**
+         * The application exceeded the maximum crash-looping rate.
+         */
+        int EXCESSIVE_CRASH_LOOPING = 25;
+
+        /**
+         * The application crashed because no more file descriptors were available.
+         */
+        int NUMBER_OF_OPEN_FILES = 26;
     }
 
 }