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 642cde1..916db1c 100755 --- a/app/src/main/java/com/ericsson/uecontrol/core/UeBehaviour.java +++ b/app/src/main/java/com/ericsson/uecontrol/core/UeBehaviour.java @@ -40,9 +40,14 @@ public abstract class UeBehaviour implements Serializable{ } execTime = System.currentTimeMillis() - startTime; - executor = null; - if(execListener != null) - execListener.executionStopped(execTime); + + if(execListener != null) { + if(!isRunning()) // Has execution been stopped prematurely + execListener.executionStopped(); + else + execListener.executionEnded(execTime); + } + terminate(); } /** @@ -113,7 +118,8 @@ public abstract class UeBehaviour implements Serializable{ public static interface BehaviourExecutionListener { public void executionStarted(); public void progressChanged(float progress); - public void executionStopped(long executionTime); + public void executionStopped(); + public void executionEnded(long executionTime); public void exception(Exception e); } diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/util/BehaviourListAdapter.java b/app/src/main/java/com/ericsson/uecontrol/gui/util/BehaviourListAdapter.java index 1cb124f..de5817d 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/util/BehaviourListAdapter.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/util/BehaviourListAdapter.java @@ -32,13 +32,11 @@ public class BehaviourListAdapter extends StableArrayAdapter{ public View getView(int position, View convertView, ViewGroup parent) { - View vi = convertView; - if(convertView==null) - vi = inflater.inflate(VIEW_RESOURCE, null); + final View vi = (convertView!=null ? convertView : inflater.inflate(VIEW_RESOURCE, null)); - ImageView draggable = (ImageView)vi.findViewById(R.id.draggable); - TextView title = (TextView)vi.findViewById(R.id.title); - TextView description = (TextView)vi.findViewById(R.id.description); + final ImageView draggable = (ImageView)vi.findViewById(R.id.draggable); + final TextView title = (TextView)vi.findViewById(R.id.title); + final TextView description = (TextView)vi.findViewById(R.id.description); final ImageView warning = (ImageView) vi.findViewById(R.id.warning); final ProgressBar active = (ProgressBar)vi.findViewById(R.id.active); final ProgressBar progress = (ProgressBar) vi.findViewById(R.id.progress); @@ -60,6 +58,7 @@ public class BehaviourListAdapter extends StableArrayAdapter{ public void executionStarted() { progress.post(new Runnable() { public void run() { + vi.setAlpha(1f); time.setVisibility(View.INVISIBLE); active.setVisibility(View.VISIBLE); progress.setVisibility(View.VISIBLE); @@ -73,7 +72,15 @@ public class BehaviourListAdapter extends StableArrayAdapter{ executionStarted(); progress.setProgress((int) (p * 100)); } - public void executionStopped(final long execTime) { + public void executionStopped() { + progress.post(new Runnable() { + public void run() { + active.setVisibility(View.INVISIBLE); + vi.setAlpha(0.5f); + } + }); + } + public void executionEnded(final long execTime) { progress.post(new Runnable() { public void run() { active.setVisibility(View.INVISIBLE); diff --git a/app/src/main/res/layout/list_behaviour_item.xml b/app/src/main/res/layout/list_behaviour_item.xml index eb50db5..c8d66aa 100755 --- a/app/src/main/res/layout/list_behaviour_item.xml +++ b/app/src/main/res/layout/list_behaviour_item.xml @@ -70,7 +70,7 @@