Merge "[ConnectedDevicePage] Clean up flag enable_saved_devices_order_by_recency" into main

This commit is contained in:
Ze Li
2024-05-14 06:59:12 +00:00
committed by Android (Google) Code Review
5 changed files with 37 additions and 110 deletions

View File

@@ -14,10 +14,3 @@ flag {
description: "Gates whether to require an auth challenge for changing USB preferences"
bug: "317367746"
}
flag {
name: "enable_saved_devices_order_by_recency"
namespace: "pixel_cross_device_control"
description: "Order the saved bluetooth devices by most recently connected."
bug: "306160434"
}

View File

@@ -37,7 +37,6 @@ import com.android.settings.bluetooth.SavedBluetoothDeviceUpdater;
import com.android.settings.connecteddevice.dock.DockUpdater;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.flags.Flags;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
@@ -86,11 +85,7 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc
mSavedDockUpdater = FeatureFactory.getFeatureFactory().getDockUpdaterFeatureProvider()
.getSavedDockUpdater(context, this);
mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
if (Flags.enableSavedDevicesOrderByRecency()) {
mBluetoothAdapter = context.getSystemService(BluetoothManager.class).getAdapter();
} else {
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
}
mBluetoothAdapter = context.getSystemService(BluetoothManager.class).getAdapter();
}
@Override
@@ -123,9 +118,7 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc
mContext.registerReceiver(mReceiver, mIntentFilter,
Context.RECEIVER_EXPORTED_UNAUDITED);
mBluetoothDeviceUpdater.refreshPreference();
if (Flags.enableSavedDevicesOrderByRecency()) {
updatePreferenceGroup();
}
updatePreferenceGroup();
}
@Override
@@ -143,37 +136,17 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc
@Override
public void onDeviceAdded(Preference preference) {
if (Flags.enableSavedDevicesOrderByRecency()) {
if (preference instanceof BluetoothDevicePreference) {
mDevicePreferenceMap.put(
((BluetoothDevicePreference) preference).getBluetoothDevice().getDevice(),
preference);
} else {
mDockDevicesList.add(preference);
}
if (DEBUG) {
Log.d(TAG, "onDeviceAdded() " + preference.getTitle());
}
updatePreferenceGroup();
if (preference instanceof BluetoothDevicePreference) {
mDevicePreferenceMap.put(
((BluetoothDevicePreference) preference).getBluetoothDevice().getDevice(),
preference);
} else {
final List<BluetoothDevice> bluetoothDevices =
mBluetoothAdapter.getMostRecentlyConnectedDevices();
final int index =
preference instanceof BluetoothDevicePreference
? bluetoothDevices.indexOf(
((BluetoothDevicePreference) preference)
.getBluetoothDevice()
.getDevice())
: DOCK_DEVICE_INDEX;
if (DEBUG) {
Log.d(TAG, "onDeviceAdded() " + preference.getTitle() + ", index of : " + index);
for (BluetoothDevice device : bluetoothDevices) {
Log.d(TAG, "onDeviceAdded() most recently device : " + device.getName());
}
}
addPreference(index, preference);
updatePreferenceVisibility();
mDockDevicesList.add(preference);
}
if (DEBUG) {
Log.d(TAG, "onDeviceAdded() " + preference.getTitle());
}
updatePreferenceGroup();
}
private void addPreference(int index, Preference preference) {
@@ -224,28 +197,17 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc
@Override
public void onDeviceRemoved(Preference preference) {
if (Flags.enableSavedDevicesOrderByRecency()) {
if (preference instanceof BluetoothDevicePreference) {
mDevicePreferenceMap.remove(
((BluetoothDevicePreference) preference).getBluetoothDevice().getDevice(),
preference);
} else {
mDockDevicesList.remove(preference);
}
if (DEBUG) {
Log.d(TAG, "onDeviceRemoved() " + preference.getTitle());
}
updatePreferenceGroup();
if (preference instanceof BluetoothDevicePreference) {
mDevicePreferenceMap.remove(
((BluetoothDevicePreference) preference).getBluetoothDevice().getDevice(),
preference);
} else {
if (preference instanceof BluetoothDevicePreference) {
mDevicesList.remove(preference);
} else {
mDockDevicesList.remove(preference);
}
addPreference();
updatePreferenceVisibility();
mDockDevicesList.remove(preference);
}
if (DEBUG) {
Log.d(TAG, "onDeviceRemoved() " + preference.getTitle());
}
updatePreferenceGroup();
}
/** Sort the preferenceGroup by most recently used. */

View File

@@ -33,7 +33,6 @@ import com.android.settings.connecteddevice.dock.DockUpdater;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.flags.Flags;
import com.android.settings.overlay.DockUpdaterFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -79,9 +78,7 @@ public class SavedDeviceGroupController extends BasePreferenceController
mBluetoothDeviceUpdater.registerCallback();
mSavedDockUpdater.registerCallback();
mBluetoothDeviceUpdater.refreshPreference();
if (Flags.enableSavedDevicesOrderByRecency()) {
updatePreferenceGroup();
}
updatePreferenceGroup();
}
@Override
@@ -119,42 +116,28 @@ public class SavedDeviceGroupController extends BasePreferenceController
@Override
public void onDeviceAdded(Preference preference) {
if (Flags.enableSavedDevicesOrderByRecency()) {
mPreferenceGroup.addPreference(preference);
if (preference instanceof BluetoothDevicePreference) {
mDevicePreferenceMap.put(
((BluetoothDevicePreference) preference).getBluetoothDevice().getDevice(),
preference);
} else {
mDockDevicesList.add(preference);
}
updatePreferenceGroup();
mPreferenceGroup.addPreference(preference);
if (preference instanceof BluetoothDevicePreference) {
mDevicePreferenceMap.put(
((BluetoothDevicePreference) preference).getBluetoothDevice().getDevice(),
preference);
} else {
if (mPreferenceGroup.getPreferenceCount() == 0) {
mPreferenceGroup.setVisible(true);
}
mPreferenceGroup.addPreference(preference);
mDockDevicesList.add(preference);
}
updatePreferenceGroup();
}
@Override
public void onDeviceRemoved(Preference preference) {
if (Flags.enableSavedDevicesOrderByRecency()) {
mPreferenceGroup.removePreference(preference);
if (preference instanceof BluetoothDevicePreference) {
mDevicePreferenceMap.remove(
((BluetoothDevicePreference) preference).getBluetoothDevice().getDevice(),
preference);
} else {
mDockDevicesList.remove(preference);
}
updatePreferenceGroup();
mPreferenceGroup.removePreference(preference);
if (preference instanceof BluetoothDevicePreference) {
mDevicePreferenceMap.remove(
((BluetoothDevicePreference) preference).getBluetoothDevice().getDevice(),
preference);
} else {
mPreferenceGroup.removePreference(preference);
if (mPreferenceGroup.getPreferenceCount() == 0) {
mPreferenceGroup.setVisible(false);
}
mDockDevicesList.remove(preference);
}
updatePreferenceGroup();
}
/** Sort the preferenceGroup by most recently used. */

View File

@@ -31,8 +31,6 @@ import android.bluetooth.BluetoothManager;
import android.content.Context;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.platform.test.annotations.RequiresFlagsDisabled;
import android.platform.test.annotations.RequiresFlagsEnabled;
import android.platform.test.flag.junit.CheckFlagsRule;
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.util.Pair;
@@ -47,7 +45,6 @@ import com.android.settings.bluetooth.BluetoothDevicePreference;
import com.android.settings.bluetooth.BluetoothDeviceUpdater;
import com.android.settings.connecteddevice.dock.DockUpdater;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.flags.Flags;
import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
import com.android.settings.widget.SingleTargetGearPreference;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
@@ -267,19 +264,17 @@ public class PreviouslyConnectedDevicePreferenceControllerTest {
}
@Test
@RequiresFlagsDisabled(Flags.FLAG_ENABLE_SAVED_DEVICES_ORDER_BY_RECENCY)
public void onDeviceAdded_addPreferenceNotExistInRecentlyDevices_noCrash() {
final BluetoothDevicePreference preference = new BluetoothDevicePreference(
mContext, mCachedDevice5, true, BluetoothDevicePreference.SortType.TYPE_NO_SORT);
mPreConnectedDeviceController.onDeviceAdded(preference);
// 1 BluetoothDevicePreference and 1 see all preference
assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(2);
// 1 see all preference
assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(1);
}
@Test
@RequiresFlagsEnabled(Flags.FLAG_ENABLE_SAVED_DEVICES_ORDER_BY_RECENCY)
public void onDeviceAdded_addPreferenceNotExistInRecentlyDevices_doNothing() {
final BluetoothDevicePreference preference = new BluetoothDevicePreference(
mContext, mCachedDevice5, true, BluetoothDevicePreference.SortType.TYPE_NO_SORT);
@@ -325,7 +320,6 @@ public class PreviouslyConnectedDevicePreferenceControllerTest {
}
@Test
@RequiresFlagsEnabled(Flags.FLAG_ENABLE_SAVED_DEVICES_ORDER_BY_RECENCY)
public void updatePreferenceGroup_bluetoothIsEnable_shouldOrderByMostRecentlyConnected() {
when(mBluetoothAdapter.isEnabled()).thenReturn(true);
final BluetoothDevicePreference preference4 =
@@ -361,7 +355,6 @@ public class PreviouslyConnectedDevicePreferenceControllerTest {
}
@Test
@RequiresFlagsEnabled(Flags.FLAG_ENABLE_SAVED_DEVICES_ORDER_BY_RECENCY)
public void updatePreferenceGroup_bluetoothIsDisable_shouldShowOnlySeeAllPreference() {
when(mBluetoothAdapter.isEnabled()).thenReturn(false);
final BluetoothDevicePreference preference4 =

View File

@@ -31,7 +31,6 @@ import android.bluetooth.BluetoothManager;
import android.content.Context;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.platform.test.annotations.RequiresFlagsEnabled;
import android.platform.test.flag.junit.CheckFlagsRule;
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.util.Pair;
@@ -45,7 +44,6 @@ import com.android.settings.bluetooth.BluetoothDevicePreference;
import com.android.settings.bluetooth.BluetoothDeviceUpdater;
import com.android.settings.connecteddevice.dock.DockUpdater;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.flags.Flags;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -177,7 +175,6 @@ public class SavedDeviceGroupControllerTest {
}
@Test
@RequiresFlagsEnabled(Flags.FLAG_ENABLE_SAVED_DEVICES_ORDER_BY_RECENCY)
public void updatePreferenceGroup_bluetoothIsEnable_shouldOrderByMostRecentlyConnected() {
when(mBluetoothAdapter.isEnabled()).thenReturn(true);
final BluetoothDevicePreference preference3 =
@@ -213,7 +210,6 @@ public class SavedDeviceGroupControllerTest {
}
@Test
@RequiresFlagsEnabled(Flags.FLAG_ENABLE_SAVED_DEVICES_ORDER_BY_RECENCY)
public void updatePreferenceGroup_bluetoothIsDisable_shouldShowNoPreference() {
when(mBluetoothAdapter.isEnabled()).thenReturn(false);
final BluetoothDevicePreference preference3 =