From e4936d9f334abab11c111003a8ec1df79657ba58 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Thu, 20 Nov 2014 17:40:17 +0100 Subject: [PATCH] Refactored FTP Upload and Download behaviours. Made FTP behaviours to use Passive mode instead of active. [artf448994] --- .idea/libraries/support_v4_19_1_0.xml | 4 +- .idea/misc.xml | 5 +- .idea/uiDesigner.xml | 124 ++++++++++++++++++ UeControl.iml | 7 +- app/app.iml | 15 +-- app/draggable.svg | 0 app/file.svg | 0 app/folder.svg | 0 app/function.png | Bin app/function.svg | 0 app/libs/android-logging-log4j-1.0.3.jar | Bin app/libs/dom4j-1.6.1.jar | Bin app/libs/gson-2.3.jar | Bin app/libs/jaxen-1.1.6.jar | Bin app/libs/log4j-1.2.17.jar | Bin app/libs/src/GraphView-3.1.3.zip | Bin .../core/behaviour/UeBehaviourFtp.java | 68 ++++++++++ .../behaviour/UeBehaviourFtpDownload.java | 61 ++++++--- .../core/behaviour/UeBehaviourFtpUpload.java | 101 ++++---------- .../ericsson/uecontrol/core/util/UrlUtil.java | 14 +- .../uecontrol/gui/util/WifiScanner.java | 47 +++++++ .../main/res/drawable-hdpi/arrow_down_24.png | Bin .../main/res/drawable-hdpi/arrow_up_24.png | Bin app/src/main/res/drawable-hdpi/file.png | Bin app/src/main/res/drawable-hdpi/folder.png | Bin .../main/res/drawable-hdpi/stat_download.xml | 0 .../drawable-hdpi/stat_download_static.xml | 0 .../drawable-hdpi/stat_sys_download_anim0.png | Bin .../drawable-hdpi/stat_sys_download_anim1.png | Bin .../drawable-hdpi/stat_sys_download_anim2.png | Bin .../drawable-hdpi/stat_sys_download_anim3.png | Bin .../drawable-hdpi/stat_sys_download_anim4.png | Bin .../drawable-hdpi/stat_sys_download_anim5.png | Bin .../drawable-hdpi/stat_sys_upload_anim0.png | Bin .../drawable-hdpi/stat_sys_upload_anim1.png | Bin .../drawable-hdpi/stat_sys_upload_anim2.png | Bin .../drawable-hdpi/stat_sys_upload_anim3.png | Bin .../drawable-hdpi/stat_sys_upload_anim4.png | Bin .../drawable-hdpi/stat_sys_upload_anim5.png | Bin .../main/res/drawable-hdpi/stat_upload.xml | 0 app/src/main/res/drawable-mdpi/draggable.png | Bin app/src/main/res/drawable-mdpi/file.png | Bin app/src/main/res/drawable-mdpi/folder.png | Bin app/src/main/res/drawable-mdpi/icon.png | Bin .../drawable-mdpi/stat_sys_download_anim0.png | Bin .../drawable-mdpi/stat_sys_download_anim1.png | Bin .../drawable-mdpi/stat_sys_download_anim2.png | Bin .../drawable-mdpi/stat_sys_download_anim3.png | Bin .../drawable-mdpi/stat_sys_download_anim4.png | Bin .../drawable-mdpi/stat_sys_download_anim5.png | Bin .../drawable-mdpi/stat_sys_upload_anim0.png | Bin .../drawable-mdpi/stat_sys_upload_anim1.png | Bin .../drawable-mdpi/stat_sys_upload_anim2.png | Bin .../drawable-mdpi/stat_sys_upload_anim3.png | Bin .../drawable-mdpi/stat_sys_upload_anim4.png | Bin .../drawable-mdpi/stat_sys_upload_anim5.png | Bin app/src/main/res/drawable-xhdpi/draggable.png | Bin app/src/main/res/drawable-xhdpi/file.png | Bin app/src/main/res/drawable-xhdpi/folder.png | Bin app/src/main/res/drawable-xhdpi/icon.png | Bin .../stat_sys_download_anim0.png | Bin .../stat_sys_download_anim1.png | Bin .../stat_sys_download_anim2.png | Bin .../stat_sys_download_anim3.png | Bin .../stat_sys_download_anim4.png | Bin .../stat_sys_download_anim5.png | Bin .../drawable-xhdpi/stat_sys_upload_anim0.png | Bin .../drawable-xhdpi/stat_sys_upload_anim1.png | Bin .../drawable-xhdpi/stat_sys_upload_anim2.png | Bin .../drawable-xhdpi/stat_sys_upload_anim3.png | Bin .../drawable-xhdpi/stat_sys_upload_anim4.png | Bin .../drawable-xhdpi/stat_sys_upload_anim5.png | Bin .../main/res/drawable-xxhdpi/draggable.png | Bin app/src/main/res/drawable-xxhdpi/file.png | Bin app/src/main/res/drawable-xxhdpi/folder.png | Bin app/src/main/res/drawable-xxhdpi/icon.png | Bin .../META-INF/licenses/GraphView/license.txt | 0 .../licenses/android-logging-log4j/LICENSE | 0 .../META-INF/licenses/dom4j/LICENSE.txt | 0 .../resources/META-INF/licenses/gson/LICENSE | 0 .../META-INF/licenses/jaxen/LICENSE.txt | 0 .../resources/META-INF/licenses/log4j/LICENSE | 0 .../resources/META-INF/licenses/log4j/NOTICE | 0 app_icon.png | Bin 84 files changed, 341 insertions(+), 105 deletions(-) create mode 100755 .idea/uiDesigner.xml mode change 100644 => 100755 app/draggable.svg mode change 100644 => 100755 app/file.svg mode change 100644 => 100755 app/folder.svg mode change 100644 => 100755 app/function.png mode change 100644 => 100755 app/function.svg mode change 100644 => 100755 app/libs/android-logging-log4j-1.0.3.jar mode change 100644 => 100755 app/libs/dom4j-1.6.1.jar mode change 100644 => 100755 app/libs/gson-2.3.jar mode change 100644 => 100755 app/libs/jaxen-1.1.6.jar mode change 100644 => 100755 app/libs/log4j-1.2.17.jar mode change 100644 => 100755 app/libs/src/GraphView-3.1.3.zip create mode 100755 app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtp.java create mode 100755 app/src/main/java/com/ericsson/uecontrol/gui/util/WifiScanner.java mode change 100644 => 100755 app/src/main/res/drawable-hdpi/arrow_down_24.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/arrow_up_24.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/file.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/folder.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_download.xml mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_download_static.xml mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_sys_download_anim0.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_sys_download_anim1.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_sys_download_anim2.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_sys_download_anim3.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_sys_download_anim4.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_sys_download_anim5.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_sys_upload_anim0.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_sys_upload_anim1.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_sys_upload_anim2.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_sys_upload_anim3.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_sys_upload_anim4.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_sys_upload_anim5.png mode change 100644 => 100755 app/src/main/res/drawable-hdpi/stat_upload.xml mode change 100644 => 100755 app/src/main/res/drawable-mdpi/draggable.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/file.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/folder.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/icon.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/stat_sys_download_anim0.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/stat_sys_download_anim1.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/stat_sys_download_anim2.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/stat_sys_download_anim3.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/stat_sys_download_anim4.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/stat_sys_download_anim5.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/stat_sys_upload_anim0.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/stat_sys_upload_anim1.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/stat_sys_upload_anim2.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/stat_sys_upload_anim3.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/stat_sys_upload_anim4.png mode change 100644 => 100755 app/src/main/res/drawable-mdpi/stat_sys_upload_anim5.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/draggable.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/file.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/folder.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/icon.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/stat_sys_download_anim0.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/stat_sys_download_anim1.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/stat_sys_download_anim2.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/stat_sys_download_anim3.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/stat_sys_download_anim4.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/stat_sys_download_anim5.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/stat_sys_upload_anim0.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/stat_sys_upload_anim1.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/stat_sys_upload_anim2.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/stat_sys_upload_anim3.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/stat_sys_upload_anim4.png mode change 100644 => 100755 app/src/main/res/drawable-xhdpi/stat_sys_upload_anim5.png mode change 100644 => 100755 app/src/main/res/drawable-xxhdpi/draggable.png mode change 100644 => 100755 app/src/main/res/drawable-xxhdpi/file.png mode change 100644 => 100755 app/src/main/res/drawable-xxhdpi/folder.png mode change 100644 => 100755 app/src/main/res/drawable-xxhdpi/icon.png mode change 100644 => 100755 app/src/main/resources/META-INF/licenses/GraphView/license.txt mode change 100644 => 100755 app/src/main/resources/META-INF/licenses/android-logging-log4j/LICENSE mode change 100644 => 100755 app/src/main/resources/META-INF/licenses/dom4j/LICENSE.txt mode change 100644 => 100755 app/src/main/resources/META-INF/licenses/gson/LICENSE mode change 100644 => 100755 app/src/main/resources/META-INF/licenses/jaxen/LICENSE.txt mode change 100644 => 100755 app/src/main/resources/META-INF/licenses/log4j/LICENSE mode change 100644 => 100755 app/src/main/resources/META-INF/licenses/log4j/NOTICE mode change 100644 => 100755 app_icon.png diff --git a/.idea/libraries/support_v4_19_1_0.xml b/.idea/libraries/support_v4_19_1_0.xml index e21be56..5c5cddd 100755 --- a/.idea/libraries/support_v4_19_1_0.xml +++ b/.idea/libraries/support_v4_19_1_0.xml @@ -1,11 +1,11 @@ - + - + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index ad311ed..490d9d3 100755 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,8 +3,7 @@ - + - - + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100755 index 0000000..e96534f --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/UeControl.iml b/UeControl.iml index 4936b63..b20c571 100755 --- a/UeControl.iml +++ b/UeControl.iml @@ -1,5 +1,5 @@ - + @@ -12,8 +12,7 @@ - + - - + \ No newline at end of file diff --git a/app/app.iml b/app/app.iml index 0b2ad4d..8d5be01 100755 --- a/app/app.iml +++ b/app/app.iml @@ -1,5 +1,5 @@ - + @@ -80,14 +80,13 @@ - - - - + - + + + + - - + \ No newline at end of file diff --git a/app/draggable.svg b/app/draggable.svg old mode 100644 new mode 100755 diff --git a/app/file.svg b/app/file.svg old mode 100644 new mode 100755 diff --git a/app/folder.svg b/app/folder.svg old mode 100644 new mode 100755 diff --git a/app/function.png b/app/function.png old mode 100644 new mode 100755 diff --git a/app/function.svg b/app/function.svg old mode 100644 new mode 100755 diff --git a/app/libs/android-logging-log4j-1.0.3.jar b/app/libs/android-logging-log4j-1.0.3.jar old mode 100644 new mode 100755 diff --git a/app/libs/dom4j-1.6.1.jar b/app/libs/dom4j-1.6.1.jar old mode 100644 new mode 100755 diff --git a/app/libs/gson-2.3.jar b/app/libs/gson-2.3.jar old mode 100644 new mode 100755 diff --git a/app/libs/jaxen-1.1.6.jar b/app/libs/jaxen-1.1.6.jar old mode 100644 new mode 100755 diff --git a/app/libs/log4j-1.2.17.jar b/app/libs/log4j-1.2.17.jar old mode 100644 new mode 100755 diff --git a/app/libs/src/GraphView-3.1.3.zip b/app/libs/src/GraphView-3.1.3.zip old mode 100644 new mode 100755 diff --git a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtp.java b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtp.java new file mode 100755 index 0000000..c598ee8 --- /dev/null +++ b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtp.java @@ -0,0 +1,68 @@ +package com.ericsson.uecontrol.core.behaviour; + +import com.ericsson.uecontrol.core.UeBehaviour; +import org.apache.commons.net.ftp.FTP; +import org.apache.commons.net.ftp.FTPClient; +import org.apache.log4j.Logger; + +import java.io.IOException; + +/** + * This behaviour simulates downloading a file from FTP + * + * Created by ezivkoc on 2014-07-15. + */ +public abstract class UeBehaviourFtp extends UeBehaviour { + private static final Logger log = Logger.getLogger(UeBehaviourFtp.class); + + final protected void execute() throws IOException { + FTPClient ftp = new FTPClient(); + try { + // Connect + ftp.setConnectTimeout(5000); + ftp.setDataTimeout(3000); + if (getHost().contains(":")) { + String tmpHost = getHost().substring(0, getHost().indexOf(':')); + int tmpPort = Integer.parseInt(getHost().substring(getHost().indexOf(':'))); + ftp.connect(tmpHost, tmpPort); + } else ftp.connect(getHost()); + if(getUsername() != null && !getUsername().isEmpty()) + ftp.login(getUsername(), getPassword()); + ftp.setFileType(FTP.BINARY_FILE_TYPE); + ftp.enterLocalPassiveMode(); + + executeFtp(ftp); + + // Disconnect + ftp.logout(); + } finally { + if(ftp.isConnected()) { + ftp.disconnect(); + } + } + } + + protected String getFtpUrl(String filePath) { + String url = "ftp://"; + if(getUsername() != null && !getUsername().isEmpty()) { + url += getUsername(); + if(getPassword() !=null && !getPassword().isEmpty()) + url += ":" + getPassword(); + url += "@"; + } + url += getHost(); + if(filePath != null && !filePath.isEmpty()){ + if(!filePath.startsWith("/")) + filePath = "/"+filePath; + url += filePath; + } + return url; + } + + + abstract protected void executeFtp(FTPClient client) throws IOException; + + abstract String getHost(); + abstract String getUsername(); + abstract String getPassword(); +} diff --git a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtpDownload.java b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtpDownload.java index f0c5a73..48712f0 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtpDownload.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtpDownload.java @@ -2,15 +2,19 @@ package com.ericsson.uecontrol.core.behaviour; import com.ericsson.uecontrol.gui.util.Configurator.Configurable; +import org.apache.commons.net.ftp.FTPClient; import org.apache.log4j.Logger; +import java.io.*; + /** * This behaviour simulates downloading a file from FTP * * Created by ezivkoc on 2014-07-15. */ -public class UeBehaviourFtpDownload extends UeBehaviourFileDownload { +public class UeBehaviourFtpDownload extends UeBehaviourFtp { private static final Logger log = Logger.getLogger(UeBehaviourFtpDownload.class); + private static final int BUFFER_SIZE = 512; @Configurable("Host") private String host = "ftp.otenet.gr"; @@ -21,23 +25,46 @@ public class UeBehaviourFtpDownload extends UeBehaviourFileDownload { @Configurable("Password") private String password = "speedtest"; + private transient long estimatedDataLength = -1; @Override - protected String getFileUrl() { - String url = "ftp://"; - if(username != null && !username.isEmpty()) { - url += username; - if(password !=null && !password.isEmpty()) - url += ":"+password; - url += "@"; + protected void executeFtp(FTPClient ftp) throws IOException { + // Download data + InputStream inStream = ftp.retrieveFileStream(filePath); + if (inStream != null) { + InputStream in = new BufferedInputStream(inStream); + + long progress = 0; + long read = 0; + byte[] data = new byte[BUFFER_SIZE]; + + while((read = in.read(data)) != -1 && !stopExecution()){ + progress += read; + super.setProgress((float)progress/estimatedDataLength); + } + + estimatedDataLength = progress; + in.close(); + if(!ftp.completePendingCommand()) { + throw new IOException("FTP reply: "+ftp.getReplyString()); + } + } else { + throw new IOException("FTP reply: "+ftp.getReplyString()); } - url += host; - if(filePath != null && !filePath.isEmpty()){ - if(!filePath.startsWith("/")) - filePath = "/"+filePath; - url += filePath; - } - return url; + } + + + @Override + public String getHost() { + return host; + } + @Override + public String getUsername() { + return username; + } + @Override + public String getPassword() { + return password; } @@ -46,4 +73,8 @@ public class UeBehaviourFtpDownload extends UeBehaviourFileDownload { return "FTP Download"; } + @Override + public String toString() { + return "Will download " + getFtpUrl(filePath); + } } diff --git a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtpUpload.java b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtpUpload.java index a632ad2..9a4515c 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtpUpload.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtpUpload.java @@ -21,7 +21,7 @@ import java.net.URLConnection; * * Created by ezivkoc on 2014-07-15. */ -public class UeBehaviourFtpUpload extends UeBehaviour { +public class UeBehaviourFtpUpload extends UeBehaviourFtp { private static final int BUFFER_SIZE = 512; private static final Logger log = Logger.getLogger(UeBehaviourFtpUpload.class); @@ -38,85 +38,42 @@ public class UeBehaviourFtpUpload extends UeBehaviour { @Override - protected void execute() throws IOException { - FTPClient ftp = new FTPClient(); - try { - // Connect - ftp.setConnectTimeout(3000); - ftp.setDataTimeout(200); - if (host.contains(":")) { - String tmpHost = host.substring(0, host.indexOf(':')); - int tmpPort = Integer.parseInt(host.substring(host.indexOf(':'))); - ftp.connect(tmpHost, tmpPort); - } else ftp.connect(host); - ftp.login(username, password); - ftp.setFileType(FTP.BINARY_FILE_TYPE); + protected void executeFtp(FTPClient ftp) throws IOException { + // Upload data + OutputStream outStream = ftp.storeFileStream(filePath); + if (outStream != null) { + OutputStream out = new BufferedOutputStream(outStream); + int total = 0; + byte[] data = new byte[BUFFER_SIZE]; + while (total < size && !stopExecution()) { + int writeLength = (total + data.length < size ? data.length : size - total); + out.write(data, 0, writeLength); - // Upload data - OutputStream outStream = ftp.storeFileStream(filePath); - if (outStream != null) { - OutputStream out = new BufferedOutputStream(outStream); - int total = 0; - byte[] data = new byte[BUFFER_SIZE]; - while (total < size && !stopExecution()) { - int writeLength = (total + data.length < size ? data.length : size - total); - out.write(data, 0, writeLength); - - total += writeLength; - super.setProgress((float) total / size); - } - out.close(); - if(!ftp.completePendingCommand()) { - throw new IOException("FTP reply: "+ftp.getReplyString()); - } - } else { + total += writeLength; + super.setProgress((float) total / size); + } + out.close(); + if(!ftp.completePendingCommand()) { throw new IOException("FTP reply: "+ftp.getReplyString()); } - - // Disconnect - ftp.logout(); - } finally { - if(ftp.isConnected()) { - ftp.disconnect(); - } + } else { + throw new IOException("FTP reply: "+ftp.getReplyString()); } - } -/* @Override - protected void execute() throws IOException { - URL url = new URL(getFileUrl()); - log.debug("Uploading file: " + url); - byte[] data = new byte[BUFFER_SIZE]; - URLConnection connection = url.openConnection(); - OutputStream out = new BufferedOutputStream(connection.getOutputStream()); - int total = 0; - while(total < size && !stopExecution()){ - int writeLength = (total+data.length < size ? data.length : total+data.length-size); - out.write(data, 0, writeLength); - total += writeLength; - super.setProgress((float)total/size); - } - out.close(); - } -*/ - protected String getFileUrl() { - String url = "ftp://"; - if(username != null && !username.isEmpty()) { - url += username; - if(password !=null && !password.isEmpty()) - url += ":"+password; - url += "@"; - } - url += host; - if(filePath != null && !filePath.isEmpty()){ - if(!filePath.startsWith("/")) - filePath = "/"+filePath; - url += filePath; - } - return url; + @Override + public String getHost() { + return host; + } + @Override + public String getUsername() { + return username; + } + @Override + public String getPassword() { + return password; } diff --git a/app/src/main/java/com/ericsson/uecontrol/core/util/UrlUtil.java b/app/src/main/java/com/ericsson/uecontrol/core/util/UrlUtil.java index 63e946c..be8ffad 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/util/UrlUtil.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/util/UrlUtil.java @@ -4,9 +4,12 @@ import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; +import android.os.Handler; import com.ericsson.uecontrol.gui.MainActivity; +import org.apache.log4j.Logger; import java.io.IOException; +import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; @@ -14,15 +17,24 @@ import java.net.URLConnection; * Created by ezivkoc on 2014-09-18. */ public class UrlUtil { + private static final Logger log = Logger.getLogger(UrlUtil.class); public static URLConnection getURLConnection(URL url) throws IOException { if(!isNetworkAvailable()) throw new IOException("No Data Network Available"); - URLConnection connection = url.openConnection(); + final URLConnection connection = url.openConnection(); connection.setConnectTimeout(5000); connection.setReadTimeout(3000); connection.setUseCaches(false); + + /*new Thread(new Runnable() { + public void run() { + try{Thread.sleep(5000);}catch(Exception e){}; + log.error("Force disconnect URLConnection"); + connection. + } + }).start();*/ connection.connect(); return connection; diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/util/WifiScanner.java b/app/src/main/java/com/ericsson/uecontrol/gui/util/WifiScanner.java new file mode 100755 index 0000000..a42b2d9 --- /dev/null +++ b/app/src/main/java/com/ericsson/uecontrol/gui/util/WifiScanner.java @@ -0,0 +1,47 @@ +package com.ericsson.uecontrol.gui.util; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.net.wifi.ScanResult; +import android.net.wifi.WifiManager; + +import com.ericsson.uecontrol.gui.MainActivity; +import org.apache.log4j.Logger; + +import java.util.List; + +/** + * Created by ezivkoc on 2014-11-05. + */ +public class WifiScanner { + private static final Logger log = Logger.getLogger(WifiScanner.class); + + private WifiManager mainWifi; + private WifiReceiver receiverWifi; + + public WifiScanner() { + mainWifi = (WifiManager) MainActivity.getContext().getSystemService(MainActivity.getContext().WIFI_SERVICE); + receiverWifi = new WifiReceiver(); + } + + protected void start() { + MainActivity.getContext().registerReceiver(receiverWifi, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); + mainWifi.startScan(); + } + + protected void stop() { + MainActivity.getContext().unregisterReceiver(receiverWifi); + } + + + class WifiReceiver extends BroadcastReceiver { + public void onReceive(Context c, Intent intent) { + List scanList = mainWifi.getScanResults(); + for(ScanResult item : scanList){ + log.debug("WiFi scan found SSID: "+item); + } + } + } +} diff --git a/app/src/main/res/drawable-hdpi/arrow_down_24.png b/app/src/main/res/drawable-hdpi/arrow_down_24.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/arrow_up_24.png b/app/src/main/res/drawable-hdpi/arrow_up_24.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/file.png b/app/src/main/res/drawable-hdpi/file.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/folder.png b/app/src/main/res/drawable-hdpi/folder.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_download.xml b/app/src/main/res/drawable-hdpi/stat_download.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_download_static.xml b/app/src/main/res/drawable-hdpi/stat_download_static.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_sys_download_anim0.png b/app/src/main/res/drawable-hdpi/stat_sys_download_anim0.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_sys_download_anim1.png b/app/src/main/res/drawable-hdpi/stat_sys_download_anim1.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_sys_download_anim2.png b/app/src/main/res/drawable-hdpi/stat_sys_download_anim2.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_sys_download_anim3.png b/app/src/main/res/drawable-hdpi/stat_sys_download_anim3.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_sys_download_anim4.png b/app/src/main/res/drawable-hdpi/stat_sys_download_anim4.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_sys_download_anim5.png b/app/src/main/res/drawable-hdpi/stat_sys_download_anim5.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_sys_upload_anim0.png b/app/src/main/res/drawable-hdpi/stat_sys_upload_anim0.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_sys_upload_anim1.png b/app/src/main/res/drawable-hdpi/stat_sys_upload_anim1.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_sys_upload_anim2.png b/app/src/main/res/drawable-hdpi/stat_sys_upload_anim2.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_sys_upload_anim3.png b/app/src/main/res/drawable-hdpi/stat_sys_upload_anim3.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_sys_upload_anim4.png b/app/src/main/res/drawable-hdpi/stat_sys_upload_anim4.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_sys_upload_anim5.png b/app/src/main/res/drawable-hdpi/stat_sys_upload_anim5.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-hdpi/stat_upload.xml b/app/src/main/res/drawable-hdpi/stat_upload.xml old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/draggable.png b/app/src/main/res/drawable-mdpi/draggable.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/file.png b/app/src/main/res/drawable-mdpi/file.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/folder.png b/app/src/main/res/drawable-mdpi/folder.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/icon.png b/app/src/main/res/drawable-mdpi/icon.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/stat_sys_download_anim0.png b/app/src/main/res/drawable-mdpi/stat_sys_download_anim0.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/stat_sys_download_anim1.png b/app/src/main/res/drawable-mdpi/stat_sys_download_anim1.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/stat_sys_download_anim2.png b/app/src/main/res/drawable-mdpi/stat_sys_download_anim2.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/stat_sys_download_anim3.png b/app/src/main/res/drawable-mdpi/stat_sys_download_anim3.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/stat_sys_download_anim4.png b/app/src/main/res/drawable-mdpi/stat_sys_download_anim4.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/stat_sys_download_anim5.png b/app/src/main/res/drawable-mdpi/stat_sys_download_anim5.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/stat_sys_upload_anim0.png b/app/src/main/res/drawable-mdpi/stat_sys_upload_anim0.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/stat_sys_upload_anim1.png b/app/src/main/res/drawable-mdpi/stat_sys_upload_anim1.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/stat_sys_upload_anim2.png b/app/src/main/res/drawable-mdpi/stat_sys_upload_anim2.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/stat_sys_upload_anim3.png b/app/src/main/res/drawable-mdpi/stat_sys_upload_anim3.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/stat_sys_upload_anim4.png b/app/src/main/res/drawable-mdpi/stat_sys_upload_anim4.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-mdpi/stat_sys_upload_anim5.png b/app/src/main/res/drawable-mdpi/stat_sys_upload_anim5.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/draggable.png b/app/src/main/res/drawable-xhdpi/draggable.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/file.png b/app/src/main/res/drawable-xhdpi/file.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/folder.png b/app/src/main/res/drawable-xhdpi/folder.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/icon.png b/app/src/main/res/drawable-xhdpi/icon.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/stat_sys_download_anim0.png b/app/src/main/res/drawable-xhdpi/stat_sys_download_anim0.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/stat_sys_download_anim1.png b/app/src/main/res/drawable-xhdpi/stat_sys_download_anim1.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/stat_sys_download_anim2.png b/app/src/main/res/drawable-xhdpi/stat_sys_download_anim2.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/stat_sys_download_anim3.png b/app/src/main/res/drawable-xhdpi/stat_sys_download_anim3.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/stat_sys_download_anim4.png b/app/src/main/res/drawable-xhdpi/stat_sys_download_anim4.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/stat_sys_download_anim5.png b/app/src/main/res/drawable-xhdpi/stat_sys_download_anim5.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/stat_sys_upload_anim0.png b/app/src/main/res/drawable-xhdpi/stat_sys_upload_anim0.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/stat_sys_upload_anim1.png b/app/src/main/res/drawable-xhdpi/stat_sys_upload_anim1.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/stat_sys_upload_anim2.png b/app/src/main/res/drawable-xhdpi/stat_sys_upload_anim2.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/stat_sys_upload_anim3.png b/app/src/main/res/drawable-xhdpi/stat_sys_upload_anim3.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/stat_sys_upload_anim4.png b/app/src/main/res/drawable-xhdpi/stat_sys_upload_anim4.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xhdpi/stat_sys_upload_anim5.png b/app/src/main/res/drawable-xhdpi/stat_sys_upload_anim5.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxhdpi/draggable.png b/app/src/main/res/drawable-xxhdpi/draggable.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxhdpi/file.png b/app/src/main/res/drawable-xxhdpi/file.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxhdpi/folder.png b/app/src/main/res/drawable-xxhdpi/folder.png old mode 100644 new mode 100755 diff --git a/app/src/main/res/drawable-xxhdpi/icon.png b/app/src/main/res/drawable-xxhdpi/icon.png old mode 100644 new mode 100755 diff --git a/app/src/main/resources/META-INF/licenses/GraphView/license.txt b/app/src/main/resources/META-INF/licenses/GraphView/license.txt old mode 100644 new mode 100755 diff --git a/app/src/main/resources/META-INF/licenses/android-logging-log4j/LICENSE b/app/src/main/resources/META-INF/licenses/android-logging-log4j/LICENSE old mode 100644 new mode 100755 diff --git a/app/src/main/resources/META-INF/licenses/dom4j/LICENSE.txt b/app/src/main/resources/META-INF/licenses/dom4j/LICENSE.txt old mode 100644 new mode 100755 diff --git a/app/src/main/resources/META-INF/licenses/gson/LICENSE b/app/src/main/resources/META-INF/licenses/gson/LICENSE old mode 100644 new mode 100755 diff --git a/app/src/main/resources/META-INF/licenses/jaxen/LICENSE.txt b/app/src/main/resources/META-INF/licenses/jaxen/LICENSE.txt old mode 100644 new mode 100755 diff --git a/app/src/main/resources/META-INF/licenses/log4j/LICENSE b/app/src/main/resources/META-INF/licenses/log4j/LICENSE old mode 100644 new mode 100755 diff --git a/app/src/main/resources/META-INF/licenses/log4j/NOTICE b/app/src/main/resources/META-INF/licenses/log4j/NOTICE old mode 100644 new mode 100755 diff --git a/app_icon.png b/app_icon.png old mode 100644 new mode 100755