diff options
author | Jing-yan, Jang <josephjang@google.com> | 2020-11-03 07:06:19 +0000 |
---|---|---|
committer | Jing-yan, Jang <josephjang@google.com> | 2020-11-03 07:06:19 +0000 |
commit | fa39fec4b5de51d7b25dddbf68d3efe7eff34448 (patch) | |
tree | 1a75e6bb0e94ef9fa5031e7a7efe87b5a4095208 /fastboot/Fastboot.cpp | |
parent | 99132266897cedd6b098af5a08584285a8e02627 (diff) |
Revert "Revert "fastboot: Use doOemSpecificErase() to erase Tita..."
Revert^2 "Organize citadel's setting"
0ed91028402fc1e0bdc179cbd01f2745cc92fa7c
Change-Id: I2a81135b84be24133b7947d68ccdfa5bc2db16f8
Diffstat (limited to 'fastboot/Fastboot.cpp')
-rw-r--r-- | fastboot/Fastboot.cpp | 60 |
1 files changed, 27 insertions, 33 deletions
diff --git a/fastboot/Fastboot.cpp b/fastboot/Fastboot.cpp index a29148d..93435d6 100644 --- a/fastboot/Fastboot.cpp +++ b/fastboot/Fastboot.cpp @@ -31,7 +31,7 @@ namespace android { namespace hardware { namespace fastboot { -namespace V1_0 { +namespace V1_1 { namespace implementation { constexpr const char* BRIGHTNESS_FILE = "/sys/class/backlight/panel0-backlight/brightness"; @@ -99,20 +99,36 @@ Result SetBrightnessLevel(const std::vector<std::string>& args) { return { Status::FAILURE_UNKNOWN, "Unable to set display brightness" }; } -Result PostWipeData(const std::vector<std::string>& args) { - if (!args.size()||((args[0] != "userdata")&&(args[0] != "support"))) { - return { Status::INVALID_ARGUMENT, "Invalid oem command" }; +Return<void> Fastboot::doOemCommand(const ::android::hardware::hidl_string& oemCmdArgs, + doOemCommand_cb _hidl_cb) { + const std::unordered_map<std::string, OEMCommandHandler> kOEMCmdMap = { + {FB_OEM_SET_BRIGHTNESS, SetBrightnessLevel}, + }; + + auto args = android::base::Split(oemCmdArgs, " "); + if (args.size() < 2) { + _hidl_cb({ Status::INVALID_ARGUMENT, "Invalid OEM command" }); + return Void(); } - if (args[0] == "support") { - return { Status::SUCCESS, "" }; + // args[0] will be "oem", args[1] will be the command name + auto cmd_handler = kOEMCmdMap.find(args[1]); + if (cmd_handler != kOEMCmdMap.end()) { + _hidl_cb(cmd_handler->second(std::vector<std::string>(args.begin() + 2, args.end()))); + } else { + _hidl_cb({ Status::FAILURE_UNKNOWN, "Unknown OEM command" }); } + return Void(); +} + +Return<void> Fastboot::doOemSpecificErase(V1_1::IFastboot::doOemSpecificErase_cb _hidl_cb) { // Connect to Titan M ::nos::NuggetClient client; client.Open(); if (!client.IsOpen()) { - return { Status::FAILURE_UNKNOWN, "open Titan M fail" }; + _hidl_cb({ Status::FAILURE_UNKNOWN, "open Titan M fail" }); + return Void(); } // Tell Titan M to wipe user data @@ -124,34 +140,12 @@ Result PostWipeData(const std::vector<std::string>& args) { const uint32_t status = client.CallApp(APP_ID_NUGGET, NUGGET_PARAM_NUKE_FROM_ORBIT, magic, nullptr); if (status == APP_SUCCESS) { - return { Status::SUCCESS, "" }; + _hidl_cb({ Status::SUCCESS, "" }); + return Void(); } } - return { Status::FAILURE_UNKNOWN, "Titan M user data wipe failed" }; -} - -Return<void> Fastboot::doOemCommand(const ::android::hardware::hidl_string& oemCmdArgs, - doOemCommand_cb _hidl_cb) { - const std::unordered_map<std::string, OEMCommandHandler> kOEMCmdMap = { - {FB_OEM_SET_BRIGHTNESS, SetBrightnessLevel}, - {FB_OEM_POST_WIPEDATA, PostWipeData}, - }; - - auto args = android::base::Split(oemCmdArgs, " "); - if (args.size() < 2) { - _hidl_cb({ Status::INVALID_ARGUMENT, "Invalid OEM command" }); - return Void(); - } - - // args[0] will be "oem", args[1] will be the command name - auto cmd_handler = kOEMCmdMap.find(args[1]); - if (cmd_handler != kOEMCmdMap.end()) { - _hidl_cb(cmd_handler->second(std::vector<std::string>(args.begin() + 2, args.end()))); - } else { - _hidl_cb({ Status::FAILURE_UNKNOWN, "Unknown OEM command" }); - } - + _hidl_cb({ Status::FAILURE_UNKNOWN, "Titan M user data wipe failed" }); return Void(); } @@ -164,7 +158,7 @@ extern "C" IFastboot* HIDL_FETCH_IFastboot(const char* /* name */) { } } // namespace implementation -} // namespace V1_0 +} // namespace V1_1 } // namespace fastboot } // namespace hardware } // namespace android |