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 1d145a8..6627be9 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/MainActivity.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/MainActivity.java @@ -31,11 +31,9 @@ import de.mindpipe.android.logging.log4j.LogConfigurator; public class MainActivity extends FragmentActivity implements OnSharedPreferenceChangeListener{ private static final Logger log = Logger.getLogger(MainActivity.class); + public static final String DEFAULT_LOG_PATH = "/sdcard/uecontrol/"; - /** - * Fragment managing the behaviors, interactions and presentation of the navigation drawer. - */ - private NavigationDrawerFragment navigationDrawerFragment; + /** Fragments **/ private StatusFragment statusFragment; private boolean backButtonPressed = false; @@ -52,17 +50,11 @@ public class MainActivity extends FragmentActivity implements OnSharedPreference // Setup Main GUI setContentView(R.layout.activity_main); - //navigationDrawerFragment = (NavigationDrawerFragment) - // getFragmentManager().findFragmentById(R.id.navigation_drawer); statusFragment = (StatusFragment) getFragmentManager().findFragmentById(R.id.status_fragment); getFragmentManager().beginTransaction() .replace(R.id.container, BehaviourListFragment.newInstance()).commit(); - // Set up the drawer. - //navigationDrawerFragment.setUp( - // R.id.navigation_drawer, - // (DrawerLayout) findViewById(R.id.drawer_layout)); currentExecutor = new UeControlExecutor(); currentExecutor.addBehaviour(new UeBehaviourSleep()); @@ -73,7 +65,7 @@ public class MainActivity extends FragmentActivity implements OnSharedPreference public void setupDebugLogging(){ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); - String path = prefs.getString("logging_path", "/sdcard/uecontrol/"); + String path = prefs.getString("logging_path", DEFAULT_LOG_PATH); if(!path.endsWith("/")) path += File.separator; LogConfigurator logConfigurator = new LogConfigurator(); @@ -105,19 +97,16 @@ public class MainActivity extends FragmentActivity implements OnSharedPreference @Override public boolean onCreateOptionsMenu(Menu menu) { - 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. - getMenuInflater().inflate(R.menu.main, menu); + // 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. + getMenuInflater().inflate(R.menu.main, menu); - ActionBar actionBar = getActionBar(); - actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); - actionBar.setDisplayShowTitleEnabled(true); + ActionBar actionBar = getActionBar(); + actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); + actionBar.setDisplayShowTitleEnabled(true); - return true; - } - return super.onCreateOptionsMenu(menu); + return true; } 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 f605a03..12794fc 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 @@ -34,6 +34,7 @@ import com.jjoe64.graphview.LineGraphView; public class StatusFragment extends Fragment { private TextView down_speed; private TextView up_speed; + private TextView rat_type; private GraphViewSeries downGraph; private GraphViewSeries upGraph; private int x = 0; @@ -46,6 +47,7 @@ public class StatusFragment extends Fragment { down_speed = (TextView) view.findViewById(R.id.down_speed); up_speed = (TextView) view.findViewById(R.id.up_speed); + rat_type = (TextView) view.findViewById(R.id.rat_type); // Init the graph GraphViewData[] zeroPoint = new GraphViewData[]{new GraphViewData(0, 0)}; @@ -77,6 +79,7 @@ public class StatusFragment extends Fragment { public void run() { down_speed.setText(ThroughputCalculator.getBitThroughputString(downThroughput)); up_speed.setText(ThroughputCalculator.getBitThroughputString(upThroughput)); + rat_type.setText(CSVWriter.getRat(getActivity())); downGraph.appendData(new GraphViewData(x, downThroughput), true, 120); upGraph.appendData(new GraphViewData(x, upThroughput), true, 120); x++; @@ -89,4 +92,5 @@ public class StatusFragment extends Fragment { public UeControlExecutor.ThroughputListener getThroughputListener(){ return throughputListener; } + } \ No newline at end of file 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 08911de..f99e872 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 @@ -31,12 +31,10 @@ public class CSVWriter { private File file; - - private NetworkInfo netInfo; - private WifiInfo wifiInfo; - private TelephonyManager telMan; + private Context context; public CSVWriter(Context context){ + this.context = context; SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); String path = prefs.getString("logging_path", "/sdcard/uecontrol/"); if(!path.endsWith(File.separator)) path += File.separator; @@ -44,13 +42,6 @@ public class CSVWriter { path, "log_"+fileDateFormater.format(System.currentTimeMillis())+".csv"); - 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(); @@ -70,7 +61,7 @@ public class CSVWriter { line.append(behaviour).append(DELIMITER); line.append(down).append(DELIMITER); line.append(up).append(DELIMITER); - line.append(getRat()).append(DELIMITER); + line.append(getRat(context)).append(DELIMITER); writeLine(line.toString()); } @@ -84,8 +75,15 @@ public class CSVWriter { } } - protected String getRat(){ + public static String getRat(Context context){ + ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo netInfo = cm.getActiveNetworkInfo(); + + //WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + //WifiInfo wifiInfo = wm.getConnectionInfo(); + if(netInfo.getType() == ConnectivityManager.TYPE_MOBILE){ + TelephonyManager telMan = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); switch(telMan.getNetworkType()){ case TelephonyManager.NETWORK_TYPE_GPRS: return "GPRS"; case TelephonyManager.NETWORK_TYPE_EDGE: return "EDGE"; diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/util/VerticalTextView.java b/app/src/main/java/com/ericsson/uecontrol/gui/util/VerticalTextView.java new file mode 100755 index 0000000..8eae6b8 --- /dev/null +++ b/app/src/main/java/com/ericsson/uecontrol/gui/util/VerticalTextView.java @@ -0,0 +1,57 @@ +package com.ericsson.uecontrol.gui.util; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Rect; +import android.text.TextPaint; +import android.util.AttributeSet; +import android.widget.TextView; + +public class VerticalTextView extends TextView { + + private int _width, _height; + private final Rect _bounds = new Rect(); + + public VerticalTextView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + } + + public VerticalTextView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public VerticalTextView(Context context) { + super(context); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + // vise versa + _height = getMeasuredWidth(); + _width = getMeasuredHeight(); + setMeasuredDimension(_width, _height); + } + + @Override + protected void onDraw(Canvas canvas) { + canvas.save(); + + canvas.translate(_width, _height); + canvas.rotate(-90); + + TextPaint paint = getPaint(); + paint.setColor(getTextColors().getDefaultColor()); + + String text = text(); + + paint.getTextBounds(text, 0, text.length(), _bounds); + canvas.drawText(text, getCompoundPaddingLeft(), (_bounds.height() - _width) / 2, paint); + + canvas.restore(); + } + + private String text() { + return super.getText().toString(); + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_status.xml b/app/src/main/res/layout/fragment_status.xml index 0a3f99c..ecbfb52 100755 --- a/app/src/main/res/layout/fragment_status.xml +++ b/app/src/main/res/layout/fragment_status.xml @@ -57,11 +57,21 @@ + + + +