diff options
| author | 2022-01-19 15:07:41 -0800 | |
|---|---|---|
| committer | 2022-01-19 15:30:49 -0800 | |
| commit | cbc67df47127db5af34bc5307e19e5e4eb2e1764 (patch) | |
| tree | 6f1b5cb5a82088091814ed2616b7feccccdee664 | |
| parent | e490dfa3fe933424ee56cacb16641a56cffd1933 (diff) | |
Makes DPM.getLogoutUser() and clearLogoutUser() system APIs.
They're used by CarService, which cannot use hidden APIs anymore.
Test: m update-api
Bug: 214336184
CTS-Coverage-Bug: 214336184
Change-Id: I7d11f0a2b75fa8b87a5a71d43ffc7adb8e84bc9c
| -rw-r--r-- | core/api/module-lib-current.txt | 2 | ||||
| -rw-r--r-- | core/java/android/app/admin/DevicePolicyManager.java | 11 |
2 files changed, 10 insertions, 3 deletions
diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt index c4aff2d00304..4860a72ca67e 100644 --- a/core/api/module-lib-current.txt +++ b/core/api/module-lib-current.txt @@ -63,6 +63,8 @@ package android.app.admin { public class DevicePolicyManager { method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void acknowledgeNewUserDisclaimer(); + method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void clearLogoutUser(); + method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getLogoutUser(); field public static final String ACTION_SHOW_NEW_USER_DISCLAIMER = "android.app.action.SHOW_NEW_USER_DISCLAIMER"; } diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index 96825933b17c..1de5114dfe1b 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -9864,14 +9864,17 @@ public class DevicePolicyManager { /** * Gets the user a {@link #logoutUser(ComponentName)} call would switch to, - * or {@link UserHandle#USER_NULL} if the current user is not in a session. + * or {@code null} if the current user is not in a session. * * @hide */ @RequiresPermission(android.Manifest.permission.MANAGE_USERS) - public @UserIdInt int getLogoutUserId() { + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + public @Nullable UserHandle getLogoutUser() { + // TODO(b/214336184): add CTS test try { - return mService.getLogoutUserId(); + int userId = mService.getLogoutUserId(); + return userId == UserHandle.USER_NULL ? null : UserHandle.of(userId); } catch (RemoteException re) { throw re.rethrowFromSystemServer(); } @@ -9885,7 +9888,9 @@ public class DevicePolicyManager { * @hide */ @RequiresPermission(android.Manifest.permission.MANAGE_USERS) + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public void clearLogoutUser() { + // TODO(b/214336184): add CTS test try { mService.clearLogoutUser(); } catch (RemoteException re) { |