Add key to store location changer
Store location changer into Settings.Secure
Modify quick settings to identify itself as location changer
Bug: 68779883
Test: Manual
Change-Id: I2c7a599e1383102685994d876e7160e164436a08
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 1ea4861..920dd81 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -5510,6 +5510,27 @@
public static final String LOCATION_MODE = "location_mode";
/**
+ * The App or module that changes the location mode.
+ * @hide
+ */
+ public static final String LOCATION_CHANGER = "location_changer";
+ /**
+ * The location changer is unknown or unable to detect.
+ * @hide
+ */
+ public static final int LOCATION_CHANGER_UNKNOWN = 0;
+ /**
+ * Location settings in system settings.
+ * @hide
+ */
+ public static final int LOCATION_CHANGER_SYSTEM_SETTINGS = 1;
+ /**
+ * The location icon in drop down notification drawer.
+ * @hide
+ */
+ public static final int LOCATION_CHANGER_QUICK_SETTINGS = 2;
+
+ /**
* Location access disabled.
*
* @deprecated To check location status, use {@link LocationManager#isLocationEnabled()}. To
@@ -7881,6 +7902,7 @@
CLONE_TO_MANAGED_PROFILE.add(DEFAULT_INPUT_METHOD);
CLONE_TO_MANAGED_PROFILE.add(ENABLED_ACCESSIBILITY_SERVICES);
CLONE_TO_MANAGED_PROFILE.add(ENABLED_INPUT_METHODS);
+ CLONE_TO_MANAGED_PROFILE.add(LOCATION_CHANGER);
CLONE_TO_MANAGED_PROFILE.add(LOCATION_MODE);
CLONE_TO_MANAGED_PROFILE.add(LOCATION_PROVIDERS_ALLOWED);
CLONE_TO_MANAGED_PROFILE.add(SELECTED_INPUT_METHOD_SUBTYPE);
diff --git a/core/tests/coretests/src/android/provider/SettingsBackupTest.java b/core/tests/coretests/src/android/provider/SettingsBackupTest.java
index 225b685..196b4f5 100644
--- a/core/tests/coretests/src/android/provider/SettingsBackupTest.java
+++ b/core/tests/coretests/src/android/provider/SettingsBackupTest.java
@@ -496,6 +496,7 @@
Settings.Secure.INPUT_METHODS_SUBTYPE_HISTORY,
Settings.Secure.INSTALL_NON_MARKET_APPS,
Settings.Secure.LAST_SETUP_SHOWN,
+ Settings.Secure.LOCATION_CHANGER,
Settings.Secure.LOCATION_MODE,
Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, // Candidate?
Settings.Secure.LOCK_SCREEN_ALLOW_REMOTE_INPUT, // Candidate?