Loading packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java +10 −0 Original line number Diff line number Diff line Loading @@ -146,6 +146,7 @@ public class LocalMediaManager implements BluetoothCallback { ((BluetoothMediaDevice) device).getCachedDevice(); if (!cachedDevice.isConnected() && !cachedDevice.isBusy()) { mOnTransferBluetoothDevice = connectDevice; device.setState(MediaDeviceState.STATE_CONNECTING); cachedDevice.connect(); return; } Loading Loading @@ -394,6 +395,7 @@ public class LocalMediaManager implements BluetoothCallback { dispatchDeviceListUpdate(); if (mOnTransferBluetoothDevice != null && mOnTransferBluetoothDevice.isConnected()) { connectDevice(mOnTransferBluetoothDevice); mOnTransferBluetoothDevice.setState(MediaDeviceState.STATE_CONNECTED); mOnTransferBluetoothDevice = null; } } Loading Loading @@ -539,6 +541,14 @@ public class LocalMediaManager implements BluetoothCallback { @Override public void onDeviceAttributesChanged() { if (mOnTransferBluetoothDevice != null && !((BluetoothMediaDevice) mOnTransferBluetoothDevice).getCachedDevice() .isBusy() && !mOnTransferBluetoothDevice.isConnected()) { // Failed to connect mOnTransferBluetoothDevice.setState(MediaDeviceState.STATE_DISCONNECTED); mOnTransferBluetoothDevice = null; } dispatchDeviceAttributesChanged(); } } Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java +20 −0 Original line number Diff line number Diff line Loading @@ -483,6 +483,26 @@ public class LocalMediaManagerTest { verify(mCallback).onDeviceAttributesChanged(); } @Test public void onDeviceAttributesChanged_failingTransferring_shouldResetState() { final MediaDevice currentDevice = mock(MediaDevice.class); final MediaDevice device = mock(BluetoothMediaDevice.class); final CachedBluetoothDevice cachedDevice = mock(CachedBluetoothDevice.class); mLocalMediaManager.mMediaDevices.add(device); mLocalMediaManager.mMediaDevices.add(currentDevice); when(device.getId()).thenReturn(TEST_DEVICE_ID_1); when(currentDevice.getId()).thenReturn(TEST_CURRENT_DEVICE_ID); when(((BluetoothMediaDevice) device).getCachedDevice()).thenReturn(cachedDevice); when(cachedDevice.isConnected()).thenReturn(false); when(cachedDevice.isBusy()).thenReturn(false); mLocalMediaManager.registerCallback(mCallback); mLocalMediaManager.connectDevice(device); mLocalMediaManager.mDeviceAttributeChangeCallback.onDeviceAttributesChanged(); verify(device).setState(LocalMediaManager.MediaDeviceState.STATE_DISCONNECTED); } @Test public void onRequestFailed_checkDevicesState() { mLocalMediaManager.mMediaDevices.add(mInfoMediaDevice1); Loading Loading
packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java +10 −0 Original line number Diff line number Diff line Loading @@ -146,6 +146,7 @@ public class LocalMediaManager implements BluetoothCallback { ((BluetoothMediaDevice) device).getCachedDevice(); if (!cachedDevice.isConnected() && !cachedDevice.isBusy()) { mOnTransferBluetoothDevice = connectDevice; device.setState(MediaDeviceState.STATE_CONNECTING); cachedDevice.connect(); return; } Loading Loading @@ -394,6 +395,7 @@ public class LocalMediaManager implements BluetoothCallback { dispatchDeviceListUpdate(); if (mOnTransferBluetoothDevice != null && mOnTransferBluetoothDevice.isConnected()) { connectDevice(mOnTransferBluetoothDevice); mOnTransferBluetoothDevice.setState(MediaDeviceState.STATE_CONNECTED); mOnTransferBluetoothDevice = null; } } Loading Loading @@ -539,6 +541,14 @@ public class LocalMediaManager implements BluetoothCallback { @Override public void onDeviceAttributesChanged() { if (mOnTransferBluetoothDevice != null && !((BluetoothMediaDevice) mOnTransferBluetoothDevice).getCachedDevice() .isBusy() && !mOnTransferBluetoothDevice.isConnected()) { // Failed to connect mOnTransferBluetoothDevice.setState(MediaDeviceState.STATE_DISCONNECTED); mOnTransferBluetoothDevice = null; } dispatchDeviceAttributesChanged(); } } Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java +20 −0 Original line number Diff line number Diff line Loading @@ -483,6 +483,26 @@ public class LocalMediaManagerTest { verify(mCallback).onDeviceAttributesChanged(); } @Test public void onDeviceAttributesChanged_failingTransferring_shouldResetState() { final MediaDevice currentDevice = mock(MediaDevice.class); final MediaDevice device = mock(BluetoothMediaDevice.class); final CachedBluetoothDevice cachedDevice = mock(CachedBluetoothDevice.class); mLocalMediaManager.mMediaDevices.add(device); mLocalMediaManager.mMediaDevices.add(currentDevice); when(device.getId()).thenReturn(TEST_DEVICE_ID_1); when(currentDevice.getId()).thenReturn(TEST_CURRENT_DEVICE_ID); when(((BluetoothMediaDevice) device).getCachedDevice()).thenReturn(cachedDevice); when(cachedDevice.isConnected()).thenReturn(false); when(cachedDevice.isBusy()).thenReturn(false); mLocalMediaManager.registerCallback(mCallback); mLocalMediaManager.connectDevice(device); mLocalMediaManager.mDeviceAttributeChangeCallback.onDeviceAttributesChanged(); verify(device).setState(LocalMediaManager.MediaDeviceState.STATE_DISCONNECTED); } @Test public void onRequestFailed_checkDevicesState() { mLocalMediaManager.mMediaDevices.add(mInfoMediaDevice1); Loading