summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author mrulhania <mrulhania@google.com> 2023-08-30 09:21:00 -0700
committer Manjeet Rulhania <mrulhania@google.com> 2024-01-12 00:05:01 +0000
commitc02e03ab4c3884a661be0d4062a269f6657913fd (patch)
tree08d6354b296dff805f02629df8282f664ae02893
parent5547da50b08d696a49b79a881cea77e48985a266 (diff)
Fix privacy controls redirection
When camera/mic global indicators are disabled, then clicking on sensor warning banner, long press on camera/mic QS tile or notification are redirecting user to safety center home page, when safety center is enabled, This leaves the user confused if they wish to switch/enable camera/mic global toggle. Relnote: Fix privacy controls redirection when safety center is enabled. Bug: 289038596 Test: atest SensorBlockedBannerTest (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:337fe28f9dadf94839e773d185da66a0aefdae44) Merged-In: Idf37d83b2572eab863f2c2c09ddddeb5cc619008 Change-Id: Idf37d83b2572eab863f2c2c09ddddeb5cc619008
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionAppsFragment.java25
1 files changed, 23 insertions, 2 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionAppsFragment.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionAppsFragment.java
index 6bcf926d3..ba839ee0e 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionAppsFragment.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionAppsFragment.java
@@ -35,6 +35,7 @@ import android.os.Handler;
import android.os.Looper;
import android.os.UserHandle;
import android.provider.Settings;
+import android.safetycenter.SafetyCenterManager;
import android.util.ArrayMap;
import android.view.Menu;
import android.view.MenuInflater;
@@ -93,6 +94,8 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem
private static final int MENU_PERMISSION_USAGE = MENU_HIDE_SYSTEM + 1;
+ private static final String PRIVACY_CONTROLS_ACTION = "android.settings.PRIVACY_CONTROLS";
+
/**
* Create a bundle with the arguments needed by this fragment
*
@@ -281,12 +284,30 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem
findPreference(ALLOWED_FOREGROUND.getCategoryName()).setVisible(false);
}
+ @RequiresApi(Build.VERSION_CODES.TIRAMISU)
+ private String getPrivacyControlsIntent() {
+ SafetyCenterManager safetyCenterManager =
+ getContext().getSystemService(SafetyCenterManager.class);
+ if (safetyCenterManager.isSafetyCenterEnabled()) {
+ return PRIVACY_CONTROLS_ACTION;
+ } else {
+ return Settings.ACTION_PRIVACY_SETTINGS;
+ }
+ }
+
@RequiresApi(Build.VERSION_CODES.S)
private CardViewPreference createSensorCard() {
boolean isLocation = Manifest.permission_group.LOCATION.equals(mPermGroupName);
Context context = getPreferenceManager().getContext();
- String action = isLocation ? Settings.ACTION_LOCATION_SOURCE_SETTINGS
- : Settings.ACTION_PRIVACY_SETTINGS;
+
+ String action;
+ if (isLocation) {
+ action = Settings.ACTION_LOCATION_SOURCE_SETTINGS;
+ } else if (SdkLevel.isAtLeastT()) {
+ action = getPrivacyControlsIntent();
+ } else {
+ action = Settings.ACTION_PRIVACY_SETTINGS;
+ }
CardViewPreference sensorCard = new CardViewPreference(context, action);
sensorCard.setKey(BLOCKED_SENSOR_PREF_KEY);
sensorCard.setIcon(Utils.getBlockedIcon(mPermGroupName));