Merge "Remove A2dp offload disabled and LE audio offload enabled combination"
This commit is contained in:
@@ -102,7 +102,7 @@ public class BluetoothA2dpHwOffloadPreferenceController extends DeveloperOptions
|
|||||||
final boolean offloadDisabled =
|
final boolean offloadDisabled =
|
||||||
SystemProperties.getBoolean(A2DP_OFFLOAD_DISABLED_PROPERTY, false);
|
SystemProperties.getBoolean(A2DP_OFFLOAD_DISABLED_PROPERTY, false);
|
||||||
SystemProperties.set(A2DP_OFFLOAD_DISABLED_PROPERTY, Boolean.toString(!offloadDisabled));
|
SystemProperties.set(A2DP_OFFLOAD_DISABLED_PROPERTY, Boolean.toString(!offloadDisabled));
|
||||||
if (offloadDisabled) {
|
if (!offloadDisabled) {
|
||||||
SystemProperties.set(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY,
|
SystemProperties.set(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY,
|
||||||
Boolean.toString(!offloadDisabled));
|
Boolean.toString(!offloadDisabled));
|
||||||
}
|
}
|
||||||
|
@@ -16,7 +16,8 @@
|
|||||||
|
|
||||||
package com.android.settings.development;
|
package com.android.settings.development;
|
||||||
|
|
||||||
import static com.android.settings.development.BluetoothA2dpHwOffloadPreferenceController.A2DP_OFFLOAD_SUPPORTED_PROPERTY;
|
import static com.android.settings.development.BluetoothA2dpHwOffloadPreferenceController.A2DP_OFFLOAD_DISABLED_PROPERTY;
|
||||||
|
|
||||||
|
|
||||||
import android.bluetooth.BluetoothAdapter;
|
import android.bluetooth.BluetoothAdapter;
|
||||||
import android.bluetooth.BluetoothManager;
|
import android.bluetooth.BluetoothManager;
|
||||||
@@ -79,11 +80,11 @@ public class BluetoothLeAudioHwOffloadPreferenceController
|
|||||||
|
|
||||||
final boolean leAudioEnabled =
|
final boolean leAudioEnabled =
|
||||||
(mBluetoothAdapter.isLeAudioSupported() == BluetoothStatusCodes.FEATURE_SUPPORTED);
|
(mBluetoothAdapter.isLeAudioSupported() == BluetoothStatusCodes.FEATURE_SUPPORTED);
|
||||||
|
final boolean leAudioOffloadSupported =
|
||||||
final boolean offloadSupported =
|
SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_SUPPORTED_PROPERTY, false);
|
||||||
SystemProperties.getBoolean(A2DP_OFFLOAD_SUPPORTED_PROPERTY, false)
|
final boolean a2dpOffloadDisabled =
|
||||||
&& SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_SUPPORTED_PROPERTY, false);
|
SystemProperties.getBoolean(A2DP_OFFLOAD_DISABLED_PROPERTY, false);
|
||||||
if (leAudioEnabled && offloadSupported) {
|
if (leAudioEnabled && leAudioOffloadSupported && !a2dpOffloadDisabled) {
|
||||||
final boolean offloadDisabled =
|
final boolean offloadDisabled =
|
||||||
SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, true);
|
SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, true);
|
||||||
((SwitchPreference) mPreference).setChecked(offloadDisabled);
|
((SwitchPreference) mPreference).setChecked(offloadDisabled);
|
||||||
@@ -102,10 +103,11 @@ public class BluetoothLeAudioHwOffloadPreferenceController
|
|||||||
|
|
||||||
final boolean leAudioEnabled =
|
final boolean leAudioEnabled =
|
||||||
(mBluetoothAdapter.isLeAudioSupported() == BluetoothStatusCodes.FEATURE_SUPPORTED);
|
(mBluetoothAdapter.isLeAudioSupported() == BluetoothStatusCodes.FEATURE_SUPPORTED);
|
||||||
final boolean offloadSupported =
|
final boolean leAudioOffloadSupported =
|
||||||
SystemProperties.getBoolean(A2DP_OFFLOAD_SUPPORTED_PROPERTY, false)
|
SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_SUPPORTED_PROPERTY, false);
|
||||||
&& SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_SUPPORTED_PROPERTY, false);
|
final boolean a2dpOffloadDisabled =
|
||||||
if (leAudioEnabled && offloadSupported) {
|
SystemProperties.getBoolean(A2DP_OFFLOAD_DISABLED_PROPERTY, false);
|
||||||
|
if (leAudioEnabled && leAudioOffloadSupported && !a2dpOffloadDisabled) {
|
||||||
((SwitchPreference) mPreference).setChecked(true);
|
((SwitchPreference) mPreference).setChecked(true);
|
||||||
SystemProperties.set(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, "true");
|
SystemProperties.set(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, "true");
|
||||||
} else {
|
} else {
|
||||||
@@ -118,7 +120,7 @@ public class BluetoothLeAudioHwOffloadPreferenceController
|
|||||||
*/
|
*/
|
||||||
public boolean isDefaultValue() {
|
public boolean isDefaultValue() {
|
||||||
final boolean offloadSupported =
|
final boolean offloadSupported =
|
||||||
SystemProperties.getBoolean(A2DP_OFFLOAD_SUPPORTED_PROPERTY, false)
|
!SystemProperties.getBoolean(A2DP_OFFLOAD_DISABLED_PROPERTY, false)
|
||||||
&& SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_SUPPORTED_PROPERTY, false);
|
&& SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_SUPPORTED_PROPERTY, false);
|
||||||
final boolean offloadDisabled =
|
final boolean offloadDisabled =
|
||||||
SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, false);
|
SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, false);
|
||||||
@@ -133,11 +135,11 @@ public class BluetoothLeAudioHwOffloadPreferenceController
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final boolean offloadDisabled =
|
final boolean leaudioOffloadDisabled =
|
||||||
SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY,
|
SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY,
|
||||||
false);
|
false);
|
||||||
SystemProperties.set(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY,
|
SystemProperties.set(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY,
|
||||||
Boolean.toString(!offloadDisabled));
|
Boolean.toString(!leaudioOffloadDisabled));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -65,18 +65,18 @@ public class BluetoothA2dpHwOffloadPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onA2dpHwDialogConfirmedAsA2dpOffloadDisabled_shouldChangeProperty() {
|
public void onA2dpHwDialogConfirmedAsA2dpOffloadDisabled_shouldChangeProperty() {
|
||||||
SystemProperties.set(A2DP_OFFLOAD_DISABLED_PROPERTY, Boolean.toString(false));
|
SystemProperties.set(A2DP_OFFLOAD_DISABLED_PROPERTY, Boolean.toString(true));
|
||||||
mController.mChanged = true;
|
mController.mChanged = true;
|
||||||
|
|
||||||
mController.onRebootDialogConfirmed();
|
mController.onRebootDialogConfirmed();
|
||||||
final boolean mode = SystemProperties.getBoolean(A2DP_OFFLOAD_DISABLED_PROPERTY, false);
|
final boolean mode = SystemProperties.getBoolean(A2DP_OFFLOAD_DISABLED_PROPERTY, false);
|
||||||
assertThat(mode).isTrue();
|
assertThat(mode).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onA2dpHwDialogConfirmedAsA2dpOffloadEnabled_shouldChangeProperty() {
|
public void onA2dpHwDialogConfirmedAsA2dpOffloadEnabled_shouldChangeProperty() {
|
||||||
SystemProperties.set(A2DP_OFFLOAD_DISABLED_PROPERTY, Boolean.toString(true));
|
SystemProperties.set(A2DP_OFFLOAD_DISABLED_PROPERTY, Boolean.toString(false));
|
||||||
SystemProperties.set(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, Boolean.toString(true));
|
SystemProperties.set(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, Boolean.toString(false));
|
||||||
|
|
||||||
mController.mChanged = true;
|
mController.mChanged = true;
|
||||||
|
|
||||||
@@ -84,8 +84,8 @@ public class BluetoothA2dpHwOffloadPreferenceControllerTest {
|
|||||||
final boolean a2dpMode = SystemProperties.getBoolean(A2DP_OFFLOAD_DISABLED_PROPERTY, true);
|
final boolean a2dpMode = SystemProperties.getBoolean(A2DP_OFFLOAD_DISABLED_PROPERTY, true);
|
||||||
final boolean leAudioMode = SystemProperties
|
final boolean leAudioMode = SystemProperties
|
||||||
.getBoolean(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, true);
|
.getBoolean(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, true);
|
||||||
assertThat(a2dpMode).isFalse();
|
assertThat(a2dpMode).isTrue();
|
||||||
assertThat(leAudioMode).isFalse();
|
assertThat(leAudioMode).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@@ -16,14 +16,21 @@
|
|||||||
|
|
||||||
package com.android.settings.development;
|
package com.android.settings.development;
|
||||||
|
|
||||||
|
import static android.bluetooth.BluetoothStatusCodes.FEATURE_SUPPORTED;
|
||||||
|
|
||||||
|
import static com.android.settings.development.BluetoothA2dpHwOffloadPreferenceController
|
||||||
|
.A2DP_OFFLOAD_DISABLED_PROPERTY;
|
||||||
import static com.android.settings.development.BluetoothLeAudioHwOffloadPreferenceController
|
import static com.android.settings.development.BluetoothLeAudioHwOffloadPreferenceController
|
||||||
.LE_AUDIO_OFFLOAD_DISABLED_PROPERTY;
|
.LE_AUDIO_OFFLOAD_DISABLED_PROPERTY;
|
||||||
|
import static com.android.settings.development.BluetoothLeAudioHwOffloadPreferenceController
|
||||||
|
.LE_AUDIO_OFFLOAD_SUPPORTED_PROPERTY;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import android.bluetooth.BluetoothAdapter;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.SystemProperties;
|
import android.os.SystemProperties;
|
||||||
|
|
||||||
@@ -45,6 +52,8 @@ public class BluetoothLeAudioHwOffloadPreferenceControllerTest {
|
|||||||
private PreferenceScreen mPreferenceScreen;
|
private PreferenceScreen mPreferenceScreen;
|
||||||
@Mock
|
@Mock
|
||||||
private DevelopmentSettingsDashboardFragment mFragment;
|
private DevelopmentSettingsDashboardFragment mFragment;
|
||||||
|
@Mock
|
||||||
|
private BluetoothAdapter mBluetoothAdapter;
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private SwitchPreference mPreference;
|
private SwitchPreference mPreference;
|
||||||
@@ -59,6 +68,9 @@ public class BluetoothLeAudioHwOffloadPreferenceControllerTest {
|
|||||||
when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
|
when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
|
||||||
.thenReturn(mPreference);
|
.thenReturn(mPreference);
|
||||||
mController.displayPreference(mPreferenceScreen);
|
mController.displayPreference(mPreferenceScreen);
|
||||||
|
mController.mBluetoothAdapter = mBluetoothAdapter;
|
||||||
|
when(mBluetoothAdapter.isLeAudioSupported())
|
||||||
|
.thenReturn(FEATURE_SUPPORTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -91,4 +103,21 @@ public class BluetoothLeAudioHwOffloadPreferenceControllerTest {
|
|||||||
final boolean mode = SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, false);
|
final boolean mode = SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, false);
|
||||||
assertThat(mode).isFalse();
|
assertThat(mode).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void asA2dpOffloadDisabled_shouldNotSwitchLeAudioOffloadStatus() {
|
||||||
|
SystemProperties.set(LE_AUDIO_OFFLOAD_SUPPORTED_PROPERTY, Boolean.toString(true));
|
||||||
|
SystemProperties.set(A2DP_OFFLOAD_DISABLED_PROPERTY, Boolean.toString(true));
|
||||||
|
|
||||||
|
SystemProperties.set(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, Boolean.toString(false));
|
||||||
|
mController.updateState(null);
|
||||||
|
boolean leAueioDisabled =
|
||||||
|
SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, false);
|
||||||
|
assertThat(leAueioDisabled).isFalse();
|
||||||
|
|
||||||
|
SystemProperties.set(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, Boolean.toString(true));
|
||||||
|
mController.updateState(null);
|
||||||
|
leAueioDisabled = SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, false);
|
||||||
|
assertThat(leAueioDisabled).isTrue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user