Added custom marks

[artf403916]
This commit is contained in:
Ziver Koc 2015-04-07 16:18:16 +02:00
parent 9727b88327
commit ffd5dcc7cc
5 changed files with 92 additions and 22 deletions

View file

@ -9,6 +9,7 @@
<facet type="android" name="Android">
<configuration>
<option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" />
@ -24,6 +25,7 @@
</component>
<component name="NewModuleRootManager" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />

View file

@ -1,13 +1,10 @@
package com.ericsson.uecontrol.gui;
import android.app.ActionBar;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.preference.PreferenceManager;
import android.support.v4.app.FragmentActivity;
@ -15,7 +12,6 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.WindowManager;
import android.widget.Toast;
import com.ericsson.uecontrol.R;
import com.ericsson.uecontrol.core.UeControlExecutor;
import com.ericsson.uecontrol.core.UeControlExecutor.ExecutionListener;
@ -27,14 +23,12 @@ import com.ericsson.uecontrol.gui.fragments.ExecNotification;
import com.ericsson.uecontrol.gui.fragments.FileBrowserDialog;
import com.ericsson.uecontrol.gui.fragments.FileBrowserDialog.OnFileSelectionListener;
import com.ericsson.uecontrol.gui.fragments.StatusFragment;
import de.mindpipe.android.logging.log4j.LogConfigurator;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import java.io.File;
import de.mindpipe.android.logging.log4j.LogConfigurator;
public class MainActivity extends FragmentActivity implements OnSharedPreferenceChangeListener,
OnFileSelectionListener, ExecutionListener {
@ -46,9 +40,12 @@ public class MainActivity extends FragmentActivity implements OnSharedPreference
/* Fragments */
private StatusFragment statusFragment;
private BehaviourListFragment behaviourListFragment;
/* Internal variables */
private MenuItem action_execute;
private MenuItem action_mark;
private boolean backButtonPressed = false;
private boolean defaultMark = false; // Add default mark if all other marks are disabled
/* Static Data */
private static UeControlExecutor executor;
@ -154,6 +151,10 @@ public class MainActivity extends FragmentActivity implements OnSharedPreference
statusFragment.updateGraphLength();
}
}
else if(key.startsWith("mark_")){
log.info("Marks has changed, invalidating menu");
invalidateOptionsMenu();
}
}
@ -164,15 +165,33 @@ public class MainActivity extends FragmentActivity implements OnSharedPreference
// 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);
action_execute = (MenuItem) menu.findItem(R.id.action_execute);
action_mark = (MenuItem) menu.findItem(R.id.action_mark);
updateExecutionState();
return true;
}
@Override
public boolean onPrepareOptionsMenu (Menu menu){
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
MenuItem mark01 = menu.findItem(R.id.action_mark_01);
mark01.setVisible(!prefs.getString("mark_01", "").trim().isEmpty());
MenuItem mark02 = menu.findItem(R.id.action_mark_02);
mark02.setVisible(!prefs.getString("mark_02", "").trim().isEmpty());
MenuItem mark03 = menu.findItem(R.id.action_mark_03);
mark03.setVisible(!prefs.getString("mark_03", "").trim().isEmpty());
MenuItem mark04 = menu.findItem(R.id.action_mark_04);
mark04.setVisible(!prefs.getString("mark_04", "").trim().isEmpty());
MenuItem mark05 = menu.findItem(R.id.action_mark_05);
mark05.setVisible(!prefs.getString("mark_05", "").trim().isEmpty());
defaultMark = !mark01.isVisible() && !mark02.isVisible() &&
!mark03.isVisible() && !mark04.isVisible() &&
!mark05.isVisible();
return true;
}
@Override
@ -196,12 +215,12 @@ public class MainActivity extends FragmentActivity implements OnSharedPreference
updateExecutionState();
return true;
}
else if (id == R.id.action_mark) {
if (executor.getCsvLogger() != null) {
executor.getCsvLogger().addComment("--- Mark ---");
Toast.makeText(this, "Mark added to log", Toast.LENGTH_SHORT).show();
}
}
else if (id == R.id.action_mark_01) addMark(01);
else if (id == R.id.action_mark_02) addMark(02);
else if (id == R.id.action_mark_03) addMark(03);
else if (id == R.id.action_mark_04) addMark(04);
else if (id == R.id.action_mark_05) addMark(05);
else if (id == R.id.action_mark && defaultMark) addMark(00); // Add default mark if all other marks are disabled
else if (id == R.id.action_reset) {
if(executor != null) {
executor.terminate();
@ -242,6 +261,17 @@ public class MainActivity extends FragmentActivity implements OnSharedPreference
}
return super.onOptionsItemSelected(item);
}
private void addMark(int mark_id){
if (executor.getCsvLogger() != null) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String comment = "--- Mark 0"+mark_id+" --- "+prefs.getString("mark_0"+mark_id, "");
log.info(comment);
executor.getCsvLogger().addComment(comment);
Toast.makeText(this, "Mark 0" + mark_id + " added to log", Toast.LENGTH_SHORT).show();
}
}
public void onFileSelection(String tag, File file){
try {
if(tag.equals("import")) {
@ -291,8 +321,10 @@ public class MainActivity extends FragmentActivity implements OnSharedPreference
this.runOnUiThread(new Runnable() {
@Override
public void run() {
if(action_execute != null)
action_execute.setTitle(R.string.action_run);
ExecNotification.dismiss();
if(action_mark != null)
action_mark.setEnabled(false);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}

View file

@ -9,7 +9,20 @@
android:title="@string/action_mark"
android:orderInCategory="0"
android:showAsAction="withText|ifRoom"
android:enabled="false" />
android:enabled="false" >
<menu>
<item android:id="@+id/action_mark_01"
android:title="Mark 01"/>
<item android:id="@+id/action_mark_02"
android:title="Mark 02"/>
<item android:id="@+id/action_mark_03"
android:title="Mark 03"/>
<item android:id="@+id/action_mark_04"
android:title="Mark 04"/>
<item android:id="@+id/action_mark_05"
android:title="Mark 05"/>
</menu>
</item>
<item android:id="@+id/action_reset"
android:title="@string/action_reset"

View file

@ -42,6 +42,7 @@
<string name="pref_throughput_average_freq_summ">Frequency per second(Will also impact csv logging frequency)</string>
<string name="action_history">History</string>
<string name="title_activity_history">Execution History</string>
<string name="pref_custom_marks">Custom Marks</string>
</resources>

View file

@ -2,7 +2,7 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="@string/pref_exec_title"
android:key="pref_key_storage_settings">
android:key="pref_key_execution_settings">
<CheckBoxPreference
android:key="logging"
@ -35,11 +35,33 @@
android:title="@string/pref_screen_on"
android:summary="@string/pref_screen_on_summ"
android:defaultValue="false" />
<PreferenceScreen
android:key="custom_marks"
android:title="@string/pref_custom_marks"
android:persistent="false">
<EditTextPreference
android:key="mark_01"
android:title="Mark 01" />
<EditTextPreference
android:key="mark_02"
android:title="Mark 02" />
<EditTextPreference
android:key="mark_03"
android:title="Mark 03" />
<EditTextPreference
android:key="mark_04"
android:title="Mark 04" />
<EditTextPreference
android:key="mark_05"
android:title="Mark 05" />
</PreferenceScreen>
</PreferenceCategory>
<PreferenceCategory
android:title="@string/pref_other_title"
android:key="pref_key_storage_settings">
android:key="pref_key_other_settings">
<CheckBoxPreference
android:key="debug"