diff --git a/app/app.iml b/app/app.iml
index 0844e47..a24c855 100755
--- a/app/app.iml
+++ b/app/app.iml
@@ -59,7 +59,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index a57197e..bfbd7d3 100755
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,15 +1,15 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 19
+ compileSdkVersion 15
buildToolsVersion '19.1.0'
defaultConfig {
applicationId "com.ericsson.uecontrol"
- minSdkVersion 19
+ minSdkVersion 15
targetSdkVersion 19
- versionCode 1
- versionName "1.0"
+ versionCode 3
+ versionName "1.0.2"
}
buildTypes {
release {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 889720a..2aa89aa 100755
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -33,4 +33,7 @@
+
+
+
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 aa9a34d..29440fc 100755
--- a/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java
+++ b/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java
@@ -81,14 +81,14 @@ public class UeControlExecutor implements Runnable, UeBehaviour.DataHandledListe
public void handledIncomingData(long size) {
downloadSpeed.setHandledData(size);
if(throughputListener != null && downloadSpeed.isUpdated())
- throughputListener.throughputUpdate(downloadSpeed.getThroughput(), uploadSpeed.getThroughput());
+ throughputListener.throughputUpdate(downloadSpeed.getBitThroughput(), uploadSpeed.getBitThroughput());
}
@Override
public void handledOutgoingData(long size) {
uploadSpeed.setHandledData(size);
if(throughputListener != null && uploadSpeed.isUpdated())
- throughputListener.throughputUpdate(downloadSpeed.getThroughput(), uploadSpeed.getThroughput());
+ throughputListener.throughputUpdate(downloadSpeed.getBitThroughput(), uploadSpeed.getBitThroughput());
}
public void setThroughputListener(ThroughputListener listener){
@@ -99,6 +99,9 @@ public class UeControlExecutor implements Runnable, UeBehaviour.DataHandledListe
return behaviours;
}
+ public UeBehaviour getRunningBehaviour(){
+ return currentlyActive;
+ }
public static interface ThroughputListener{
public void throughputUpdate(double downThroughput, double upThroughput);
diff --git a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourDownload.java b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourDownload.java
deleted file mode 100755
index f6e4293..0000000
--- a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourDownload.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.ericsson.uecontrol.core.behaviour;
-
-import com.ericsson.uecontrol.core.UeBehaviour;
-
-/**
- * This behaviour simulates streaming data.
- * E.g: video, music etc...
- *
- * Created by ezivkoc on 2014-07-15.
- */
-public class UeBehaviourDownload extends UeBehaviour {
- private long data_size;
-
- public UeBehaviourDownload(long byte_amount){
- data_size = byte_amount;
- }
-
- @Override
- protected void execute() {
- //TODO
- }
-
-
- @Override
- public String getName() {
- return "Download";
- }
-
-
- @Override
- public String toString() {
- return "Will download "+ data_size/1000 +"kB";
- }
-}
diff --git a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourUpload.java b/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourUpload.java
deleted file mode 100755
index 318f578..0000000
--- a/app/src/main/java/com/ericsson/uecontrol/core/behaviour/UeBehaviourUpload.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.ericsson.uecontrol.core.behaviour;
-
-import com.ericsson.uecontrol.core.UeBehaviour;
-
-/**
- * This behaviour simulates streaming data.
- * E.g: video, music etc...
- *
- * Created by ezivkoc on 2014-07-15.
- */
-public class UeBehaviourUpload extends UeBehaviour {
- private long data_size;
-
- public UeBehaviourUpload(long byte_amount){
- data_size = byte_amount;
- }
-
- @Override
- protected void execute() {
- //TODO
- }
-
-
- @Override
- public String getName() {
- return "Upload";
- }
-
-
- @Override
- public String toString() {
- return "Will Upload "+ data_size/1000 +"kB";
- }
-}
diff --git a/app/src/main/java/com/ericsson/uecontrol/core/util/ThroughputCalculator.java b/app/src/main/java/com/ericsson/uecontrol/core/util/ThroughputCalculator.java
index 6ee2242..ea75dba 100755
--- a/app/src/main/java/com/ericsson/uecontrol/core/util/ThroughputCalculator.java
+++ b/app/src/main/java/com/ericsson/uecontrol/core/util/ThroughputCalculator.java
@@ -24,11 +24,14 @@ public class ThroughputCalculator {
}
}
- public double getThroughput(){
+ public double getByeThroughput(){
setHandledData(0); // Update throughput
updated = false;
return throughput;
}
+ public double getBitThroughput(){
+ return getByeThroughput()*8;
+ }
public boolean isUpdated(){
return updated;
@@ -36,12 +39,12 @@ public class ThroughputCalculator {
private static final String[] DATA_SIZE = new String[]{"b/s", "kbit/s", "Mbit/s", "Gbit/s"};
- public static String getThroughputString(double bits){
+ public static String getBitThroughputString(double bitsPerSec){
int index = 0;
- double value = bits;
+ double value = bitsPerSec;
- for(; value > 1024 && index < DATA_SIZE.length ;index++) {
- value /= 1024;
+ for(; value > 1000 && index < DATA_SIZE.length ;index++) {
+ value /= 1000;
}
value = (int)(value*10) / 10.0;
diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/EditActivity.java b/app/src/main/java/com/ericsson/uecontrol/gui/EditActivity.java
index d72e9f1..384a8de 100755
--- a/app/src/main/java/com/ericsson/uecontrol/gui/EditActivity.java
+++ b/app/src/main/java/com/ericsson/uecontrol/gui/EditActivity.java
@@ -30,14 +30,8 @@ public class EditActivity extends ListActivity implements AdapterView.OnItemClic
setContentView(R.layout.activity_edit);
final List list;
- if(getIntent().hasExtra("executor")) {
- int executorIndex = getIntent().getExtras().getInt("executor_index");
- executor = MainActivity.getExecutor(executorIndex);
-
- list = executor.getBehaviourList();
- }
- else
- list = new ArrayList();
+ executor = MainActivity.getExecutor();
+ list = executor.getBehaviourList();
adapter = new BehaviourListAdapter(this, list);
adapter.setEditable(true);
diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/MainActivity.java b/app/src/main/java/com/ericsson/uecontrol/gui/MainActivity.java
index c783f16..7afb279 100755
--- a/app/src/main/java/com/ericsson/uecontrol/gui/MainActivity.java
+++ b/app/src/main/java/com/ericsson/uecontrol/gui/MainActivity.java
@@ -3,9 +3,10 @@ package com.ericsson.uecontrol.gui;
import android.app.ActionBar;
import android.app.FragmentManager;
import android.content.Intent;
+import android.content.SharedPreferences;
import android.os.Bundle;
+import android.preference.PreferenceManager;
import android.support.v4.app.FragmentActivity;
-import android.support.v4.widget.DrawerLayout;
import android.view.Menu;
import android.view.MenuItem;
@@ -16,8 +17,7 @@ import com.ericsson.uecontrol.core.behaviour.UeBehaviourSurfing;
import com.ericsson.uecontrol.gui.fragments.BehaviourListFragment;
import com.ericsson.uecontrol.gui.fragments.NavigationDrawerFragment;
import com.ericsson.uecontrol.gui.fragments.StatusFragment;
-
-import java.util.ArrayList;
+import com.ericsson.uecontrol.gui.util.CSVWriter;
public class MainActivity extends FragmentActivity
@@ -29,34 +29,31 @@ public class MainActivity extends FragmentActivity
private NavigationDrawerFragment navigationDrawerFragment;
private StatusFragment statusFragment;
- private int currentExecutor;
+ private static UeControlExecutor currentExecutor;
+ private static CSVWriter logger;
- private static ArrayList executors;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
- navigationDrawerFragment = (NavigationDrawerFragment)
- getFragmentManager().findFragmentById(R.id.navigation_drawer);
+ //navigationDrawerFragment = (NavigationDrawerFragment)
+ // getFragmentManager().findFragmentById(R.id.navigation_drawer);
statusFragment = (StatusFragment)
getFragmentManager().findFragmentById(R.id.status_fragment);
// Set up the drawer.
- navigationDrawerFragment.setUp(
- R.id.navigation_drawer,
- (DrawerLayout) findViewById(R.id.drawer_layout));
+ //navigationDrawerFragment.setUp(
+ // R.id.navigation_drawer,
+ // (DrawerLayout) findViewById(R.id.drawer_layout));
- executors = new ArrayList();
- currentExecutor = 0;
-
- UeControlExecutor exec = new UeControlExecutor();
- exec.addBehaviour(new UeBehaviourSleep());
- exec.addBehaviour(new UeBehaviourSurfing());
- exec.addBehaviour(new UeBehaviourSleep(4000));
- exec.setThroughputListener(statusFragment.getThroughputListener());
- executors.add(exec);
+ currentExecutor = new UeControlExecutor();
+ currentExecutor.addBehaviour(new UeBehaviourSleep());
+ currentExecutor.addBehaviour(new UeBehaviourSurfing());
+ currentExecutor.addBehaviour(new UeBehaviourSleep(4000));
+ currentExecutor.setThroughputListener(statusFragment.getThroughputListener());
+ onNavigationDrawerItemSelected(0);
}
@Override
@@ -64,13 +61,12 @@ public class MainActivity extends FragmentActivity
// update the main content by replacing fragments
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
- .replace(R.id.container, BehaviourListFragment.newInstance(position)).commit();
- currentExecutor = position;
+ .replace(R.id.container, BehaviourListFragment.newInstance()).commit();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- if (navigationDrawerFragment != null && !navigationDrawerFragment.isDrawerOpen()) {
+ if (navigationDrawerFragment == null || !navigationDrawerFragment.isDrawerOpen()) {
// Only show items in the action bar relevant to this screen
// if the drawer is not showing. Otherwise, let the drawer
// decide what to show in the action bar.
@@ -93,20 +89,23 @@ public class MainActivity extends FragmentActivity
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_execute) {
- UeControlExecutor exec = executors.get(currentExecutor);
- if(exec.isRunning()){
- exec.terminate();
+ if(currentExecutor.isRunning()){
+ currentExecutor.terminate();
item.setTitle(R.string.action_run);
}
else {
- exec.execute();
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ if(prefs.getBoolean("logging", false))
+ logger = new CSVWriter(this);
+ else
+ logger = null;
+ currentExecutor.execute();
item.setTitle(R.string.action_stop);
}
return true;
}
if (id == R.id.action_edit) {
Intent intent = new Intent(this, EditActivity.class);
- intent.putExtra("executor", currentExecutor);
startActivity(intent);
return true;
}
@@ -117,9 +116,14 @@ public class MainActivity extends FragmentActivity
return super.onOptionsItemSelected(item);
}
- public static UeControlExecutor getExecutor(int index) {
- if(index >= executors.size())
- return null;
- return executors.get(index);
+ public static UeControlExecutor getExecutor() {
+ return currentExecutor;
+ }
+
+ public static void logThroughput(double downThroughput, double upThroughput) {
+ if(logger == null || currentExecutor == null || currentExecutor.getRunningBehaviour() == null)
+ return;
+
+ logger.write(currentExecutor.getRunningBehaviour().getName(), downThroughput, upThroughput);
}
}
diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/BehaviourListFragment.java b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/BehaviourListFragment.java
index c0cd3f0..d802f7e 100755
--- a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/BehaviourListFragment.java
+++ b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/BehaviourListFragment.java
@@ -32,12 +32,12 @@ public class BehaviourListFragment extends Fragment {
private BehaviourListAdapter adapter;
private UeControlExecutor executor;
- public static BehaviourListFragment newInstance(int index) {
+ public static BehaviourListFragment newInstance() {
BehaviourListFragment f = new BehaviourListFragment();
// Supply index input as an argument.
- Bundle args = new Bundle();
- args.putInt("executor", index);
- f.setArguments(args);
+ //Bundle args = new Bundle();
+ //args.putInt("executor", index);
+ //f.setArguments(args);
return f;
}
@@ -46,11 +46,8 @@ public class BehaviourListFragment extends Fragment {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- Bundle args = getArguments();
- int index = args.getInt("executor", 0);
-
- if(MainActivity.getExecutor(index) != null) {
- UeControlExecutor executor = MainActivity.getExecutor(index);
+ if(MainActivity.getExecutor() != null) {
+ UeControlExecutor executor = MainActivity.getExecutor();
adapter = new BehaviourListAdapter(getActivity(), executor.getBehaviourList());
}
else
diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/NavigationDrawerFragment.java b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/NavigationDrawerFragment.java
index 14d271e..9f6f35d 100755
--- a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/NavigationDrawerFragment.java
+++ b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/NavigationDrawerFragment.java
@@ -60,8 +60,7 @@ public class NavigationDrawerFragment extends Fragment {
private boolean mFromSavedInstanceState;
private boolean mUserLearnedDrawer;
- public NavigationDrawerFragment() {
- }
+
@Override
public void onCreate(Bundle savedInstanceState) {
diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/StatusFragment.java b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/StatusFragment.java
index 4c80b9d..b2a5f30 100755
--- a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/StatusFragment.java
+++ b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/StatusFragment.java
@@ -1,8 +1,14 @@
package com.ericsson.uecontrol.gui.fragments;
import android.app.Fragment;
+import android.content.Context;
import android.graphics.Color;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
+import android.net.wifi.WifiInfo;
+import android.net.wifi.WifiManager;
import android.os.Bundle;
+import android.telephony.TelephonyManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -13,6 +19,8 @@ import android.widget.TextView;
import com.ericsson.uecontrol.R;
import com.ericsson.uecontrol.core.UeControlExecutor;
import com.ericsson.uecontrol.core.util.ThroughputCalculator;
+import com.ericsson.uecontrol.gui.MainActivity;
+import com.ericsson.uecontrol.gui.util.CSVWriter;
import com.jjoe64.graphview.GraphView.GraphViewData;
import com.jjoe64.graphview.GraphViewSeries;
import com.jjoe64.graphview.GraphViewSeries.GraphViewSeriesStyle;
@@ -67,11 +75,13 @@ public class StatusFragment extends Fragment {
down_speed.post(new Runnable() {
@Override
public void run() {
- down_speed.setText(ThroughputCalculator.getThroughputString(downThroughput));
- up_speed.setText(ThroughputCalculator.getThroughputString(upThroughput));
+ down_speed.setText(ThroughputCalculator.getBitThroughputString(downThroughput));
+ up_speed.setText(ThroughputCalculator.getBitThroughputString(upThroughput));
downGraph.appendData(new GraphViewData(x, downThroughput), true, 120);
upGraph.appendData(new GraphViewData(x, upThroughput), true, 120);
x++;
+
+ MainActivity.logThroughput(downThroughput, upThroughput);
}
});
}
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
new file mode 100755
index 0000000..4345929
--- /dev/null
+++ b/app/src/main/java/com/ericsson/uecontrol/gui/util/CSVWriter.java
@@ -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());
+ }
+}
diff --git a/app/src/main/res/drawable-hdpi/ic_action.png b/app/src/main/res/drawable-hdpi/ic_action.png
new file mode 100644
index 0000000..b384450
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_action.png differ
diff --git a/app/src/main/res/drawable-ldpi/ic_action.png b/app/src/main/res/drawable-ldpi/ic_action.png
new file mode 100644
index 0000000..8d8f4ff
Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_action.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action.png b/app/src/main/res/drawable-mdpi/ic_action.png
new file mode 100644
index 0000000..6727ca7
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_action.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action.png b/app/src/main/res/drawable-xhdpi/ic_action.png
new file mode 100644
index 0000000..0477cc3
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_action.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action.png b/app/src/main/res/drawable-xxhdpi/ic_action.png
new file mode 100644
index 0000000..834fd27
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_action.png differ
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 3fd1db4..746e752 100755
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -34,11 +34,12 @@
android:layout_gravity="left" instead. -->
+
diff --git a/app/src/main/res/layout/behaviour_list_item.xml b/app/src/main/res/layout/behaviour_list_item.xml
index 5889b84..601efcf 100755
--- a/app/src/main/res/layout/behaviour_list_item.xml
+++ b/app/src/main/res/layout/behaviour_list_item.xml
@@ -28,20 +28,19 @@
android:typeface="sans"
android:textSize="17dip"
android:textStyle="bold"
- android:layout_toEndOf="@+id/draggable"
- android:layout_alignParentTop="true" />
+ android:layout_alignParentTop="true"
+ android:layout_toRightOf="@+id/draggable" />
+ android:layout_below="@+id/title"
+ android:layout_toRightOf="@+id/draggable" />
@@ -64,7 +63,7 @@
android:layout_marginRight="5dp"
android:layout_centerVertical="true"
android:visibility="invisible"
- android:layout_toLeftOf="@+id/active"/>
+ android:layout_toLeftOf="@+id/active" />
diff --git a/app/src/main/res/layout/fragment_status.xml b/app/src/main/res/layout/fragment_status.xml
index fe7fdc1..5b58023 100755
--- a/app/src/main/res/layout/fragment_status.xml
+++ b/app/src/main/res/layout/fragment_status.xml
@@ -12,7 +12,9 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="1"
- android:padding="10dp">
+ android:paddingLeft="10dp"
+ android:paddingTop="10dp"
+ android:paddingRight="10dp">
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index edadf9a..a95185d 100755
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -13,7 +13,7 @@
android:key="logging_path"
android:title="@string/pref_logging_path"
android:summary="@string/pref_logging_path_summ"
- android:defaultValue="/sdcard/uecontrol" />
+ android:defaultValue="/sdcard/uecontrol/" />