From 06a6055a1c28307c9bf4128b53e884a69671b47c Mon Sep 17 00:00:00 2001 From: Evan Severson Date: Wed, 23 Jun 2021 21:08:52 -0700 Subject: [PATCH] Disable mic/cam quicksettings tiles when admin disallows Also add longpressing sends to privacy settings Test: Use test DPC app Bug: 184927615 Change-Id: I7a1a8e9601baeb59723999031e0171b896540491 --- .../android/systemui/qs/tiles/CameraToggleTile.java | 6 ++++++ .../systemui/qs/tiles/MicrophoneToggleTile.java | 6 ++++++ .../systemui/qs/tiles/SensorPrivacyToggleTile.java | 11 +++++++++-- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CameraToggleTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CameraToggleTile.java index 45c71744e0ec2..fa2d4447f26d2 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CameraToggleTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CameraToggleTile.java @@ -17,6 +17,7 @@ package com.android.systemui.qs.tiles; import static android.hardware.SensorPrivacyManager.Sensors.CAMERA; +import static android.os.UserManager.DISALLOW_CAMERA_TOGGLE; import static com.android.systemui.DejankUtils.whitelistIpcs; @@ -86,4 +87,9 @@ public class CameraToggleTile extends SensorPrivacyToggleTile { public @Sensor int getSensorId() { return CAMERA; } + + @Override + public String getRestriction() { + return DISALLOW_CAMERA_TOGGLE; + } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/MicrophoneToggleTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/MicrophoneToggleTile.java index 48a1ad673d763..f4f0b2cdc432a 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/MicrophoneToggleTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/MicrophoneToggleTile.java @@ -17,6 +17,7 @@ package com.android.systemui.qs.tiles; import static android.hardware.SensorPrivacyManager.Sensors.MICROPHONE; +import static android.os.UserManager.DISALLOW_MICROPHONE_TOGGLE; import static com.android.systemui.DejankUtils.whitelistIpcs; @@ -86,4 +87,9 @@ public class MicrophoneToggleTile extends SensorPrivacyToggleTile { public @Sensor int getSensorId() { return MICROPHONE; } + + @Override + public String getRestriction() { + return DISALLOW_MICROPHONE_TOGGLE; + } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/SensorPrivacyToggleTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/SensorPrivacyToggleTile.java index f13576c2d4cc4..fa73a73545f29 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/SensorPrivacyToggleTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/SensorPrivacyToggleTile.java @@ -20,6 +20,7 @@ import android.content.Intent; import android.hardware.SensorPrivacyManager.Sensors.Sensor; import android.os.Handler; import android.os.Looper; +import android.provider.Settings; import android.service.quicksettings.Tile; import android.view.View; import android.widget.Switch; @@ -61,6 +62,11 @@ public abstract class SensorPrivacyToggleTile extends QSTileImpl