Relax isUserRunning() when asking about self.
When a caller is asking about locked state of themselves, don't
require the INTERACT_ACROSS_USERS permission.
Bug: 26178790
Change-Id: I0f02ebfed87b2e1cddc1cb044a9f04272f85483b
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 927a7b6..d8724b27 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -20453,8 +20453,8 @@
@Override
public boolean isUserRunning(int userId, int flags) {
- if (checkCallingPermission(INTERACT_ACROSS_USERS)
- != PackageManager.PERMISSION_GRANTED) {
+ if (userId != UserHandle.getCallingUserId() && checkCallingPermission(
+ INTERACT_ACROSS_USERS) != PackageManager.PERMISSION_GRANTED) {
String msg = "Permission Denial: isUserRunning() from pid="
+ Binder.getCallingPid()
+ ", uid=" + Binder.getCallingUid()