Setting : Checking the setting status before start trace 88/27588/2
authorheeyoung <heeyoung1008.hwang@samsung.com>
Tue, 16 Sep 2014 08:32:43 +0000 (17:32 +0900)
committerheeyoung <heeyoung1008.hwang@samsung.com>
Wed, 17 Sep 2014 06:20:25 +0000 (15:20 +0900)
Change-Id: I589b22e3c03a3a350cb22ca1990f346044f45f02
Signed-off-by: heeyoung <heeyoung1008.hwang@samsung.com>
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/ConfigureLabels.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/ConfigureLabels.properties
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/SettingDialogManager.java

index 9992430..81a26de 100644 (file)
@@ -46,6 +46,7 @@ public class ConfigureLabels extends NLS {
 
        public static String WELCONE_ASK_USE_AGAIN;
        public static String SETTING_DIALOG_NOT_FOUND;
+       public static String SETTING_DIALOG_FAIL_MESSAGE;
        
        public static String INCLUDE_INSIDE_CALL;
        public static String AUTO;
index 59dd182..15e4052 100644 (file)
@@ -11,6 +11,7 @@ SETTING_CONFIGURATION_TITLE=Configuration settings
 
 WELCONE_ASK_USE_AGAIN=Use this as the default and do not ask again.
 SETTING_DIALOG_NOT_FOUND=Setting file not found
+SETTING_DIALOG_FAIL_MESSAGE=Start Trace Setting failed..
 
 FEATURE_FUNCTION_PROFILING=Function profiling
 FEATURE_FUNCTION_SAMPLING=Function sampling
index 20e0e8e..de250ae 100755 (executable)
@@ -54,6 +54,7 @@ import org.tizen.dynamicanalyzer.handlers.CommandActionHandler;
 import org.tizen.dynamicanalyzer.handlers.ReplayTraceHandler;
 import org.tizen.dynamicanalyzer.model.DeviceInfo;
 import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
+import org.tizen.dynamicanalyzer.nl.ConfigureLabels;
 import org.tizen.dynamicanalyzer.project.AppInfo;
 import org.tizen.dynamicanalyzer.project.PackageInfo;
 import org.tizen.dynamicanalyzer.project.ProcessInformation;
@@ -67,6 +68,7 @@ import org.tizen.dynamicanalyzer.ui.timeline.TimelinePage;
 import org.tizen.dynamicanalyzer.ui.toolbar.opentrace.OpenTraceDialog;
 import org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.ReplayEditDialog;
 import org.tizen.dynamicanalyzer.ui.toolbar.setting.SettingDialog;
+import org.tizen.dynamicanalyzer.ui.toolbar.setting.SettingDialogManager;
 import org.tizen.dynamicanalyzer.util.Logger;
 import org.tizen.dynamicanalyzer.util.WorkbenchUtil;
 import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
@@ -486,6 +488,12 @@ public class ToolbarArea {
                        Logger.performance("TEST", "Start Trace", "Check valid application");
                        return;
                }
+               
+               // check setting status
+               if (checkSettingStatus() == false) {
+                       return;
+               }
+               
                Logger.performance("TEST", "Start Trace", "Check valid application");
                Display.getDefault().syncExec(new Runnable() {
 
@@ -504,6 +512,40 @@ public class ToolbarArea {
                TraceStartStopThread.runStartStopThread();
        }
 
+       private boolean checkSettingStatus() {
+               if (GlobalInformation.getCurrentDeviceInfo().isConfigSuccess() == false) {
+                       if (SettingDialogManager.getInstance().applySwapValue() == false) {
+                               // fail message box
+                               Shell shell = WorkbenchUtil.getWorkbenchWindow().getShell();
+                               DADialog dialog = new DADialog(shell, SWT.NONE, 550, 153);
+                               dialog.setIcon(ImageResources.DIALOG_WARNING_ICON);
+                               dialog.setMessage(ConfigureLabels.SETTING_DIALOG_FAIL_MESSAGE);
+                               dialog.open();
+
+                               setToolbarStartStopState(true);
+
+                               if (null == DACommunicator.getDevices() || DACommunicator.getDevices().isEmpty()) {
+                                       deviceCombo.setEnabled(false);
+                               }
+
+                               if (!deviceCombo.isEnabled() || null == GlobalInformation.getCurrentDeviceInfo()) {
+                                       appCombo.setEnabled(false);
+                               }
+
+                               if (!appCombo.isEnabled() || null == GlobalInformation.getCurrentApplication()) {
+                                       setStartButtonEnablement(false);
+                               }
+
+                               setSaveButtonEnable(false);
+
+                               ShortCutManager.getInstance().setEnabled(true);
+//                             Logger.performance("TEST", "Start Trace", "Check setting information");
+                               return false;
+                       }
+               }
+               return true;
+       }
+       
        public void stopTrace() {
                ShortCutManager.getInstance().setEnabled(false);
                AnalyzerManager.getProject().setReplayStopTime(getTime());
@@ -1183,7 +1225,8 @@ public class ToolbarArea {
        private void setStartButtonState(boolean enabled) {
                if (enabled) {
                        DeviceInfo device = GlobalInformation.getCurrentDeviceInfo();
-                       if (null != device && device.isConfigSuccess()) {
+//                     if (null != device && device.isConfigSuccess()) {
+                       if (null != device) {
                                startButton.setButtonEnabled(true);
                        }
                } else {
index 61b8e4c..b0195ed 100644 (file)
@@ -31,7 +31,6 @@ import java.util.Set;
 
 import org.eclipse.nebula.widgets.grid.Grid;
 import org.eclipse.nebula.widgets.grid.GridItem;
-import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.common.GlobalInformation;
 import org.tizen.dynamicanalyzer.common.HostResult;
 import org.tizen.dynamicanalyzer.communicator.DACommunicator;
@@ -72,22 +71,20 @@ public class SettingDialogManager {
                this.featureDlg = featureDlg;
        }
 
-       public void applySwapValue() {  
+       public boolean applySwapValue() {       
+               boolean ret = true;
                if (null != GlobalInformation.getCurrentDeviceInfo()) {
                        HostResult result = DACommunicator.sendRuntimeMessage(
                                        DACommunicator.MSG_TYPE_CONFIG, null);
-// TODO : check result
-//                     if (!result.equals(HostResult.SUCCESS)) {
-//                             applyFailedSwapValue(featuresTable);
-//                     } else if (!GlobalInformation.getCurrentDeviceInfo()
-//                                     .isConfigSuccess()) {
-//                             GlobalInformation.getCurrentDeviceInfo().setConfigSuccess(true);
-//                             ToolbarArea.getInstance().setStartButtonEnablement(true);
-//                     } else {
-//                             updateFeaturesValueFromConfigureManager();
-//                             featuresTable.updateTable();
-//                     }
+                       // check result
+                       if (!result.equals(HostResult.SUCCESS)) {
+                               GlobalInformation.getCurrentDeviceInfo().setConfigSuccess(false);
+                               ret = false;
+                       } else {
+                               GlobalInformation.getCurrentDeviceInfo().setConfigSuccess(true);                        
+                       }
                }
+               return ret;
        }
                
        public void updateFeatureButtonStatus(Boolean enable, Grid table) {