Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 815eca18 authored by Benjamin Franz's avatar Benjamin Franz Committed by Android (Google) Code Review
Browse files

Merge "Allow DO to set Settings.Global.STAY_ON_WHILE_PLUGGED_IN"

parents 50ac3854 68cc4200
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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.
+9 −0
Original line number Diff line number Diff line
@@ -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);