From 6e75136cbc461a3a52b427ea395874edb2f6e9fa Mon Sep 17 00:00:00 2001 From: "jungwook.ryu" Date: Mon, 30 Jun 2014 13:41:23 +0900 Subject: [PATCH] Timeline : revision CPU Core chart view and fix bug. 1. CPU Core chart will be hidden when device's core count is 1.(trace/load) 2. fix null pointer exception when retrace. Change-Id: I244786ddfde960057523268b7127670db41f093b Signed-off-by: jungwook.ryu --- .../ui/timeline/chart/ScreenshotChart.java | 4 +++- .../ui/timeline/common/TimelineChartManager.java | 26 +++++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java index d7f166c..fdd4382 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java @@ -102,7 +102,9 @@ public class ScreenshotChart extends TimelineChart { / TimelineConstants.MEGA_DOUBLE; String fileName = (String)row.get(ScreenShotDBTable.COLUMN.IMAGE_FILE_PATH.ordinal()); int orientation = (Integer)row.get(ScreenShotDBTable.COLUMN.IMAGE_ORIENTATION.ordinal()); - + if (AnalyzerManager.getProject() == null) { + return; + } String imagePath = AnalyzerManager.getProject().getSavePath() + File.separator + AnalyzerConstants.IMAGE_FOLDER_NAME + File.separator diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java index 86e29f8..0be84bf 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java @@ -33,6 +33,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.eclipse.swt.widgets.Display; import org.tizen.dynamicanalyzer.common.AnalyzerManager; import org.tizen.dynamicanalyzer.common.GlobalInformation; import org.tizen.dynamicanalyzer.communicator.DACommunicator; @@ -116,7 +117,8 @@ public class TimelineChartManager extends PageDataManager implements private UIEventDBTable uiEventDBTable = null; private CustomDataDBTable customDataDBTable = null; private TargetProcessDBTable targetProcessDBTable = null; - + private boolean isCoreChartHide = false; + private static final int MEM_API_TYPE_ALLOC = 0; private static final int MEM_API_TYPE_FREE = 1; private static final int MEM_API_TYPE_MANAGE = 2; @@ -358,6 +360,8 @@ public class TimelineChartManager extends PageDataManager implements allocByteMap.clear(); allocationSeriesDataSetMap.clear(); + + isCoreChartHide = false; } private void makeSystemDataTableData(Logs systemLogs, Logs memoryLogs) { @@ -814,6 +818,26 @@ public class TimelineChartManager extends PageDataManager implements @Override public void makeChartSeries(long startTime, long endTime) { + if (AnalyzerManager.getProject() == null) { + return; + } + /* + * When start tracing or load, If CPU Core count is 1, CPU core chart will be hidden. + */ + int coreSize = AnalyzerManager.getProject().getDeviceStatusInfo() + .getCpuCount(); + if (!isCoreChartHide && coreSize == 1 && + selectedChartList.contains(CPUCoreChart.getInstance()) && + selectedChartList.contains(CPUChart.getInstance())) { + Display.getDefault().syncExec(new Runnable() { + @Override + public void run() { + chartBoard.hideItem(selectedChartList.indexOf(CPUCoreChart.getInstance())); + } + }); + isCoreChartHide = true; + } + /* * 1. Get DB data */ -- 2.7.4