From 40f8f4411bea202bc13ab2eb95c2b642362bacff Mon Sep 17 00:00:00 2001 From: Tim Peng Date: Tue, 19 May 2020 10:22:36 +0800 Subject: [PATCH] Add return value connect() -Return true if call API successfully Bug: 156336275 Test: make -j42 RunSettingsLibRoboTests Change-Id: Icbdb2a124e7a390c2e30baf8e95fa72529a6dac2 --- .../android/settingslib/media/LocalMediaManager.java | 10 ++++++---- .../settingslib/media/LocalMediaManagerTest.java | 8 ++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java index 9e8c70fcc000d..197e34df22a83 100644 --- a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java +++ b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java @@ -145,15 +145,16 @@ public class LocalMediaManager implements BluetoothCallback { /** * Connect the MediaDevice to transfer media * @param connectDevice the MediaDevice + * @return {@code true} if successfully call, otherwise return {@code false} */ - public void connectDevice(MediaDevice connectDevice) { + public boolean connectDevice(MediaDevice connectDevice) { MediaDevice device = null; synchronized (mMediaDevicesLock) { device = getMediaDeviceById(mMediaDevices, connectDevice.getId()); } if (device == null) { Log.w(TAG, "connectDevice() connectDevice not in the list!"); - return; + return false; } if (device instanceof BluetoothMediaDevice) { final CachedBluetoothDevice cachedDevice = @@ -162,13 +163,13 @@ public class LocalMediaManager implements BluetoothCallback { mOnTransferBluetoothDevice = connectDevice; device.setState(MediaDeviceState.STATE_CONNECTING); cachedDevice.connect(); - return; + return true; } } if (device == mCurrentConnectedDevice) { Log.d(TAG, "connectDevice() this device all ready connected! : " + device.getName()); - return; + return false; } if (mCurrentConnectedDevice != null) { @@ -181,6 +182,7 @@ public class LocalMediaManager implements BluetoothCallback { } else { device.connect(); } + return true; } void dispatchSelectedDeviceStateChanged(MediaDevice device, @MediaDeviceState int state) { diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java index 365a16c50b991..517071b5511f9 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java @@ -141,7 +141,7 @@ public class LocalMediaManagerTest { when(currentDevice.getId()).thenReturn(TEST_CURRENT_DEVICE_ID); mLocalMediaManager.registerCallback(mCallback); - mLocalMediaManager.connectDevice(device); + assertThat(mLocalMediaManager.connectDevice(device)).isTrue(); verify(currentDevice).disconnect(); verify(device).connect(); @@ -154,7 +154,7 @@ public class LocalMediaManagerTest { mLocalMediaManager.mCurrentConnectedDevice = mInfoMediaDevice1; mLocalMediaManager.registerCallback(mCallback); - mLocalMediaManager.connectDevice(mInfoMediaDevice2); + assertThat(mLocalMediaManager.connectDevice(mInfoMediaDevice2)).isTrue(); assertThat(mInfoMediaDevice2.getState()).isEqualTo(LocalMediaManager.MediaDeviceState .STATE_CONNECTING); @@ -167,7 +167,7 @@ public class LocalMediaManagerTest { mLocalMediaManager.mCurrentConnectedDevice = mInfoMediaDevice1; mLocalMediaManager.registerCallback(mCallback); - mLocalMediaManager.connectDevice(mInfoMediaDevice1); + assertThat(mLocalMediaManager.connectDevice(mInfoMediaDevice1)).isFalse(); assertThat(mInfoMediaDevice1.getState()).isNotEqualTo(LocalMediaManager.MediaDeviceState .STATE_CONNECTING); @@ -185,7 +185,7 @@ public class LocalMediaManagerTest { when(cachedDevice.isBusy()).thenReturn(false); mLocalMediaManager.registerCallback(mCallback); - mLocalMediaManager.connectDevice(device); + assertThat(mLocalMediaManager.connectDevice(device)).isTrue(); verify(cachedDevice).connect(); }