From f7a9fa09d4f6d19181568ff3a74675d01a55dc6d Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Fri, 16 Jan 2015 15:48:14 +0100 Subject: [PATCH] Fixed reset button for execution times --- .../ericsson/uecontrol/core/UeBehaviour.java | 22 ++++++++++++++++++- .../uecontrol/core/UeControlExecutor.java | 3 +++ .../ericsson/uecontrol/gui/MainActivity.java | 2 ++ .../gui/util/BehaviourListAdapter.java | 3 +++ 4 files changed, 29 insertions(+), 1 deletion(-) 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 e18f1d3..ce5c6db 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/UeBehaviour.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/UeBehaviour.java @@ -13,6 +13,7 @@ public abstract class UeBehaviour implements Serializable{ private static final Logger log = Logger.getLogger(UeBehaviour.class); private transient boolean running; + private transient long execTime = -1; private transient BehaviourExecutionListener execListener; @@ -24,6 +25,7 @@ public abstract class UeBehaviour implements Serializable{ * Starts to run the behaviour, this method will block until the execution is done */ public void run(){ + execTime = -1; long startTime = System.currentTimeMillis(); if(execListener != null) execListener.executionStarted(); @@ -34,7 +36,8 @@ public abstract class UeBehaviour implements Serializable{ if(execListener != null) execListener.exception(e); log.warn(null, e); } - long execTime = System.currentTimeMillis() - startTime; + running = false; + execTime = System.currentTimeMillis() - startTime; if(execListener != null) execListener.executionStopped(execTime); } @@ -46,6 +49,22 @@ public abstract class UeBehaviour implements Serializable{ running = false; } + public void reset(){ + terminate(); + execTime = -1; + } + + /** + * @return the last measured execution time, -1 if time is not available + */ + public long getExecTime(){ + return execTime; + } + + public boolean isRunning(){ + return running; + } + /** * @return if currently running behaviour should be terminated */ @@ -54,6 +73,7 @@ public abstract class UeBehaviour implements Serializable{ } + public void setExecutionListener(BehaviourExecutionListener l){ execListener = l; } 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 d6e8c12..a1c01f4 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/UeControlExecutor.java @@ -114,6 +114,9 @@ public class UeControlExecutor implements Runnable{ public synchronized void reset(){ terminate(); currentlyActive = null; + for(int i=0; i{ // Setting all values in listview title.setText(behaviour.getName()); description.setText(""+behaviour); + time.setText(StringUtil.getTimeString(behaviour.getExecTime())); + if(!behaviour.isRunning()) + time.setVisibility(View.VISIBLE); if(editable) draggable.setVisibility(View.VISIBLE);