Files
app_Settings/res/xml/app_info_settings.xml
Suprabh Shukla 3f5bd0931e Changes to 'Alarms & reminders' permission setting
Not showing apps that are targeting SDK < 31, because the change is not
enabled for them.

Now alarm manager service manages killing the process whenever the
permission gets revoked, so we don't need to do it here.
This also lets us kill the app on "Reset app preferences" if needed.

Adding the preference under "Advanced" in the app info page so it
appears for apps that have requested this permission.

Test: atest SettingsUnitTests:AppStateAlarmsAndRemindersBridgeTest
make -j64 RunSettingsRoboTests \
ROBOTEST_FILTER="AlarmsAndRemindersDetailsTest|
AlarmsAndRemindersDetailPreferenceControllerTest"

Manually:
- There should be no observable difference in behavior when
toggling the setting. ActivityManager logs should still indicate that
the app is killed when the permission is revoked.
- "Alarms & Reminders" should appear under "Advanced" when looking at
the app info detail of an app that appears under "Alarms & reminders"
special app access page.

Bug: 179541791
Bug: 190070171
Change-Id: I2d437cec10ee10e4326fb25b2820de9ef9c31c67
2021-06-10 22:53:05 -07:00

208 lines
8.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2017 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:key="installed_app_detail_settings_screen">
<com.android.settingslib.widget.LayoutPreference
android:key="header_view"
android:layout="@layout/settings_entity_header"
android:selectable="false"
android:order="-10000" />
<com.android.settingslib.widget.LayoutPreference
android:key="instant_app_buttons"
android:layout="@layout/instant_app_buttons"
android:selectable="false"
android:order="-9999" />
<com.android.settingslib.widget.ActionButtonsPreference
android:key="action_buttons"
android:order="-9998" />
<Preference
android:key="app_settings_link"
android:title="@string/app_settings_link"
settings:controller="com.android.settings.applications.appinfo.AppSettingPreferenceController" />
<Preference
android:key="notification_settings"
android:title="@string/notifications_label"
settings:controller="com.android.settings.applications.appinfo.AppNotificationPreferenceController" />
<com.android.settings.widget.FixedLineSummaryPreference
android:key="permission_settings"
android:title="@string/permissions_label"
android:summary="@string/summary_placeholder"
settings:summaryLineCount="1"
settings:controller="com.android.settings.applications.appinfo.AppPermissionPreferenceController" />
<Preference
android:key="storage_settings"
android:title="@string/storage_settings_for_app"
android:summary="@string/summary_placeholder"
settings:controller="com.android.settings.applications.appinfo.AppStoragePreferenceController" />
<com.android.settings.applications.AppDomainsPreference
android:key="instant_app_launch_supported_domain_urls"
android:title="@string/app_launch_supported_domain_urls_title"
android:selectable="true"
settings:controller="com.android.settings.applications.appinfo.InstantAppDomainsPreferenceController" />
<Preference
android:key="data_settings"
android:title="@string/data_usage_app_summary_title"
android:summary="@string/summary_placeholder"
settings:controller="com.android.settings.applications.appinfo.AppDataUsagePreferenceController" />
<Preference
android:key="extra_app_info_settings"
android:title="@string/extra_app_info_label"
android:summary="@string/extra_app_info_summary"
settings:controller="com.android.settings.applications.appinfo.ExtraAppInfoPreferenceController" />
<Preference
android:key="time_spent_in_app"
android:title="@string/time_spent_in_app_pref_title"
settings:controller="com.android.settings.applications.appinfo.TimeSpentInAppPreferenceController" />
<Preference
android:key="battery"
android:title="@string/power_usage_summary_title"
android:summary="@string/summary_placeholder" />
<Preference
android:key="preferred_settings"
android:title="@string/launch_by_default"
android:summary="@string/summary_placeholder"
android:selectable="true"
settings:controller="com.android.settings.applications.appinfo.AppOpenByDefaultPreferenceController" />
<Preference
android:key="memory"
android:title="@string/memory_settings_title"
android:summary="@string/summary_placeholder"
android:enabled="false" />
<!-- Default apps shortcuts -->
<Preference
android:key="default_home"
android:title="@string/home_app"
android:summary="@string/summary_placeholder" />
<Preference
android:key="default_browser"
android:title="@string/default_browser_title"
android:summary="@string/summary_placeholder" />
<Preference
android:key="default_phone_app"
android:title="@string/default_phone_title"
android:summary="@string/default_phone_title" />
<Preference
android:key="default_emergency_app"
android:title="@string/default_emergency_app"
android:summary="@string/summary_placeholder" />
<Preference
android:key="default_sms_app"
android:title="@string/sms_application_title"
android:summary="@string/summary_placeholder" />
<PreferenceCategory
android:key="app_hibernation_info"
android:title="@string/unused_apps"
settings:controller=
"com.android.settings.applications.appinfo.AppHibernationPreferenceCategoryController">
<SwitchPreference
android:key="hibernation_switch"
android:title="@string/unused_apps_switch"
settings:controller=
"com.android.settings.applications.appinfo.HibernationSwitchPreferenceController" />
</PreferenceCategory>
<!-- Advanced apps settings -->
<PreferenceCategory
android:key="advanced_app_info"
android:title="@string/advanced_apps"
settings:controller="com.android.settings.applications.appinfo.AdvancedAppInfoPreferenceCategoryController">
<Preference
android:key="system_alert_window"
android:title="@string/draw_overlay"
android:summary="@string/summary_placeholder"
settings:controller="com.android.settings.applications.appinfo.DrawOverlayDetailPreferenceController" />
<Preference
android:key="write_settings_apps"
android:title="@string/write_settings"
android:summary="@string/summary_placeholder"
settings:controller="com.android.settings.applications.appinfo.WriteSystemSettingsPreferenceController" />
<Preference
android:key="picture_in_picture"
android:title="@string/picture_in_picture_app_detail_title"
android:summary="@string/summary_placeholder"
settings:controller="com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureDetailPreferenceController" />
<Preference
android:key="install_other_apps"
android:title="@string/install_other_apps"
android:summary="@string/summary_placeholder"
settings:controller="com.android.settings.applications.appinfo.ExternalSourceDetailPreferenceController" />
<Preference
android:key="interact_across_profiles"
android:title="@string/interact_across_profiles_title"
android:summary="@string/summary_placeholder"
settings:controller="com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesDetailsPreferenceController" />
<Preference
android:key="alarms_and_reminders"
android:title="@string/alarms_and_reminders_title"
android:summary="@string/summary_placeholder"
settings:controller="com.android.settings.applications.appinfo.AlarmsAndRemindersDetailPreferenceController" />
</PreferenceCategory>
<!-- App installer info -->
<PreferenceCategory
android:key="app_installer"
android:title="@string/app_install_details_group_title"
settings:controller="com.android.settings.applications.appinfo.AppInstallerPreferenceCategoryController">
<Preference
android:key="app_info_store"
android:title="@string/app_install_details_title"
settings:controller="com.android.settings.applications.appinfo.AppInstallerInfoPreferenceController" />
</PreferenceCategory>
<Preference
android:key="app_version"
android:selectable="false"
android:order="9999"
settings:controller="com.android.settings.applications.appinfo.AppVersionPreferenceController"
settings:allowDividerAbove="true"
settings:enableCopying="true"/>
</PreferenceScreen>