diff options
author | Jack Yu <jackcwyu@google.com> | 2021-12-02 14:54:44 +0800 |
---|---|---|
committer | Jack Yu <jackcwyu@google.com> | 2021-12-02 16:06:27 +0800 |
commit | a729797451c1fcb1f8f7c19de7cf4316284b6f7e (patch) | |
tree | f2d13bf6aa1592b89e3b4ed3bbbc1cc28ced9449 | |
parent | 9ffb0079d1ae231f01abd418e0ca0e86ca49e386 (diff) | |
download | SecureElement-a729797451c1fcb1f8f7c19de7cf4316284b6f7e.tar.gz |
Fix managedProfileUnlock_stopped
Nfc stack crashes when calling createContextAsUser and get
IllegalStateException.
Bug: 208478418
Test: local test pass
Change-Id: Iffd3e5e337286919364423516d9c33fb9c970215
-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 |