Added CSV logging
This commit is contained in:
parent
319f6023e9
commit
d9fac2807a
25 changed files with 200 additions and 144 deletions
108
app/src/main/java/com/ericsson/uecontrol/gui/util/CSVWriter.java
Executable file
108
app/src/main/java/com/ericsson/uecontrol/gui/util/CSVWriter.java
Executable file
|
|
@ -0,0 +1,108 @@
|
|||
package com.ericsson.uecontrol.gui.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.net.wifi.WifiInfo;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
/**
|
||||
* Created by ezivkoc on 2014-07-30.
|
||||
*/
|
||||
public class CSVWriter {
|
||||
public static final String[] HEADINGS = new String[]{
|
||||
"Timestamp", "Behaviour", "RX Throughput(b/s)", "TX Throughput(b/s)", "RAT"
|
||||
};
|
||||
public static final String DELIMITER = ",";
|
||||
protected static final SimpleDateFormat fileDateFormater = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss");
|
||||
protected static final SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
|
||||
|
||||
|
||||
private File file;
|
||||
|
||||
private NetworkInfo netInfo;
|
||||
private WifiInfo wifiInfo;
|
||||
private TelephonyManager telMan;
|
||||
|
||||
public CSVWriter(Context context){
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
file = new File(
|
||||
prefs.getString("logging_path", "/sdcard/uecontrol/"),
|
||||
"log_"+fileDateFormater.format(System.currentTimeMillis())+".log");
|
||||
|
||||
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
netInfo = cm.getActiveNetworkInfo();
|
||||
|
||||
WifiManager wm = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
|
||||
wifiInfo = wm.getConnectionInfo();
|
||||
|
||||
telMan = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
|
||||
|
||||
// Write Headings
|
||||
StringBuilder line = new StringBuilder();
|
||||
for(String header : HEADINGS){
|
||||
line.append(header).append(DELIMITER);
|
||||
}
|
||||
|
||||
file.delete();
|
||||
file.getParentFile().mkdirs();
|
||||
writeLine(line.toString());
|
||||
}
|
||||
|
||||
|
||||
public void write(String behaviour){
|
||||
StringBuilder line = new StringBuilder();
|
||||
line.append(getTime()).append(DELIMITER);
|
||||
line.append(behaviour).append(DELIMITER);
|
||||
line.append(DELIMITER);
|
||||
line.append(DELIMITER);
|
||||
line.append(getRat()).append(DELIMITER);
|
||||
writeLine(line.toString());
|
||||
}
|
||||
|
||||
public void write(String behaviour, double down, double up){
|
||||
StringBuilder line = new StringBuilder();
|
||||
line.append(getTime()).append(DELIMITER);
|
||||
line.append(behaviour).append(DELIMITER);
|
||||
line.append(down).append(DELIMITER);
|
||||
line.append(up).append(DELIMITER);
|
||||
line.append(getRat()).append(DELIMITER);
|
||||
writeLine(line.toString());
|
||||
}
|
||||
|
||||
protected void writeLine(String line){
|
||||
try{
|
||||
PrintWriter out = new PrintWriter(new FileOutputStream(file, true));
|
||||
out.println(line);
|
||||
out.close();
|
||||
} catch(IOException e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
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";
|
||||
}
|
||||
}
|
||||
return netInfo.getTypeName();
|
||||
}
|
||||
|
||||
protected String getTime(){
|
||||
return dateFormater.format(System.currentTimeMillis());
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue