Loading core/java/android/app/admin/LockTaskPolicy.java +17 −6 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ public final class LockTaskPolicy extends PolicyValue<LockTaskPolicy> { /** * @hide */ // We default on the power button menu, in order to be consistent with pre-P behaviour public static final int DEFAULT_LOCK_TASK_FLAG = DevicePolicyManager.LOCK_TASK_FEATURE_GLOBAL_ACTIONS; Loading Loading @@ -72,18 +73,28 @@ public final class LockTaskPolicy extends PolicyValue<LockTaskPolicy> { /** * @hide */ public LockTaskPolicy(@NonNull Set<String> packages) { Objects.requireNonNull(packages); public LockTaskPolicy(@Nullable Set<String> packages) { if (packages != null) { mPackages.addAll(packages); } setValue(this); } /** * @hide */ public LockTaskPolicy(@NonNull Set<String> packages, int flags) { Objects.requireNonNull(packages); mPackages = new HashSet<>(packages); public LockTaskPolicy(int flags) { mFlags = flags; setValue(this); } /** * @hide */ public LockTaskPolicy(@Nullable Set<String> packages, int flags) { if (packages != null) { mPackages.addAll(packages); } mFlags = flags; setValue(this); } Loading services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +31 −23 Original line number Diff line number Diff line Loading @@ -14744,12 +14744,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { synchronized (getLockObject()) { enforcingAdmin = enforceCanCallLockTaskLocked(who, caller.getPackageName()); } if (packages.length == 0) { mDevicePolicyEngine.removeLocalPolicy( PolicyDefinition.LOCK_TASK, enforcingAdmin, caller.getUserId()); } else { LockTaskPolicy currentPolicy = mDevicePolicyEngine.getLocalPolicySetByAdmin( PolicyDefinition.LOCK_TASK, enforcingAdmin, Loading @@ -14761,7 +14755,13 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { policy = new LockTaskPolicy(currentPolicy); policy.setPackages(Set.of(packages)); } if (policy.getPackages().isEmpty() && policy.getFlags() == DevicePolicyManager.LOCK_TASK_FEATURE_NONE) { mDevicePolicyEngine.removeLocalPolicy( PolicyDefinition.LOCK_TASK, enforcingAdmin, caller.getUserId()); } else { mDevicePolicyEngine.setLocalPolicy( PolicyDefinition.LOCK_TASK, enforcingAdmin, Loading Loading @@ -14876,18 +14876,26 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { PolicyDefinition.LOCK_TASK, enforcingAdmin, caller.getUserId()); LockTaskPolicy policy; if (currentPolicy == null) { throw new IllegalArgumentException("Can't set a lock task flags without setting " + "lock task packages first."); } LockTaskPolicy policy = new LockTaskPolicy(currentPolicy); policy = new LockTaskPolicy(flags); } else { policy = new LockTaskPolicy(currentPolicy); policy.setFlags(flags); } if (policy.getPackages().isEmpty() && policy.getFlags() == DevicePolicyManager.LOCK_TASK_FEATURE_NONE) { mDevicePolicyEngine.removeLocalPolicy( PolicyDefinition.LOCK_TASK, enforcingAdmin, caller.getUserId()); } else { mDevicePolicyEngine.setLocalPolicy( PolicyDefinition.LOCK_TASK, enforcingAdmin, policy, caller.getUserId()); } } else { Objects.requireNonNull(who, "ComponentName is null"); synchronized (getLockObject()) { services/devicepolicy/java/com/android/server/devicepolicy/LockTaskPolicySerializer.java +0 −4 Original line number Diff line number Diff line Loading @@ -42,10 +42,6 @@ final class LockTaskPolicySerializer extends PolicySerializer<LockTaskPolicy> { void saveToXml(PolicyKey policyKey, TypedXmlSerializer serializer, @NonNull LockTaskPolicy value) throws IOException { Objects.requireNonNull(value); if (value.getPackages() == null || value.getPackages().isEmpty()) { throw new IllegalArgumentException("Error saving LockTaskPolicy to file, lock task " + "packages must be present"); } serializer.attribute( /* namespace= */ null, ATTR_PACKAGES, Loading Loading
core/java/android/app/admin/LockTaskPolicy.java +17 −6 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ public final class LockTaskPolicy extends PolicyValue<LockTaskPolicy> { /** * @hide */ // We default on the power button menu, in order to be consistent with pre-P behaviour public static final int DEFAULT_LOCK_TASK_FLAG = DevicePolicyManager.LOCK_TASK_FEATURE_GLOBAL_ACTIONS; Loading Loading @@ -72,18 +73,28 @@ public final class LockTaskPolicy extends PolicyValue<LockTaskPolicy> { /** * @hide */ public LockTaskPolicy(@NonNull Set<String> packages) { Objects.requireNonNull(packages); public LockTaskPolicy(@Nullable Set<String> packages) { if (packages != null) { mPackages.addAll(packages); } setValue(this); } /** * @hide */ public LockTaskPolicy(@NonNull Set<String> packages, int flags) { Objects.requireNonNull(packages); mPackages = new HashSet<>(packages); public LockTaskPolicy(int flags) { mFlags = flags; setValue(this); } /** * @hide */ public LockTaskPolicy(@Nullable Set<String> packages, int flags) { if (packages != null) { mPackages.addAll(packages); } mFlags = flags; setValue(this); } Loading
services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +31 −23 Original line number Diff line number Diff line Loading @@ -14744,12 +14744,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { synchronized (getLockObject()) { enforcingAdmin = enforceCanCallLockTaskLocked(who, caller.getPackageName()); } if (packages.length == 0) { mDevicePolicyEngine.removeLocalPolicy( PolicyDefinition.LOCK_TASK, enforcingAdmin, caller.getUserId()); } else { LockTaskPolicy currentPolicy = mDevicePolicyEngine.getLocalPolicySetByAdmin( PolicyDefinition.LOCK_TASK, enforcingAdmin, Loading @@ -14761,7 +14755,13 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { policy = new LockTaskPolicy(currentPolicy); policy.setPackages(Set.of(packages)); } if (policy.getPackages().isEmpty() && policy.getFlags() == DevicePolicyManager.LOCK_TASK_FEATURE_NONE) { mDevicePolicyEngine.removeLocalPolicy( PolicyDefinition.LOCK_TASK, enforcingAdmin, caller.getUserId()); } else { mDevicePolicyEngine.setLocalPolicy( PolicyDefinition.LOCK_TASK, enforcingAdmin, Loading Loading @@ -14876,18 +14876,26 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { PolicyDefinition.LOCK_TASK, enforcingAdmin, caller.getUserId()); LockTaskPolicy policy; if (currentPolicy == null) { throw new IllegalArgumentException("Can't set a lock task flags without setting " + "lock task packages first."); } LockTaskPolicy policy = new LockTaskPolicy(currentPolicy); policy = new LockTaskPolicy(flags); } else { policy = new LockTaskPolicy(currentPolicy); policy.setFlags(flags); } if (policy.getPackages().isEmpty() && policy.getFlags() == DevicePolicyManager.LOCK_TASK_FEATURE_NONE) { mDevicePolicyEngine.removeLocalPolicy( PolicyDefinition.LOCK_TASK, enforcingAdmin, caller.getUserId()); } else { mDevicePolicyEngine.setLocalPolicy( PolicyDefinition.LOCK_TASK, enforcingAdmin, policy, caller.getUserId()); } } else { Objects.requireNonNull(who, "ComponentName is null"); synchronized (getLockObject()) {
services/devicepolicy/java/com/android/server/devicepolicy/LockTaskPolicySerializer.java +0 −4 Original line number Diff line number Diff line Loading @@ -42,10 +42,6 @@ final class LockTaskPolicySerializer extends PolicySerializer<LockTaskPolicy> { void saveToXml(PolicyKey policyKey, TypedXmlSerializer serializer, @NonNull LockTaskPolicy value) throws IOException { Objects.requireNonNull(value); if (value.getPackages() == null || value.getPackages().isEmpty()) { throw new IllegalArgumentException("Error saving LockTaskPolicy to file, lock task " + "packages must be present"); } serializer.attribute( /* namespace= */ null, ATTR_PACKAGES, Loading