OSDN Git Service

Move the setActiveDevice logic from Settings to SettingsLib (2/2)
authorHansong Zhang <hsz@google.com>
Tue, 20 Mar 2018 01:21:40 +0000 (18:21 -0700)
committerHansong Zhang <hsz@google.com>
Tue, 20 Mar 2018 17:43:15 +0000 (10:43 -0700)
Currently the Settings app handles the logic of setting active device;
however, this should be handled by SettingsLib so the logic can be shared.

Bug: 75984255
Test: robolectric test

Change-Id: I5742de1463d156ff29708ea2aecfc3fd00795e9e

src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java

index 6376347..993ff47 100644 (file)
@@ -88,29 +88,8 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback {
         public boolean onPreferenceClick(Preference preference) {
             final CachedBluetoothDevice device =
                 ((BluetoothDevicePreference) preference).getBluetoothDevice();
-            if (device == null) {
-                return false;
-            }
-
-            // Set the device as active per profile only if the device supports that profile
-            // TODO: The active device selector location might change in the future
             Log.i(TAG, "OnPreferenceClickListener: device=" + device);
-            boolean result = false;
-            A2dpProfile a2dpProfile = mLocalManager.getProfileManager().getA2dpProfile();
-            if ((a2dpProfile != null) && device.isConnectedProfile(a2dpProfile)) {
-                if (a2dpProfile.setActiveDevice(device.getDevice())) {
-                    Log.i(TAG, "OnPreferenceClickListener: A2DP active device=" + device);
-                    result = true;
-                }
-            }
-            HeadsetProfile headsetProfile = mLocalManager.getProfileManager().getHeadsetProfile();
-            if ((headsetProfile != null) && device.isConnectedProfile(headsetProfile)) {
-                if (headsetProfile.setActiveDevice(device.getDevice())) {
-                    Log.i(TAG, "OnPreferenceClickListener: Headset active device=" + device);
-                    result = true;
-                }
-            }
-            return result;
+            return device.setActive();
         }
     }