diff options
author | 2024-02-09 16:19:40 -0800 | |
---|---|---|
committer | 2024-04-08 15:56:30 -0700 | |
commit | c9dc70ba75456eae61462ee388c517a5345b58b4 (patch) | |
tree | 006e19d1dfb9447dee8f55b479a996e615ba4fd5 /ravenwood/runtime-helper-src | |
parent | eafebf0114b8121a99531e6aa69579cad80e5501 (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.java | 14 |
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( |