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

Commit 87629f24 authored by Yiyi Shen's avatar Yiyi Shen
Browse files

[Audiosharing] Support sharing dialog when click media devices.

Instead of directly stop audio sharing, clicking on media devices will
lead to different sharing dialogs based on different scenarios. The
scenarios are align to cases when a new device is connected.

Test: atest
Bug: 305620450
Fix: 327259953
Change-Id: Ibb591cb1a59f31c8f0be4f3e72e45378b17e3809
parent e0f43bbc
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -136,12 +136,8 @@ public class AvailableMediaBluetoothDeviceUpdater extends BluetoothDeviceUpdater
    @Override
    public boolean onPreferenceClick(Preference preference) {
        mMetricsFeatureProvider.logClickedPreference(preference, mMetricsCategory);
        final CachedBluetoothDevice device =
                ((BluetoothDevicePreference) preference).getBluetoothDevice();
        FeatureFactory.getFeatureFactory()
                .getAudioSharingFeatureProvider()
                .handleMediaDeviceOnClick(mLocalManager);
        return device.setActive();
        mDevicePreferenceCallback.onDeviceClick(preference);
        return true;
    }

    @Override
+8 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.accessibility.HearingAidUtils;
import com.android.settings.bluetooth.AvailableMediaBluetoothDeviceUpdater;
import com.android.settings.bluetooth.BluetoothDevicePreference;
import com.android.settings.bluetooth.BluetoothDeviceUpdater;
import com.android.settings.bluetooth.Utils;
import com.android.settings.core.BasePreferenceController;
@@ -150,6 +151,13 @@ public class AvailableMediaDeviceGroupController extends BasePreferenceControlle
        }
    }

    @Override
    public void onDeviceClick(Preference preference) {
        final CachedBluetoothDevice cachedDevice =
                ((BluetoothDevicePreference) preference).getBluetoothDevice();
        cachedDevice.setActive();
    }

    public void init(DashboardFragment fragment) {
        mFragmentManager = fragment.getParentFragmentManager();
        mBluetoothDeviceUpdater =
+10 −3
Original line number Diff line number Diff line
@@ -18,19 +18,26 @@ package com.android.settings.connecteddevice;

import androidx.preference.Preference;

/**
 * Callback to add or remove {@link Preference} in device group.
 */
/** Callback to add or remove {@link Preference} in device group. */
public interface DevicePreferenceCallback {
    /**
     * Called when a device(i.e. bluetooth, usb) is added
     *
     * @param preference present the device
     */
    void onDeviceAdded(Preference preference);

    /**
     * Called when a device(i.e. bluetooth, usb) is removed
     *
     * @param preference present the device
     */
    void onDeviceRemoved(Preference preference);

    /**
     * Called when a device(i.e. bluetooth, usb) is click
     *
     * @param preference present the device
     */
    default void onDeviceClick(Preference preference) {}
}
+0 −3
Original line number Diff line number Diff line
@@ -50,7 +50,4 @@ public interface AudioSharingFeatureProvider {
     */
    boolean isAudioSharingFilterMatched(
            @NonNull CachedBluetoothDevice cachedDevice, LocalBluetoothManager localBtManager);

    /** Handle preference onClick in "Media devices" section. */
    void handleMediaDeviceOnClick(LocalBluetoothManager localBtManager);
}
+0 −3
Original line number Diff line number Diff line
@@ -52,7 +52,4 @@ public class AudioSharingFeatureProviderImpl implements AudioSharingFeatureProvi
            @NonNull CachedBluetoothDevice cachedDevice, LocalBluetoothManager localBtManager) {
        return false;
    }

    @Override
    public void handleMediaDeviceOnClick(LocalBluetoothManager localBtManager) {}
}
Loading