Add resetCb

Add the resetCb to complete asynchronous

Bug: 267252826
Test: Boot to home and function work
Change-Id: I9d6624cbe15c86c63e28f8f176d7c560aed8446f
diff --git a/usb/gadget/UsbGadget.cpp b/usb/gadget/UsbGadget.cpp
index d0e16ee..7ee7046 100644
--- a/usb/gadget/UsbGadget.cpp
+++ b/usb/gadget/UsbGadget.cpp
@@ -336,11 +336,14 @@
     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 @@
 
     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 d7e20a6..5975930 100644
--- a/usb/gadget/UsbGadget.h
+++ b/usb/gadget/UsbGadget.h
@@ -107,7 +107,8 @@
     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;