diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-04-18 03:59:35 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-04-18 03:59:35 +0000 |
commit | cbd3b5a82f15f6f8b6244584c8f865b86c7a5da8 (patch) | |
tree | b91518e9fee94c76e51025bb6c73f944acecc384 | |
parent | f8dd451fcd3ddf09b5316b0a291035a197f717de (diff) | |
parent | 9bcbe7ae63ebc940ae457cc06c9084af2b4af616 (diff) | |
download | SecureElement-android14-d1-s5-release.tar.gz |
Snap for 9959853 from 9bcbe7ae63ebc940ae457cc06c9084af2b4af616 to udc-d1-releaseandroid-14.0.0_r9android-14.0.0_r8android-14.0.0_r7android-14.0.0_r6android-14.0.0_r5android-14.0.0_r4android-14.0.0_r3android-14.0.0_r12android-14.0.0_r11android-14.0.0_r10android14-d1-s7-releaseandroid14-d1-s6-releaseandroid14-d1-s5-releaseandroid14-d1-s4-releaseandroid14-d1-s3-releaseandroid14-d1-s2-releaseandroid14-d1-s1-releaseandroid14-d1-release
Change-Id: I467f4792cb0d7f0dfe20c03a2823c2b359826f44
-rw-r--r-- | src/com/android/se/SecureElementService.java | 2 | ||||
-rw-r--r-- | src/com/android/se/Terminal.java | 38 |
2 files changed, 22 insertions, 18 deletions
diff --git a/src/com/android/se/SecureElementService.java b/src/com/android/se/SecureElementService.java index 6286228..47d3103 100644 --- a/src/com/android/se/SecureElementService.java +++ b/src/com/android/se/SecureElementService.java @@ -207,6 +207,7 @@ public final class SecureElementService extends Service { @Override public void onCreate() { + super.onCreate(); Log.i(mTag, Thread.currentThread().getName() + " onCreate"); initialize(); createTerminals(); @@ -229,6 +230,7 @@ public final class SecureElementService extends Service { * close all the channels. */ public void onDestroy() { + super.onDestroy(); Log.i(mTag, "onDestroy"); for (Terminal terminal : mTerminals.values()) { terminal.closeChannels(); diff --git a/src/com/android/se/Terminal.java b/src/com/android/se/Terminal.java index cc4c717..aba77bb 100644 --- a/src/com/android/se/Terminal.java +++ b/src/com/android/se/Terminal.java @@ -892,30 +892,32 @@ public class Terminal { * Reset the Secure Element. Return true if success, false otherwise. */ public boolean reset() { - if (mSEHal12 == null && mAidlHal == null) { - return false; - } - mContext.enforceCallingOrSelfPermission( + synchronized (mLock) { + if (mSEHal12 == null && mAidlHal == null) { + return false; + } + mContext.enforceCallingOrSelfPermission( android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION, "Need SECURE_ELEMENT_PRIVILEGED_OPERATION permission"); - try { - if (mAidlHal != null) { - mAidlHal.reset(); - return true; - } else { - byte status = mSEHal12.reset(); - // Successfully trigger reset. HAL service should send onStateChange - // after secure element reset and initialization process complete - if (status == SecureElementStatus.SUCCESS) { + try { + if (mAidlHal != null) { + mAidlHal.reset(); return true; + } else { + byte status = mSEHal12.reset(); + // Successfully trigger reset. HAL service should send onStateChange + // after secure element reset and initialization process complete + if (status == SecureElementStatus.SUCCESS) { + return true; + } + Log.e(mTag, "Error resetting terminal " + mName); } - Log.e(mTag, "Error resetting terminal " + mName); + } catch (ServiceSpecificException e) { + Log.e(mTag, "Exception in reset()" + e); + } catch (RemoteException e) { + Log.e(mTag, "Exception in reset()" + e); } - } catch (ServiceSpecificException e) { - Log.e(mTag, "Exception in reset()" + e); - } catch (RemoteException e) { - Log.e(mTag, "Exception in reset()" + e); } return false; } |