diff options
-rwxr-xr-x | AndroidManifest.xml | 1 | ||||
-rw-r--r-- | src/com/android/se/Terminal.java | 12 |
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) { |