summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorDmitri Plotnikov <dplotnikov@google.com>2021-10-25 17:24:55 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2021-10-25 17:24:55 +0000
commit0054447beca694523c7866693c53dca222f23767 (patch)
tree3814dedb65507fb0fb6674deb10f962dfa58bfeb /core/java/android
parentc27e4cdfa39babc7357edd980f9219cf8ac81a0e (diff)
parente713584cf53a5d374a53fc69fe5ced3e2c16536f (diff)
Merge changes Ie40ff8ae,Iff6eb6de
* changes: Add @GuardedBy annotations Add support for per process state data to MeasuredEnergyStats
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/os/BatteryConsumer.java2
-rw-r--r--core/java/android/os/BatteryStats.java18
2 files changed, 19 insertions, 1 deletions
diff --git a/core/java/android/os/BatteryConsumer.java b/core/java/android/os/BatteryConsumer.java
index 1c1fc2c96f86..1853c65a299d 100644
--- a/core/java/android/os/BatteryConsumer.java
+++ b/core/java/android/os/BatteryConsumer.java
@@ -174,7 +174,7 @@ public abstract class BatteryConsumer {
public static final int PROCESS_STATE_BACKGROUND = 2;
public static final int PROCESS_STATE_FOREGROUND_SERVICE = 3;
- static final int PROCESS_STATE_COUNT = 4;
+ public static final int PROCESS_STATE_COUNT = 4;
private static final String[] sProcessStateNames = new String[PROCESS_STATE_COUNT];
diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java
index 30613b97f178..da968b378325 100644
--- a/core/java/android/os/BatteryStats.java
+++ b/core/java/android/os/BatteryStats.java
@@ -654,6 +654,24 @@ public abstract class BatteryStats implements Parcelable {
}
/**
+ * Maps BatteryStats.Uid process state to the BatteryConsumer process state.
+ */
+ public static @BatteryConsumer.ProcessState int
+ mapUidProcessStateToBatteryConsumerProcessState(int processState) {
+ switch (processState) {
+ case BatteryStats.Uid.PROCESS_STATE_TOP:
+ return BatteryConsumer.PROCESS_STATE_FOREGROUND;
+ case BatteryStats.Uid.PROCESS_STATE_BACKGROUND:
+ case BatteryStats.Uid.PROCESS_STATE_TOP_SLEEPING:
+ return BatteryConsumer.PROCESS_STATE_BACKGROUND;
+ case BatteryStats.Uid.PROCESS_STATE_FOREGROUND_SERVICE:
+ return BatteryConsumer.PROCESS_STATE_FOREGROUND_SERVICE;
+ default:
+ return BatteryConsumer.PROCESS_STATE_ANY;
+ }
+ }
+
+ /**
* Returns true if battery consumption is tracked on a per-process-state basis.
*/
public abstract boolean isProcessStateDataAvailable();