summaryrefslogtreecommitdiff
path: root/ravenwood/runtime-helper-src
diff options
context:
space:
mode:
author Dmitri Plotnikov <dplotnikov@google.com> 2024-02-09 16:19:40 -0800
committer Dmitri Plotnikov <dplotnikov@google.com> 2024-04-08 15:56:30 -0700
commitc9dc70ba75456eae61462ee388c517a5345b58b4 (patch)
tree006e19d1dfb9447dee8f55b479a996e615ba4fd5 /ravenwood/runtime-helper-src
parenteafebf0114b8121a99531e6aa69579cad80e5501 (diff)
Add support for power component states to PowerStats
This is done in preparation for adding MobileRadioPowerStatsCollector. Mobile radio has multiple different states (3G, LTE, NR etc) and multiple different signal levels. The space of all states is vast, but sparse. This CL prepares to handle per-state stats without wasting too much RAM and disk space. Bug: 323970018 Test: atest --host FrameworksCoreTestsRavenwood PowerStatsTestsRavenwood Change-Id: I76841a59a385f5df0fcc957f5b00116b68d34250
Diffstat (limited to 'ravenwood/runtime-helper-src')
-rw-r--r--ravenwood/runtime-helper-src/framework/com/android/platform/test/ravenwood/nativesubstitution/LongArrayMultiStateCounter_host.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/ravenwood/runtime-helper-src/framework/com/android/platform/test/ravenwood/nativesubstitution/LongArrayMultiStateCounter_host.java b/ravenwood/runtime-helper-src/framework/com/android/platform/test/ravenwood/nativesubstitution/LongArrayMultiStateCounter_host.java
index 741411095f53..0f65544f8b66 100644
--- a/ravenwood/runtime-helper-src/framework/com/android/platform/test/ravenwood/nativesubstitution/LongArrayMultiStateCounter_host.java
+++ b/ravenwood/runtime-helper-src/framework/com/android/platform/test/ravenwood/nativesubstitution/LongArrayMultiStateCounter_host.java
@@ -100,6 +100,16 @@ public class LongArrayMultiStateCounter_host {
mLastStateChangeTimestampMs = timestampMs;
}
+ public void copyStatesFrom(LongArrayMultiStateCounterRavenwood source) {
+ for (int i = 0; i < mStateCount; i++) {
+ mStates[i].mTimeInStateSinceUpdate = source.mStates[i].mTimeInStateSinceUpdate;
+ Arrays.fill(mStates[i].mCounter, 0);
+ }
+ mCurrentState = source.mCurrentState;
+ mLastStateChangeTimestampMs = source.mLastStateChangeTimestampMs;
+ mLastUpdateTimestampMs = source.mLastUpdateTimestampMs;
+ }
+
public void setValue(int state, long[] values) {
System.arraycopy(values, 0, mStates[state].mCounter, 0, mArrayLength);
}
@@ -335,6 +345,10 @@ public class LongArrayMultiStateCounter_host {
getInstance(instanceId).setState(state, timestampMs);
}
+ public static void native_copyStatesFrom(long targetInstanceId, long sourceInstanceId) {
+ getInstance(targetInstanceId).copyStatesFrom(getInstance(sourceInstanceId));
+ }
+
public static void native_incrementValues(long instanceId, long containerInstanceId,
long timestampMs) {
getInstance(instanceId).incrementValues(