@@ -1120,7 +1120,7 @@ public boolean processMessage(Message message) {
11201120
11211121 if (mSavedPeerConfig .wps .setup == WpsInfo .PBC ) {
11221122 if (DBG ) logd ("Found a match " + mSavedPeerConfig );
1123- mWifiNative . p2pConnect (mSavedPeerConfig , FORM_GROUP );
1123+ p2pConnectWithPinDisplay (mSavedPeerConfig );
11241124 transitionTo (mGroupNegotiationState );
11251125 }
11261126 break ;
@@ -1133,7 +1133,7 @@ public boolean processMessage(Message message) {
11331133 if (DBG ) logd ("Found a match " + mSavedPeerConfig );
11341134 /* we already have the pin */
11351135 if (!TextUtils .isEmpty (mSavedPeerConfig .wps .pin )) {
1136- mWifiNative . p2pConnect (mSavedPeerConfig , FORM_GROUP );
1136+ p2pConnectWithPinDisplay (mSavedPeerConfig );
11371137 transitionTo (mGroupNegotiationState );
11381138 } else {
11391139 mJoinExistingGroup = false ;
@@ -1152,7 +1152,7 @@ public boolean processMessage(Message message) {
11521152 if (mSavedPeerConfig .wps .setup == WpsInfo .DISPLAY ) {
11531153 if (DBG ) logd ("Found a match " + mSavedPeerConfig );
11541154 mSavedPeerConfig .wps .pin = provDisc .pin ;
1155- mWifiNative . p2pConnect (mSavedPeerConfig , FORM_GROUP );
1155+ p2pConnectWithPinDisplay (mSavedPeerConfig );
11561156 if (!sendShowPinReqToFrontApp (provDisc .pin )) {
11571157 notifyInvitationSent (provDisc .pin , device .deviceAddress );
11581158 }
@@ -1861,7 +1861,7 @@ private int connect(WifiP2pConfig config, boolean tryInvocation) {
18611861 return NEEDS_PROVISION_REQ ;
18621862 }
18631863
1864- p2pConnectWithPinDisplay (config , join );
1864+ p2pConnectWithPinDisplay (config );
18651865 return CONNECT_SUCCESS ;
18661866 }
18671867
@@ -1968,8 +1968,14 @@ private String getDeviceName(String deviceAddress) {
19681968 return deviceAddress ;
19691969 }
19701970
1971- private void p2pConnectWithPinDisplay (WifiP2pConfig config , boolean join ) {
1972- String pin = mWifiNative .p2pConnect (config , join );
1971+ private void p2pConnectWithPinDisplay (WifiP2pConfig config ) {
1972+ WifiP2pDevice dev = mPeers .get (config .deviceAddress );
1973+ if (dev == null ) {
1974+ loge ("target device is not found " + config .deviceAddress );
1975+ return ;
1976+ }
1977+
1978+ String pin = mWifiNative .p2pConnect (config , dev .isGroupOwner ());
19731979 try {
19741980 Integer .parseInt (pin );
19751981 if (!sendShowPinReqToFrontApp (pin )) {
0 commit comments