Disable entry point of output switcher
It adds a minimum value if it shows only one available cast device in the output switcher. Because users can only change the volume slider or stop control in the output switcher. It's too hidden to have the user stop cast in the UI. - This CL will disable the entry point of the output switcher if there is only one available cast device in the list. - Update test cases. Bug: 163095048 Test: make -j42 RunSettingsRoboTests Change-Id: I8906878e1ba769d6940041f17d83b5de6b2a32c0
This commit is contained in:
@@ -18,6 +18,7 @@ package com.android.settings.notification;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.media.MediaRouter2Manager;
|
||||
import android.media.RoutingSessionInfo;
|
||||
import android.text.TextUtils;
|
||||
|
||||
@@ -57,6 +58,8 @@ public class RemoteVolumeGroupController extends BasePreferenceController implem
|
||||
|
||||
@VisibleForTesting
|
||||
LocalMediaManager mLocalMediaManager;
|
||||
@VisibleForTesting
|
||||
MediaRouter2Manager mRouterManager;
|
||||
|
||||
public RemoteVolumeGroupController(Context context, String preferenceKey) {
|
||||
super(context, preferenceKey);
|
||||
@@ -65,6 +68,7 @@ public class RemoteVolumeGroupController extends BasePreferenceController implem
|
||||
mLocalMediaManager.registerCallback(this);
|
||||
mLocalMediaManager.startScan();
|
||||
}
|
||||
mRouterManager = MediaRouter2Manager.getInstance(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -111,8 +115,10 @@ public class RemoteVolumeGroupController extends BasePreferenceController implem
|
||||
if (mPreferenceCategory.findPreference(info.getId()) != null) {
|
||||
continue;
|
||||
}
|
||||
final CharSequence appName = Utils.getApplicationLabel(
|
||||
mContext, info.getClientPackageName());
|
||||
final CharSequence outputTitle = mContext.getString(R.string.media_output_label_title,
|
||||
Utils.getApplicationLabel(mContext, info.getClientPackageName()));
|
||||
appName);
|
||||
// Add slider
|
||||
final RemoteVolumeSeekBarPreference seekBarPreference =
|
||||
new RemoteVolumeSeekBarPreference(mContext);
|
||||
@@ -125,10 +131,13 @@ public class RemoteVolumeGroupController extends BasePreferenceController implem
|
||||
seekBarPreference.setIcon(R.drawable.ic_volume_remote);
|
||||
mPreferenceCategory.addPreference(seekBarPreference);
|
||||
// Add output indicator
|
||||
final boolean isMediaOutputDisabled = Utils.isMediaOutputDisabled(
|
||||
mRouterManager, info.getClientPackageName());
|
||||
final Preference preference = new Preference(mContext);
|
||||
preference.setKey(SWITCHER_PREFIX + info.getId());
|
||||
preference.setTitle(outputTitle);
|
||||
preference.setTitle(isMediaOutputDisabled ? appName : outputTitle);
|
||||
preference.setSummary(info.getName());
|
||||
preference.setEnabled(!isMediaOutputDisabled);
|
||||
mPreferenceCategory.addPreference(preference);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user