diff options
author | 2025-02-04 12:23:52 -0800 | |
---|---|---|
committer | 2025-02-04 12:23:52 -0800 | |
commit | 6dfdb7d5fe86129285f57f8cc662b395e6d82d68 (patch) | |
tree | f52502b290c72abbefabe7976656a1b74beba3bc | |
parent | 2ed7c4c3e74acd854ff955afb684cfcb9b40963e (diff) | |
parent | 6528c0e84b59fc903bec19c7c6261768e2d47ea0 (diff) |
Merge "Health: Enabled HealthConnect PrivacyDashboard on Wear" into main
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 |