summaryrefslogtreecommitdiffstats
path: root/nxp
diff options
context:
space:
mode:
Diffstat (limited to 'nxp')
-rw-r--r--nxp/jni/com_android_nfc_NativeNfcManager.cpp23
-rwxr-xr-xnxp/src/com/android/nfc/dhimpl/NativeNfcManager.java3
2 files changed, 19 insertions, 7 deletions
diff --git a/nxp/jni/com_android_nfc_NativeNfcManager.cpp b/nxp/jni/com_android_nfc_NativeNfcManager.cpp
index c80141e6..cfbab9bd 100644
--- a/nxp/jni/com_android_nfc_NativeNfcManager.cpp
+++ b/nxp/jni/com_android_nfc_NativeNfcManager.cpp
@@ -1360,7 +1360,7 @@ static void com_android_nfc_NfcManager_disableDiscovery(JNIEnv *e, jobject o)
// TODO: use enable_lptd
static void com_android_nfc_NfcManager_enableDiscovery(JNIEnv *e, jobject o, jint modes,
- jboolean, jboolean reader_mode, jboolean restart)
+ jboolean, jboolean reader_mode, jboolean enable_p2p, jboolean restart)
{
NFCSTATUS ret;
struct nfc_jni_native_data *nat;
@@ -1393,17 +1393,28 @@ static void com_android_nfc_NfcManager_enableDiscovery(JNIEnv *e, jobject o, jin
if (modes != 0)
{
- if (reader_mode)
+
+ if (enable_p2p)
+ {
+ nat->p2p_initiator_modes = phNfc_eP2P_ALL;
+ nat->p2p_target_modes = 0x0E; // All passive except 106, active
+ nat->discovery_cfg.Duration = 300000; /* in ms */
+ }
+ else
{
nat->p2p_initiator_modes = 0;
nat->p2p_target_modes = 0;
+ nat->discovery_cfg.Duration = 200000; /* in ms */
+
+ }
+
+ if (reader_mode)
+ {
nat->discovery_cfg.PollDevInfo.PollCfgInfo.DisableCardEmulation = TRUE;
nat->discovery_cfg.Duration = 200000; /* in ms */
}
else
{
- nat->p2p_initiator_modes = phNfc_eP2P_ALL;
- nat->p2p_target_modes = 0x0E; // All passive except 106, active
nat->discovery_cfg.PollDevInfo.PollCfgInfo.DisableCardEmulation = FALSE;
nat->discovery_cfg.Duration = 300000; /* in ms */
}
@@ -1414,7 +1425,7 @@ static void com_android_nfc_NfcManager_enableDiscovery(JNIEnv *e, jobject o, jin
nat->discovery_cfg.PollDevInfo.PollCfgInfo.EnableIso15693 = (modes & 0x08) != 0;
}
- nfc_jni_start_discovery_locked(nat, restart);
+ nfc_jni_start_discovery_locked(nat, false);
clean_and_return:
CONCURRENCY_UNLOCK();
}
@@ -2369,7 +2380,7 @@ static JNINativeMethod gMethods[] =
{"doDeinitialize", "()Z",
(void *)com_android_nfc_NfcManager_deinitialize},
- {"doEnableDiscovery", "(IZZZ)V",
+ {"doEnableDiscovery", "(IZZZZ)V",
(void *)com_android_nfc_NfcManager_enableDiscovery},
{"doCheckLlcp", "()Z",
diff --git a/nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java b/nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java
index cc73db3b..805e1eac 100755
--- a/nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java
+++ b/nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java
@@ -161,11 +161,12 @@ public class NativeNfcManager implements DeviceHost {
private native void doEnableDiscovery(int techMask,
boolean enableLowPowerPolling,
boolean enableReaderMode,
+ boolean enableP2p,
boolean restart);
@Override
public void enableDiscovery(NfcDiscoveryParameters params, boolean restart) {
doEnableDiscovery(params.getTechMask(), params.shouldEnableLowPowerDiscovery(),
- params.shouldEnableReaderMode(), restart);
+ params.shouldEnableReaderMode(), params.shouldEnableP2p(), restart);
}
@Override