Merge "Enforce MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE permission" into rvc-dev am: d0effa2492

Change-Id: I65a378750e049de27777093b039c50b09aa544cc
This commit is contained in:
Automerger Merge Worker
2020-03-11 15:41:57 +00:00
2 changed files with 7 additions and 1 deletions

View File

@@ -98,7 +98,8 @@ import java.util.Set;
* The Settings provider contains global system-level device preferences.
*/
public final class Settings {
private static final boolean DEFAULT_OVERRIDEABLE_BY_RESTORE = false;
/** @hide */
public static final boolean DEFAULT_OVERRIDEABLE_BY_RESTORE = false;
// Intent actions for Settings

View File

@@ -2778,6 +2778,11 @@ public class SettingsProvider extends ContentProvider {
public boolean insertSettingLocked(int type, int userId, String name, String value,
String tag, boolean makeDefault, boolean forceNonSystemPackage, String packageName,
boolean forceNotify, Set<String> criticalSettings, boolean overrideableByRestore) {
if (overrideableByRestore != Settings.DEFAULT_OVERRIDEABLE_BY_RESTORE) {
getContext().enforceCallingOrSelfPermission(
Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE,
"Caller is not allowed to modify settings overrideable by restore");
}
final int key = makeKey(type, userId);
boolean success = false;