From: heeyoung Date: Tue, 16 Sep 2014 08:32:43 +0000 (+0900) Subject: Setting : Checking the setting status before start trace X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3bfccd07a23baee5186e89e6e4a3c0240c95660c;p=sdk%2Ftools%2Fdynamic-analyzer.git Setting : Checking the setting status before start trace Change-Id: I589b22e3c03a3a350cb22ca1990f346044f45f02 Signed-off-by: heeyoung --- diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/ConfigureLabels.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/ConfigureLabels.java index 9992430..81a26de 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/ConfigureLabels.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/ConfigureLabels.java @@ -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; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/ConfigureLabels.properties b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/ConfigureLabels.properties index 59dd182..15e4052 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/ConfigureLabels.properties +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/ConfigureLabels.properties @@ -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 diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java index 20e0e8e..de250ae 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java @@ -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 { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/SettingDialogManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/SettingDialogManager.java index 61b8e4c..b0195ed 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/SettingDialogManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/SettingDialogManager.java @@ -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) {