Loading packages/SystemUI/src/com/android/systemui/bluetooth/BroadcastDialog.java +10 −12 Original line number Diff line number Diff line Loading @@ -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"); Loading @@ -58,7 +58,7 @@ public class BroadcastDialog extends SystemUIDialog { mContext = getContext(); mMediaOutputDialogFactory = mediaOutputDialogFactory; mSwitchBroadcastApp = switchBroadcastApp; mCurrentBroadcastApp = currentBroadcastApp; mOutputPackageName = outputPkgName; mUiEventLogger = uiEventLogger; } Loading @@ -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(); Loading packages/SystemUI/src/com/android/systemui/bluetooth/BroadcastDialogController.java +7 −2 Original line number Diff line number Diff line Loading @@ -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 { Loading packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java +5 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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); Loading packages/SystemUI/tests/src/com/android/systemui/bluetooth/BroadcastDialogTest.java +24 −5 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; } Loading @@ -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); Loading Loading
packages/SystemUI/src/com/android/systemui/bluetooth/BroadcastDialog.java +10 −12 Original line number Diff line number Diff line Loading @@ -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"); Loading @@ -58,7 +58,7 @@ public class BroadcastDialog extends SystemUIDialog { mContext = getContext(); mMediaOutputDialogFactory = mediaOutputDialogFactory; mSwitchBroadcastApp = switchBroadcastApp; mCurrentBroadcastApp = currentBroadcastApp; mOutputPackageName = outputPkgName; mUiEventLogger = uiEventLogger; } Loading @@ -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(); Loading
packages/SystemUI/src/com/android/systemui/bluetooth/BroadcastDialogController.java +7 −2 Original line number Diff line number Diff line Loading @@ -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 { Loading
packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java +5 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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); Loading
packages/SystemUI/tests/src/com/android/systemui/bluetooth/BroadcastDialogTest.java +24 −5 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; } Loading @@ -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); Loading