Пример #1
0
 @Override
 public void handle(IEvent event) {
   if (event instanceof MessageReceivedEvent) {
     MessageReceivedEvent ev = (MessageReceivedEvent) event;
     collectionHandler.onDataCollected(ev.message, ev.senderID);
     return;
   }
   if (event instanceof SendBroadcastMessageEvent) {
     SendBroadcastMessageEvent ev = (SendBroadcastMessageEvent) event;
     sendBroadcast(ev.message);
     return;
   }
   if (event instanceof SendUnicastMessageEvent) {
     SendUnicastMessageEvent ev = (SendUnicastMessageEvent) event;
     sendUnicast(ev.recipient, ev.message);
     return;
   }
   if (event instanceof WiFiInfoCollectedEvent) {
     WiFiInfoCollectedEvent ev = (WiFiInfoCollectedEvent) event;
     groupOwnerAddress = ev.wifiConnectionInfo.groupOwnerAddress.getCanonicalHostName();
     isGroupOwner = ev.wifiConnectionInfo.isGroupOwner;
     return;
   }
   if (event instanceof UpdateStatusEvent) {
     UpdateStatusEvent ev = (UpdateStatusEvent) event;
     Message message = new Message();
     message.what = GuiHandlerInterface.PROGRESS_MESSAGE;
     message.obj = ev.status;
     guiHandler.sendMessage(message);
     return;
   }
 }
Пример #2
0
  /**
   * Constructor
   *
   * @param context
   */
  public AppController(
      Context context, GuiHandlerInterface guiHandlerInterface, TransportSelectorFilter filter) {
    this.context = context;
    this.guiHandler = guiHandlerInterface.getGuiHandler();

    collectionHandler.setWiFiController(this);
    // manager and channel initialization
    manager = (WifiP2pManager) context.getSystemService(Context.WIFI_P2P_SERVICE);
    channel = manager.initialize(context, context.getMainLooper(), null);
    // Register intent filter to receive specific intents
    broadcastReceiverIntentFilter = new IntentFilter();
    broadcastReceiverIntentFilter.addAction(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION);
    broadcastReceiverIntentFilter.addAction(WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION);
    broadcastReceiverIntentFilter.addAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION);
    broadcastReceiverIntentFilter.addAction(WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION);

    // Setting static field which contains device MAC address
    MAC_ADDRESS = getDeviceMacAddress();
    logger.d("il MAC address del dispositivo è = " + MAC_ADDRESS);

    // Force creation of TransportManager
    TransmissionManager.getInstance().setFilter(filter);

    register();
  }