diff options
Diffstat (limited to 'fastboot/device/variables.cpp')
-rw-r--r-- | fastboot/device/variables.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/fastboot/device/variables.cpp b/fastboot/device/variables.cpp index 77cd4bc25..bcf13a540 100644 --- a/fastboot/device/variables.cpp +++ b/fastboot/device/variables.cpp @@ -95,6 +95,28 @@ bool GetVariant(FastbootDevice* device, const std::vector<std::string>& /* args return true; } +bool GetOffModeChargeState(FastbootDevice* device, const std::vector<std::string>& /* args */, + std::string* message) { + auto fastboot_hal = device->fastboot_hal(); + if (!fastboot_hal) { + *message = "Fastboot HAL not found"; + return false; + } + + Result ret; + auto ret_val = + fastboot_hal->getOffModeChargeState([&](bool off_mode_charging_state, Result result) { + *message = off_mode_charging_state ? "1" : "0"; + ret = result; + }); + if (!ret_val.isOk() || (ret.status != Status::SUCCESS)) { + *message = "Unable to get off mode charge state"; + return false; + } + + return true; +} + bool GetCurrentSlot(FastbootDevice* device, const std::vector<std::string>& /* args */, std::string* message) { std::string suffix = device->GetCurrentSlot(); |