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

Commit 4b2a053b authored by Lei Yu's avatar Lei Yu Committed by Android (Google) Code Review
Browse files

Merge changes I44039704,Iee0de8a2

* changes:
  Use isConnected in CachedBluetoothDevice
  Update "Previous connected device" preference
parents 031de928 8800b9e1
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -414,6 +414,9 @@
    <!-- Toast text for hint user bluetooth is turned on [CHAR LIMIT=none]-->
    <string name="connected_device_bluetooth_turned_on_toast">Bluetooth turned on</string>
    <!-- Title to see all the previous connected devices [CHAR LIMIT=50] -->
    <string name="previous_connected_see_all">See all</string>
    <!-- Date & time settings screen title -->
    <string name="date_and_time">Date &amp; time</string>
    <!-- The title of the activity to pick a time zone. -->
+11 −5
Original line number Diff line number Diff line
@@ -41,18 +41,24 @@
        settings:useAdminDisabledSummary="true"
        settings:controller="com.android.settings.connecteddevice.AddDevicePreferenceController"/>

    <Preference
    <PreferenceCategory
        android:key="previously_connected_devices"
        android:title="@string/connected_device_previously_connected_title"
        android:icon="@drawable/ic_devices_other_black"
        android:fragment="com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment"
        settings:allowDividerAbove="true"
        settings:controller="com.android.settings.connecteddevice.PreviouslyConnectedDevicePreferenceController"/>
        settings:controller="com.android.settings.connecteddevice.PreviouslyConnectedDevicePreferenceController">

        <Preference
            android:key="previously_connected_devices_see_all"
            android:title="@string/previous_connected_see_all"
            android:icon="@drawable/ic_chevron_right_24dp"
            android:order="10"
            android:fragment="com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment"/>
    </PreferenceCategory>

    <Preference
        android:key="connection_preferences"
        android:title="@string/connected_device_connections_title"
        android:fragment="com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment"
        settings:allowDividerAbove="true"
        settings:controller="com.android.settings.connecteddevice.AdvancedConnectedDeviceController"/>

</PreferenceScreen>
+3 −2
Original line number Diff line number Diff line
@@ -269,8 +269,9 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback,
        final BluetoothDevice device = cachedDevice.getDevice();
        if (DBG) {
            Log.d(TAG, "isDeviceConnected() device name : " + cachedDevice.getName() +
                    ", is connected : " + device.isConnected());
                    ", is connected : " + device.isConnected() + " , is profile connected : "
                    + cachedDevice.isConnected());
        }
        return device.getBondState() == BluetoothDevice.BOND_BONDED && device.isConnected();
        return device.getBondState() == BluetoothDevice.BOND_BONDED && cachedDevice.isConnected();
    }
}
+3 −2
Original line number Diff line number Diff line
@@ -43,9 +43,10 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater
        final BluetoothDevice device = cachedDevice.getDevice();
        if (DBG) {
            Log.d(TAG, "isFilterMatched() device name : " + cachedDevice.getName() +
                    ", is connected : " + device.isConnected());
                    ", is connected : " + device.isConnected() + ", is profile connected : "
                    + cachedDevice.isConnected());
        }
        return device.getBondState() == BluetoothDevice.BOND_BONDED && !device.isConnected();
        return device.getBondState() == BluetoothDevice.BOND_BONDED && !cachedDevice.isConnected();
    }

    @Override
+17 −15
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.pm.PackageManager;

import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceGroup;
import androidx.preference.PreferenceScreen;

import com.android.settings.bluetooth.BluetoothDeviceUpdater;
@@ -35,7 +36,9 @@ import com.android.settingslib.core.lifecycle.events.OnStop;
public class PreviouslyConnectedDevicePreferenceController extends BasePreferenceController
        implements LifecycleObserver, OnStart, OnStop, DevicePreferenceCallback {

    private Preference mPreference;
    private static final int MAX_DEVICE_NUM = 3;

    private PreferenceGroup mPreferenceGroup;
    private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
    private DockUpdater mSavedDockUpdater;
    private int mPreferenceSize;
@@ -57,8 +60,10 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc
    @Override
    public void displayPreference(PreferenceScreen screen) {
        super.displayPreference(screen);
        mPreferenceGroup = (PreferenceGroup) screen.findPreference(getPreferenceKey());
        mPreferenceGroup.setVisible(false);

        if (isAvailable()) {
            mPreference = screen.findPreference(getPreferenceKey());
            final Context context = screen.getContext();
            mBluetoothDeviceUpdater.setPrefContext(context);
            mSavedDockUpdater.setPreferenceContext(context);
@@ -69,7 +74,6 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc
    public void onStart() {
        mBluetoothDeviceUpdater.registerCallback();
        mSavedDockUpdater.registerCallback();
        updatePreferenceOnSizeChanged();
    }

    @Override
@@ -86,13 +90,17 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc
    @Override
    public void onDeviceAdded(Preference preference) {
        mPreferenceSize++;
        updatePreferenceOnSizeChanged();
        if (mPreferenceSize <= MAX_DEVICE_NUM) {
            mPreferenceGroup.addPreference(preference);
        }
        updatePreferenceVisiblity();
    }

    @Override
    public void onDeviceRemoved(Preference preference) {
        mPreferenceSize--;
        updatePreferenceOnSizeChanged();
        mPreferenceGroup.removePreference(preference);
        updatePreferenceVisiblity();
    }

    @VisibleForTesting
@@ -106,18 +114,12 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc
    }

    @VisibleForTesting
    void setPreferenceSize(int size) {
        mPreferenceSize = size;
    void setPreferenceGroup(PreferenceGroup preferenceGroup) {
        mPreferenceGroup = preferenceGroup;
    }

    @VisibleForTesting
    void setPreference(Preference preference) {
        mPreference = preference;
    }

    private void updatePreferenceOnSizeChanged() {
        if (isAvailable()) {
            mPreference.setEnabled(mPreferenceSize != 0);
        }
    void updatePreferenceVisiblity() {
        mPreferenceGroup.setVisible(mPreferenceSize > 0);
    }
}
Loading