Merge "Fix do not disturb bypass user restriction" into main

This commit is contained in:
Treehugger Robot
2023-07-10 02:44:53 +00:00
committed by Android (Google) Code Review
2 changed files with 38 additions and 3 deletions

View File

@@ -26,6 +26,8 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
import androidx.core.graphics.drawable.IconCompat;
@@ -40,6 +42,8 @@ import com.android.settings.Utils;
import com.android.settings.slices.CustomSliceRegistry;
import com.android.settings.slices.SliceBroadcastReceiver;
import com.android.settings.slices.SliceBuilderUtils;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.RestrictedLockUtilsInternal;
public class ZenModeSliceBuilder {
@@ -84,8 +88,11 @@ public class ZenModeSliceBuilder {
isZenModeEnabled);
final RowBuilder rowBuilder = new RowBuilder()
.setTitle(title)
.addEndItem(toggleSliceAction)
.setPrimaryAction(primarySliceAction);
if (!isManagedByAdmin(context)) {
rowBuilder.addEndItem(toggleSliceAction);
}
if (!Utils.isSettingsIntelligence(context)) {
rowBuilder.setSubtitle(subtitle);
}
@@ -152,4 +159,10 @@ public class ZenModeSliceBuilder {
return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE);
}
private static boolean isManagedByAdmin(Context context) {
EnforcedAdmin enforcedAdmin = RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
context, UserManager.DISALLOW_ADJUST_VOLUME, UserHandle.myUserId());
return enforcedAdmin != null;
}
}