Show
Ignore:
Timestamp:
02/03/08 10:04:19 PM (11 months ago)
Author:
octorian
Message:

Support for WiFi connection string parameters (#34)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/LogicMail/src/org/logicprobe/LogicMail/util/Connection.java

    r145 r189  
    6767import javax.microedition.io.StreamConnection; 
    6868import javax.microedition.io.Connector; 
     69import net.rim.device.api.system.Application; 
    6970import net.rim.device.api.system.EventLogger; 
     71import net.rim.device.api.ui.UiApplication; 
     72import net.rim.device.api.ui.component.Dialog; 
    7073import org.logicprobe.LogicMail.AppInfo; 
    7174import org.logicprobe.LogicMail.conf.GlobalConfig; 
     
    100103    protected InputStream input; 
    101104    protected OutputStream output; 
     105    private boolean useWiFi; 
    102106     
    103107    /** 
     
    150154        // be a global user configurable option 
    151155        String paramStr = (deviceSide ? ";deviceside=true" : ""); 
    152         String connectStr = protocolStr + "://" + serverName + 
    153                 ":" + serverPort + paramStr; 
     156 
     157        useWiFi = false; 
     158        if(globalConfig.getWifiMode() == GlobalConfig.WIFI_PROMPT) { 
     159            UiApplication.getUiApplication().invokeAndWait(new Runnable() { 
     160                public void run() { 
     161                    useWiFi = (Dialog.ask(Dialog.D_YES_NO, "Connect through WiFi?") == Dialog.YES); 
     162                } 
     163            }); 
     164        } 
     165        else if(globalConfig.getWifiMode() == GlobalConfig.WIFI_ALWAYS) { 
     166            useWiFi = true; 
     167        } 
     168         
     169        if(useWiFi) { 
     170            paramStr = paramStr + ";ConnectionUID=S TCP-WiFi;ConnectionSetup=delayed;retrynocontext=true"; 
     171        } 
     172         
     173        String connectStr = protocolStr + "://" + serverName + ":" + serverPort + paramStr; 
    154174         
    155175        if(EventLogger.getMinimumLevel() >= EventLogger.INFORMATION) {