Ejemplo n.º 1
0
        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);
            }
        }