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

Commit 822def2d authored by Chelsea Hao's avatar Chelsea Hao Committed by Android (Google) Code Review
Browse files

Merge "Enable audio sharing hysteresis mode fix when preview is on." into main

parents 7c8cd322 103ce4ef
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -46,7 +46,6 @@ import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
import com.android.settingslib.bluetooth.VolumeControlProfile;
import com.android.settingslib.flags.Flags;

import java.util.ArrayList;
import java.util.Comparator;
@@ -222,8 +221,8 @@ public class AudioSharingUtils {
            Log.d(TAG, "hasActiveConnectedLeadDevice return false due to null device manager.");
            return false;
        }
        return deviceManager.getCachedDevicesCopy().stream().anyMatch(
                BluetoothUtils::isActiveMediaDevice);
        return deviceManager.getCachedDevicesCopy().stream()
                .anyMatch(BluetoothUtils::isActiveMediaDevice);
    }

    /** Build {@link AudioSharingDeviceItem} from {@link CachedBluetoothDevice}. */
@@ -348,14 +347,15 @@ public class AudioSharingUtils {
    }

    /** Set {@link CachedBluetoothDevice} as primary device for call audio */
    public static void setPrimary(@NonNull Context context,
            @Nullable CachedBluetoothDevice cachedDevice) {
    public static void setPrimary(
            @NonNull Context context, @Nullable CachedBluetoothDevice cachedDevice) {
        if (cachedDevice == null) return;
        cachedDevice.setActive();
        if (Flags.audioSharingHysteresisModeFix()) {
        if (BluetoothUtils.isAudioSharingHysteresisModeFixAvailable(context)) {
            int groupId = BluetoothUtils.getGroupId(cachedDevice);
            // TODO: use real key name in SettingsProvider
            int userPreferredId = Settings.Secure.getInt(
            int userPreferredId =
                    Settings.Secure.getInt(
                            context.getContentResolver(),
                            BLUETOOTH_LE_BROADCAST_PRIMARY_DEVICE_GROUP_ID,
                            BluetoothCsipSetCoordinator.GROUP_ID_INVALID);
+3 −4
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package com.android.settings.connecteddevice.audiosharing.audiostreams;

import static com.android.settingslib.flags.Flags.audioSharingHysteresisModeFix;

import android.app.settings.SettingsEnums;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothLeBroadcastAssistant;
@@ -38,6 +36,7 @@ import com.android.settings.R;
import com.android.settings.bluetooth.Utils;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.bluetooth.BluetoothUtils;
import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.utils.ThreadUtils;
@@ -77,7 +76,7 @@ public class AudioStreamButtonController extends BasePreferenceController
                        BluetoothLeBroadcastReceiveState state) {
                    super.onReceiveStateChanged(sink, sourceId, state);
                    boolean shouldUpdateButton =
                            audioSharingHysteresisModeFix()
                            BluetoothUtils.isAudioSharingHysteresisModeFixAvailable(mContext)
                                    ? AudioStreamsHelper.hasSourcePresent(state)
                                    : AudioStreamsHelper.isConnected(state);
                    if (shouldUpdateButton) {
@@ -157,7 +156,7 @@ public class AudioStreamButtonController extends BasePreferenceController
        }

        List<BluetoothLeBroadcastReceiveState> sources =
                audioSharingHysteresisModeFix()
                BluetoothUtils.isAudioSharingHysteresisModeFixAvailable(mContext)
                        ? mAudioStreamsHelper.getAllPresentSources()
                        : mAudioStreamsHelper.getAllConnectedSources();
        boolean isConnected =
+9 −8
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import com.android.settings.bluetooth.Utils;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.bluetooth.BluetoothUtils;
import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
import com.android.settingslib.utils.ThreadUtils;
import com.android.settingslib.widget.LayoutPreference;
@@ -86,7 +87,7 @@ public class AudioStreamHeaderController extends BasePreferenceController
                        updateSummary();
                        mAudioStreamsHelper.startMediaService(
                                mContext, mBroadcastId, mBroadcastName);
                    } else if (audioSharingHysteresisModeFix()
                    } else if (BluetoothUtils.isAudioSharingHysteresisModeFixAvailable(mContext)
                            && AudioStreamsHelper.hasSourcePresent(state)) {
                        // if source present but not connected, only update the summary
                        updateSummary();
+2 −3
Original line number Diff line number Diff line
@@ -18,8 +18,6 @@ package com.android.settings.connecteddevice.audiosharing.audiostreams;

import static android.text.Spanned.SPAN_EXCLUSIVE_INCLUSIVE;

import static com.android.settingslib.flags.Flags.audioSharingHysteresisModeFix;

import android.os.Handler;
import android.os.Looper;
import android.text.SpannableString;
@@ -98,7 +96,8 @@ class AudioStreamStateHandler {
                            newState
                                            == AudioStreamsProgressCategoryController
                                                    .AudioStreamState.SOURCE_ADDED
                                    || (audioSharingHysteresisModeFix()
                                    || (BluetoothUtils.isAudioSharingHysteresisModeFixAvailable(
                                                    preference.getContext())
                                            && newState
                                                    == AudioStreamsProgressCategoryController
                                                            .AudioStreamState.SOURCE_PRESENT));
+0 −8
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@ import com.android.settingslib.bluetooth.BluetoothCallback;
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 java.util.concurrent.Executor;
import java.util.concurrent.Executors;
@@ -80,13 +79,6 @@ public class AudioStreamsCategoryController extends AudioSharingBasePreferenceCo
        }
    }

    @Override
    public int getAvailabilityStatus() {
        return Flags.enableLeAudioQrCodePrivateBroadcastSharing()
                ? AVAILABLE
                : UNSUPPORTED_ON_DEVICE;
    }

    @Override
    public void updateVisibility() {
        if (mPreference == null) return;
Loading