Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eaf49d18 authored by tim peng's avatar tim peng Committed by Android (Google) Code Review
Browse files

Merge "Show all devices, including connected ones, into "Previously connected" page"

parents dea18dff 9743fed5
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -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;
@@ -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();
    }

@@ -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
@@ -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;
    }
+9 −0
Original line number Diff line number Diff line
@@ -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<>();