Redirect to output switcher panel to the new dialog

-Redirect for Cast button
-Send intent when call MediaOutputPanel::create()
-Return null to finish the activity

Bug: 172178632
Test: make -j50 RunSettingsRoboTests
Merged-In: I1038e237113f433c847aff98a45b1dd6089d80a8
Change-Id: I1038e237113f433c847aff98a45b1dd6089d80a8
This commit is contained in:
timhypeng
2020-11-02 12:19:31 +08:00
committed by tim peng
parent 6472c98ffa
commit 7207584d6c
3 changed files with 15 additions and 17 deletions

View File

@@ -44,6 +44,7 @@ import com.android.settings.Utils;
import com.android.settingslib.media.InfoMediaDevice; import com.android.settingslib.media.InfoMediaDevice;
import com.android.settingslib.media.LocalMediaManager; import com.android.settingslib.media.LocalMediaManager;
import com.android.settingslib.media.MediaDevice; import com.android.settingslib.media.MediaDevice;
import com.android.settingslib.media.MediaOutputSliceConstants;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -72,7 +73,12 @@ public class MediaOutputPanel implements PanelContent, LocalMediaManager.DeviceC
private MediaController mMediaController; private MediaController mMediaController;
public static MediaOutputPanel create(Context context, String packageName) { public static MediaOutputPanel create(Context context, String packageName) {
return new MediaOutputPanel(context, packageName); // Redirect to new media output dialog
context.sendBroadcast(new Intent()
.setPackage(MediaOutputSliceConstants.SYSTEMUI_PACKAGE_NAME)
.setAction(MediaOutputSliceConstants.ACTION_LAUNCH_MEDIA_OUTPUT_DIALOG)
.putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME, packageName));
return null;
} }
private MediaOutputPanel(Context context, String packageName) { private MediaOutputPanel(Context context, String packageName) {

View File

@@ -436,6 +436,7 @@ public class PanelFragment extends Fragment {
if (mLayoutView != null) { if (mLayoutView != null) {
mLayoutView.getViewTreeObserver().removeOnGlobalLayoutListener(mPanelLayoutListener); mLayoutView.getViewTreeObserver().removeOnGlobalLayoutListener(mPanelLayoutListener);
} }
if (mPanel != null) {
mMetricsProvider.action( mMetricsProvider.action(
0 /* attribution */, 0 /* attribution */,
SettingsEnums.PAGE_HIDE, SettingsEnums.PAGE_HIDE,
@@ -443,6 +444,7 @@ public class PanelFragment extends Fragment {
mPanelClosedKey, mPanelClosedKey,
0 /* value */); 0 /* value */);
} }
}
@VisibleForTesting @VisibleForTesting
View.OnClickListener getSeeMoreListener() { View.OnClickListener getSeeMoreListener() {

View File

@@ -19,7 +19,6 @@ package com.android.settings.panel;
import static com.android.settings.panel.SettingsPanelActivity.KEY_MEDIA_PACKAGE_NAME; import static com.android.settings.panel.SettingsPanelActivity.KEY_MEDIA_PACKAGE_NAME;
import static com.android.settings.panel.SettingsPanelActivity.KEY_PANEL_TYPE_ARGUMENT; import static com.android.settings.panel.SettingsPanelActivity.KEY_PANEL_TYPE_ARGUMENT;
import static com.android.settingslib.media.MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
@@ -67,13 +66,4 @@ public class PanelFeatureProviderImplTest {
assertThat(panel).isInstanceOf(VolumePanel.class); assertThat(panel).isInstanceOf(VolumePanel.class);
} }
@Test
public void getPanel_mediaOutputKey_returnsCorrectPanel() {
mBundle.putString(KEY_PANEL_TYPE_ARGUMENT, ACTION_MEDIA_OUTPUT);
final PanelContent panel = mProvider.getPanel(mContext, mBundle);
assertThat(panel).isInstanceOf(MediaOutputPanel.class);
}
} }