Merge "Do not show SA preference for device that do not support it" into main

This commit is contained in:
Vlad Popa
2023-08-21 16:49:21 +00:00
committed by Android (Google) Code Review

View File

@@ -16,6 +16,8 @@
package com.android.settings.bluetooth; package com.android.settings.bluetooth;
import static android.media.Spatializer.SPATIALIZER_IMMERSIVE_LEVEL_NONE;
import android.content.Context; import android.content.Context;
import android.media.AudioDeviceAttributes; import android.media.AudioDeviceAttributes;
import android.media.AudioDeviceInfo; import android.media.AudioDeviceInfo;
@@ -106,6 +108,10 @@ public class BluetoothDetailsSpatialAudioController extends BluetoothDetailsCont
@Override @Override
protected void refresh() { protected void refresh() {
if (mAudioDevice == null) {
return;
}
SwitchPreference spatialAudioPref = mProfilesContainer.findPreference(KEY_SPATIAL_AUDIO); SwitchPreference spatialAudioPref = mProfilesContainer.findPreference(KEY_SPATIAL_AUDIO);
if (spatialAudioPref == null) { if (spatialAudioPref == null) {
spatialAudioPref = createSpatialAudioPreference(mProfilesContainer.getContext()); spatialAudioPref = createSpatialAudioPreference(mProfilesContainer.getContext());
@@ -152,6 +158,14 @@ public class BluetoothDetailsSpatialAudioController extends BluetoothDetailsCont
} }
private void getAvailableDevice() { private void getAvailableDevice() {
if (mSpatializer.getImmersiveAudioLevel() == SPATIALIZER_IMMERSIVE_LEVEL_NONE) {
mIsAvailable = false;
mAudioDevice = null;
Log.d(TAG, "getAvailableDevice() ignored: spatializer not supported");
return;
}
AudioDeviceAttributes a2dpDevice = new AudioDeviceAttributes( AudioDeviceAttributes a2dpDevice = new AudioDeviceAttributes(
AudioDeviceAttributes.ROLE_OUTPUT, AudioDeviceAttributes.ROLE_OUTPUT,
AudioDeviceInfo.TYPE_BLUETOOTH_A2DP, AudioDeviceInfo.TYPE_BLUETOOTH_A2DP,