Re-enable volume control for non-grouped devices

Bug: 197586676
Bug: 202500642
Test: make -j50 RunSettingsRoboTests
Merged-In: I7740d78f3a7dca62d64e6cf7b8c9ffa1578c8e74
Change-Id: I7740d78f3a7dca62d64e6cf7b8c9ffa1578c8e74
(cherry picked from commit b7f52f4468a1daa7408e44fafb362b54eec20897)
Merged-In:I7740d78f3a7dca62d64e6cf7b8c9ffa1578c8e74
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java
index 3c43f4a6..a383c1e 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java
@@ -70,6 +70,7 @@
     MediaRouter2Manager mRouterManager;
     @VisibleForTesting
     String mPackageName;
+    private final boolean mVolumeAdjustmentForRemoteGroupSessions;
 
     private MediaDevice mCurrentConnectedDevice;
     private LocalBluetoothManager mBluetoothManager;
@@ -83,6 +84,9 @@
         if (!TextUtils.isEmpty(packageName)) {
             mPackageName = packageName;
         }
+
+        mVolumeAdjustmentForRemoteGroupSessions = context.getResources().getBoolean(
+                com.android.internal.R.bool.config_volumeAdjustmentForRemoteGroupSessions);
     }
 
     @Override
@@ -387,7 +391,9 @@
 
     @TargetApi(Build.VERSION_CODES.R)
     boolean shouldEnableVolumeSeekBar(RoutingSessionInfo sessionInfo) {
-        return false;
+        return sessionInfo.isSystemSession() // System sessions are not remote
+                || mVolumeAdjustmentForRemoteGroupSessions
+                || sessionInfo.getSelectedRoutes().size() <= 1;
     }
 
     private void refreshDevices() {