From d215b8218dcdba814f1d19c78526177a2b74e75c Mon Sep 17 00:00:00 2001 From: Howard Yen Date: Mon, 26 Nov 2018 15:31:47 +0800 Subject: [PATCH] Make sure mCurrentUsbFunctionsRequested flag be updated currectly There is a situation that getCurrentUsbFunctions callback function will be invoked before mCurrentUsbFunctionsRequested flag updated, thus, gadget will be reset during boot completed. Make sure mCurrentUsbFunctionsRequested flag be updated before getCurrentUsbFunctions callback function invoked. Bug: 119688133 Test: Verified that gadget reset does not happen Change-Id: Id8b58d9ccd3f62c976d1292575a06554bef622a4 Merged-In: Id8b58d9ccd3f62c976d1292575a06554bef622a4 Signed-off-by: Howard Yen --- services/usb/java/com/android/server/usb/UsbDeviceManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java index aa93c6b9cb89a..7ea61e30dafe1 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -1760,8 +1760,8 @@ public class UsbDeviceManager implements ActivityManagerInternal.ScreenObserver mGadgetProxy.linkToDeath(new UsbGadgetDeathRecipient(), USB_GADGET_HAL_DEATH_COOKIE); mCurrentFunctions = UsbManager.FUNCTION_NONE; - mGadgetProxy.getCurrentUsbFunctions(new UsbGadgetCallback()); mCurrentUsbFunctionsRequested = true; + mGadgetProxy.getCurrentUsbFunctions(new UsbGadgetCallback()); } String state = FileUtils.readTextFile(new File(STATE_PATH), 0, null).trim(); updateState(state);