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

Commit 747b4c2b authored by Betty Chang's avatar Betty Chang Committed by Android (Google) Code Review
Browse files

Merge "To fix the title and switch button of the broadcast dialog" into tm-qpr-dev

parents db4b9c58 c6d8b915
Loading
Loading
Loading
Loading
+10 −12
Original line number Diff line number Diff line
@@ -46,11 +46,11 @@ public class BroadcastDialog extends SystemUIDialog {
    @VisibleForTesting
    protected View mDialogView;
    private MediaOutputDialogFactory mMediaOutputDialogFactory;
    private String mSwitchBroadcastApp;
    private String mCurrentBroadcastApp;
    private String mOutputPackageName;

    public BroadcastDialog(Context context, MediaOutputDialogFactory mediaOutputDialogFactory,
            String switchBroadcastApp, String outputPkgName, UiEventLogger uiEventLogger) {
            String currentBroadcastApp, String outputPkgName, UiEventLogger uiEventLogger) {
        super(context);
        if (DEBUG) {
            Log.d(TAG, "Init BroadcastDialog");
@@ -58,7 +58,7 @@ public class BroadcastDialog extends SystemUIDialog {

        mContext = getContext();
        mMediaOutputDialogFactory = mediaOutputDialogFactory;
        mSwitchBroadcastApp = switchBroadcastApp;
        mCurrentBroadcastApp = currentBroadcastApp;
        mOutputPackageName = outputPkgName;
        mUiEventLogger = uiEventLogger;
    }
@@ -77,20 +77,18 @@ public class BroadcastDialog extends SystemUIDialog {

        TextView title = mDialogView.requireViewById(R.id.dialog_title);
        TextView subTitle = mDialogView.requireViewById(R.id.dialog_subtitle);
        title.setText(
                mContext.getString(R.string.bt_le_audio_broadcast_dialog_title,
                        MediaDataUtils.getAppLabel(mContext, mOutputPackageName,
                                mContext.getString(
                                        R.string.bt_le_audio_broadcast_dialog_unknown_name))));
        subTitle.setText(
                mContext.getString(R.string.bt_le_audio_broadcast_dialog_sub_title,
                        mSwitchBroadcastApp));
        title.setText(mContext.getString(
                R.string.bt_le_audio_broadcast_dialog_title, mCurrentBroadcastApp));
        String switchBroadcastApp = MediaDataUtils.getAppLabel(mContext, mOutputPackageName,
                mContext.getString(R.string.bt_le_audio_broadcast_dialog_unknown_name));
        subTitle.setText(mContext.getString(
                R.string.bt_le_audio_broadcast_dialog_sub_title, switchBroadcastApp));

        Button switchBroadcast = mDialogView.requireViewById(R.id.switch_broadcast);
        Button changeOutput = mDialogView.requireViewById(R.id.change_output);
        Button cancelBtn = mDialogView.requireViewById(R.id.cancel);
        switchBroadcast.setText(mContext.getString(
                R.string.bt_le_audio_broadcast_dialog_switch_app, mSwitchBroadcastApp), null);
                R.string.bt_le_audio_broadcast_dialog_switch_app, switchBroadcastApp));
        changeOutput.setOnClickListener((view) -> {
            mMediaOutputDialogFactory.create(mOutputPackageName, true, null);
            dismiss();
+7 −2
Original line number Diff line number Diff line
@@ -47,10 +47,15 @@ public class BroadcastDialogController {
        mMediaOutputDialogFactory = mediaOutputDialogFactory;
    }

    public void createBroadcastDialog(String switchAppName, String outputPkgName,
    /** Creates a [BroadcastDialog] for the user to switch broadcast or change the output device
     *
     * @param currentBroadcastAppName Indicates the APP name currently broadcasting
     * @param outputPkgName Indicates the output media package name to be switched
     */
    public void createBroadcastDialog(String currentBroadcastAppName, String outputPkgName,
            boolean aboveStatusBar, View view) {
        BroadcastDialog broadcastDialog = new BroadcastDialog(mContext, mMediaOutputDialogFactory,
                switchAppName, outputPkgName, mUiEventLogger);
                currentBroadcastAppName, outputPkgName, mUiEventLogger);
        if (view != null) {
            mDialogLaunchAnimator.showFromView(broadcastDialog, view);
        } else {
+5 −6
Original line number Diff line number Diff line
@@ -226,7 +226,7 @@ public class MediaControlPanel {
    private final BroadcastDialogController mBroadcastDialogController;
    private boolean mIsCurrentBroadcastedApp = false;
    private boolean mShowBroadcastDialogButton = false;
    private String mSwitchBroadcastApp;
    private String mCurrentBroadcastApp;
    private MultiRippleController mMultiRippleController;
    private TurbulenceNoiseController mTurbulenceNoiseController;
    private final FeatureFlags mFeatureFlags;
@@ -573,8 +573,7 @@ public class MediaControlPanel {
            // unexpected result.
            mIsCurrentBroadcastedApp = device != null
                && TextUtils.equals(device.getName(),
                    MediaDataUtils.getAppLabel(mContext, mPackageName, mContext.getString(
                            R.string.bt_le_audio_broadcast_dialog_unknown_name)));
                    mContext.getString(R.string.broadcasting_description_is_broadcasting));
            useDisabledAlpha = !mIsCurrentBroadcastedApp;
            // Always be enabled if the broadcast button is shown
            isTapEnabled = true;
@@ -629,8 +628,8 @@ public class MediaControlPanel {
                        // media output dialog.
                        if (!mIsCurrentBroadcastedApp) {
                            mLogger.logOpenBroadcastDialog(mUid, mPackageName, mInstanceId);
                            mSwitchBroadcastApp = device.getName().toString();
                            mBroadcastDialogController.createBroadcastDialog(mSwitchBroadcastApp,
                            mCurrentBroadcastApp = device.getName().toString();
                            mBroadcastDialogController.createBroadcastDialog(mCurrentBroadcastApp,
                                    mPackageName, true, mMediaViewHolder.getSeamlessButton());
                        } else {
                            mLogger.logOpenOutputSwitcher(mUid, mPackageName, mInstanceId);
+24 −5
Original line number Diff line number Diff line
@@ -20,14 +20,14 @@ import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Mockito.mock;

import androidx.test.filters.SmallTest;

import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import androidx.test.filters.SmallTest;

import com.android.internal.logging.UiEventLogger;
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
@@ -44,18 +44,21 @@ import org.mockito.MockitoAnnotations;
@TestableLooper.RunWithLooper(setAsMainLooper = true)
public class BroadcastDialogTest extends SysuiTestCase {

    private static final String SWITCH_APP = "Music";
    private static final String CURRENT_BROADCAST_APP = "Music";
    private static final String SWITCH_APP = "Files by Google";
    private static final String TEST_PACKAGE = "com.google.android.apps.nbu.files";
    private BroadcastDialog mBroadcastDialog;
    private View mDialogView;
    private TextView mTitle;
    private TextView mSubTitle;
    private Button mSwitchBroadcastAppButton;
    private Button mChangeOutputButton;

    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        mBroadcastDialog = new BroadcastDialog(mContext, mock(MediaOutputDialogFactory.class),
                SWITCH_APP, TEST_PACKAGE, mock(UiEventLogger.class));
                CURRENT_BROADCAST_APP, TEST_PACKAGE, mock(UiEventLogger.class));
        mBroadcastDialog.show();
        mDialogView = mBroadcastDialog.mDialogView;
    }
@@ -66,13 +69,29 @@ public class BroadcastDialogTest extends SysuiTestCase {
    }

    @Test
    public void onCreate_withCurrentApp_checkSwitchAppContent() {
    public void onCreate_withCurrentApp_titleIsCurrentAppName() {
        mTitle = mDialogView.requireViewById(R.id.dialog_title);

        assertThat(mTitle.getText().toString()).isEqualTo(mContext.getString(
                R.string.bt_le_audio_broadcast_dialog_title, CURRENT_BROADCAST_APP));
    }

    @Test
    public void onCreate_withCurrentApp_subTitleIsSwitchAppName() {
        mSubTitle = mDialogView.requireViewById(R.id.dialog_subtitle);

        assertThat(mSubTitle.getText()).isEqualTo(
                mContext.getString(R.string.bt_le_audio_broadcast_dialog_sub_title, SWITCH_APP));
    }

    @Test
    public void onCreate_withCurrentApp_switchBtnIsSwitchAppName() {
        mSwitchBroadcastAppButton = mDialogView.requireViewById(R.id.switch_broadcast);

        assertThat(mSwitchBroadcastAppButton.getText().toString()).isEqualTo(
                mContext.getString(R.string.bt_le_audio_broadcast_dialog_switch_app, SWITCH_APP));
    }

    @Test
    public void onClick_withChangeOutput_dismissBroadcastDialog() {
        mChangeOutputButton = mDialogView.requireViewById(R.id.change_output);