From 99dd4d84e3d4c74198526796afdbd2d0165c4dfb Mon Sep 17 00:00:00 2001 From: Derek Jedral Date: Thu, 6 Feb 2025 21:00:01 +0000 Subject: Rename output switcher grouping flag This flag was originally not listed as a bugfix. The suggestion from the release team is to re-define the flag. Test: atest Bug: 394907674 Flag: com.android.media.flags.enable_output_switcher_device_grouping Change-Id: Icb50a5a013c29b0a3267b8b1ca192f05f0ecfcc0 --- .../android/media/flags/media_better_together.aconfig | 10 ++++++++++ .../android/settingslib/media/InfoMediaManager.java | 8 ++++---- .../settingslib/media/InfoMediaManagerTest.java | 8 ++++---- .../systemui/media/dialog/MediaOutputAdapterTest.java | 18 +++++++++--------- .../systemui/media/dialog/MediaOutputAdapter.java | 6 +++--- .../media/dialog/MediaSwitchingController.java | 2 +- .../media/dialog/MediaSwitchingControllerTest.java | 6 +++--- 7 files changed, 34 insertions(+), 24 deletions(-) diff --git a/media/java/android/media/flags/media_better_together.aconfig b/media/java/android/media/flags/media_better_together.aconfig index 2a6919c5e03d..0deed3982d9b 100644 --- a/media/java/android/media/flags/media_better_together.aconfig +++ b/media/java/android/media/flags/media_better_together.aconfig @@ -144,6 +144,16 @@ flag { } } +flag { + name: "enable_output_switcher_device_grouping" + namespace: "media_better_together" + description: "Enables selected items in Output Switcher to be grouped together." + bug: "388347018" + metadata { + purpose: PURPOSE_BUGFIX + } +} + flag { name: "enable_prevention_of_keep_alive_route_providers" namespace: "media_solutions" diff --git a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java index 69e41a36f48f..aa84571c73d0 100644 --- a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java +++ b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java @@ -779,7 +779,7 @@ public abstract class InfoMediaManager { static List composePreferenceRouteListing( RouteListingPreference routeListingPreference) { boolean preferRouteListingOrdering = - com.android.media.flags.Flags.enableOutputSwitcherSessionGrouping() + com.android.media.flags.Flags.enableOutputSwitcherDeviceGrouping() && preferRouteListingOrdering(routeListingPreference); List finalizedItemList = new ArrayList<>(); List itemList = routeListingPreference.getItems(); @@ -814,7 +814,7 @@ public abstract class InfoMediaManager { * Returns an ordered list of available devices based on the provided {@code * routeListingPreferenceItems}. * - *

The resulting order if enableOutputSwitcherSessionGrouping is disabled is: + *

The resulting order if enableOutputSwitcherDeviceGrouping is disabled is: * *

    *
  1. Selected routes. @@ -822,7 +822,7 @@ public abstract class InfoMediaManager { *
  2. Not-selected, non-system, available routes sorted by route listing preference. *
* - *

The resulting order if enableOutputSwitcherSessionGrouping is enabled is: + *

The resulting order if enableOutputSwitcherDeviceGrouping is enabled is: * *

    *
  1. Selected routes sorted by route listing preference. @@ -848,7 +848,7 @@ public abstract class InfoMediaManager { Set sortedRouteIds = new LinkedHashSet<>(); boolean addSelectedRlpItemsFirst = - com.android.media.flags.Flags.enableOutputSwitcherSessionGrouping() + com.android.media.flags.Flags.enableOutputSwitcherDeviceGrouping() && preferRouteListingOrdering(routeListingPreference); Set selectedRouteIds = new HashSet<>(); diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java index 93ebc84374b2..7b6604b3f1c6 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java @@ -942,7 +942,7 @@ public class InfoMediaManagerTest { assertThat(mInfoMediaManager.getCurrentConnectedDevice()).isEqualTo(device); } - @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void composePreferenceRouteListing_useSystemOrderingIsFalse() { RouteListingPreference routeListingPreference = @@ -955,7 +955,7 @@ public class InfoMediaManagerTest { assertThat(routeOrder.get(1).getRouteId()).isEqualTo(TEST_ID_4); } - @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void composePreferenceRouteListing_useSystemOrderingIsTrue() { RouteListingPreference routeListingPreference = @@ -968,7 +968,7 @@ public class InfoMediaManagerTest { assertThat(routeOrder.get(1).getRouteId()).isEqualTo(TEST_ID_3); } - @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void arrangeRouteListByPreference_useSystemOrderingIsFalse() { RouteListingPreference routeListingPreference = @@ -986,7 +986,7 @@ public class InfoMediaManagerTest { assertThat(routeOrder.get(3).getId()).isEqualTo(TEST_ID_1); } - @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void arrangeRouteListByPreference_useSystemOrderingIsTrue() { RouteListingPreference routeListingPreference = diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/dialog/MediaOutputAdapterTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/dialog/MediaOutputAdapterTest.java index 8e8867b80dc2..847044aa405e 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/dialog/MediaOutputAdapterTest.java +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/dialog/MediaOutputAdapterTest.java @@ -166,7 +166,7 @@ public class MediaOutputAdapterTest extends SysuiTestCase { mContext.getText(R.string.media_output_dialog_pairing_new).toString()); } - @DisableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @DisableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void onBindViewHolder_bindGroup_withSessionName_verifyView() { when(mMediaSwitchingController.getSelectedMediaDevice()) @@ -188,7 +188,7 @@ public class MediaOutputAdapterTest extends SysuiTestCase { assertThat(mViewHolder.mCheckBox.getVisibility()).isEqualTo(View.VISIBLE); } - @DisableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @DisableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void onBindViewHolder_bindGroup_noSessionName_verifyView() { when(mMediaSwitchingController.getSelectedMediaDevice()) @@ -237,7 +237,7 @@ public class MediaOutputAdapterTest extends SysuiTestCase { assertThat(mViewHolder.mSeekBar.getVisibility()).isEqualTo(View.VISIBLE); } - @DisableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @DisableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void onBindViewHolder_bindConnectedRemoteDevice_verifyView() { when(mMediaSwitchingController.getSelectableMediaDevice()) @@ -818,7 +818,7 @@ public class MediaOutputAdapterTest extends SysuiTestCase { verify(mMediaSwitchingController).removeDeviceFromPlayMedia(mMediaDevice1); } - @DisableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @DisableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void onBindViewHolder_hasVolumeAdjustmentRestriction_verifySeekbarDisabled() { when(mMediaSwitchingController.getSelectedMediaDevice()).thenReturn( @@ -935,7 +935,7 @@ public class MediaOutputAdapterTest extends SysuiTestCase { .isEqualTo(R.drawable.media_output_icon_volume); } - @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void multipleSelectedDevices_verifySessionView() { initializeSession(); @@ -956,7 +956,7 @@ public class MediaOutputAdapterTest extends SysuiTestCase { assertThat(mViewHolder.mSeekBar.getVolume()).isEqualTo(TEST_CURRENT_VOLUME); } - @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void multipleSelectedDevices_verifyCollapsedView() { initializeSession(); @@ -970,7 +970,7 @@ public class MediaOutputAdapterTest extends SysuiTestCase { assertThat(mViewHolder.mEndTouchArea.getVisibility()).isEqualTo(View.GONE); } - @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void multipleSelectedDevices_expandIconClicked_verifyInitialView() { initializeSession(); @@ -993,7 +993,7 @@ public class MediaOutputAdapterTest extends SysuiTestCase { assertThat(mViewHolder.mTitleText.getText().toString()).isEqualTo(TEST_DEVICE_NAME_1); } - @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void multipleSelectedDevices_expandIconClicked_verifyCollapsedView() { initializeSession(); @@ -1016,7 +1016,7 @@ public class MediaOutputAdapterTest extends SysuiTestCase { assertThat(mViewHolder.mTitleText.getText().toString()).isEqualTo(TEST_DEVICE_NAME_2); } - @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void deviceCanNotBeDeselected_verifyView() { List selectedDevices = new ArrayList<>(); diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java index c9740811101b..be814aecc42b 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java @@ -58,7 +58,7 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter { private static final float DEVICE_DISABLED_ALPHA = 0.5f; private static final float DEVICE_ACTIVE_ALPHA = 1f; protected List mMediaItemList = new CopyOnWriteArrayList<>(); - private boolean mShouldGroupSelectedMediaItems = Flags.enableOutputSwitcherSessionGrouping(); + private boolean mShouldGroupSelectedMediaItems = Flags.enableOutputSwitcherDeviceGrouping(); public MediaOutputAdapter(MediaSwitchingController controller) { super(controller); @@ -333,7 +333,7 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter { } private boolean shouldShowGroupCheckbox(@NonNull GroupStatus groupStatus) { - if (Flags.enableOutputSwitcherSessionGrouping()) { + if (Flags.enableOutputSwitcherDeviceGrouping()) { return isGroupCheckboxEnabled(groupStatus); } return true; @@ -391,7 +391,7 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter { if (drawable instanceof AnimatedVectorDrawable) { ((AnimatedVectorDrawable) drawable).start(); } - if (Flags.enableOutputSwitcherSessionGrouping()) { + if (Flags.enableOutputSwitcherDeviceGrouping()) { mEndClickIcon.setContentDescription(mContext.getString(accessibilityStringId)); } } diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaSwitchingController.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaSwitchingController.java index 51437b3bbdaf..9d375809786a 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaSwitchingController.java +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaSwitchingController.java @@ -733,7 +733,7 @@ public class MediaSwitchingController selectedDevicesIds.add(connectedMediaDevice.getId()); } boolean groupSelectedDevices = - com.android.media.flags.Flags.enableOutputSwitcherSessionGrouping(); + com.android.media.flags.Flags.enableOutputSwitcherDeviceGrouping(); int nextSelectedItemIndex = 0; boolean suggestedDeviceAdded = false; boolean displayGroupAdded = false; diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaSwitchingControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaSwitchingControllerTest.java index 86094d1a0fef..88c2697fe2f2 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaSwitchingControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaSwitchingControllerTest.java @@ -1519,7 +1519,7 @@ public class MediaSwitchingControllerTest extends SysuiTestCase { assertThat(getNumberOfConnectDeviceButtons()).isEqualTo(1); } - @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void selectedDevicesAddedInSameOrder() { when(mLocalMediaManager.isPreferenceRouteListingExist()).thenReturn(true); @@ -1537,7 +1537,7 @@ public class MediaSwitchingControllerTest extends SysuiTestCase { assertThat(items.get(1).getMediaDevice().get()).isEqualTo(mMediaDevice2); } - @DisableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @DisableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void selectedDevicesAddedInReverseOrder() { when(mLocalMediaManager.isPreferenceRouteListingExist()).thenReturn(true); @@ -1555,7 +1555,7 @@ public class MediaSwitchingControllerTest extends SysuiTestCase { assertThat(items.get(1).getMediaDevice().get()).isEqualTo(mMediaDevice1); } - @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_SESSION_GROUPING) + @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_DEVICE_GROUPING) @Test public void firstSelectedDeviceIsFirstDeviceInGroupIsTrue() { when(mLocalMediaManager.isPreferenceRouteListingExist()).thenReturn(true); -- cgit v1.2.3-59-g8ed1b