diff --git a/app/app-release.apk b/app/app-release.apk index acc24e0..31441c6 100755 Binary files a/app/app-release.apk and b/app/app-release.apk differ diff --git a/app/build.gradle b/app/build.gradle index f2036de..fcf21eb 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "com.ericsson.uecontrol" minSdkVersion 15 targetSdkVersion 19 - versionCode 6 - versionName "1.0.6" + versionCode 7 + versionName "1.0.7" } buildTypes { release { diff --git a/app/src/main/java/com/ericsson/uecontrol/core/UeBehaviour.java b/app/src/main/java/com/ericsson/uecontrol/core/UeBehaviour.java index 952ef76..95c50d0 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/UeBehaviour.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/UeBehaviour.java @@ -10,9 +10,9 @@ import org.apache.log4j.Logger; public abstract class UeBehaviour { private static final Logger log = Logger.getLogger(UeBehaviour.class); - private boolean running; - private BehaviourExecutionListener execListener; - private DataHandledListener datahandledListener; + private transient boolean running; + private transient BehaviourExecutionListener execListener; + private transient DataHandledListener datahandledListener; /** * Starts to run the behaviour, this method will block until the execution is done diff --git a/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java b/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java index 4e63e34..a068a63 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java @@ -34,6 +34,13 @@ public class UeControlExecutor implements Runnable, UeBehaviour.DataHandledListe b.setDataHandledListener(this); } + public void read(String file){ + + } + public void save(String file){ + + } + public void execute(){ if(thread == null || !thread.isAlive()) { @@ -58,6 +65,7 @@ public class UeControlExecutor implements Runnable, UeBehaviour.DataHandledListe public void run(){ while(!terminate) { if(behaviours.isEmpty()) { + currentlyActive = null; terminate(); break; } diff --git a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFileDownload.java b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFileDownload.java new file mode 100755 index 0000000..1a16c89 --- /dev/null +++ b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFileDownload.java @@ -0,0 +1,61 @@ +package com.ericsson.uecontrol.core.behaviour; + +import com.ericsson.uecontrol.core.UeBehaviour; +import com.ericsson.uecontrol.gui.util.Configurator.Configurable; + +import org.apache.log4j.Logger; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.net.URLConnection; + +/** + * This behaviour simulates downloading a file from the web + * + * Created by ezivkoc on 2014-07-15. + */ +public class UeBehaviourFileDownload extends UeBehaviour { + private static final Logger log = Logger.getLogger(UeBehaviourFileDownload.class); + + @Configurable("File address") + private String url; + + + @Override + protected void execute() throws IOException { + URL url = new URL(getFileUrl()); + log.debug("Downloading file: " + url); + + byte[] data = new byte[100]; + URLConnection connection = url.openConnection(); + connection.setUseCaches(false); + connection.connect(); + InputStream in = connection.getInputStream(); + + long total = in.available(); + long progress = 0; + long read = 0; + + while((read = in.read(data)) != -1 && !stopExecution()){ + progress += read; + super.setProgress((float)progress/total); + super.setHandledIncomingData(read); + } + } + + protected String getFileUrl() { + return url; + } + + + @Override + public String getName() { + return "File Download"; + } + + @Override + public String toString() { + return "Will download "+ getFileUrl(); + } +} diff --git a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtp.java b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtpDownload.java similarity index 56% rename from app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtp.java rename to app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtpDownload.java index 08080ad..ab3f78f 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtp.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourFtpDownload.java @@ -1,7 +1,5 @@ package com.ericsson.uecontrol.core.behaviour; -import android.util.Log; - import com.ericsson.uecontrol.core.UeBehaviour; import com.ericsson.uecontrol.gui.util.Configurator.Configurable; @@ -13,12 +11,12 @@ import java.net.URL; import java.net.URLConnection; /** - * This behaviour simulates visiting a website + * This behaviour simulates downloading a file from FTP * * Created by ezivkoc on 2014-07-15. */ -public class UeBehaviourFtp extends UeBehaviour { - private static final Logger log = Logger.getLogger(UeBehaviourFtp.class); +public class UeBehaviourFtpDownload extends UeBehaviourFileDownload { + private static final Logger log = Logger.getLogger(UeBehaviourFtpDownload.class); @Configurable("Host") private String host; @@ -31,28 +29,7 @@ public class UeBehaviourFtp extends UeBehaviour { @Override - protected void execute() throws IOException { - URL url = new URL(getFtpUrl()); - log.debug("Downloading from FTP: " + url); - - byte[] data = new byte[100]; - URLConnection connection = url.openConnection(); - connection.setUseCaches(false); - connection.connect(); - InputStream in = connection.getInputStream(); - - long total = in.available(); - long progress = 0; - long read = 0; - - while((read = in.read(data)) != -1 && !stopExecution()){ - progress += read; - super.setProgress((float)progress/total); - super.setHandledIncomingData(read); - } - } - - private String getFtpUrl() { + protected String getFileUrl() { String url = "ftp://"; if(username != null && !username.isEmpty()) { url += username; @@ -75,8 +52,4 @@ public class UeBehaviourFtp extends UeBehaviour { return "FTP Download"; } - @Override - public String toString() { - return "Will download "+ getFtpUrl(); - } } diff --git a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourSurfing.java b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourSurfing.java index cf2768e..d340f07 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourSurfing.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourSurfing.java @@ -26,11 +26,12 @@ import java.util.regex.Pattern; */ public class UeBehaviourSurfing extends UeBehaviour { private static final Logger log = Logger.getLogger(UeBehaviourSurfing.class); + protected static final int MAX_BUFFER_SIZE = 500000; @Configurable("Web Address") private String rootUrl; - private long estimatedDataLength = -1; + private transient long estimatedDataLength = -1; public UeBehaviourSurfing(){ this("http://google.com"); @@ -96,7 +97,10 @@ public class UeBehaviourSurfing extends UeBehaviour { totalRead += read; super.setProgress((float) totalRead / estimatedDataLength); super.setHandledIncomingData(read); - content.append(new String(data, 0, read)); + if(cont.parsable) + content.append(new String(data, 0, read)); + if(content.length() > MAX_BUFFER_SIZE) + break; } if(cont.parsable) getAdditionalContent(cont.url, content.toString(), urlList); diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/util/CSVWriter.java b/app/src/main/java/com/ericsson/uecontrol/gui/util/CSVWriter.java index a9bdc9a..08911de 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/util/CSVWriter.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/util/CSVWriter.java @@ -42,7 +42,7 @@ public class CSVWriter { if(!path.endsWith(File.separator)) path += File.separator; file = new File( path, - "log_"+fileDateFormater.format(System.currentTimeMillis())+".log"); + "log_"+fileDateFormater.format(System.currentTimeMillis())+".csv"); ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); netInfo = cm.getActiveNetworkInfo(); @@ -87,11 +87,14 @@ public class CSVWriter { protected String getRat(){ if(netInfo.getType() == ConnectivityManager.TYPE_MOBILE){ switch(telMan.getNetworkType()){ - case TelephonyManager.NETWORK_TYPE_GPRS: return "GPRS"; - case TelephonyManager.NETWORK_TYPE_EDGE: return "EDGE"; - case TelephonyManager.NETWORK_TYPE_UMTS: return "UMTS"; - case TelephonyManager.NETWORK_TYPE_HSPA: return "HSPA"; - case TelephonyManager.NETWORK_TYPE_LTE: return "LTE"; + case TelephonyManager.NETWORK_TYPE_GPRS: return "GPRS"; + case TelephonyManager.NETWORK_TYPE_EDGE: return "EDGE"; + case TelephonyManager.NETWORK_TYPE_UMTS: return "UMTS"; + case TelephonyManager.NETWORK_TYPE_HSPA: + case TelephonyManager.NETWORK_TYPE_HSDPA: + case TelephonyManager.NETWORK_TYPE_HSUPA: return "HSPA"; + case TelephonyManager.NETWORK_TYPE_HSPAP: return "HSPAP"; + case TelephonyManager.NETWORK_TYPE_LTE: return "LTE"; } } return netInfo.getTypeName(); diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 6e53646..b4b9e3f 100755 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -1,7 +1,8 @@ - com.ericsson.uecontrol.core.behaviour.UeBehaviourFtp + com.ericsson.uecontrol.core.behaviour.UeBehaviourFileDownload + com.ericsson.uecontrol.core.behaviour.UeBehaviourFtpDownload com.ericsson.uecontrol.core.behaviour.UeBehaviourSleep com.ericsson.uecontrol.core.behaviour.UeBehaviourSurfing