Files
packages_apps_Settings/res/xml/location_settings.xml
juwei a53f729545 Settings: Add switch preference for AGPS
Allow toggling AGPS (which in turn disables SUPL) using the existing
AOSP mechanism that was simply never exposed to the user.
Based on the following commits from CodeAurora, modified to
use SwitchPreference and improved strings:

Author: juwei <juwei@codeaurora.org>
Date:   Mon May 7 13:31:50 2018 +0800
    Settings: Add AGPS setting menu.

    Add AGPS setting switch to allow user turn on/off
    AGPS function.

    Change-Id: If8a20a8293b9f4b12933bc3820b4cd135a938b72
    CRs-Fixed: 2169854

Author: hoffc <hoffc@codeaurora.org>
Date:   Wed Dec 19 15:56:07 2018 +0800
    Settings: Refactor Agps preference controller code

    (1) Extract inner class AgpsPreferenceController as one standalone file.
    (2) Delete the useless code of reading the SUPL server and port from etc/gps.conf file.
    (3) Remove the config item "config_agps_enabled".

    Change-Id: I20465aa4375c7fe64bc84f579a39178506b8e211
    CRs-Fixed: 2370304

Author: hoffc <hoffc@codeaurora.org>
Date:   Tue Jun 1 08:52:31 2021 +0800
    Settings: fix NPE caused by missing agps preference definition

    No agps preference is defined in location settings, results in NPE when agps controller init

    add agps preference definition in location settings

    Change-Id: I92e3293bccb90da7b6a1057e2dd83f8aa909d308
    CRs-Fixed: 2958241

Issue: calyxos#1490
Co-authored-by: Chirayu Desai <chirayudesai1@gmail.com>
Co-authored-by: Michael Bestas <mkbestas@lineageos.org>
Change-Id: Idea7026f0c954c1f2a056e7b4595a879ef161f5c
2025-08-28 13:35:11 +03:00

86 lines
3.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 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="location_settings"
android:title="@string/location_settings_title"
settings:keywords="@string/keywords_location">
<PreferenceCategory
android:key="recent_location_access"
android:title="@string/location_category_recent_location_access"
settings:controller=
"com.android.settings.location.RecentLocationAccessPreferenceController"/>
<Preference
android:key="recent_location_access_see_all_button"
android:title="@string/location_recent_location_access_see_all"
android:icon="@drawable/ic_chevron_right_24dp"
android:fragment="com.android.settings.location.RecentLocationAccessSeeAllFragment"
settings:controller="com.android.settings.location.RecentLocationAccessSeeAllButtonPreferenceController"
settings:searchable="false"/>
<SwitchPreferenceCompat
android:key="assisted_gps"
android:title="@string/assisted_gps"
android:summary="@string/assisted_gps_summary"
settings:controller="com.android.settings.location.AgpsPreferenceController"/>
<PreferenceCategory
android:key="location_advanced_settings"
android:layout="@layout/preference_category_no_label">
<!-- This preference gets removed if there is no managed profile -->
<com.android.settingslib.RestrictedSwitchPreference
android:enabled="false"
android:key="managed_profile_location_switch"
android:selectable="true"
android:title="@string/managed_profile_location_switch_title"
settings:controller="com.android.settings.location.LocationForWorkPreferenceController"
settings:forWork="true"
settings:useAdminDisabledSummary="true"/>
<!-- This preference gets removed if there is no private profile -->
<com.android.settingslib.RestrictedSwitchPreference
android:enabled="false"
android:key="private_profile_location_switch"
android:selectable="true"
android:title="@string/private_profile_location_switch_title"
settings:controller="com.android.settings.location.LocationForPrivateProfilePreferenceController"/>
<!-- This preference category gets removed if new_recent_location_ui is disabled -->
<Preference
android:key="app_level_permissions"
android:title="@string/location_app_level_permissions"
settings:controller="com.android.settings.location.AppLocationPermissionPreferenceController"/>
<Preference
android:fragment="com.android.settings.location.LocationServices"
android:key="location_services"
android:title="@string/location_services_preference_title"
settings:controller="com.android.settings.location.LocationServicesPreferenceController"/>
</PreferenceCategory>
<com.android.settingslib.widget.FooterPreference
android:title="@string/location_settings_footer_general"
android:key="location_footer"
settings:searchable="false"
settings:controller="com.android.settings.location.LocationSettingsFooterPreferenceController"/>
</PreferenceScreen>