INTERNAL: fix bug when cancel the start tracing 78/26778/1
authorgreatim <jaewon81.lim@samsung.com>
Thu, 28 Aug 2014 15:30:58 +0000 (00:30 +0900)
committergreatim <jaewon81.lim@samsung.com>
Thu, 28 Aug 2014 15:30:58 +0000 (00:30 +0900)
when cancel the start tracing, timer can be stopped normally

Change-Id: I1daff004a0b51b957850e78a98912daf1bae110d
Signed-off-by: greatim <jaewon81.lim@samsung.com>
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/TraceStartStopThread.java

index bfbec08..7d3813e 100644 (file)
@@ -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();
        }
 }