diff options
author | nxf32288 <ganesh.deva_1@nxp.com> | 2017-11-17 15:18:31 +0530 |
---|---|---|
committer | nxpandroid <srikrishna.pramoda@nxp.com> | 2017-11-24 11:44:43 +0530 |
commit | d12785b52c41c51371b44954191c03c215702ede (patch) | |
tree | cf4a8bc46773667b97e05b5c5901d4fd4ba18ffc | |
parent | 322d6ec7198f688943c919d65107e8c4754c489c (diff) | |
download | android_vendor_nxp_opensource_packages_apps_Nfc-d12785b52c41c51371b44954191c03c215702ede.tar.gz android_vendor_nxp_opensource_packages_apps_Nfc-d12785b52c41c51371b44954191c03c215702ede.tar.bz2 android_vendor_nxp_opensource_packages_apps_Nfc-d12785b52c41c51371b44954191c03c215702ede.zip |
SE Preference is set wrongly while calling selectSecureElement API in PN6xT.
seId type updated Depends on chip type.
-rwxr-xr-x | src/com/android/nfc/NfcService.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/com/android/nfc/NfcService.java b/src/com/android/nfc/NfcService.java index 996903e9..7b3b3cdd 100755 --- a/src/com/android/nfc/NfcService.java +++ b/src/com/android/nfc/NfcService.java @@ -469,6 +469,7 @@ public class NfcService implements DeviceHostListener { // as SE access is not granted for non-owner users. HashSet<String> mSePackages = new HashSet<String>(); int mScreenState; + int mChipVer; boolean mIsTaskBoot = false; boolean mInProvisionMode; // whether we're in setup wizard and enabled NFC provisioning boolean mIsNdefPushEnabled; @@ -1459,8 +1460,8 @@ public class NfcService implements DeviceHostListener { } finally { watchDog.cancel(); } - int chipVer = mDeviceHost.getChipVer(); - if(chipVer < PN553_ID) { + mChipVer = mDeviceHost.getChipVer(); + if(mChipVer < PN553_ID) { ALL_SE_ID_TYPE &= ~UICC2_ID_TYPE; } checkSecureElementConfuration(); @@ -2204,7 +2205,9 @@ public class NfcService implements DeviceHostListener { @Override public int deselectSecureElement(String pkg) throws RemoteException { NfcService.this.enforceNfcSeAdminPerm(pkg); - + if(mChipVer < PN553_ID) { + mSelectedSeId &= ~UICC2_ID_TYPE; + } // Check if NFC is enabled if (!isNfcEnabled()) { return ErrorCodes.ERROR_NOT_INITIALIZED; @@ -2244,6 +2247,9 @@ public class NfcService implements DeviceHostListener { @Override public void storeSePreference(int seId) { + if(mChipVer < PN553_ID) { + seId &= ~UICC2_ID_TYPE; + } NfcPermissions.enforceAdminPermissions(mContext); /* store */ Log.d(TAG, "SE Preference stored"); @@ -2256,6 +2262,10 @@ public class NfcService implements DeviceHostListener { public int selectSecureElement(String pkg,int seId) throws RemoteException { NfcService.this.enforceNfcSeAdminPerm(pkg); + if(mChipVer < PN553_ID) { + seId &= ~UICC2_ID_TYPE; + } + // Check if NFC is enabled if (!isNfcEnabled()) { return ErrorCodes.ERROR_NOT_INITIALIZED; |