Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 608e5c41 authored by Irfan Sheriff's avatar Irfan Sheriff Committed by Android (Google) Code Review
Browse files

Merge "Fix join scenario with provision discovery" into jb-mr1-dev

parents def8b0f0 4bbb1397
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -1120,7 +1120,7 @@ public class WifiP2pService extends IWifiP2pManager.Stub {

                    if (mSavedPeerConfig.wps.setup == WpsInfo.PBC) {
                        if (DBG) logd("Found a match " + mSavedPeerConfig);
                        mWifiNative.p2pConnect(mSavedPeerConfig, FORM_GROUP);
                        p2pConnectWithPinDisplay(mSavedPeerConfig);
                        transitionTo(mGroupNegotiationState);
                    }
                    break;
@@ -1133,7 +1133,7 @@ public class WifiP2pService extends IWifiP2pManager.Stub {
                        if (DBG) logd("Found a match " + mSavedPeerConfig);
                        /* we already have the pin */
                        if (!TextUtils.isEmpty(mSavedPeerConfig.wps.pin)) {
                            mWifiNative.p2pConnect(mSavedPeerConfig, FORM_GROUP);
                            p2pConnectWithPinDisplay(mSavedPeerConfig);
                            transitionTo(mGroupNegotiationState);
                        } else {
                            mJoinExistingGroup = false;
@@ -1152,7 +1152,7 @@ public class WifiP2pService extends IWifiP2pManager.Stub {
                    if (mSavedPeerConfig.wps.setup == WpsInfo.DISPLAY) {
                        if (DBG) logd("Found a match " + mSavedPeerConfig);
                        mSavedPeerConfig.wps.pin = provDisc.pin;
                        mWifiNative.p2pConnect(mSavedPeerConfig, FORM_GROUP);
                        p2pConnectWithPinDisplay(mSavedPeerConfig);
                        if (!sendShowPinReqToFrontApp(provDisc.pin)) {
                            notifyInvitationSent(provDisc.pin, device.deviceAddress);
                        }
@@ -1862,7 +1862,7 @@ public class WifiP2pService extends IWifiP2pManager.Stub {
            return NEEDS_PROVISION_REQ;
        }

        p2pConnectWithPinDisplay(config, join);
        p2pConnectWithPinDisplay(config);
        return CONNECT_SUCCESS;
    }

@@ -1969,8 +1969,14 @@ public class WifiP2pService extends IWifiP2pManager.Stub {
        return deviceAddress;
    }

    private void p2pConnectWithPinDisplay(WifiP2pConfig config, boolean join) {
        String pin = mWifiNative.p2pConnect(config, join);
    private void p2pConnectWithPinDisplay(WifiP2pConfig config) {
        WifiP2pDevice dev = mPeers.get(config.deviceAddress);
        if (dev == null) {
            loge("target device is not found " + config.deviceAddress);
            return;
        }

        String pin = mWifiNative.p2pConnect(config, dev.isGroupOwner());
        try {
            Integer.parseInt(pin);
            if (!sendShowPinReqToFrontApp(pin)) {