diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/admin/DevicePolicyManager.java | 33 | ||||
| -rw-r--r-- | core/java/android/app/admin/IDevicePolicyManager.aidl | 1 | ||||
| -rw-r--r-- | core/java/android/provider/Settings.java | 4 |
3 files changed, 37 insertions, 1 deletions
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index 0bca96907988..f0117f20dfeb 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -6667,7 +6667,7 @@ public class DevicePolicyManager { } /** - * Called by device owners to update {@link android.provider.Settings.Global} settings. + * Called by device owner to update {@link android.provider.Settings.Global} settings. * Validation that the value of the setting is in the correct form for the setting type should * be performed by the caller. * <p> @@ -6716,6 +6716,37 @@ public class DevicePolicyManager { } /** + * Called by device owner to update {@link android.provider.Settings.System} settings. + * Validation that the value of the setting is in the correct form for the setting type should + * be performed by the caller. + * <p> + * The settings that can be updated with this method are: + * <ul> + * <li>{@link android.provider.Settings.System#SCREEN_BRIGHTNESS}</li> + * <li>{@link android.provider.Settings.System#SCREEN_BRIGHTNESS_MODE}</li> + * <li>{@link android.provider.Settings.System#SCREEN_OFF_TIMEOUT}</li> + * </ul> + * <p> + * + * @see android.provider.Settings.System#SCREEN_OFF_TIMEOUT + * @param admin Which {@link DeviceAdminReceiver} this request is associated with. + * @param setting The name of the setting to update. + * @param value The value to update the setting to. + * @throws SecurityException if {@code admin} is not a device owner. + */ + public void setSystemSetting(@NonNull ComponentName admin, @NonNull String setting, + String value) { + throwIfParentInstance("setSystemSetting"); + if (mService != null) { + try { + mService.setSystemSetting(admin, setting, value); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + } + + /** * Called by device owner to set the system wall clock time. This only takes effect if called * when {@link android.provider.Settings.Global#AUTO_TIME} is 0, otherwise {@code false} will be * returned. diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl index b7740e9e7314..802d42f232ba 100644 --- a/core/java/android/app/admin/IDevicePolicyManager.aidl +++ b/core/java/android/app/admin/IDevicePolicyManager.aidl @@ -231,6 +231,7 @@ interface IDevicePolicyManager { int getLockTaskFeatures(in ComponentName who); void setGlobalSetting(in ComponentName who, in String setting, in String value); + void setSystemSetting(in ComponentName who, in String setting, in String value); void setSecureSetting(in ComponentName who, in String setting, in String value); boolean setTime(in ComponentName who, long millis); diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 53832c7ddf33..5505f597afb7 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -3123,6 +3123,10 @@ public final class Settings { * to dream after a period of inactivity. This value is also known as the * user activity timeout period since the screen isn't necessarily turned off * when it expires. + * + * <p> + * This value is bounded by maximum timeout set by + * {@link android.app.admin.DevicePolicyManager#setMaximumTimeToLock(ComponentName, long)}. */ public static final String SCREEN_OFF_TIMEOUT = "screen_off_timeout"; |
