API to determine user locked/unlocked state.

Bug: 25946804
Change-Id: I2b8c8c75fda161a446d79fac811fdd446aa3a4db
diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java
index 9c29149..588a80b 100644
--- a/services/core/java/com/android/server/am/UserController.java
+++ b/services/core/java/com/android/server/am/UserController.java
@@ -1033,12 +1033,11 @@
         if ((flags & ActivityManager.FLAG_OR_STOPPED) != 0) {
             return true;
         }
-        if ((flags & ActivityManager.FLAG_AND_LOCKED) != 0) {
-            // If user is currently locked, we fall through to default "running"
-            // behavior below
-            if (state.unlocked) {
-                return false;
-            }
+        if ((flags & ActivityManager.FLAG_AND_LOCKED) != 0 && state.unlocked) {
+            return false;
+        }
+        if ((flags & ActivityManager.FLAG_AND_UNLOCKED) != 0 && !state.unlocked) {
+            return false;
         }
         return state.mState != UserState.STATE_STOPPING
                 && state.mState != UserState.STATE_SHUTDOWN;