Add comments and additional constants for the known bad anomaly types.

They aren't being used now, but by declaring them now we can consolidate
what we are encouraging OEMs to do in the PI timeframe.

Bug: 78013987
Test: treehugger
Change-Id: I7f86491448e799081b18d71274d2629a902d4972
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;
     }
 
 }