diff options
| author | 2022-01-18 22:49:36 +0000 | |
|---|---|---|
| committer | 2022-01-20 16:35:18 +0000 | |
| commit | 56234479f9a16a982d4e15810c0a1e2bdd0f8520 (patch) | |
| tree | e244deb912c1c070e8543763c44c6892c063a1ff | |
| parent | 34f56bf78adbd20dbe779e6804af1ad5fd821c70 (diff) | |
Add get command.
Add a get command to get the various properties of the battery state.
Also fix help output:
1. The command to disable charging is "suspend_input" not "disable_charge".
2. Also, add the `counter` key for the set command.
Bug: 167636754
Bug: 214599394
Test: adb shell cmd battery
Test: Test: atest --rerun-until-failure 25 CtsJobSchedulerTestCases:android.jobscheduler.cts.JobThrottlingTest#testJobsInRestrictedBucket_DeferredUntilFreeResources
Change-Id: Iac1351441679516693f3b676fa079be71de46a7c
| -rw-r--r-- | services/core/java/com/android/server/BatteryService.java | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/BatteryService.java b/services/core/java/com/android/server/BatteryService.java index 844ac86e8eb5..5d48d7821cad 100644 --- a/services/core/java/com/android/server/BatteryService.java +++ b/services/core/java/com/android/server/BatteryService.java @@ -853,7 +853,9 @@ public final class BatteryService extends SystemService { pw.println("Battery service (battery) commands:"); pw.println(" help"); pw.println(" Print this help text."); - pw.println(" set [-f] [ac|usb|wireless|status|level|temp|present|invalid] <value>"); + pw.println(" get [-f] [ac|usb|wireless|status|level|temp|present|counter|invalid]"); + pw.println( + " set [-f] [ac|usb|wireless|status|level|temp|present|counter|invalid] <value>"); pw.println(" Force a battery property value, freezing battery state."); pw.println(" -f: force a battery change broadcast be sent, prints new sequence."); pw.println(" unplug [-f]"); @@ -863,7 +865,7 @@ public final class BatteryService extends SystemService { pw.println(" Unfreeze battery state, returning to current hardware values."); pw.println(" -f: force a battery change broadcast be sent, prints new sequence."); if (Build.IS_DEBUGGABLE) { - pw.println(" disable_charge"); + pw.println(" suspend_input"); pw.println(" Suspend charging even if plugged in. "); } } @@ -893,6 +895,46 @@ public final class BatteryService extends SystemService { android.Manifest.permission.DEVICE_POWER, null); unplugBattery(/* forceUpdate= */ (opts & OPTION_FORCE_UPDATE) != 0, pw); } break; + case "get": { + final String key = shell.getNextArg(); + if (key == null) { + pw.println("No property specified"); + return -1; + + } + switch (key) { + case "present": + pw.println(mHealthInfo.batteryPresent); + break; + case "ac": + pw.println(mHealthInfo.chargerAcOnline); + break; + case "usb": + pw.println(mHealthInfo.chargerUsbOnline); + break; + case "wireless": + pw.println(mHealthInfo.chargerWirelessOnline); + break; + case "status": + pw.println(mHealthInfo.batteryStatus); + break; + case "level": + pw.println(mHealthInfo.batteryLevel); + break; + case "counter": + pw.println(mHealthInfo.batteryChargeCounterUah); + break; + case "temp": + pw.println(mHealthInfo.batteryTemperatureTenthsCelsius); + break; + case "invalid": + pw.println(mInvalidCharger); + break; + default: + pw.println("Unknown get option: " + key); + break; + } + } break; case "set": { int opts = parseOptions(shell); getContext().enforceCallingOrSelfPermission( |