Return null when user is locked

In getUserData, peekAuthToken return null instead of crashing when a user is
locked. As per JavaDoc authenticators are expected to handle null return values.

Bug: 28217043
Change-Id: I06d5a2965fe685cad21215958d5d94f413f77677
diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java
index 4791818..49cf834 100644
--- a/services/core/java/com/android/server/accounts/AccountManagerService.java
+++ b/services/core/java/com/android/server/accounts/AccountManagerService.java
@@ -828,6 +828,10 @@
                     account.type);
             throw new SecurityException(msg);
         }
+        if (!isUserUnlocked(userId)) {
+            Log.w(TAG, "User " + userId + " data is locked. callingUid " + callingUid);
+            return null;
+        }
         long identityToken = clearCallingIdentity();
         try {
             UserAccounts accounts = getUserAccounts(userId);
@@ -1788,6 +1792,11 @@
                     account.type);
             throw new SecurityException(msg);
         }
+        if (!isUserUnlocked(userId)) {
+            Log.w(TAG, "Authtoken not available - user " + userId + " data is locked. callingUid "
+                    + callingUid);
+            return null;
+        }
         long identityToken = clearCallingIdentity();
         try {
             UserAccounts accounts = getUserAccounts(userId);