Loading services/core/java/com/android/server/MountService.java +14 −7 Original line number Diff line number Diff line Loading @@ -672,8 +672,14 @@ class MountService extends IMountService.Stub private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String usbMode = new UsbManager(null, null).getDefaultFunction(); final boolean isUmsMode = UsbManager.USB_FUNCTION_MASS_STORAGE.equals(usbMode); boolean available = (intent.getBooleanExtra(UsbManager.USB_CONNECTED, false) && intent.getBooleanExtra(UsbManager.USB_FUNCTION_MASS_STORAGE, false)); //only take UMS mode as available when property is true if (SystemProperties.getBoolean("persist.sys.ums", true)) { available = available && isUmsMode; } notifyShareAvailabilityChange(available); } }; Loading Loading @@ -749,7 +755,6 @@ class MountService extends IMountService.Stub MountServiceBinderListener bl = mListeners.get(i); try { bl.mListener.onStorageStateChanged(path, oldState, state); disbaleEnableUMSAfterStorageChanged(state); } catch (RemoteException rex) { Slog.e(TAG, "Listener dead"); mListeners.remove(i); Loading @@ -758,21 +763,23 @@ class MountService extends IMountService.Stub } } } disbaleEnableUMSAfterStorageChanged(state); } private void disbaleEnableUMSAfterStorageChanged(String state){ if (!SystemProperties.getBoolean("persist.sys.ums", true)) { //Do nothing if property is false return; } if (state.equals(Environment.MEDIA_SHARED)) { if (!mUmsAvailable) { setUsbMassStorageEnabled(false); } } else if (state.equals(Environment.MEDIA_MOUNTED)) { String usbMode = new UsbManager(null, null).getDefaultFunction(); final boolean isUmsMode = UsbManager.USB_FUNCTION_MASS_STORAGE.equals(usbMode); if (mUmsAvailable && isUmsMode) { } else if (state.equals(Environment.MEDIA_MOUNTED) && mUmsAvailable) { setUsbMassStorageEnabled(true); } } } /** * Callback from NativeDaemonConnector Loading Loading
services/core/java/com/android/server/MountService.java +14 −7 Original line number Diff line number Diff line Loading @@ -672,8 +672,14 @@ class MountService extends IMountService.Stub private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String usbMode = new UsbManager(null, null).getDefaultFunction(); final boolean isUmsMode = UsbManager.USB_FUNCTION_MASS_STORAGE.equals(usbMode); boolean available = (intent.getBooleanExtra(UsbManager.USB_CONNECTED, false) && intent.getBooleanExtra(UsbManager.USB_FUNCTION_MASS_STORAGE, false)); //only take UMS mode as available when property is true if (SystemProperties.getBoolean("persist.sys.ums", true)) { available = available && isUmsMode; } notifyShareAvailabilityChange(available); } }; Loading Loading @@ -749,7 +755,6 @@ class MountService extends IMountService.Stub MountServiceBinderListener bl = mListeners.get(i); try { bl.mListener.onStorageStateChanged(path, oldState, state); disbaleEnableUMSAfterStorageChanged(state); } catch (RemoteException rex) { Slog.e(TAG, "Listener dead"); mListeners.remove(i); Loading @@ -758,21 +763,23 @@ class MountService extends IMountService.Stub } } } disbaleEnableUMSAfterStorageChanged(state); } private void disbaleEnableUMSAfterStorageChanged(String state){ if (!SystemProperties.getBoolean("persist.sys.ums", true)) { //Do nothing if property is false return; } if (state.equals(Environment.MEDIA_SHARED)) { if (!mUmsAvailable) { setUsbMassStorageEnabled(false); } } else if (state.equals(Environment.MEDIA_MOUNTED)) { String usbMode = new UsbManager(null, null).getDefaultFunction(); final boolean isUmsMode = UsbManager.USB_FUNCTION_MASS_STORAGE.equals(usbMode); if (mUmsAvailable && isUmsMode) { } else if (state.equals(Environment.MEDIA_MOUNTED) && mUmsAvailable) { setUsbMassStorageEnabled(true); } } } /** * Callback from NativeDaemonConnector Loading