private void startChord(int interfaceType) { /// <summary> /// 3. Start Chord using the selected interface in the list of available /// interfaces. You can get a list of available network interface types /// List<Integer> infList = /// mSchordManager_1.getAvailableInterfaceTypes().isEmpty(); /// if(infList.isEmpty()) // there is no active interface! /// </summary> int managerIndex = 0; SchordManager startManager = null; if (mInterfaceMap.get(interfaceType) == 0) { managerIndex = mInterfaceMap.size() + 1; mInterfaceMap.put(interfaceType, managerIndex); } else { managerIndex = mInterfaceMap.get(interfaceType); } switch (managerIndex) { case 1: startManager = mSchordManager_1; break; case 2: mSchordManager_2 = new SchordManager(this); startManager = mSchordManager_2; break; case 3: mSchordManager_3 = new SchordManager(this); startManager = mSchordManager_3; break; } try { Log.d(TAG, TAGClass + "start(" + getInterfaceName(interfaceType) + ") with the SchordManager number : " + managerIndex); startManager.Looper = MainLooper; switch (interfaceType) { case SchordManager.INTERFACE_TYPE_WIFI: startManager.start(interfaceType, mWifi_ManagerListener); mWifi_startStop_btn.Enabled = false; break; case SchordManager.INTERFACE_TYPE_WIFI_P2P: startManager.start(interfaceType, mWifiDirect_ManagerListener); mWifiDirect_startStop_btn.Enabled = false; break; case SchordManager.INTERFACE_TYPE_WIFI_AP: startManager.start(interfaceType, mMobileAP_ManagerListener); mMobileAP_startStop_btn.Enabled = false; break; } addLogView(interfaceType, " start(" + getInterfaceName(interfaceType) + ")"); } catch (Exception e) { addLogView(interfaceType, " Fail to start -" + e.Message); mInterfaceMap.delete(interfaceType); } }