Fix implementation of LongArrayMultiStateCounter.toString()
The order of arguments was incorrect.
Test: atest FrameworksCoreTests:LongArrayMultiStateCounterTest
Change-Id: I49aa3a1731ca4b53be9855de0c8ca9dc9d5d1227
diff --git a/core/jni/com_android_internal_os_LongArrayMultiStateCounter.cpp b/core/jni/com_android_internal_os_LongArrayMultiStateCounter.cpp
index 953902a..32c57d1 100644
--- a/core/jni/com_android_internal_os_LongArrayMultiStateCounter.cpp
+++ b/core/jni/com_android_internal_os_LongArrayMultiStateCounter.cpp
@@ -63,7 +63,7 @@
*vector = counter->getCount(state);
}
-static jobject native_toString(JNIEnv *env, jlong nativePtr, jobject self) {
+static jobject native_toString(JNIEnv *env, jobject self, jlong nativePtr) {
battery::LongArrayMultiStateCounter *counter =
reinterpret_cast<battery::LongArrayMultiStateCounter *>(nativePtr);
return env->NewStringUTF(counter->toString().c_str());
diff --git a/core/tests/coretests/src/com/android/internal/os/LongArrayMultiStateCounterTest.java b/core/tests/coretests/src/com/android/internal/os/LongArrayMultiStateCounterTest.java
index 26296f1..2da9f57 100644
--- a/core/tests/coretests/src/com/android/internal/os/LongArrayMultiStateCounterTest.java
+++ b/core/tests/coretests/src/com/android/internal/os/LongArrayMultiStateCounterTest.java
@@ -46,5 +46,10 @@
counter.getCounts(longArrayContainer, 1);
longArrayContainer.getValues(result);
assertThat(result).isEqualTo(new long[]{25, 50, 75, 100});
+
+ assertThat(counter.toString()).isEqualTo(
+ "currentState: 0 lastStateChangeTimestamp: 9000 lastUpdateTimestamp: 9000 states:"
+ + " [0: time: 0 counter: { 75, 150, 225, 300}"
+ + ", 1: time: 0 counter: { 25, 50, 75, 100}]");
}
}