android.net.wifi.p2p.WifiP2pInfo Java Examples

The following examples show how to use android.net.wifi.p2p.WifiP2pInfo. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source Project: Wifi-Connect   Author: anitaa1990   File: WifiP2PServiceImpl.java    License: Apache License 2.0 6 votes vote down vote up
@Override
public void startDataTransfer(final String message) {
    manager.requestConnectionInfo(channel, new WifiP2pManager.ConnectionInfoListener() {
        @Override
        public void onConnectionInfoAvailable(WifiP2pInfo wifiP2pInfo) {
            boolean isGroupOwner = wifiP2pInfo.groupFormed && wifiP2pInfo.isGroupOwner;
            boolean isClient = RECEIVER_PREFS_VALUE.equalsIgnoreCase(PreferenceUtils.getStringValues(activity, PREFS_CLIENT_KEY));

            if(isClient && isGroupOwner) {
                handleOnPeerServer(wifiP2pInfo);

            } else if(!isClient && !isGroupOwner && message != null) {
                handleOnPeerClient(wifiP2pInfo, message);
            }
        }
    });
}
 
Example #2
Source Project: ShareBox   Author: Kerr1Gan   File: WifiDirectManager.java    License: Apache License 2.0 6 votes vote down vote up
public void doWifiDirectConnectionAvailable(WifiP2pInfo info) {
		if (mIsWifiP2pConnected) {
			return;
		}
		
		if (info != null && info.groupOwnerAddress != null) {
			mWifiP2pGroupOwnerAddress = info.groupOwnerAddress.getHostAddress();
			ALog.i(TAG, "doWifiDerectConnectionAvailable mWifiP2pGroupOwnerAddress:" + mWifiP2pGroupOwnerAddress);
		}
		if(info==null){
			mWifiP2pManager.requestConnectionInfo(getChannel(), this);
			return;
		}
		setWifiP2pInfo(info);
		Message msg = mManagerHandler.obtainMessage(Utilities.MSG_WIFI_CONNECTED);
		mManagerHandler.sendMessage(msg);
		mIsWifiP2pConnected = true;
		
		mContext.sendBroadcast(new Intent(WIFI_DIRECT_CONNECTION_INFO_AVAILABLE_ACTION));
/*		if (info.groupFormed && info.isGroupOwner) {
			ALog.i(TAG, "doWifiDirectConnectionAvailable is GroupOwner!!");
		} else if (info.groupFormed) {
		}*/
	}
 
Example #3
Source Project: android-p2p   Author: lukoerfer   File: P2pChatService.java    License: MIT License 6 votes vote down vote up
@Override
public void onConnectionInfoAvailable(WifiP2pInfo p2pInfo) {
    Log.d("P2P", "Received info");
    if (!WifiP2pInfoHelper.areInfosEquals(this.PrevP2pInfo, p2pInfo)) {
        Log.d("P2P", "New info");
        // stop possible previous connection
        if (this.Connection != null) {
            this.Connection.Stop();
        }
        if (p2pInfo != null && p2pInfo.groupFormed) {
            // start new connection
            if (p2pInfo.isGroupOwner) {
                Log.d("P2P", "I'm master");
                this.Connection = new ChatServer(this.MessageReceiver);
                Log.d("P2P", "Server started");
            } else {
                Log.d("P2P", "I'm servant");
                ClientInfo info = new ClientInfo("deviceAddress", "user");
                this.Connection = new ChatClient(p2pInfo.groupOwnerAddress, this.MessageReceiver, info);
                Log.d("P2P", "Client started");
            }
        }
    }
    this.PrevP2pInfo = p2pInfo;
}
 
Example #4
Source Project: Wrox-ProfessionalAndroid-4E   Author: retomeier   File: WiFiDirectActivity.java    License: Apache License 2.0 5 votes vote down vote up
@Override
public void onReceive(Context context, Intent intent) {
  // Extract the NetworkInfo
  String extraKey = WifiP2pManager.EXTRA_NETWORK_INFO;
  NetworkInfo networkInfo = (NetworkInfo)intent.getParcelableExtra(extraKey);

  // Check if we're connected
  if (networkInfo.isConnected()) {
    mWifiP2pManager.requestConnectionInfo(mWifiDirectChannel,
      new WifiP2pManager.ConnectionInfoListener() {
        public void onConnectionInfoAvailable(WifiP2pInfo info) {
          // If the connection is established
          if (info.groupFormed) {
            // If we're the server
            if (info.isGroupOwner) {
              // TODO Initiate server socket.
            }
            // If we're the client
            else if (info.groupFormed) {
              // TODO Initiate client socket.
            }
          }
        }
      });
  } else {
    Log.d(TAG, "Wi-Fi Direct Disconnected.");
  }
}
 
Example #5
Source Project: libcommon   Author: saki4510t   File: WiFiP2pHelper.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * 接続した時のコールバックリスナーを呼び出す
 * @param info
 */
protected void callOnConnect(@NonNull final WifiP2pInfo info) {
	if (DEBUG) Log.v(TAG, "callOnConnect:");
	for (final WiFiP2pListener listener: mListeners) {
		try {
			listener.onConnect(info);
		} catch (final Exception e1) {
			Log.w(TAG, e1);
			mListeners.remove(listener);
		}
	}
}
 
Example #6
Source Project: libcommon   Author: saki4510t   File: WiFiP2pHelper.java    License: Apache License 2.0 5 votes vote down vote up
@Override
public void onConnectionInfoAvailable(final WifiP2pInfo info) {
	if (DEBUG) Log.v(TAG, "onConnectionInfoAvailable:info=" + info);
	if (info != null) {
		callOnConnect(info);
	}
}
 
Example #7
Source Project: WiFi-Buddy   Author: Crash-Test-Buddies   File: WifiDirectHandler.java    License: MIT License 5 votes vote down vote up
/**
     * The requested connection info is available
     * @param wifiP2pInfo Wi-Fi P2P connection info
     */
    @Override
    public void onConnectionInfoAvailable(WifiP2pInfo wifiP2pInfo) {
        Log.i(TAG, "Connection info available");

        Log.i(TAG, "WifiP2pInfo: ");
        Log.i(TAG, p2pInfoToString(wifiP2pInfo));
        this.groupFormed = wifiP2pInfo.groupFormed;
        this.isGroupOwner = wifiP2pInfo.isGroupOwner;

        if (wifiP2pInfo.groupFormed) {
            if(stopDiscoveryAfterGroupFormed){
                stopServiceDiscovery();
            }

//            Thread handler;
            if (wifiP2pInfo.isGroupOwner && socketHandler == null) {
                Log.i(TAG, "Connected as group owner");
                try {
                    socketHandler = new OwnerSocketHandler(this.getHandler());
                    socketHandler.start();
                } catch (IOException e) {
                    Log.e(TAG, "Failed to create a server thread - " + e.getMessage());
                    return;
                }
            } else {
                Log.i(TAG, "Connected as peer");
                socketHandler = new ClientSocketHandler(this.getHandler(), wifiP2pInfo.groupOwnerAddress);
                socketHandler.start();
            }

//            localBroadcastManager.sendBroadcast(new Intent(Action.SERVICE_CONNECTED));
        } else {
            Log.w(TAG, "Group not formed");
        }
        localBroadcastManager.sendBroadcast(new Intent(Action.DEVICE_CHANGED));
    }
 
Example #8
Source Project: WiFi-Buddy   Author: Crash-Test-Buddies   File: WifiDirectHandler.java    License: MIT License 5 votes vote down vote up
public String p2pInfoToString(WifiP2pInfo wifiP2pInfo) {
    if (wifiP2pInfo != null) {
        String strWifiP2pInfo = "Group formed: " + wifiP2pInfo.groupFormed;
        strWifiP2pInfo += "\nIs group owner: " + wifiP2pInfo.isGroupOwner;
        strWifiP2pInfo += "\nGroup owner address: " + wifiP2pInfo.groupOwnerAddress;
        return strWifiP2pInfo;
    } else {
        Log.e(TAG, "WifiP2pInfo is null");
        return "";
    }
}
 
Example #9
Source Project: android-p2p   Author: lukoerfer   File: WifiP2pInfoHelper.java    License: MIT License 5 votes vote down vote up
public static boolean areInfosEquals(WifiP2pInfo info1, WifiP2pInfo info2) {
    if (info1 == null || info2 == null) {
        return false;
    } else {
        return (info1.groupFormed == info2.groupFormed) && (info1.isGroupOwner == info2.isGroupOwner) && (info1.groupOwnerAddress.equals(info2.groupOwnerAddress));
    }
}
 
Example #10
Source Project: Salut   Author: incognitorobito   File: Salut.java    License: MIT License 5 votes vote down vote up
@Override
public void onConnectionInfoAvailable(final WifiP2pInfo info) {
    /* This method is automatically called when we connect to a device.
     * The group owner accepts connections using a server socket and then spawns a
     * client socket for every client. This is handled by the registration jobs.
     * This will automatically handle first time connections.*/

    manager.requestGroupInfo(channel, new WifiP2pManager.GroupInfoListener() {
        @Override
        public void onGroupInfoAvailable(WifiP2pGroup group) {

            if (isRunningAsHost && !registrationIsRunning) {
                if (info.groupFormed && !group.getClientList().isEmpty()) {
                    startHostRegistrationServer();
                }
            } else if (!thisDevice.isRegistered && !info.isGroupOwner) {
                if (serviceRequest == null) {
                    //This means that discoverNetworkServices was never called and we're still connected to an old host for some reason.
                    Log.e(Salut.TAG, "This device is still connected to an old host for some reason. A forced disconnect will be attempted.");
                    forceDisconnect();
                }
                Log.v(Salut.TAG, "Successfully connected to another device.");
                startRegistrationForClient(new InetSocketAddress(info.groupOwnerAddress.getHostAddress(), SALUT_SERVER_PORT));
            }
        }
    });
}
 
Example #11
Source Project: nfcspy   Author: sinpolib   File: WiFiP2PCommand.java    License: GNU General Public License v3.0 5 votes vote down vote up
@Override
public void onConnectionInfoAvailable(WifiP2pInfo info) {

	if (info.groupFormed) {
		ctx.groupOwnerAddress = info.groupOwnerAddress;
		ctx.isGroupOwner = info.isGroupOwner;
		ctx.isWifiP2pConnected = true;
		onFinished(STA_SUCCESS, info);
	} else {
		ctx.groupOwnerAddress = null;
		ctx.isGroupOwner = false;
		ctx.isWifiP2pConnected = false;
		onFinished(STA_FAIL);
	}
}
 
Example #12
Source Project: Wifi-Connect   Author: anitaa1990   File: WifiP2PServiceImpl.java    License: Apache License 2.0 4 votes vote down vote up
@Override
public void handleOnPeerServer(WifiP2pInfo wifiP2pInfo) {
    new DataServerTask(wifiP2PConnectionCallback, DEFAULT_WIFI_PORT).execute();
}
 
Example #13
Source Project: Wifi-Connect   Author: anitaa1990   File: WifiP2PServiceImpl.java    License: Apache License 2.0 4 votes vote down vote up
@Override
public void handleOnPeerClient(WifiP2pInfo wifiP2pInfo, String message) {
    Intent serviceIntent = new Intent(activity, ServerDataService.class);
    serviceIntent.setAction(ACTION_SEND_FILE);
    serviceIntent.putExtra(EXTRAS_DATA, message);
    serviceIntent.putExtra(EXTRAS_GROUP_OWNER_ADDRESS, wifiP2pInfo.groupOwnerAddress == null ? "" : wifiP2pInfo.groupOwnerAddress.getHostAddress());
    serviceIntent.putExtra(EXTRAS_GROUP_OWNER_PORT, DEFAULT_WIFI_PORT);
    serviceIntent.putExtra(EXTRAS_RESULT_RECEIVER, new ResultReceiver(null) {
        @Override
        protected void onReceiveResult(int resultCode, final Bundle resultData) {
            if(resultCode == DEFAULT_WIFI_PORT && resultData != null) {
                int status = Integer.valueOf(String.valueOf(resultData.get(EXTRAS_MESSAGE)));
                switch (status) {
                    case STATUS_CONNECTING:
                        activity.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                wifiP2PConnectionCallback.onDataTransferring();
                            }
                        });
                        break;

                    case STATUS_SUCCESS:
                        activity.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                wifiP2PConnectionCallback.onDataTransferredSuccess();
                            }
                        });
                        break;

                    case STATUS_FAILURE:
                        activity.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                wifiP2PConnectionCallback.onDataTransferredFailure();
                            }
                        });
                        break;
                }
            }
        }
    });
    activity.startService(serviceIntent);
}
 
Example #14
Source Project: letv   Author: JackChan1999   File: LeBoxNetworkManager.java    License: Apache License 2.0 4 votes vote down vote up
public void saveWifiP2pInfo(WifiP2pInfo wifiP2pInfo) {
    LeBoxWifiDirectModel.getInstance().setWifiP2pInfo(wifiP2pInfo);
}
 
Example #15
Source Project: ShareBox   Author: Kerr1Gan   File: WifiDirectManager.java    License: Apache License 2.0 4 votes vote down vote up
public void setWifiP2pInfo(WifiP2pInfo info) {
	mWifiP2pInfo = info;
	ALog.i(TAG, "setWifiP2pInfo mWifiP2pInfo:" + mWifiP2pInfo);
}
 
Example #16
Source Project: ShareBox   Author: Kerr1Gan   File: WifiDirectManager.java    License: Apache License 2.0 4 votes vote down vote up
@Override
public void onConnectionInfoAvailable(WifiP2pInfo info) {
	ALog.i(TAG, "onConnectionInfoAvailable info:" + info + ", mIsWifiP2pConnected:" + mIsWifiP2pConnected);
	doWifiDirectConnectionAvailable(info);
}
 
Example #17
Source Project: ShareBox   Author: Kerr1Gan   File: WifiDirectManager.java    License: Apache License 2.0 4 votes vote down vote up
public WifiP2pInfo getWifiP2pInfo()
{
	return mWifiP2pInfo;
}
 
Example #18
Source Project: commcare-android   Author: dimagi   File: DeviceDetailFragment.java    License: Apache License 2.0 4 votes vote down vote up
@Override
public void onConnectionInfoAvailable(final WifiP2pInfo info) {
    Log.d(TAG, "onConnectionInfoAvailable");
    this.getView().setVisibility(View.VISIBLE);
}
 
Example #19
Source Project: commcare-android   Author: dimagi   File: WiFiDirectManagementFragment.java    License: Apache License 2.0 3 votes vote down vote up
@Override
public void onConnectionInfoAvailable(WifiP2pInfo info) {

    this.info = info;

    refreshStatusText();

    boolean isOwner = info.isGroupOwner;

    setDeviceConnected(info.groupFormed);

}
 
Example #20
Source Project: libcommon   Author: saki4510t   File: WiFiP2pListener.java    License: Apache License 2.0 2 votes vote down vote up
/**
 * 機器へ接続した時のコールバックメソッド
 * @param info
 */
public void onConnect(@NonNull final WifiP2pInfo info);
 
Example #21
Source Project: Wifi-Connect   Author: anitaa1990   File: WifiP2PService.java    License: Apache License 2.0 votes vote down vote up
void handleOnPeerServer(WifiP2pInfo wifiP2pInfo); 
Example #22
Source Project: Wifi-Connect   Author: anitaa1990   File: WifiP2PService.java    License: Apache License 2.0 votes vote down vote up
void handleOnPeerClient(WifiP2pInfo wifiP2pInfo, String message);