@@ -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 }
@@ -1862,7 +1862,7 @@ private int connect(WifiP2pConfig config, boolean tryInvocation) {
18621862 return NEEDS_PROVISION_REQ ;
18631863 }
18641864
1865- p2pConnectWithPinDisplay (config , join );
1865+ p2pConnectWithPinDisplay (config );
18661866 return CONNECT_SUCCESS ;
18671867 }
18681868
@@ -1969,8 +1969,14 @@ private String getDeviceName(String deviceAddress) {
19691969 return deviceAddress ;
19701970 }
19711971
1972- private void p2pConnectWithPinDisplay (WifiP2pConfig config , boolean join ) {
1973- String pin = mWifiNative .p2pConnect (config , join );
1972+ private void p2pConnectWithPinDisplay (WifiP2pConfig config ) {
1973+ WifiP2pDevice dev = mPeers .get (config .deviceAddress );
1974+ if (dev == null ) {
1975+ loge ("target device is not found " + config .deviceAddress );
1976+ return ;
1977+ }
1978+
1979+ String pin = mWifiNative .p2pConnect (config , dev .isGroupOwner ());
19741980 try {
19751981 Integer .parseInt (pin );
19761982 if (!sendShowPinReqToFrontApp (pin )) {
0 commit comments