[Hide DCK devices] Hide DCK devices from settings app (saved devices page).

Set preferences of DCK devices to be invisible in saved devices page.

Test: atest: com.android.settings.bluetooth.SavedBluetoothDeviceUpdaterTest
Bug: 322285078
Change-Id: I9bd38c1866f469f3c0395b77f935f7eb143ec70c
This commit is contained in:
Ze Li
2024-01-30 16:20:37 +08:00
parent ee85a6e0e9
commit 25128d1102
3 changed files with 166 additions and 8 deletions

View File

@@ -25,6 +25,8 @@ import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import com.android.settings.connecteddevice.DevicePreferenceCallback;
import com.android.settings.flags.Flags;
import com.android.settingslib.bluetooth.BluetoothUtils;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
@@ -99,12 +101,22 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater
@Override
public boolean isFilterMatched(CachedBluetoothDevice cachedDevice) {
final BluetoothDevice device = cachedDevice.getDevice();
Log.d(TAG, "isFilterMatched() device name : " + cachedDevice.getName() +
", is connected : " + device.isConnected() + ", is profile connected : "
+ cachedDevice.isConnected());
return device.getBondState() == BluetoothDevice.BOND_BONDED
&& (mShowConnectedDevice || (!device.isConnected() && isDeviceInCachedDevicesList(
cachedDevice)));
boolean isExclusivelyManaged = BluetoothUtils.isExclusivelyManagedBluetoothDevice(mContext,
cachedDevice.getDevice());
Log.d(TAG, "isFilterMatched() device name : " + cachedDevice.getName()
+ ", is connected : " + device.isConnected() + ", is profile connected : "
+ cachedDevice.isConnected() + ", is exclusively managed : "
+ isExclusivelyManaged);
if (Flags.enableHideExclusivelyManagedBluetoothDevice()) {
return device.getBondState() == BluetoothDevice.BOND_BONDED
&& (mShowConnectedDevice || (!device.isConnected()
&& isDeviceInCachedDevicesList(cachedDevice)))
&& !isExclusivelyManaged;
} else {
return device.getBondState() == BluetoothDevice.BOND_BONDED
&& (mShowConnectedDevice || (!device.isConnected()
&& isDeviceInCachedDevicesList(cachedDevice)));
}
}
@Override