diff options
Diffstat (limited to 'nxp')
-rw-r--r-- | nxp/jni/com_android_nfc.cpp | 2 | ||||
-rw-r--r-- | nxp/jni/com_android_nfc_NativeNfcManager.cpp | 17 | ||||
-rwxr-xr-x | nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java | 18 |
3 files changed, 32 insertions, 5 deletions
diff --git a/nxp/jni/com_android_nfc.cpp b/nxp/jni/com_android_nfc.cpp index 291bf207..86e30194 100644 --- a/nxp/jni/com_android_nfc.cpp +++ b/nxp/jni/com_android_nfc.cpp @@ -157,7 +157,7 @@ struct nfc_jni_native_data* nfc_jni_get_nat(JNIEnv *e, jobject o) /* Retrieve native structure address */ ScopedLocalRef<jclass> c(e, e->GetObjectClass(o)); jfieldID f = e->GetFieldID(c.get(), "mNative", "J"); - return (struct nfc_jni_native_data*)e->GetLongField(o, f); + return (struct nfc_jni_native_data*) e->GetLongField(o, f); } struct nfc_jni_native_data* nfc_jni_get_nat_ext(JNIEnv *e) diff --git a/nxp/jni/com_android_nfc_NativeNfcManager.cpp b/nxp/jni/com_android_nfc_NativeNfcManager.cpp index fd1cc90a..d99bda38 100644 --- a/nxp/jni/com_android_nfc_NativeNfcManager.cpp +++ b/nxp/jni/com_android_nfc_NativeNfcManager.cpp @@ -1446,7 +1446,10 @@ static void com_android_nfc_NfcManager_disableDiscovery(JNIEnv *e, jobject o) } -static void com_android_nfc_NfcManager_enableDiscovery(JNIEnv *e, jobject o) { +// TODO: use enable_lptd +static void com_android_nfc_NfcManager_enableDiscovery(JNIEnv *e, jobject o, jint modes, + jboolean enable_lptd) +{ NFCSTATUS ret; struct nfc_jni_native_data *nat; @@ -1476,6 +1479,16 @@ static void com_android_nfc_NfcManager_enableDiscovery(JNIEnv *e, jobject o) { nat->registry_info.NFC==TRUE?"P2P":"", nat->registry_info.ISO15693==TRUE?"R":"", ret); + + if (modes != 0) + { + nat->discovery_cfg.PollDevInfo.PollCfgInfo.EnableIso14443A = (modes & 0x01) != 0; + nat->discovery_cfg.PollDevInfo.PollCfgInfo.EnableIso14443B = (modes & 0x02) != 0; + nat->discovery_cfg.PollDevInfo.PollCfgInfo.EnableFelica212 = (modes & 0x04) != 0; + nat->discovery_cfg.PollDevInfo.PollCfgInfo.EnableFelica424 = (modes & 0x04) != 0; + nat->discovery_cfg.PollDevInfo.PollCfgInfo.EnableIso15693 = (modes & 0x08) != 0; + } + nfc_jni_start_discovery_locked(nat, false); clean_and_return: CONCURRENCY_UNLOCK(); @@ -2615,7 +2628,7 @@ static JNINativeMethod gMethods[] = {"doDeinitialize", "()Z", (void *)com_android_nfc_NfcManager_deinitialize}, - {"enableDiscovery", "()V", + {"enableDiscovery", "(IZ)V", (void *)com_android_nfc_NfcManager_enableDiscovery}, {"doGetSecureElementList", "()[I", diff --git a/nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java b/nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java index b97516eb..17f2d32d 100755 --- a/nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java +++ b/nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java @@ -134,7 +134,7 @@ public class NativeNfcManager implements DeviceHost { private native boolean doInitialize(); @Override - public boolean initialize() { + public boolean initialize(boolean enableScreenOffSuspendUnused) { SharedPreferences prefs = mContext.getSharedPreferences(PREF, Context.MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit(); @@ -186,7 +186,7 @@ public class NativeNfcManager implements DeviceHost { } @Override - public native void enableDiscovery(); + public native void enableDiscovery(int techMask, boolean enableLowPowerDiscovery); @Override public native void disableDiscovery(); @@ -372,6 +372,20 @@ public class NativeNfcManager implements DeviceHost { } @Override + public boolean enableScreenOffSuspend() { + // Snooze mode not supported on NXP silicon + Log.i(TAG, "Snooze mode is not supported on NXP NFCC"); + return false; + } + + @Override + public boolean disableScreenOffSuspend() { + // Snooze mode not supported on NXP silicon + Log.i(TAG, "Snooze mode is not supported on NXP NFCC"); + return true; + } + + @Override public boolean getExtendedLengthApdusSupported() { // Not supported on the PN544 return false; |