Loading core/java/com/android/internal/os/LongArrayMultiStateCounter.java +3 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.os; import android.annotation.Nullable; import android.os.Parcel; import android.os.Parcelable; import android.ravenwood.annotation.RavenwoodKeepWholeClass; Loading Loading @@ -155,8 +156,9 @@ public final class LongArrayMultiStateCounter implements Parcelable { /** * Adds the supplied values to the current accumulated values in the counter. * Null `values` parameter is interpreted as an array of zeros. */ public void incrementValues(long[] values, long timestampMs) { public void incrementValues(@Nullable long[] values, long timestampMs) { native_incrementValues(mNativeObject, values, timestampMs); } Loading core/java/com/android/internal/os/LongArrayMultiStateCounter_ravenwood.java +8 −4 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.os; import android.annotation.Nullable; import android.os.BadParcelableException; import android.os.Parcel; import android.ravenwood.annotation.RavenwoodKeepWholeClass; Loading Loading @@ -147,11 +148,13 @@ class LongArrayMultiStateCounter_ravenwood { mLastUpdateTimestampMs = timestampMs; } public void incrementValues(long[] delta, long timestampMs) { public void incrementValues(@Nullable long[] delta, long timestampMs) { long[] values = Arrays.copyOf(mValues, mValues.length); if (delta != null) { for (int i = 0; i < mArrayLength; i++) { values[i] += delta[i]; } } updateValue(values, timestampMs); } Loading Loading @@ -304,7 +307,8 @@ class LongArrayMultiStateCounter_ravenwood { getInstance(targetInstanceId).copyStatesFrom(getInstance(sourceInstanceId)); } public static void native_incrementValues(long instanceId, long[] delta, long timestampMs) { public static void native_incrementValues(long instanceId, @Nullable long[] delta, long timestampMs) { getInstance(instanceId).incrementValues(delta, timestampMs); } Loading core/jni/com_android_internal_os_LongArrayMultiStateCounter.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -97,7 +97,13 @@ static void native_updateValues(JNIEnv *env, jclass, jlong nativePtr, jlongArray static void native_incrementValues(JNIEnv *env, jclass, jlong nativePtr, jlongArray values, jlong timestamp) { auto *counter = reinterpret_cast<LongArrayMultiStateCounter *>(nativePtr); if (values != nullptr) { counter->incrementValue(JavaUint64Array(env, values), timestamp); } else { // Pass an empty Uint64Array, which is equivalent to an array of zeros. // This is done to ensure that the timestamp is still updated in the counter. counter->incrementValue(Uint64Array(), timestamp); } } static void native_addCounts(JNIEnv *env, jclass, jlong nativePtr, jlongArray values) { Loading services/core/java/com/android/server/power/stats/processor/BinaryStatePowerStatsProcessor.java +7 −6 Original line number Diff line number Diff line Loading @@ -274,9 +274,9 @@ abstract class BinaryStatePowerStatsProcessor extends PowerStatsProcessor { int uid = uids.get(k); if (stats.getUidStats(mTmpUidStatsArray, uid, proportionalEstimate.stateValues)) { double power = intermediates.power * mStatsLayout.getUidUsageDuration(mTmpUidStatsArray) / intermediates.duration; long duration = mStatsLayout.getUidUsageDuration(mTmpUidStatsArray); if (duration != 0) { double power = intermediates.power * duration / intermediates.duration; mStatsLayout.setUidPowerEstimate(mTmpUidStatsArray, power); stats.setUidStats(uid, proportionalEstimate.stateValues, mTmpUidStatsArray); Loading @@ -286,3 +286,4 @@ abstract class BinaryStatePowerStatsProcessor extends PowerStatsProcessor { } } } } services/core/java/com/android/server/power/stats/processor/BluetoothPowerStatsProcessor.java +4 −2 Original line number Diff line number Diff line Loading @@ -299,8 +299,10 @@ class BluetoothPowerStatsProcessor extends PowerStatsProcessor { / intermediates.txBytes; } } if (power != 0) { mStatsLayout.setUidPowerEstimate(mTmpUidStatsArray, power); stats.setUidStats(uid, proportionalEstimate.stateValues, mTmpUidStatsArray); } } } } Loading
core/java/com/android/internal/os/LongArrayMultiStateCounter.java +3 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.os; import android.annotation.Nullable; import android.os.Parcel; import android.os.Parcelable; import android.ravenwood.annotation.RavenwoodKeepWholeClass; Loading Loading @@ -155,8 +156,9 @@ public final class LongArrayMultiStateCounter implements Parcelable { /** * Adds the supplied values to the current accumulated values in the counter. * Null `values` parameter is interpreted as an array of zeros. */ public void incrementValues(long[] values, long timestampMs) { public void incrementValues(@Nullable long[] values, long timestampMs) { native_incrementValues(mNativeObject, values, timestampMs); } Loading
core/java/com/android/internal/os/LongArrayMultiStateCounter_ravenwood.java +8 −4 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.os; import android.annotation.Nullable; import android.os.BadParcelableException; import android.os.Parcel; import android.ravenwood.annotation.RavenwoodKeepWholeClass; Loading Loading @@ -147,11 +148,13 @@ class LongArrayMultiStateCounter_ravenwood { mLastUpdateTimestampMs = timestampMs; } public void incrementValues(long[] delta, long timestampMs) { public void incrementValues(@Nullable long[] delta, long timestampMs) { long[] values = Arrays.copyOf(mValues, mValues.length); if (delta != null) { for (int i = 0; i < mArrayLength; i++) { values[i] += delta[i]; } } updateValue(values, timestampMs); } Loading Loading @@ -304,7 +307,8 @@ class LongArrayMultiStateCounter_ravenwood { getInstance(targetInstanceId).copyStatesFrom(getInstance(sourceInstanceId)); } public static void native_incrementValues(long instanceId, long[] delta, long timestampMs) { public static void native_incrementValues(long instanceId, @Nullable long[] delta, long timestampMs) { getInstance(instanceId).incrementValues(delta, timestampMs); } Loading
core/jni/com_android_internal_os_LongArrayMultiStateCounter.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -97,7 +97,13 @@ static void native_updateValues(JNIEnv *env, jclass, jlong nativePtr, jlongArray static void native_incrementValues(JNIEnv *env, jclass, jlong nativePtr, jlongArray values, jlong timestamp) { auto *counter = reinterpret_cast<LongArrayMultiStateCounter *>(nativePtr); if (values != nullptr) { counter->incrementValue(JavaUint64Array(env, values), timestamp); } else { // Pass an empty Uint64Array, which is equivalent to an array of zeros. // This is done to ensure that the timestamp is still updated in the counter. counter->incrementValue(Uint64Array(), timestamp); } } static void native_addCounts(JNIEnv *env, jclass, jlong nativePtr, jlongArray values) { Loading
services/core/java/com/android/server/power/stats/processor/BinaryStatePowerStatsProcessor.java +7 −6 Original line number Diff line number Diff line Loading @@ -274,9 +274,9 @@ abstract class BinaryStatePowerStatsProcessor extends PowerStatsProcessor { int uid = uids.get(k); if (stats.getUidStats(mTmpUidStatsArray, uid, proportionalEstimate.stateValues)) { double power = intermediates.power * mStatsLayout.getUidUsageDuration(mTmpUidStatsArray) / intermediates.duration; long duration = mStatsLayout.getUidUsageDuration(mTmpUidStatsArray); if (duration != 0) { double power = intermediates.power * duration / intermediates.duration; mStatsLayout.setUidPowerEstimate(mTmpUidStatsArray, power); stats.setUidStats(uid, proportionalEstimate.stateValues, mTmpUidStatsArray); Loading @@ -286,3 +286,4 @@ abstract class BinaryStatePowerStatsProcessor extends PowerStatsProcessor { } } } }
services/core/java/com/android/server/power/stats/processor/BluetoothPowerStatsProcessor.java +4 −2 Original line number Diff line number Diff line Loading @@ -299,8 +299,10 @@ class BluetoothPowerStatsProcessor extends PowerStatsProcessor { / intermediates.txBytes; } } if (power != 0) { mStatsLayout.setUidPowerEstimate(mTmpUidStatsArray, power); stats.setUidStats(uid, proportionalEstimate.stateValues, mTmpUidStatsArray); } } } }