diff options
author | Nick Kralevich <nnk@google.com> | 2015-06-03 16:59:40 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-06-03 16:59:49 +0000 |
commit | 2d63f0a14a450fb23304bfaa639e90fa9fb09e18 (patch) | |
tree | 376c7306347d542dfec33ee8d3682951ca7757ed /services/usb/java/com/android | |
parent | 8085da8d4cd96931649e9e5376bed2bfc41dac36 (diff) | |
parent | 2f7fa3ed77373fd49117b53fff402de0fe535385 (diff) | |
download | frameworks_base-2d63f0a14a450fb23304bfaa639e90fa9fb09e18.zip frameworks_base-2d63f0a14a450fb23304bfaa639e90fa9fb09e18.tar.gz frameworks_base-2d63f0a14a450fb23304bfaa639e90fa9fb09e18.tar.bz2 |
Merge "UsbDeviceManager: Don't unnecessarily touch properties" into mnc-dev
Diffstat (limited to 'services/usb/java/com/android')
-rw-r--r-- | services/usb/java/com/android/server/usb/UsbDeviceManager.java | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java index cb8f938..d6a7dd1 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -411,6 +411,16 @@ public class UsbDeviceManager { sendMessageDelayed(msg, (connected == 0) ? UPDATE_DELAY : 0); } + private void updatePersistentProperty() { + String newValue = mAdbEnabled ? "adb" : "none"; + String value = SystemProperties.get(UsbManager.ADB_PERSISTENT_PROPERTY); + if (DEBUG) { Slog.d(TAG, "updatePersistentProperty newValue=" + newValue + " value=" + value); } + if (!newValue.equals(value)) { + SystemProperties.set(UsbManager.ADB_PERSISTENT_PROPERTY, mAdbEnabled ? "adb" : "none"); + } + waitForState(newValue); + } + private boolean waitForState(String state) { // wait for the transition to complete. // give up after 1 second. @@ -426,7 +436,10 @@ public class UsbDeviceManager { private boolean setUsbConfig(String config) { if (DEBUG) Slog.d(TAG, "setUsbConfig(" + config + ")"); // set the new configuration - SystemProperties.set(UsbManager.USB_SETTINGS_PROPERTY, config); + String oldConfig = SystemProperties.get(UsbManager.USB_SETTINGS_PROPERTY); + if (!config.equals(oldConfig)) { + SystemProperties.set(UsbManager.USB_SETTINGS_PROPERTY, config); + } return waitForState(config); } @@ -436,7 +449,7 @@ public class UsbDeviceManager { mAdbEnabled = enable; // Due to the persist.sys.usb.config property trigger, changing adb state requires // persisting default function - SystemProperties.set(UsbManager.ADB_PERSISTENT_PROPERTY, mAdbEnabled ? "adb" : "none"); + updatePersistentProperty(); // After persisting them use the lock-down aware function set setEnabledFunctions(getDefaultFunctions()); updateAdbNotification(); @@ -610,7 +623,7 @@ public class UsbDeviceManager { break; case MSG_SYSTEM_READY: setUsbConfig(mCurrentFunctions); - SystemProperties.set(UsbManager.ADB_PERSISTENT_PROPERTY, mAdbEnabled ? "adb" : "none"); + updatePersistentProperty(); updateUsbNotification(); updateAdbNotification(); updateUsbState(); |