Hide volume slider in Output Switcher when volume adjustment is restricted

-Check UserManager.DISALLOW_ADJUST_VOLUME
-Hide slider when unsupported

Bug: 153922342
Test: 1.Open CTS-V app > Device Owner Tests
2.install CtsEmptyDeviceOwner.apk -"adb install -r -t CtsEmptyDeviceOwner.apk"
3.enter the command "adb shell dpm set-device-owner com.android.cts.emptydeviceowner/.EmptyDeviceAdmin"
4.push Check device owner button
5.open Policy transparency test and go to Disallow adjust volume > Enable the switch > Open settings.

Change-Id: Iac2793ead6d93d4eaada19c4eec33885d4b97138
This commit is contained in:
Tim Peng
2020-04-20 14:53:48 +08:00
committed by tim peng
parent 12a838d1f6
commit 71dd32ded0
3 changed files with 44 additions and 6 deletions

View File

@@ -95,7 +95,8 @@ public class MediaOutputGroupSlice implements CustomSliceable {
GROUP_DEVICES.hashCode() + ACTION_MEDIA_SESSION_OPERATION,
ACTION_MEDIA_SESSION_OPERATION),
IconCompat.createWithBitmap(emptyBitmap), ListBuilder.ICON_IMAGE, "");
if (maxVolume > 0) { // Add InputRange row
if (maxVolume > 0 && !getWorker().hasAdjustVolumeUserRestriction()) {
// Add InputRange row
listBuilder.addInputRange(new ListBuilder.InputRangeBuilder()
.setTitleItem(titleIcon, ListBuilder.ICON_IMAGE)
.addEndItem(endItemAction)
@@ -119,6 +120,7 @@ public class MediaOutputGroupSlice implements CustomSliceable {
}
private void addRow(ListBuilder listBuilder, List<MediaDevice> mediaDevices, boolean selected) {
final boolean adjustVolumeUserRestriction = getWorker().hasAdjustVolumeUserRestriction();
for (MediaDevice device : mediaDevices) {
final int maxVolume = device.getMaxVolume();
final IconCompat titleIcon = Utils.createIconWithDrawable(device.getIcon());
@@ -133,7 +135,8 @@ public class MediaOutputGroupSlice implements CustomSliceable {
IconCompat.createWithResource(mContext, R.drawable.ic_check_box_anim),
"",
selected);
if (maxVolume > 0) { // Add InputRange row
if (maxVolume > 0 && !adjustVolumeUserRestriction) {
// Add InputRange row
final ListBuilder.InputRangeBuilder builder = new ListBuilder.InputRangeBuilder()
.setTitleItem(titleIcon, ListBuilder.ICON_IMAGE)
.setTitle(title)