Loading src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java +9 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import com.android.settings.connecteddevice.DevicePreferenceCallback; import com.android.settingslib.bluetooth.BluetoothUtils; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.settingslib.flags.Flags; import com.android.settingslib.utils.ThreadUtils; /** Controller to maintain available media Bluetooth devices */ Loading Loading @@ -60,6 +61,14 @@ public class AvailableMediaBluetoothDeviceUpdater extends BluetoothDeviceUpdater @Override public boolean isFilterMatched(CachedBluetoothDevice cachedDevice) { // If the device is temporary bond, it shouldn't be shown here. if (Flags.enableTemporaryBondDevicesUi() && BluetoothUtils.isTemporaryBondDevice(cachedDevice.getDevice())) { Log.d(TAG, "isFilterMatched() Filter out temporary bond device " + cachedDevice.getName()); return false; } final int currentAudioProfile; if (mAudioMode == AudioManager.MODE_RINGTONE Loading src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java +8 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,14 @@ public class ConnectedBluetoothDeviceUpdater extends BluetoothDeviceUpdater { @Override public boolean isFilterMatched(CachedBluetoothDevice cachedDevice) { // If the device is temporary bond, it shouldn't be shown here. if (Flags.enableTemporaryBondDevicesUi() && BluetoothUtils.isTemporaryBondDevice(cachedDevice.getDevice())) { Log.d(TAG, "isFilterMatched() Filter out temporary bond device " + cachedDevice.getName()); return false; } final int currentAudioProfile; if (mAudioMode == AudioManager.MODE_RINGTONE Loading src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdater.java +9 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import com.android.settings.connecteddevice.DevicePreferenceCallback; import com.android.settingslib.bluetooth.BluetoothUtils; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.settingslib.flags.Flags; import com.android.settingslib.utils.ThreadUtils; public class AudioSharingBluetoothDeviceUpdater extends BluetoothDeviceUpdater Loading @@ -51,6 +52,14 @@ public class AudioSharingBluetoothDeviceUpdater extends BluetoothDeviceUpdater @Override public boolean isFilterMatched(CachedBluetoothDevice cachedDevice) { // If the device is temporary bond, it shouldn't be shown here. if (Flags.enableTemporaryBondDevicesUi() && BluetoothUtils.isTemporaryBondDevice(cachedDevice.getDevice())) { Log.d(TAG, "isFilterMatched() Filter out temporary bond device " + cachedDevice.getName()); return false; } boolean isFilterMatched = false; if (isDeviceConnected(cachedDevice) && isDeviceInCachedDevicesList(cachedDevice)) { // If device is LE audio device and has a broadcast source, Loading tests/robotests/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdaterTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -68,6 +68,9 @@ public class ConnectedBluetoothDeviceUpdaterTest { private static final String MAC_ADDRESS = "04:52:C7:0B:D8:3C"; private static final String TEST_EXCLUSIVE_MANAGER = "com.test.manager"; private static final String TEMP_BOND_METADATA = "<TEMP_BOND_TYPE>le_audio_sharing</TEMP_BOND_TYPE>"; private static final int METADATA_FAST_PAIR_CUSTOMIZED_FIELDS = 25; @Rule public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); Loading Loading @@ -405,6 +408,22 @@ public class ConnectedBluetoothDeviceUpdaterTest { verify(mBluetoothDeviceUpdater, never()).addPreference(mCachedBluetoothDevice); } @Test @RequiresFlagsEnabled(Flags.FLAG_ENABLE_TEMPORARY_BOND_DEVICES_UI) public void update_temporaryBondDevice_removePreference() { setUpDeviceUpdaterWithAudioMode(AudioManager.MODE_NORMAL); when(mBluetoothDeviceUpdater .isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true); when(mCachedBluetoothDevice.isConnectedHfpDevice()).thenReturn(true); when(mBluetoothDevice.getMetadata(METADATA_FAST_PAIR_CUSTOMIZED_FIELDS)) .thenReturn(TEMP_BOND_METADATA.getBytes()); mBluetoothDeviceUpdater.update(mCachedBluetoothDevice); verify(mBluetoothDeviceUpdater).removePreference(mCachedBluetoothDevice); verify(mBluetoothDeviceUpdater, never()).addPreference(mCachedBluetoothDevice); } private void setUpDeviceUpdaterWithAudioMode(int audioMode) { mAudioManager.setMode(audioMode); mBluetoothDeviceUpdater = spy(new ConnectedBluetoothDeviceUpdater(mContext, Loading Loading
src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java +9 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import com.android.settings.connecteddevice.DevicePreferenceCallback; import com.android.settingslib.bluetooth.BluetoothUtils; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.settingslib.flags.Flags; import com.android.settingslib.utils.ThreadUtils; /** Controller to maintain available media Bluetooth devices */ Loading Loading @@ -60,6 +61,14 @@ public class AvailableMediaBluetoothDeviceUpdater extends BluetoothDeviceUpdater @Override public boolean isFilterMatched(CachedBluetoothDevice cachedDevice) { // If the device is temporary bond, it shouldn't be shown here. if (Flags.enableTemporaryBondDevicesUi() && BluetoothUtils.isTemporaryBondDevice(cachedDevice.getDevice())) { Log.d(TAG, "isFilterMatched() Filter out temporary bond device " + cachedDevice.getName()); return false; } final int currentAudioProfile; if (mAudioMode == AudioManager.MODE_RINGTONE Loading
src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java +8 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,14 @@ public class ConnectedBluetoothDeviceUpdater extends BluetoothDeviceUpdater { @Override public boolean isFilterMatched(CachedBluetoothDevice cachedDevice) { // If the device is temporary bond, it shouldn't be shown here. if (Flags.enableTemporaryBondDevicesUi() && BluetoothUtils.isTemporaryBondDevice(cachedDevice.getDevice())) { Log.d(TAG, "isFilterMatched() Filter out temporary bond device " + cachedDevice.getName()); return false; } final int currentAudioProfile; if (mAudioMode == AudioManager.MODE_RINGTONE Loading
src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdater.java +9 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import com.android.settings.connecteddevice.DevicePreferenceCallback; import com.android.settingslib.bluetooth.BluetoothUtils; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.settingslib.flags.Flags; import com.android.settingslib.utils.ThreadUtils; public class AudioSharingBluetoothDeviceUpdater extends BluetoothDeviceUpdater Loading @@ -51,6 +52,14 @@ public class AudioSharingBluetoothDeviceUpdater extends BluetoothDeviceUpdater @Override public boolean isFilterMatched(CachedBluetoothDevice cachedDevice) { // If the device is temporary bond, it shouldn't be shown here. if (Flags.enableTemporaryBondDevicesUi() && BluetoothUtils.isTemporaryBondDevice(cachedDevice.getDevice())) { Log.d(TAG, "isFilterMatched() Filter out temporary bond device " + cachedDevice.getName()); return false; } boolean isFilterMatched = false; if (isDeviceConnected(cachedDevice) && isDeviceInCachedDevicesList(cachedDevice)) { // If device is LE audio device and has a broadcast source, Loading
tests/robotests/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdaterTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -68,6 +68,9 @@ public class ConnectedBluetoothDeviceUpdaterTest { private static final String MAC_ADDRESS = "04:52:C7:0B:D8:3C"; private static final String TEST_EXCLUSIVE_MANAGER = "com.test.manager"; private static final String TEMP_BOND_METADATA = "<TEMP_BOND_TYPE>le_audio_sharing</TEMP_BOND_TYPE>"; private static final int METADATA_FAST_PAIR_CUSTOMIZED_FIELDS = 25; @Rule public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); Loading Loading @@ -405,6 +408,22 @@ public class ConnectedBluetoothDeviceUpdaterTest { verify(mBluetoothDeviceUpdater, never()).addPreference(mCachedBluetoothDevice); } @Test @RequiresFlagsEnabled(Flags.FLAG_ENABLE_TEMPORARY_BOND_DEVICES_UI) public void update_temporaryBondDevice_removePreference() { setUpDeviceUpdaterWithAudioMode(AudioManager.MODE_NORMAL); when(mBluetoothDeviceUpdater .isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true); when(mCachedBluetoothDevice.isConnectedHfpDevice()).thenReturn(true); when(mBluetoothDevice.getMetadata(METADATA_FAST_PAIR_CUSTOMIZED_FIELDS)) .thenReturn(TEMP_BOND_METADATA.getBytes()); mBluetoothDeviceUpdater.update(mCachedBluetoothDevice); verify(mBluetoothDeviceUpdater).removePreference(mCachedBluetoothDevice); verify(mBluetoothDeviceUpdater, never()).addPreference(mCachedBluetoothDevice); } private void setUpDeviceUpdaterWithAudioMode(int audioMode) { mAudioManager.setMode(audioMode); mBluetoothDeviceUpdater = spy(new ConnectedBluetoothDeviceUpdater(mContext, Loading