diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java index cabe24f398d6b..3eea72d5819ba 100644 --- a/core/java/android/os/BatteryStats.java +++ b/core/java/android/os/BatteryStats.java @@ -1189,7 +1189,6 @@ public abstract class BatteryStats implements Parcelable { // Platform-level low power state stats public String statPlatformIdleState; - public String statSubsystemPowerState; public HistoryStepDetails() { clear(); @@ -1221,7 +1220,6 @@ public abstract class BatteryStats implements Parcelable { out.writeInt(statSoftIrqTime); out.writeInt(statIdlTime); out.writeString(statPlatformIdleState); - out.writeString(statSubsystemPowerState); } public void readFromParcel(Parcel in) { @@ -1243,7 +1241,6 @@ public abstract class BatteryStats implements Parcelable { statSoftIrqTime = in.readInt(); statIdlTime = in.readInt(); statPlatformIdleState = in.readString(); - statSubsystemPowerState = in.readString(); } } @@ -5390,10 +5387,6 @@ public abstract class BatteryStats implements Parcelable { pw.print(", PlatformIdleStat "); pw.print(rec.stepDetails.statPlatformIdleState); pw.println(); - - pw.print(", SubsystemPowerState "); - pw.print(rec.stepDetails.statSubsystemPowerState); - pw.println(); } else { pw.print(BATTERY_STATS_CHECKIN_VERSION); pw.print(','); pw.print(HISTORY_DATA); pw.print(",0,Dcpu="); @@ -5431,11 +5424,6 @@ public abstract class BatteryStats implements Parcelable { pw.print(rec.stepDetails.statPlatformIdleState); } pw.println(); - - if (rec.stepDetails.statSubsystemPowerState != null) { - pw.print(rec.stepDetails.statSubsystemPowerState); - } - pw.println(); } } oldState = rec.states; diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java index 49c38d31880d6..25d5fae12191e 100644 --- a/core/java/com/android/internal/os/BatteryStatsImpl.java +++ b/core/java/com/android/internal/os/BatteryStatsImpl.java @@ -169,7 +169,6 @@ public class BatteryStatsImpl extends BatteryStats { public interface PlatformIdleStateCallback { public String getPlatformLowPowerStats(); - public String getSubsystemLowPowerStats(); } private final PlatformIdleStateCallback mPlatformIdleStateCallback; @@ -2883,12 +2882,6 @@ public class BatteryStatsImpl extends BatteryStats { mPlatformIdleStateCallback.getPlatformLowPowerStats(); if (DEBUG) Slog.i(TAG, "WRITE PlatformIdleState:" + mCurHistoryStepDetails.statPlatformIdleState); - - mCurHistoryStepDetails.statSubsystemPowerState = - mPlatformIdleStateCallback.getSubsystemLowPowerStats(); - if (DEBUG) Slog.i(TAG, "WRITE SubsystemPowerState:" + - mCurHistoryStepDetails.statSubsystemPowerState); - } computeHistoryStepDetails(mCurHistoryStepDetails, mLastHistoryStepDetails); if (includeStepDetails != 0) { diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index 4db5c85d7b44a..11fc40b047347 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -183,7 +183,6 @@ public final class BatteryStatsService extends IBatteryStats.Stub } private native int getPlatformLowPowerStats(ByteBuffer outBuffer); - private native int getSubsystemLowPowerStats(ByteBuffer outBuffer); private CharsetDecoder mDecoderStat = StandardCharsets.UTF_8 .newDecoder() .onMalformedInput(CodingErrorAction.REPLACE) @@ -215,28 +214,6 @@ public final class BatteryStatsService extends IBatteryStats.Stub } } - @Override - public String getSubsystemLowPowerStats() { - Slog.d(TAG, "begin getSubsystemLowPowerStats"); - try { - mUtf8BufferStat.clear(); - mUtf16BufferStat.clear(); - mDecoderStat.reset(); - int bytesWritten = getSubsystemLowPowerStats(mUtf8BufferStat); - if (bytesWritten < 0) { - return null; - } else if (bytesWritten == 0) { - return "Empty"; - } - mUtf8BufferStat.limit(bytesWritten); - mDecoderStat.decode(mUtf8BufferStat, mUtf16BufferStat, true); - mUtf16BufferStat.flip(); - return mUtf16BufferStat.toString(); - } finally { - Slog.d(TAG, "end getSubsystemLowPowerStats"); - } - } - BatteryStatsService(File systemDir, Handler handler) { // Our handler here will be accessing the disk, use a different thread than // what the ActivityManagerService gave us (no I/O on that one!). diff --git a/services/core/jni/Android.mk b/services/core/jni/Android.mk index 84ab48de147cd..e6c2b1d368561 100644 --- a/services/core/jni/Android.mk +++ b/services/core/jni/Android.mk @@ -95,7 +95,6 @@ LOCAL_SHARED_LIBRARIES += \ android.hardware.ir@1.0 \ android.hardware.light@2.0 \ android.hardware.power@1.0 \ - android.hardware.power@1.1 \ android.hardware.tetheroffload.config@1.0 \ android.hardware.thermal@1.0 \ android.hardware.tv.cec@1.0 \ diff --git a/services/core/jni/com_android_server_am_BatteryStatsService.cpp b/services/core/jni/com_android_server_am_BatteryStatsService.cpp index 37ae78254ce2a..57bb9fedc1354 100644 --- a/services/core/jni/com_android_server_am_BatteryStatsService.cpp +++ b/services/core/jni/com_android_server_am_BatteryStatsService.cpp @@ -29,7 +29,6 @@ #include #include -#include #include #include @@ -47,8 +46,6 @@ using android::hardware::power::V1_0::IPower; using android::hardware::power::V1_0::PowerStatePlatformSleepState; using android::hardware::power::V1_0::PowerStateVoter; using android::hardware::power::V1_0::Status; -using android::hardware::power::V1_1::PowerStateSubsystem; -using android::hardware::power::V1_1::PowerStateSubsystemSleepState; using android::hardware::hidl_vec; namespace android @@ -266,105 +263,9 @@ static jint getPlatformLowPowerStats(JNIEnv* env, jobject /* clazz */, jobject o return total_added; } -static jint getSubsystemLowPowerStats(JNIEnv* env, jobject /* clazz */, jobject outBuf) { - char *output = (char*)env->GetDirectBufferAddress(outBuf); - char *offset = output; - int remaining = (int)env->GetDirectBufferCapacity(outBuf); - int total_added = -1; - - //This is a IPower 1.1 API - sp gPowerHal_1_1 = nullptr; - - if (outBuf == NULL) { - jniThrowException(env, "java/lang/NullPointerException", "null argument"); - return -1; - } - - { - std::lock_guard lock(gPowerHalMutex); - if (!getPowerHal()) { - ALOGE("Power Hal not loaded"); - return -1; - } - - //Trying to cast to 1.1, this will succeed only for devices supporting 1.1 - gPowerHal_1_1 = android::hardware::power::V1_1::IPower::castFrom(gPowerHal); - if (gPowerHal_1_1 == nullptr) { - //This device does not support IPower@1.1, exiting gracefully - return 0; - } - - Return ret = gPowerHal_1_1->getSubsystemLowPowerStats( - [&offset, &remaining, &total_added](hidl_vec subsystems, - Status status) { - - if (status != Status::SUCCESS) - return; - - for (size_t i = 0; i < subsystems.size(); i++) { - int added; - const PowerStateSubsystem &subsystem = subsystems[i]; - - added = snprintf(offset, remaining, - "subsystem_%zu name=%s ", i + 1, subsystem.name.c_str()); - if (added < 0) { - break; - } - - if (added > remaining) { - added = remaining; - } - - offset += added; - remaining -= added; - total_added += added; - - for (size_t j = 0; j < subsystem.states.size(); j++) { - const PowerStateSubsystemSleepState& state = subsystem.states[j]; - added = snprintf(offset, remaining, - "state_%zu name=%s time=%" PRIu64 " count=%" PRIu64 " last entry TS(ms)=%" PRIu64 " ", - j + 1, state.name.c_str(), state.residencyInMsecSinceBoot, - state.totalTransitions, state.lastEntryTimestampMs); - if (added < 0) { - break; - } - - if (added > remaining) { - added = remaining; - } - - offset += added; - remaining -= added; - total_added += added; - } - - if (remaining <= 0) { - /* rewrite NULL character*/ - offset--; - total_added--; - ALOGE("PowerHal: buffer not enough"); - break; - } - } - } - ); - - if (!ret.isOk()) { - ALOGE("getSubsystemLowPowerStats() failed: power HAL service not available"); - gPowerHal = nullptr; - return -1; - } - } - - *offset = 0; - total_added += 1; - return total_added; -} - static const JNINativeMethod method_table[] = { { "nativeWaitWakeup", "(Ljava/nio/ByteBuffer;)I", (void*)nativeWaitWakeup }, { "getPlatformLowPowerStats", "(Ljava/nio/ByteBuffer;)I", (void*)getPlatformLowPowerStats }, - { "getSubsystemLowPowerStats", "(Ljava/nio/ByteBuffer;)I", (void*)getSubsystemLowPowerStats }, }; int register_android_server_BatteryStatsService(JNIEnv *env)