[Safer intents] Permission controller

To avoid implicit intents, make intents launch explicitly.

Test: build, manual
Bug: 323061508
Change-Id: Ib95b417fc8682f690890fc55f321b4fece2c0369
This commit is contained in:
Jason Chiu
2024-03-27 12:25:32 +08:00
parent 67bfb4141f
commit cf13dfd4c6
22 changed files with 182 additions and 49 deletions

View File

@@ -58,9 +58,7 @@
android:key="default_apps"
android:title="@string/app_default_dashboard_title"
android:order="-996"
settings:controller="com.android.settings.applications.DefaultAppsPreferenceController">
<intent android:action="android.settings.MANAGE_DEFAULT_APPS_SETTINGS"/>
</Preference>
settings:controller="com.android.settings.applications.DefaultAppsPreferenceController"/>
<Preference
android:key="cloned_apps"
@@ -85,9 +83,7 @@
android:summary="@string/summary_placeholder"
android:order="15"
settings:keywords="app_hibernation_key"
settings:controller="com.android.settings.applications.HibernatedAppsPreferenceController">
<intent android:action="android.intent.action.MANAGE_UNUSED_APPS"/>
</Preference>
settings:controller="com.android.settings.applications.HibernatedAppsPreferenceController"/>
<Preference
android:key="app_battery_usage"

View File

@@ -61,12 +61,7 @@
<Preference
android:key="app_level_permissions"
android:title="@string/location_app_level_permissions"
settings:controller="com.android.settings.location.AppLocationPermissionPreferenceController">
<intent android:action="android.intent.action.MANAGE_PERMISSION_APPS">
<extra android:name="android.intent.extra.PERMISSION_NAME"
android:value="android.permission-group.LOCATION"/>
</intent>
</Preference>
settings:controller="com.android.settings.location.AppLocationPermissionPreferenceController"/>
<Preference
android:fragment="com.android.settings.location.LocationServices"

View File

@@ -38,14 +38,9 @@
<!-- This preference category gets removed if new_recent_location_ui is disabled -->
<Preference
android:key="app_level_permissions"
android:key="app_level_permissions_personal"
android:title="@string/location_app_level_permissions"
settings:controller="com.android.settings.location.AppLocationPermissionPreferenceController">
<intent android:action="android.intent.action.MANAGE_PERMISSION_APPS">
<extra android:name="android.intent.extra.PERMISSION_GROUP_NAME"
android:value="android.permission-group.LOCATION"/>
</intent>
</Preference>
settings:controller="com.android.settings.location.AppLocationPermissionPreferenceController"/>
<Preference
android:key="location_services"

View File

@@ -46,14 +46,9 @@
<!-- This preference category gets removed if new_recent_location_ui is disabled -->
<Preference
android:key="app_level_permissions"
android:key="app_level_permissions_work"
android:title="@string/location_app_level_permissions"
settings:controller="com.android.settings.location.AppLocationPermissionPreferenceController">
<intent android:action="android.intent.action.MANAGE_PERMISSION_APPS">
<extra android:name="android.intent.extra.PERMISSION_GROUP_NAME"
android:value="android.permission-group.LOCATION"/>
</intent>
</Preference>
settings:controller="com.android.settings.location.AppLocationPermissionPreferenceController"/>
<Preference
android:key="location_services_for_work"

View File

@@ -74,9 +74,7 @@
<Preference
android:key="privacy_accessibility_usage"
android:title="@string/accessibility_usage_title"
settings:controller="com.android.settings.privacy.AccessibilityUsagePreferenceController">
<intent android:action="android.intent.action.REVIEW_ACCESSIBILITY_SERVICES"/>
</Preference>
settings:controller="com.android.settings.privacy.AccessibilityUsagePreferenceController"/>
<!-- On lock screen notifications -->
<com.android.settings.RestrictedListPreference

View File

@@ -40,35 +40,28 @@
<Preference
android:key="privacy_accessibility_usage"
android:title="@string/accessibility_usage_title"
settings:controller="com.android.settings.privacy.AccessibilityUsagePreferenceController">
<intent android:action="android.intent.action.REVIEW_ACCESSIBILITY_SERVICES"/>
</Preference>
settings:controller="com.android.settings.privacy.AccessibilityUsagePreferenceController"/>
<!-- Permissions usage -->
<Preference
android:key="privacy_permissions_usage"
android:title="@string/permissions_usage_title"
android:summary="@string/permissions_usage_summary"
settings:controller="com.android.settings.privacy.PrivacyHubPreferenceController">
<intent android:action="android.intent.action.REVIEW_PERMISSION_USAGE"/>
</Preference>
settings:controller="com.android.settings.privacy.PrivacyHubPreferenceController"/>
<!-- App permissions -->
<Preference
android:key="privacy_manage_perms"
android:title="@string/app_permissions"
android:summary="@string/runtime_permissions_summary_control_app_access">
<intent android:action="android.intent.action.MANAGE_PERMISSIONS"/>
</Preference>
android:summary="@string/runtime_permissions_summary_control_app_access"
settings:controller="com.android.settings.privacy.ManagePermissionsPreferenceController"/>
<!-- App Data Sharing Update -->
<Preference
android:key="privacy_app_data_sharing_updates"
android:title="@string/app_data_sharing_updates_title"
android:summary="@string/app_data_sharing_updates_summary"
settings:controller="com.android.settings.privacy.AppDataSharingUpdatesPreferenceController">
<intent android:action="android.intent.action.REVIEW_APP_DATA_SHARING_UPDATES"/>
</Preference>
settings:controller="com.android.settings.privacy.AppDataSharingUpdatesPreferenceController"/>
<!-- Camera toggle -->