diff options
-rw-r--r-- | usb/gadget/UsbGadget.cpp | 9 | ||||
-rw-r--r-- | usb/gadget/UsbGadget.h | 3 |
2 files changed, 10 insertions, 2 deletions
diff --git a/usb/gadget/UsbGadget.cpp b/usb/gadget/UsbGadget.cpp index 040e453..5da4dd9 100644 --- a/usb/gadget/UsbGadget.cpp +++ b/usb/gadget/UsbGadget.cpp @@ -336,11 +336,14 @@ static Status validateAndSetVidPid(uint64_t functions) { return ret; } -ScopedAStatus UsbGadget::reset() { +ScopedAStatus UsbGadget::reset(const shared_ptr<IUsbGadgetCallback> &callback, + int64_t in_transactionId) { ALOGI("USB Gadget reset"); if (!WriteStringToFile("none", PULLUP_PATH)) { ALOGI("Gadget cannot be pulled down"); + if (callback) + callback->resetCb(Status::ERROR, in_transactionId); return ScopedAStatus::fromServiceSpecificErrorWithMessage( -1, "Gadget cannot be pulled down"); } @@ -349,9 +352,13 @@ ScopedAStatus UsbGadget::reset() { if (!WriteStringToFile(kGadgetName, PULLUP_PATH)) { ALOGI("Gadget cannot be pulled up"); + if (callback) + callback->resetCb(Status::ERROR, in_transactionId); return ScopedAStatus::fromServiceSpecificErrorWithMessage( -1, "Gadget cannot be pulled up"); } + if (callback) + callback->resetCb(Status::SUCCESS, in_transactionId); return ScopedAStatus::ok(); } diff --git a/usb/gadget/UsbGadget.h b/usb/gadget/UsbGadget.h index 1254c8f..403f2cc 100644 --- a/usb/gadget/UsbGadget.h +++ b/usb/gadget/UsbGadget.h @@ -107,7 +107,8 @@ struct UsbGadget : public BnUsbGadget { ScopedAStatus getCurrentUsbFunctions(const shared_ptr<IUsbGadgetCallback> &callback, int64_t in_transactionId) override; - ScopedAStatus reset() override; + ScopedAStatus reset(const shared_ptr<IUsbGadgetCallback> &callback, + int64_t in_transactionId) override; ScopedAStatus getUsbSpeed(const shared_ptr<IUsbGadgetCallback> &callback, int64_t in_transactionId) override; |