diff options
3 files changed, 18 insertions, 3 deletions
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index d873f5757b29..8e97fe6b1c15 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -12572,10 +12572,24 @@ public class DevicePolicyManager { **/ @SystemApi public void setSecondaryLockscreenEnabled(@NonNull ComponentName admin, boolean enabled) { + setSecondaryLockscreenEnabled(admin, enabled, null); + } + + /** + * Called by the system supervision app to set whether a secondary lockscreen needs to be shown. + * + * @param admin Which {@link DeviceAdminReceiver} this request is associated with. Null if the + * caller is not a device admin. + * @param enabled Whether or not the lockscreen needs to be shown. + * @param options A {@link PersistableBundle} to supply options to the lock screen. + * @hide + */ + public void setSecondaryLockscreenEnabled(@Nullable ComponentName admin, boolean enabled, + @Nullable PersistableBundle options) { throwIfParentInstance("setSecondaryLockscreenEnabled"); if (mService != null) { try { - mService.setSecondaryLockscreenEnabled(admin, enabled); + mService.setSecondaryLockscreenEnabled(admin, enabled, options); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl index d4e5c9960c2a..a4e2b8f62a23 100644 --- a/core/java/android/app/admin/IDevicePolicyManager.aidl +++ b/core/java/android/app/admin/IDevicePolicyManager.aidl @@ -303,7 +303,7 @@ interface IDevicePolicyManager { String[] getAccountTypesWithManagementDisabled(String callerPackageName); String[] getAccountTypesWithManagementDisabledAsUser(int userId, String callerPackageName, in boolean parent); - void setSecondaryLockscreenEnabled(in ComponentName who, boolean enabled); + void setSecondaryLockscreenEnabled(in ComponentName who, boolean enabled, in PersistableBundle options); boolean isSecondaryLockscreenEnabled(in UserHandle userHandle); void setPreferentialNetworkServiceConfigs( diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 649fa9c6e5f0..b6e45fc803f7 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -14799,7 +14799,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } @Override - public void setSecondaryLockscreenEnabled(ComponentName who, boolean enabled) { + public void setSecondaryLockscreenEnabled(ComponentName who, boolean enabled, + PersistableBundle options) { Objects.requireNonNull(who, "ComponentName is null"); // Check can set secondary lockscreen enabled |