From c71241ce1fa350d63d326664ae051ab5b0e80499 Mon Sep 17 00:00:00 2001 From: greatim Date: Fri, 29 Aug 2014 00:30:58 +0900 Subject: [PATCH] INTERNAL: fix bug when cancel the start tracing when cancel the start tracing, timer can be stopped normally Change-Id: I1daff004a0b51b957850e78a98912daf1bae110d Signed-off-by: greatim --- .../ui/toolbar/TraceStartStopThread.java | 37 ++++++++++------------ 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/TraceStartStopThread.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/TraceStartStopThread.java index bfbec08..7d3813e 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/TraceStartStopThread.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/TraceStartStopThread.java @@ -48,8 +48,7 @@ public class TraceStartStopThread implements Runnable { public static void runStartStopThread() { if (count == 0) { count++; - startStopThread = new Thread(null, new TraceStartStopThread(), - START_STOP_THREAD); + startStopThread = new Thread(null, new TraceStartStopThread(), START_STOP_THREAD); startStopThread.start(); } } @@ -58,7 +57,7 @@ public class TraceStartStopThread implements Runnable { public void run() { if (AnalyzerManager.isRunning()) { HostResult isStarted = traceStart(); - + if (StartProcessManager.getInstance().isCancelled()) { // cancel traceCancel(AnalyzerLabels.START_TRACE_ERROR); DACommunicator.stopTrace(); @@ -69,12 +68,10 @@ public class TraceStartStopThread implements Runnable { Display.getDefault().syncExec(new Runnable() { @Override public void run() { - ToolbarArea.getInstance() - .setStartButtonEnablement(true); + ToolbarArea.getInstance().setStartButtonEnablement(true); ToolbarArea.getInstance().setStartButtonToolTipText( ShortCutManager.STOP_TRACE); - ToolbarArea.getInstance().setSettingsButtonEnablement( - true); + ToolbarArea.getInstance().setSettingsButtonEnablement(true); } }); ShortCutManager.getInstance().setEnabled(true); @@ -96,30 +93,29 @@ public class TraceStartStopThread implements Runnable { Display.getDefault().syncExec(new Runnable() { @Override public void run() { - final Shell shell = WorkbenchUtil.getWorkbenchWindow() - .getShell(); + final Shell shell = WorkbenchUtil.getWorkbenchWindow().getShell(); DADialog dialog = new DADialog(shell, SWT.NONE); dialog.setIcon(ImageResources.DIALOG_WARNING_ICON); dialog.setMessage(msg); dialog.open(); - ToolbarArea.getInstance().setToolbarState( - ToolbarArea.TOOLBAR_STATE_READY); - ToolbarArea.getInstance() - .setStartButtonEnablement(true); - ToolbarArea.getInstance().setSettingsButtonEnablement( - true); + ToolbarArea.getInstance().setToolbarState(ToolbarArea.TOOLBAR_STATE_READY); + ToolbarArea.getInstance().setStartButtonEnablement(true); + ToolbarArea.getInstance().setSettingsButtonEnablement(true); ShortCutManager.getInstance().setEnabled(true); + + if (!AnalyzerManager.isExit()) { + ToolbarArea.getInstance().stopTimer(); + } } }); } - + private HostResult traceStart() { Display.getDefault().syncExec(new Runnable() { @Override public void run() { - ToolbarArea.getInstance().setToolbarState( - ToolbarArea.TOOLBAR_STATE_RECORDING); + ToolbarArea.getInstance().setToolbarState(ToolbarArea.TOOLBAR_STATE_RECORDING); ToolbarArea.getInstance().setStartButtonEnablement(false); ToolbarArea.getInstance().setSettingsButtonEnablement(false); } @@ -135,8 +131,7 @@ public class TraceStartStopThread implements Runnable { Display.getDefault().syncExec(new Runnable() { @Override public void run() { - ToolbarArea.getInstance().setToolbarState( - ToolbarArea.TOOLBAR_STATE_READY); + ToolbarArea.getInstance().setToolbarState(ToolbarArea.TOOLBAR_STATE_READY); ToolbarArea.getInstance().setStartButtonEnablement(false); ToolbarArea.getInstance().setSettingsButtonEnablement(false); StopProcessManager.getInstance().stopProcessStart( @@ -144,7 +139,7 @@ public class TraceStartStopThread implements Runnable { } }); -// DACommunicator.sendStopMessage(); + // DACommunicator.sendStopMessage(); DACommunicator.stopTrace(); } } -- 2.7.4