Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8eed8f2d authored by Angela Wang's avatar Angela Wang Committed by Android (Google) Code Review
Browse files

Merge "Offer a way to hide LE Audio toggle for ASHA device" into main

parents 48a229cb 71f4b0f8
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -85,6 +85,8 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll
            "persist.bluetooth.leaudio.toggle_visible";
    private static final String BYPASS_LE_AUDIO_ALLOWLIST_PROPERTY =
            "persist.bluetooth.leaudio.bypass_allow_list";
    private static final String LE_AUDIO_TOGGLE_VISIBLE_FOR_ASHA_PROPERTY =
            "bluetooth.leaudio.toggle_visible_for_asha";

    private Set<String> mInvisibleProfiles = Collections.emptySet();
    private final AtomicReference<Set<String>> mAdditionalInvisibleProfiles =
@@ -378,6 +380,12 @@ public class BluetoothDetailsProfilesController extends BluetoothDetailsControll
        // Remove hearing aids toggle anyway since showing the toggle will confuse users
        if (hearingAidSupported) {
            result.remove(mManager.getProfileManager().getHearingAidProfile());
            if (leAudioSupported
                    && !SystemProperties.getBoolean(BYPASS_LE_AUDIO_ALLOWLIST_PROPERTY, false)
                    && !SystemProperties.getBoolean(
                            LE_AUDIO_TOGGLE_VISIBLE_FOR_ASHA_PROPERTY, true)) {
                result.remove(mManager.getProfileManager().getLeAudioProfile());
            }
        }
        if (leAudioSupported && !classicAudioSupported && !hearingAidSupported) {
            mIsLeAudioOnlyDevice = true;
+14 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.bluetooth.BluetoothClass;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothProfile;
import android.content.Context;
import android.os.SystemProperties;
import android.platform.test.flag.junit.CheckFlagsRule;
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.platform.test.flag.junit.SetFlagsRule;
@@ -646,6 +647,7 @@ public class BluetoothDetailsProfilesControllerTest extends BluetoothDetailsCont
        List<SwitchPreferenceCompat> switches = getProfileSwitches(false);
        assertThat(switches.isEmpty()).isTrue();
    }

    @Test
    public void ashaHearingAidWithLeAudio_showLeAudioToggle() {
        setupDevice(makeDefaultDeviceConfig());
@@ -658,4 +660,16 @@ public class BluetoothDetailsProfilesControllerTest extends BluetoothDetailsCont
        assertThat(switches.getFirst().getTitle()).isEqualTo(
                mContext.getString(mLeAudioProfile.getNameResource(mDevice)));
    }

    @Test
    public void ashaHearingAidWithLeAudio_hideLeAudioToggleFromSystemProperties() {
        setupDevice(makeDefaultDeviceConfig());
        addHearingAidProfileToDevice(false);
        addLeAudioProfileToDevice(true);
        SystemProperties.set("bluetooth.leaudio.toggle_visible_for_asha", "false");
        showScreen(mController);

        List<SwitchPreferenceCompat> switches = getProfileSwitches(false);
        assertThat(switches.isEmpty()).isTrue();
    }
}