summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Yu <jackcwyu@google.com>2021-01-22 04:42:49 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-01-22 04:42:49 +0000
commit08862b70aacb08ad755b43db0d467383aa51a9e9 (patch)
treef68d7e836f0abb1b4a5afed6c8b2167a019fce3f
parent8d99fea1373188548d5d998201b946679d0df0a8 (diff)
parent6560a1fdae8b20e7d2e7bd7876993c816e65ceea (diff)
downloadSecureElement-08862b70aacb08ad755b43db0d467383aa51a9e9.tar.gz
Trigger broadcast intent when the secure element state changed am: 34beade7cc am: 6560a1fdae
Original change: https://android-review.googlesource.com/c/platform/packages/apps/SecureElement/+/1533159 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I699164bbe5236b5172159c2ab17eff5bfceeb25a
-rwxr-xr-xAndroidManifest.xml1
-rw-r--r--src/com/android/se/Terminal.java12
2 files changed, 13 insertions, 0 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 18f1cca..1fb1ae5 100755
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -3,6 +3,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.se"
android:sharedUserId="android.uid.se">
+ <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/>
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
<application android:name=".SEApplication"
android:label="SecureElementApplication"
diff --git a/src/com/android/se/Terminal.java b/src/com/android/se/Terminal.java
index 8cff518..d858426 100644
--- a/src/com/android/se/Terminal.java
+++ b/src/com/android/se/Terminal.java
@@ -24,6 +24,7 @@
package com.android.se;
import android.content.Context;
+import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
@@ -37,6 +38,7 @@ import android.os.HwBinder;
import android.os.Message;
import android.os.RemoteException;
import android.os.ServiceSpecificException;
+import android.os.UserHandle;
import android.se.omapi.ISecureElementListener;
import android.se.omapi.ISecureElementReader;
import android.se.omapi.ISecureElementSession;
@@ -158,9 +160,19 @@ public class Terminal {
reason,
mName);
}
+
+ sendStateChangedBroadcast(state);
}
}
+ private void sendStateChangedBroadcast(boolean state) {
+ Intent intent = new Intent(SEService.ACTION_SECURE_ELEMENT_STATE_CHANGED);
+ intent.setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
+ intent.putExtra(SEService.EXTRA_READER_NAME, mName);
+ intent.putExtra(SEService.EXTRA_READER_STATE, state);
+ mContext.sendBroadcastAsUser(intent, UserHandle.CURRENT);
+ };
+
class SecureElementDeathRecipient implements HwBinder.DeathRecipient {
@Override
public void serviceDied(long cookie) {