12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package de.tudarmstadt.informatik.hostage.sync.p2p;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.net.NetworkInfo;
- import android.net.wifi.p2p.WifiP2pDevice;
- import android.net.wifi.p2p.WifiP2pManager;
- public class P2PBroadcastReceiver extends BroadcastReceiver {
- private WifiP2pManager mManager;
- private WifiP2pManager.Channel mChannel;
- private P2PSyncActivity mActivity;
- public P2PBroadcastReceiver(WifiP2pManager manager, WifiP2pManager.Channel channel, P2PSyncActivity activity){
- this.mManager = manager;
- this.mChannel = channel;
- this.mActivity = activity;
- }
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- if(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION.equals(action)){
- int state = intent.getIntExtra(WifiP2pManager.EXTRA_WIFI_STATE, -1);
- if (state == WifiP2pManager.WIFI_P2P_STATE_ENABLED) {
- mActivity.setWifiDirectAvailable();
- } else {
- mActivity.setWifiDirectNotAvailable();
- }
- } else if(WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION.equals(action)){
- mManager.requestPeers(mChannel, mActivity);
- } else if(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION.equals(action)){
- NetworkInfo networkInfo = (NetworkInfo) intent.getParcelableExtra(WifiP2pManager.EXTRA_NETWORK_INFO);
- if(networkInfo.isConnected()){
- mManager.requestConnectionInfo(mChannel, mActivity);
- } else {
- mActivity.closeConnection();
- }
- } else if(WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION.equals(action)){
- WifiP2pDevice device = (WifiP2pDevice) intent.getParcelableExtra(WifiP2pManager.EXTRA_WIFI_P2P_DEVICE);
- mActivity.updateThisDevice(device);
- }
- }
- }
|