diff options
author | Mike Lockwood <lockwood@android.com> | 2011-07-01 14:05:25 -0400 |
---|---|---|
committer | Mike Lockwood <lockwood@android.com> | 2011-07-01 14:55:23 -0400 |
commit | de296f64483713fdf164f3e8bf41dc12d1cff59e (patch) | |
tree | 19532eb4b1facfdcd1c24ffa4dd209a5552e7630 /services/java/com | |
parent | fdc0c2984d05e32954608f46514c4cbe3a5a9424 (diff) | |
download | frameworks_base-de296f64483713fdf164f3e8bf41dc12d1cff59e.zip frameworks_base-de296f64483713fdf164f3e8bf41dc12d1cff59e.tar.gz frameworks_base-de296f64483713fdf164f3e8bf41dc12d1cff59e.tar.bz2 |
UsbDeviceManager: Reset sys.usb.config if it is "none" at boot
This will allow us to recover if we crash while changing USB configurations
Change-Id: I22ba9a1ff0a8bcbfd4a0f18af0c95a3b66b99060
Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'services/java/com')
-rw-r--r-- | services/java/com/android/server/usb/UsbDeviceManager.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/services/java/com/android/server/usb/UsbDeviceManager.java b/services/java/com/android/server/usb/UsbDeviceManager.java index 6cd20f1..13a76b3 100644 --- a/services/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/java/com/android/server/usb/UsbDeviceManager.java @@ -224,14 +224,22 @@ public class UsbDeviceManager { private static final int NOTIFICATION_ADB = 4; public UsbHandler() { - // Read initial USB state try { + // sanity check the sys.usb.config system property + // this may be necessary if we crashed while switching USB configurations + String config = SystemProperties.get("sys.usb.config", "none"); + if (config.equals("none")) { + String persistConfig = SystemProperties.get("persist.sys.usb.config", "none"); + Slog.w(TAG, "resetting config to persistent property: " + persistConfig); + SystemProperties.set("sys.usb.config", persistConfig); + } + + // Read initial USB state mCurrentFunctions = FileUtils.readTextFile( new File(FUNCTIONS_PATH), 0, null).trim(); mDefaultFunctions = mCurrentFunctions; String state = FileUtils.readTextFile(new File(STATE_PATH), 0, null).trim(); updateState(state); - mAdbEnabled = containsFunction(mCurrentFunctions, UsbManager.USB_FUNCTION_ADB); // Upgrade step for previous versions that used persist.service.adb.enable @@ -341,6 +349,7 @@ public class UsbDeviceManager { } private void setAdbEnabled(boolean enable) { + if (DEBUG) Slog.d(TAG, "setAdbEnabled: " + enable); if (enable != mAdbEnabled) { mAdbEnabled = enable; String functions; |