Allow DO to set Settings.Global.STAY_ON_WHILE_PLUGGED_IN
Bug: 19704419 Change-Id: I3fc970eae8ef947775b6b565916bb245dea1b43b
This commit is contained in:
@@ -3562,6 +3562,9 @@ public class DevicePolicyManager {
|
||||
* Changing this setting has not effect as of {@link android.os.Build.VERSION_CODES#MNC}. Use
|
||||
* {@link android.net.wifi.WifiManager#setWifiEnabled(boolean)} instead.</li>
|
||||
* <li>{@link Settings.Global#WIFI_SLEEP_POLICY}</li>
|
||||
* <li>{@link Settings.Global#STAY_ON_WHILE_PLUGGED_IN}
|
||||
* This setting is only available from {@link android.os.Build.VERSION_CODES#MNC} onwards
|
||||
* and can only be set if {@link #setMaximumTimeToLock} is not used to set a timeout.</li>
|
||||
* </ul>
|
||||
*
|
||||
* @param admin Which {@link DeviceAdminReceiver} this request is associated with.
|
||||
|
||||
@@ -211,6 +211,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
|
||||
GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.NETWORK_PREFERENCE);
|
||||
GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.USB_MASS_STORAGE_ENABLED);
|
||||
GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.WIFI_SLEEP_POLICY);
|
||||
GLOBAL_SETTINGS_WHITELIST.add(Settings.Global.STAY_ON_WHILE_PLUGGED_IN);
|
||||
}
|
||||
|
||||
final Context mContext;
|
||||
@@ -5437,6 +5438,14 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
|
||||
}
|
||||
}
|
||||
|
||||
if (Settings.Global.STAY_ON_WHILE_PLUGGED_IN.equals(setting)) {
|
||||
// ignore if it contradicts an existing policy
|
||||
long timeMs = getMaximumTimeToLock(who, UserHandle.getCallingUserId());
|
||||
if (timeMs > 0 && timeMs < Integer.MAX_VALUE) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
long id = Binder.clearCallingIdentity();
|
||||
try {
|
||||
Settings.Global.putString(contentResolver, setting, value);
|
||||
|
||||
Reference in New Issue
Block a user