From ec1e90a786d092359bc6db78f36d8587086e24f2 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: 121448199 Test: Verified that gadget reset does not happen Change-Id: Id8b58d9ccd3f62c976d1292575a06554bef622a4 Merged-In: Id8b58d9ccd3f62c976d1292575a06554bef622a4 Signed-off-by: Howard Yen (cherry picked from commit 3b747d3138e32903d75b33150c90858ee463d521) --- 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 0fb047c86c1db..d9710d9794c80 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -1764,8 +1764,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);