summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java11
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageScreen.kt9
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/utils/Utils.java14
3 files changed, 32 insertions, 2 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java
index 36917fbf1..0af7cf2ec 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java
@@ -42,6 +42,7 @@ import android.os.Bundle;
import android.os.Process;
import android.os.UserHandle;
import android.permission.PermissionManager;
+import android.permission.flags.Flags;
import android.provider.Settings;
import android.safetycenter.SafetyCenterManager;
import android.safetycenter.SafetyEvent;
@@ -450,7 +451,15 @@ public final class ManagePermissionsActivity extends SettingsActivity {
if (Utils.isHealthPermissionUiEnabled() && permissionGroupName
.equals(HEALTH_PERMISSION_GROUP)) {
- Utils.navigateToHealthConnectSettings(this);
+ // On Handheld, PrivacyDashboard and PermissionManager have the same UI.
+ // On Wear, PrivacyDashboard and PermissionManager have different UI,
+ // PermissionController needs to add an extra in the intent to instruct
+ // HealthConnect how to differentiate.
+ if (DeviceUtils.isWear(this) && Flags.replaceBodySensorPermissionEnabled()) {
+ Utils.navigateToWearHealthConnectSettingsPrivacyDashboard(this);
+ } else {
+ Utils.navigateToHealthConnectSettings(this);
+ }
finishAfterTransition();
return;
}
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageScreen.kt
index b331e197b..8631d8b20 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageScreen.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageScreen.kt
@@ -17,6 +17,7 @@
package com.android.permissioncontroller.permission.ui.wear
import android.os.Build
+import android.permission.flags.Flags
import androidx.annotation.RequiresApi
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.runtime.Composable
@@ -70,7 +71,13 @@ fun WearPermissionUsageScreen(sessionId: Long, viewModel: PermissionUsageViewMod
val permissionGroupPreferences =
permissionGroupWithUsageCountsEntries
// Removing Health Connect from the list of permissions to fix b/331260850
- .filterNot { Utils.isHealthPermissionGroup(it.key) }
+ .let {
+ if (Flags.replaceBodySensorPermissionEnabled()) {
+ it
+ } else {
+ it.filterNot { Utils.isHealthPermissionGroup(it.key) }
+ }
+ }
.map {
PermissionUsageControlPreference(
context,
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/utils/Utils.java b/PermissionController/src/com/android/permissioncontroller/permission/utils/Utils.java
index aae5cb82c..38495f3b3 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/utils/Utils.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/utils/Utils.java
@@ -35,6 +35,7 @@ import static android.app.AppOpsManager.MODE_ALLOWED;
import static android.app.AppOpsManager.OPSTR_LEGACY_STORAGE;
import static android.content.Context.MODE_PRIVATE;
import static android.content.Intent.EXTRA_PACKAGE_NAME;
+import static android.content.Intent.EXTRA_REASON;
import static android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT;
import static android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT;
import static android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT;
@@ -1502,6 +1503,19 @@ public final class Utils {
context.startActivity(healthConnectIntent);
}
+
+ /**
+ * Navigate to health connect settings Wear privacy dashboard.
+ *
+ * @param context The current Context
+ */
+ public static void navigateToWearHealthConnectSettingsPrivacyDashboard(
+ @NonNull Context context) {
+ Intent privacyDashboardHealthConnectIntent = new Intent(ACTION_MANAGE_HEALTH_PERMISSIONS);
+ privacyDashboardHealthConnectIntent.putExtra(EXTRA_REASON, "privacy_dashboard");
+ context.startActivity(privacyDashboardHealthConnectIntent);
+ }
+
/**
* Navigate to health connect settings for an app
* @param context The current Context