diff --git a/src/com/android/settings/media/MediaDeviceUpdateWorker.java b/src/com/android/settings/media/MediaDeviceUpdateWorker.java index 14e82674c3b..dd27073d494 100644 --- a/src/com/android/settings/media/MediaDeviceUpdateWorker.java +++ b/src/com/android/settings/media/MediaDeviceUpdateWorker.java @@ -259,6 +259,10 @@ public class MediaDeviceUpdateWorker extends SliceBackgroundWorker return mLocalMediaManager.shouldDisableMediaOutput(packageName); } + boolean shouldEnableVolumeSeekBar(RoutingSessionInfo sessionInfo) { + return mLocalMediaManager.shouldEnableVolumeSeekBar(sessionInfo); + } + private class DevicesChangedBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { diff --git a/src/com/android/settings/media/RemoteMediaSlice.java b/src/com/android/settings/media/RemoteMediaSlice.java index e69c0050145..3d81c44b331 100644 --- a/src/com/android/settings/media/RemoteMediaSlice.java +++ b/src/com/android/settings/media/RemoteMediaSlice.java @@ -126,6 +126,12 @@ public class RemoteMediaSlice implements CustomSliceable { + maxVolume); continue; } + if (!getWorker().shouldEnableVolumeSeekBar(info)) { + // There is no disable state. We hide it directly. + Log.d(TAG, "Unable to add Slice. " + info.getName() + ": This is a group session"); + continue; + } + final CharSequence appName = Utils.getApplicationLabel( mContext, info.getClientPackageName()); final CharSequence outputTitle = mContext.getString(R.string.media_output_label_title, diff --git a/src/com/android/settings/notification/RemoteVolumeGroupController.java b/src/com/android/settings/notification/RemoteVolumeGroupController.java index dd6f5160122..3d8d261aa08 100644 --- a/src/com/android/settings/notification/RemoteVolumeGroupController.java +++ b/src/com/android/settings/notification/RemoteVolumeGroupController.java @@ -129,6 +129,7 @@ public class RemoteVolumeGroupController extends BasePreferenceController implem seekBarPreference.setMin(0); seekBarPreference.setOnPreferenceChangeListener(this); seekBarPreference.setIcon(R.drawable.ic_volume_remote); + seekBarPreference.setEnabled(mLocalMediaManager.shouldEnableVolumeSeekBar(info)); mPreferenceCategory.addPreference(seekBarPreference); }