summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Felipe Leme <felipeal@google.com> 2022-01-19 15:07:41 -0800
committer Felipe Leme <felipeal@google.com> 2022-01-19 15:30:49 -0800
commitcbc67df47127db5af34bc5307e19e5e4eb2e1764 (patch)
tree6f1b5cb5a82088091814ed2616b7feccccdee664
parente490dfa3fe933424ee56cacb16641a56cffd1933 (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.txt2
-rw-r--r--core/java/android/app/admin/DevicePolicyManager.java11
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) {