Merge "New device config to enable location perm re-up"
diff --git a/api/system-current.txt b/api/system-current.txt
index e204048..a420349 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -5832,6 +5832,7 @@
public static interface DeviceConfig.Privacy {
field public static final String NAMESPACE = "privacy";
+ field public static final String PROPERTY_LOCATION_ACCESS_CHECK_ENABLED = "enable_location_access_check";
field public static final String PROPERTY_PERMISSIONS_HUB_ENABLED = "enable_permissions_hub";
}
diff --git a/api/test-current.txt b/api/test-current.txt
index 3ce0107d..e32b71b 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -1634,6 +1634,16 @@
field public static final android.net.Uri CORP_CONTENT_URI;
}
+ public final class DeviceConfig {
+ method @RequiresPermission("android.permission.WRITE_DEVICE_CONFIG") public static void resetToDefaults(int, @Nullable String);
+ method @RequiresPermission("android.permission.WRITE_DEVICE_CONFIG") public static boolean setProperty(String, String, String, boolean);
+ }
+
+ public static interface DeviceConfig.Privacy {
+ field public static final String NAMESPACE = "privacy";
+ field public static final String PROPERTY_LOCATION_ACCESS_CHECK_ENABLED = "enable_location_access_check";
+ }
+
public final class MediaStore {
method @RequiresPermission(android.Manifest.permission.CLEAR_APP_USER_DATA) public static void deleteContributedMedia(android.content.Context, String, android.os.UserHandle) throws java.io.IOException;
method @RequiresPermission(android.Manifest.permission.CLEAR_APP_USER_DATA) public static long getContributedMediaSize(android.content.Context, String, android.os.UserHandle) throws java.io.IOException;
@@ -1645,6 +1655,7 @@
public final class Settings {
field public static final String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS";
+ field public static final int RESET_MODE_PACKAGE_DEFAULTS = 1; // 0x1
}
public static final class Settings.Global extends android.provider.Settings.NameValueTable {
diff --git a/core/java/android/provider/DeviceConfig.java b/core/java/android/provider/DeviceConfig.java
index b6653b5..264f975 100644
--- a/core/java/android/provider/DeviceConfig.java
+++ b/core/java/android/provider/DeviceConfig.java
@@ -24,6 +24,7 @@
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
+import android.annotation.TestApi;
import android.app.ActivityThread;
import android.content.ContentResolver;
import android.database.ContentObserver;
@@ -44,6 +45,7 @@
* @hide
*/
@SystemApi
+@TestApi
public final class DeviceConfig {
/**
* The content:// style URL for the config table.
@@ -169,13 +171,22 @@
* @hide
*/
@SystemApi
+ @TestApi
public interface Privacy {
String NAMESPACE = "privacy";
/**
* Whether to show the Permissions Hub.
+ *
+ * @hide
*/
+ @SystemApi
String PROPERTY_PERMISSIONS_HUB_ENABLED = "enable_permissions_hub";
+
+ /**
+ * Whether to show location access check notifications.
+ */
+ String PROPERTY_LOCATION_ACCESS_CHECK_ENABLED = "enable_location_access_check";
}
/**
@@ -317,6 +328,7 @@
* @see #resetToDefaults(int, String).
*/
@SystemApi
+ @TestApi
@RequiresPermission(WRITE_DEVICE_CONFIG)
public static boolean setProperty(
String namespace, String name, String value, boolean makeDefault) {
@@ -337,6 +349,7 @@
* @see #setProperty(String, String, String, boolean)
*/
@SystemApi
+ @TestApi
@RequiresPermission(WRITE_DEVICE_CONFIG)
public static void resetToDefaults(@ResetMode int resetMode, @Nullable String namespace) {
ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver();
@@ -483,7 +496,10 @@
* Interface for monitoring to properties.
* <p>
* Override {@link #onPropertyChanged(String, String, String)} to handle callbacks for changes.
+ *
+ * @hide
*/
+ @SystemApi
public interface OnPropertyChangedListener {
/**
* Called when a property has changed.
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 803b595..32d139f 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -1861,6 +1861,7 @@
* This is the only type of reset available to non-system clients.
* @hide
*/
+ @TestApi
public static final int RESET_MODE_PACKAGE_DEFAULTS = 1;
/**