diff options
Diffstat (limited to 'cmds/idlcli/vibrator/CommandOn.cpp')
-rw-r--r-- | cmds/idlcli/vibrator/CommandOn.cpp | 42 |
1 files changed, 2 insertions, 40 deletions
diff --git a/cmds/idlcli/vibrator/CommandOn.cpp b/cmds/idlcli/vibrator/CommandOn.cpp index 8212fc14a7..4e7e493d6d 100644 --- a/cmds/idlcli/vibrator/CommandOn.cpp +++ b/cmds/idlcli/vibrator/CommandOn.cpp @@ -13,14 +13,9 @@ * limitations under the License. */ -#include <thread> - #include "utils.h" #include "vibrator.h" -using std::chrono::milliseconds; -using std::this_thread::sleep_for; - namespace android { namespace idlcli { @@ -31,28 +26,16 @@ namespace vibrator { class CommandOn : public Command { std::string getDescription() const override { return "Turn on vibrator."; } - std::string getUsageSummary() const override { return "[options] <duration>"; } + std::string getUsageSummary() const override { return "<duration>"; } UsageDetails getUsageDetails() const override { UsageDetails details{ - {"-b", {"Block for duration of vibration."}}, {"<duration>", {"In milliseconds."}}, }; return details; } Status doArgs(Args &args) override { - while (args.get<std::string>().value_or("").find("-") == 0) { - auto opt = *args.pop<std::string>(); - if (opt == "--") { - break; - } else if (opt == "-b") { - mBlocking = true; - } else { - std::cerr << "Invalid Option '" << opt << "'!" << std::endl; - return USAGE; - } - } if (auto duration = args.pop<decltype(mDuration)>()) { mDuration = *duration; } else { @@ -69,21 +52,9 @@ class CommandOn : public Command { Status doMain(Args && /*args*/) override { std::string statusStr; Status ret; - std::shared_ptr<VibratorCallback> callback; if (auto hal = getHal<aidl::IVibrator>()) { - ABinderProcess_setThreadPoolMaxThreadCount(1); - ABinderProcess_startThreadPool(); - - int32_t cap; - hal->call(&aidl::IVibrator::getCapabilities, &cap); - - if (mBlocking && (cap & aidl::IVibrator::CAP_ON_CALLBACK)) { - callback = ndk::SharedRefBase::make<VibratorCallback>(); - } - - auto status = hal->call(&aidl::IVibrator::on, mDuration, callback); - + auto status = hal->call(&aidl::IVibrator::on, mDuration, nullptr); statusStr = status.getDescription(); ret = status.isOk() ? OK : ERROR; } else if (auto hal = getHal<V1_0::IVibrator>()) { @@ -94,20 +65,11 @@ class CommandOn : public Command { return UNAVAILABLE; } - if (ret == OK && mBlocking) { - if (callback) { - callback->waitForComplete(); - } else { - sleep_for(milliseconds(mDuration)); - } - } - std::cout << "Status: " << statusStr << std::endl; return ret; } - bool mBlocking; uint32_t mDuration; }; |