summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Yu <jackcwyu@google.com>2021-09-17 19:54:48 +0800
committerJack Yu <jackcwyu@google.com>2021-11-23 15:14:25 +0800
commitb48706211e3dd9505a41b01f591d269bc2ee17f7 (patch)
treebb7bb206d53633638a0972be7c1f1adcedc22a29
parent77fbe2919aee1e228183c43c743853f755b1c4ad (diff)
downloadSecureElement-b48706211e3dd9505a41b01f591d269bc2ee17f7.tar.gz
Get packageManager based on current user
When switching to 2nd user, get new packageManager based on current user so we can get correct package information. Bug: 192994529 Test: manually with CtsVerifier Change-Id: Ie5db871bbbfd2c34916fde254026339605a4a69d
-rw-r--r--src/com/android/se/SecureElementService.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/com/android/se/SecureElementService.java b/src/com/android/se/SecureElementService.java
index 2742fb4..fb2e771 100644
--- a/src/com/android/se/SecureElementService.java
+++ b/src/com/android/se/SecureElementService.java
@@ -22,6 +22,7 @@
package com.android.se;
+import android.app.ActivityManager;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
@@ -34,6 +35,7 @@ import android.os.IBinder;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.ServiceSpecificException;
+import android.os.UserHandle;
import android.se.omapi.ISecureElementChannel;
import android.se.omapi.ISecureElementListener;
import android.se.omapi.ISecureElementReader;
@@ -133,7 +135,10 @@ public final class SecureElementService extends Service {
throw new IllegalArgumentException("package names not specified");
}
Terminal terminal = getTerminal(reader);
- return terminal.isNfcEventAllowed(getPackageManager(), aid, packageNames);
+ UserHandle currentUser = new UserHandle(ActivityManager.getCurrentUser());
+ return terminal.isNfcEventAllowed(
+ createContextAsUser(currentUser, /*flags=*/0).getPackageManager(),
+ aid, packageNames);
}
@Override