aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornxf32288 <ganesh.deva_1@nxp.com>2017-11-17 15:18:31 +0530
committernxpandroid <srikrishna.pramoda@nxp.com>2017-11-24 11:44:43 +0530
commitd12785b52c41c51371b44954191c03c215702ede (patch)
treecf4a8bc46773667b97e05b5c5901d4fd4ba18ffc
parent322d6ec7198f688943c919d65107e8c4754c489c (diff)
downloadandroid_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-xsrc/com/android/nfc/NfcService.java16
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;