Loading src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java +9 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import com.android.settings.connecteddevice.DevicePreferenceCallback; import com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment; import com.android.settings.dashboard.DashboardFragment; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager; Loading @@ -42,13 +43,15 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater private static final String PREF_KEY = "saved_bt"; private final boolean mDisplayConnected; @VisibleForTesting BluetoothAdapter mBluetoothAdapter; public SavedBluetoothDeviceUpdater(Context context, DashboardFragment fragment, DevicePreferenceCallback devicePreferenceCallback) { super(context, fragment, devicePreferenceCallback); mDisplayConnected = (fragment instanceof PreviouslyConnectedDeviceDashboardFragment); mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); } Loading Loading @@ -101,7 +104,8 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater ", is connected : " + device.isConnected() + ", is profile connected : " + cachedDevice.isConnected()); } return device.getBondState() == BluetoothDevice.BOND_BONDED && !device.isConnected(); return device.getBondState() == BluetoothDevice.BOND_BONDED && (mDisplayConnected || !device.isConnected()); } @Override Loading @@ -109,6 +113,9 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater mMetricsFeatureProvider.logClickedPreference(preference, mFragment.getMetricsCategory()); final CachedBluetoothDevice device = ((BluetoothDevicePreference) preference) .getBluetoothDevice(); if (device.isConnected()) { return device.setActive(); } device.connect(); return true; } Loading tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java +9 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,15 @@ public class SavedBluetoothDeviceUpdaterTest { verify(mCachedBluetoothDevice).connect(); } @Test public void onClick_Preference_connected_setActive() { when(mCachedBluetoothDevice.isConnected()).thenReturn(true); mBluetoothDeviceUpdater.onPreferenceClick(mPreference); verify(mCachedBluetoothDevice).setActive(); } @Test public void forceUpdate_findCachedBluetoothDeviceIsMatched_addPreference() { final List<BluetoothDevice> bluetoothDevices = new ArrayList<>(); Loading Loading
src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java +9 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import com.android.settings.connecteddevice.DevicePreferenceCallback; import com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment; import com.android.settings.dashboard.DashboardFragment; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager; Loading @@ -42,13 +43,15 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater private static final String PREF_KEY = "saved_bt"; private final boolean mDisplayConnected; @VisibleForTesting BluetoothAdapter mBluetoothAdapter; public SavedBluetoothDeviceUpdater(Context context, DashboardFragment fragment, DevicePreferenceCallback devicePreferenceCallback) { super(context, fragment, devicePreferenceCallback); mDisplayConnected = (fragment instanceof PreviouslyConnectedDeviceDashboardFragment); mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); } Loading Loading @@ -101,7 +104,8 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater ", is connected : " + device.isConnected() + ", is profile connected : " + cachedDevice.isConnected()); } return device.getBondState() == BluetoothDevice.BOND_BONDED && !device.isConnected(); return device.getBondState() == BluetoothDevice.BOND_BONDED && (mDisplayConnected || !device.isConnected()); } @Override Loading @@ -109,6 +113,9 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater mMetricsFeatureProvider.logClickedPreference(preference, mFragment.getMetricsCategory()); final CachedBluetoothDevice device = ((BluetoothDevicePreference) preference) .getBluetoothDevice(); if (device.isConnected()) { return device.setActive(); } device.connect(); return true; } Loading
tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java +9 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,15 @@ public class SavedBluetoothDeviceUpdaterTest { verify(mCachedBluetoothDevice).connect(); } @Test public void onClick_Preference_connected_setActive() { when(mCachedBluetoothDevice.isConnected()).thenReturn(true); mBluetoothDeviceUpdater.onPreferenceClick(mPreference); verify(mCachedBluetoothDevice).setActive(); } @Test public void forceUpdate_findCachedBluetoothDeviceIsMatched_addPreference() { final List<BluetoothDevice> bluetoothDevices = new ArrayList<>(); Loading