diff options
| -rw-r--r-- | api/system-current.txt | 2 | ||||
| -rw-r--r-- | api/test-current.txt | 3 | ||||
| -rw-r--r-- | core/java/android/provider/Settings.java | 19 | ||||
| -rw-r--r-- | core/java/android/provider/TEST_MAPPING | 12 | ||||
| -rw-r--r-- | core/proto/android/providers/settings/secure.proto | 10 | ||||
| -rw-r--r-- | core/tests/coretests/src/android/provider/SettingsBackupTest.java | 4 | ||||
| -rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java | 9 |
7 files changed, 57 insertions, 2 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index cd634cfe4d3a..4c8131fd6f39 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -4637,6 +4637,8 @@ package android.provider { field public static final java.lang.String HUSH_GESTURE_USED = "hush_gesture_used"; field public static final java.lang.String INSTANT_APPS_ENABLED = "instant_apps_enabled"; field public static final java.lang.String LAST_SETUP_SHOWN = "last_setup_shown"; + field public static final java.lang.String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis"; + field public static final java.lang.String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis"; field public static final java.lang.String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications"; field public static final java.lang.String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications"; field public static final java.lang.String MANUAL_RINGER_TOGGLE_COUNT = "manual_ringer_toggle_count"; diff --git a/api/test-current.txt b/api/test-current.txt index b871c78571ad..695d70afbef0 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -998,6 +998,7 @@ package android.provider { } public static final class Settings.Secure extends android.provider.Settings.NameValueTable { + method public static void resetToDefaults(android.content.ContentResolver, java.lang.String); field public static final java.lang.String ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED = "accessibility_display_magnification_enabled"; field public static final java.lang.String ACCESSIBILITY_SHORTCUT_TARGET_SERVICE = "accessibility_shortcut_target_service"; field public static final java.lang.String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification"; @@ -1009,6 +1010,8 @@ package android.provider { field public static final java.lang.String AUTOFILL_USER_DATA_MIN_VALUE_LENGTH = "autofill_user_data_min_value_length"; field public static final java.lang.String DISABLED_PRINT_SERVICES = "disabled_print_services"; field public static final deprecated java.lang.String ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES = "enabled_notification_policy_access_packages"; + field public static final java.lang.String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis"; + field public static final java.lang.String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis"; field public static final java.lang.String SYNC_PARENT_SOUNDS = "sync_parent_sounds"; field public static final java.lang.String USER_SETUP_COMPLETE = "user_setup_complete"; field public static final java.lang.String VOICE_INTERACTION_SERVICE = "voice_interaction_service"; diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index d7729037bfad..c297ef4f2a85 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -5075,6 +5075,7 @@ public final class Settings { * @hide */ @SystemApi + @TestApi @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull ContentResolver resolver, @Nullable String tag) { @@ -8232,6 +8233,24 @@ public final class Settings { public static final String NOTIFICATION_NEW_INTERRUPTION_MODEL = "new_interruption_model"; /** + * How often to check for location access. + * @hide + */ + @SystemApi + @TestApi + public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = + "location_access_check_interval_millis"; + + /** + * Delay between granting location access and checking it. + * @hide + */ + @SystemApi + @TestApi + public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = + "location_access_check_delay_millis"; + + /** * This are the settings to be backed up. * * NOTE: Settings are backed up and restored in the order they appear diff --git a/core/java/android/provider/TEST_MAPPING b/core/java/android/provider/TEST_MAPPING new file mode 100644 index 000000000000..8e67ce7b2aa9 --- /dev/null +++ b/core/java/android/provider/TEST_MAPPING @@ -0,0 +1,12 @@ +{ + "presubmit": [ + { + "name": "FrameworksCoreTests", + "options": [ + { + "include-filter": "android.provider.SettingsBackupTest" + } + ] + } + ] +} diff --git a/core/proto/android/providers/settings/secure.proto b/core/proto/android/providers/settings/secure.proto index 6e661e1ce5b2..b465fb4f7eba 100644 --- a/core/proto/android/providers/settings/secure.proto +++ b/core/proto/android/providers/settings/secure.proto @@ -234,6 +234,14 @@ message SecureSettingsProto { } optional Location location = 31; + message LocationAccessCheck { + option (android.msg_privacy).dest = DEST_EXPLICIT; + + optional SettingProto interval_millis = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; + optional SettingProto delay_millis = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; + } + optional LocationAccessCheck location_access_check = 73; + message LockScreen { option (android.msg_privacy).dest = DEST_EXPLICIT; @@ -515,5 +523,5 @@ message SecureSettingsProto { // Please insert fields in alphabetical order and group them into messages // if possible (to avoid reaching the method limit). - // Next tag = 73; + // Next tag = 74; } diff --git a/core/tests/coretests/src/android/provider/SettingsBackupTest.java b/core/tests/coretests/src/android/provider/SettingsBackupTest.java index 305d2af2122d..a8f9e8a5891b 100644 --- a/core/tests/coretests/src/android/provider/SettingsBackupTest.java +++ b/core/tests/coretests/src/android/provider/SettingsBackupTest.java @@ -664,7 +664,9 @@ public class SettingsBackupTest { Settings.Secure.PACKAGES_TO_CLEAR_DATA_BEFORE_FULL_RESTORE, Settings.Secure.FLASHLIGHT_AVAILABLE, Settings.Secure.FLASHLIGHT_ENABLED, - Settings.Secure.CROSS_PROFILE_CALENDAR_ENABLED); + Settings.Secure.CROSS_PROFILE_CALENDAR_ENABLED, + Settings.Secure.LOCATION_ACCESS_CHECK_INTERVAL_MILLIS, + Settings.Secure.LOCATION_ACCESS_CHECK_DELAY_MILLIS); @Test public void systemSettingsBackedUpOrBlacklisted() { diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java index b2c12b277dc0..56b768feee23 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java @@ -1914,6 +1914,15 @@ class SettingsProtoDumpUtil { SecureSettingsProto.Location.CHANGER); p.end(locationToken); + final long locationAccessCheckToken = p.start(SecureSettingsProto.LOCATION_ACCESS_CHECK); + dumpSetting(s, p, + Settings.Secure.LOCATION_ACCESS_CHECK_INTERVAL_MILLIS, + SecureSettingsProto.LocationAccessCheck.INTERVAL_MILLIS); + dumpSetting(s, p, + Settings.Secure.LOCATION_ACCESS_CHECK_DELAY_MILLIS, + SecureSettingsProto.LocationAccessCheck.DELAY_MILLIS); + p.end(locationAccessCheckToken); + final long lockScreenToken = p.start(SecureSettingsProto.LOCK_SCREEN); // Settings.Secure.LOCK_BIOMETRIC_WEAK_FLAGS intentionally excluded since it's deprecated. // Settings.Secure.LOCK_PATTERN_ENABLED intentionally excluded since it's deprecated. |