diff options
-rw-r--r-- | src/com/android/se/SecureElementService.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/com/android/se/SecureElementService.java b/src/com/android/se/SecureElementService.java index 9183649..b03a462 100644 --- a/src/com/android/se/SecureElementService.java +++ b/src/com/android/se/SecureElementService.java @@ -134,9 +134,16 @@ public final class SecureElementService extends Service { throw new IllegalArgumentException("package names not specified"); } Terminal terminal = getTerminal(reader); - return terminal.isNfcEventAllowed( - createContextAsUser(UserHandle.of(userId), /*flags=*/0) - .getPackageManager(), aid, packageNames); + Context context; + try { + context = createContextAsUser(UserHandle.of(userId), /*flags=*/0); + } catch (IllegalStateException e) { + context = null; + Log.d(mTag, "fail to call createContextAsUser for userId:" + userId); + } + return context == null ? null : terminal.isNfcEventAllowed( + context.getPackageManager(), aid, packageNames); + } @Override |