From: jy.exe.lee Date: Tue, 10 Jul 2012 07:39:52 +0000 (+0900) Subject: [Title] CallstackManager added and button bug fix X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4840c2ef4c56279b9c229a9d5321ed9cd2e51ea4;p=sdk%2Ftools%2Fdynamic-analyzer.git [Title] CallstackManager added and button bug fix [Type] new feature and bug fix [Module] DynamicAnalyzer [Priority] major [CQ#] [Redmine#] [Problem] [Cause] [Solution] [TestCase] --- diff --git a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/DACustomButton.java b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/DACustomButton.java index c6fc796..0c9cff5 100644 --- a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/DACustomButton.java +++ b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/DACustomButton.java @@ -210,4 +210,8 @@ public class DACustomButton extends Canvas { public void addClickListener(DACustomButtonClickEventListener listener) { addListener(SWT.MouseUp, listener); } + + public int getState() { + return state; + } } diff --git a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/DACustomButtonClickEventListener.java b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/DACustomButtonClickEventListener.java index 9d9f07a..a81fee8 100644 --- a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/DACustomButtonClickEventListener.java +++ b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/DACustomButtonClickEventListener.java @@ -9,7 +9,7 @@ public abstract class DACustomButtonClickEventListener implements Listener { @Override public void handleEvent(Event event) { DACustomButton button = (DACustomButton) event.widget; - if (null != button) { + if (null != button && button.getState() != DACustomButton.STATE_DISABLE) { Rectangle rectangle = button.getBounds(); int x = event.x; int y = event.y; @@ -17,6 +17,8 @@ public abstract class DACustomButtonClickEventListener implements Listener { if (x < 0 || x > rectangle.width || y < 0 || y > rectangle.height) { return; } + } else { + return; } handleClickEvent(button); diff --git a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/helper/FontResources.java b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/helper/FontResources.java new file mode 100644 index 0000000..397f397 --- /dev/null +++ b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/helper/FontResources.java @@ -0,0 +1,152 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Jooyoul Lee + * Juyoung Kim + * + * This program and the accompanying materials are made available + * under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * - S-Core Co., Ltd + * + */ +package org.tizen.dynamicanalyzer.widgets.helper; + +import org.eclipse.jface.resource.FontRegistry; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.FontData; +import org.eclipse.ui.PlatformUI; + +public class FontResources { + + private static FontRegistry fontRegistry = new FontRegistry(); + + public static final String ARIAL = "Arial"; //$NON-NLS-1$ + private static final Font systemFont = PlatformUI.getWorkbench() + .getDisplay().getSystemFont(); + + public static final Font EX_FONT = getFont("ex_font", //$NON-NLS-1$ + new FontData[] { new FontData(ARIAL, 28, SWT.NORMAL) }); + public static final Font TITLEBAR = getFont("titlebar", resizeSystemFont(10));//$NON-NLS-1$ + + /** device and application combo specific fonts **/ + public static final Font COMBO = getFont("combo", resizeSystemFont(10));//$NON-NLS-1$ + + public static final Font DROPDOWN = getFont("dropdown", resizeSystemFont(10));//$NON-NLS-1$ + + /** table specific fonts **/ + public static final Font TABLE_HEADER = getFont( + "table_header", setSystemFont(SWT.NONE, 8));//$NON-NLS-1$ + public static final Font TABLE_CONTENTS = getFont( + "table_contents", resizeSystemFont(8));//$NON-NLS-1$ + + /** open trace window specific fonts **/ + public static final Font OPEN_TRACE_TITLE = getFont( + "open_trace_title", resizeSystemFont(9));//$NON-NLS-1$ + public static final Font OPEN_TRACE_INNER_TITLE = getFont( + "open_trace_inner_title", resizeSystemFont(8));//$NON-NLS-1$ + public static final Font OPEN_TRACE_BUTTON = getFont("open_trace_button", //$NON-NLS-1$ + resizeSystemFont(9));//$NON-NLS-1$ + public static final Font OPEN_TRACE_TEXT = getFont( + "open_trace_text", resizeSystemFont(8));//$NON-NLS-1$ + + /** about window specific fonts **/ + public static final Font ABOUT_TITLE = getFont( + "about_title", resizeSystemFont(12));//$NON-NLS-1$ + public static final Font ABOUT_TEXT = getFont( + "about_text", resizeSystemFont(9));//$NON-NLS-1$ + + + public static final Font TEST_TEXT = getFont( + "about_text", resizeSystemFont(28));//$NON-NLS-1$ + + /** detail info font **/ + public static final Font DETAIL_INFO_FONT = getFont( + "detail_info_font", resizeSystemFont(9));//$NON-NLS-1$ + + + + public static final Font CATEGORY = getFont("category", resizeSystemFont(8));//$NON-NLS-1$ + + public static final Font TIMER = getFont("timer", resizeSystemFont(12));//$NON-NLS-1$ + public static final Font TIMER_MSEC = getFont( + "timer_msec", resizeSystemFont(10));//$NON-NLS-1$ + + public static final Font VIEW_TITLE = getFont( + "view_title", resizeSystemFont(10));//$NON-NLS-1$ + + public static final Font TOOLTIP = getFont("tooltip", resizeSystemFont(9));//$NON-NLS-1$ + + public static final Font TABLE_HEADER_FONT = getFont( + "table_header_font", resizeSystemFont(8));//$NON-NLS-1$ + public static final Font TABLE_CELL_FONT = getFont( + "table_cell_font", resizeSystemFont(8));//$NON-NLS-1$ + + public static final Font TIMELINE_FONT = getFont( + "table_font", resizeSystemFont(8));//$NON-NLS-1$ + public static final Font TIMELINE_TICK_FONT = getFont( + "time_tick", resizeSystemFont(7));//$NON-NLS-1$ + + public static final Font CIRCULAR_GRAPH_FONT = getFont( + "circular_graph_font", resizeSystemFont(13));//$NON-NLS-1$ + public static final Font CIRCULAR_GRAPH_MEASURE_FONT = getFont( + "circular_graph_measure_font", resizeSystemFont(9));//$NON-NLS-1$ + public static final Font CIRCULAR_LABEL_FONT = getFont( + "circular_label_font", resizeSystemFont(9));//$NON-NLS-1$ + + public static final Font ADDITEM_BUTTON_FONT = getFont( + "additem_button_font", resizeSystemFont(8));//$NON-NLS-1$ + public static final Font TAB_BUTTON_FONT = getFont( + "tab_button_font", resizeSystemFont(10));//$NON-NLS-1$ + + public static final Font CURRENT_TABLE_HEADER_FONT = getFont( + "current_table_header_font", resizeSystemFont(8));//$NON-NLS-1$ + public static final Font CURRENT_TABLE_CELL_FONT = getFont( + "current_table_cell_font", resizeSystemFont(8));//$NON-NLS-1$ + + public static final Font DIALOG_BUTTON_FONT = getFont( + "dialog_button_font", resizeSystemFont(10));//$NON-NLS-1$ + + public static final Font SCORE_TITLE_FONT = getFont( + "score_title_font", setSystemFont(SWT.BOLD,12));//$NON-NLS-1$ + + private static Font getFont(String fontName, FontData[] fontData) { + if (!fontRegistry.hasValueFor(fontName)) { + fontRegistry.put(fontName, fontData); + } + + return fontRegistry.get(fontName); + } + + public static FontData[] resizeSystemFont(int size) { + FontData[] fontData = systemFont.getFontData(); + for (int i = 0; i < fontData.length; i++) { + fontData[i].setHeight(size); + } + return fontData; + } + + public static FontData[] setStyleSystemFont(int style) { + FontData[] fontData = systemFont.getFontData(); + for (int i = 0; i < fontData.length; i++) { + fontData[i].setStyle(style); + } + return fontData; + } + + public static FontData[] setSystemFont(int style, int size) { + FontData[] fontData = systemFont.getFontData(); + for (int i = 0; i < fontData.length; i++) { + fontData[i].setStyle(style); + fontData[i].setHeight(size); + } + return fontData; + } +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/LogSpliter.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/LogSpliter.java index 1b79d28..11c66cc 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/LogSpliter.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/LogSpliter.java @@ -25,82 +25,29 @@ import java.util.List; import org.tizen.dynamicanalyzer.constants.AnalyzerConstants; import org.tizen.dynamicanalyzer.constants.LogCenterConstants; import org.tizen.dynamicanalyzer.model.CallStackUnit; -import org.tizen.dynamicanalyzer.model.CallStackData; -import org.tizen.dynamicanalyzer.model.DeviceCurrent; import org.tizen.dynamicanalyzer.model.ImageInfo; import org.tizen.dynamicanalyzer.model.LogCenter; import org.tizen.dynamicanalyzer.model.LogPackage; import org.tizen.dynamicanalyzer.model.LogQueue; import org.tizen.dynamicanalyzer.model.Project; -import org.tizen.dynamicanalyzer.nl.InformationViewLables; import org.tizen.dynamicanalyzer.threads.LogQueueObservingThread; import org.tizen.dynamicanalyzer.ui.views.base.DAPageComposite; +import org.tizen.dynamicanalyzer.utils.CallStackManager; import org.tizen.dynamicanalyzer.utils.FunctionUsageProfiler; public class LogSpliter { private static LogQueue logQueue = null; private static Thread logQueueObserver = null; private static String lastLogSeqNumber = null; - // private static HashMap callstackApiByAddrMap; - private static HashMap callstackApiByAddrMap; - // private static List callstackApiList; - private static HashMap callstackDataBySeqMap; private static String pid = null; - - private static List userCallstack = null; - private static String userFunctionBin = null; - private static boolean dropCallTraceLog = false; public static void clear() { stopLogQueueObservingThread(); logQueue = null; lastLogSeqNumber = null; - callstackApiByAddrMap = null; - // callstackApiList = null; - callstackDataBySeqMap = null; pid = null; - userCallstack = null; - userFunctionBin = null; - } - - public static List getUserCallstack() { - if (null == userCallstack) { - userCallstack = new ArrayList(); - } - return userCallstack; - } - - // public static List getCallStackApiList() { - // if (null == callstackApiList) { - // callstackApiList = new ArrayList(); - // } - // return callstackApiList; - // } - - // public static HashMap getCallStackApiByAddrMap() { - // if (null == callstackApiByAddrMap) { - // callstackApiByAddrMap = new HashMap(); - // } - // return callstackApiByAddrMap; - // } - public static HashMap getCallStackApiByAddrMap() { - if (null == callstackApiByAddrMap) { - callstackApiByAddrMap = new HashMap(); - } - return callstackApiByAddrMap; - } - - public static HashMap getCallStackDataBySeqMap() { - if (null == callstackDataBySeqMap) { - callstackDataBySeqMap = new HashMap(); - } - return callstackDataBySeqMap; - } - - public static CallStackData getCallStack(String seqNum) { - int seq = Integer.parseInt(seqNum); - return getCallStackDataBySeqMap().get(seq); + CallStackManager.clear(); } public static LogQueue getLogQueue() { @@ -188,14 +135,16 @@ public class LogSpliter { // TODO: user callstack create by back trace { - pushCallStack(log[1] - .split(AnalyzerConstants.DATA_PARSING_TOKEN)); + CallStackManager.getInstance().pushCallStack( + log[1].split(AnalyzerConstants.DATA_PARSING_TOKEN), + lastLogSeqNumber); checkCallCount(slicedLog); } } else if (log.length > 1) { pushLog(logId, slicedLog, logPack); - pushCallStack(log[1] - .split(AnalyzerConstants.DATA_PARSING_TOKEN)); + CallStackManager.getInstance().pushCallStack( + log[1].split(AnalyzerConstants.DATA_PARSING_TOKEN), + lastLogSeqNumber); if (id == LogCenterConstants.LOG_RESOURCE || id == LogCenterConstants.LOG_MEMORY) { AnalyzerManager.getLeakDectector() @@ -214,7 +163,8 @@ public class LogSpliter { } private static void checkCallCount(String[] input) { - HashMap addrMap = getCallStackApiByAddrMap(); + HashMap addrMap = CallStackManager.getInstance() + .getCallStackApiByAddrMap(); boolean isPieBuild = AnalyzerManager.getProject().isPieBuild(); String baseAddr = AnalyzerManager.getProject().getBaseAddress(); String binPath = AnalyzerManager.getProject().getBinaryPath(); @@ -228,7 +178,8 @@ public class LogSpliter { if (null == selfCallstackUnit) { String strSelfFuncName = SymbolManager.addr2func(binPath, strSelfAddr, isPieBuild, baseAddr); - String strSelfSymbol = getUserFunctionPosition() + String strSelfSymbol = CallStackManager.getInstance() + .getUserFunctionPosition() + AnalyzerConstants.CALLSTACK_API_TOKEN_STRING + strSelfFuncName; selfCallstackUnit = new CallStackUnit(selfAddr, strSelfSymbol); @@ -241,114 +192,6 @@ public class LogSpliter { profiler.makeFupDataForCallTrace(selfCallstackUnit, input); } - public static void makeUserCallstack(String[] input) { - HashMap addrMap = getCallStackApiByAddrMap(); - boolean isPieBuild = AnalyzerManager.getProject().isPieBuild(); - String baseAddr = AnalyzerManager.getProject().getBaseAddress(); - String binPath = AnalyzerManager.getProject().getBinaryPath(); - if (null == binPath || binPath.isEmpty()) { - return; - } - String strSelfAddr = input[LogCenterConstants.PCADDR_INDEX]; - String strCallerAddr = input[LogCenterConstants.USER_FUNCTION_CALLER_INDEX]; - String strSeq = input[LogCenterConstants.SEQUENCE_NUMBER_INDEX]; - - int seq = Integer.parseInt(strSeq); - - long selfAddr = Long.parseLong(strSelfAddr); - long callerAddr = Long.parseLong(strCallerAddr); - - // if (!AnalyzerManager.isInBinaryRange(callerAddr)) { - // return; - // } - CallStackData callstackData = new CallStackData(seq); - CallStackUnit selfCallstackUnit = addrMap.get(selfAddr); - - if (null == selfCallstackUnit) { - String strSelfFuncName = SymbolManager.addr2func(binPath, - strSelfAddr, isPieBuild, baseAddr); - String strSelfSymbol = getUserFunctionPosition() - + AnalyzerConstants.CALLSTACK_API_TOKEN_STRING - + strSelfFuncName; - selfCallstackUnit = new CallStackUnit(selfAddr, strSelfSymbol); - addrMap.put(selfAddr, selfCallstackUnit); - } - - // insert call count - FunctionUsageProfiler profiler = AnalyzerManager - .getFunctionUserProfiler(); - profiler.makeFupDataForCallTrace(selfCallstackUnit, input); - - List userCallstack = getUserCallstack(); - int size = userCallstack.size(); - - CallStackUnit callerCallstackUnit = addrMap.get(callerAddr); - if (null == callerCallstackUnit) { - String strCallerFuncName = SymbolManager.addr2func(binPath, - strCallerAddr, isPieBuild, baseAddr); - String strCallerSymbol = getUserFunctionPosition() - + AnalyzerConstants.CALLSTACK_API_TOKEN_STRING - + strCallerFuncName; - callerCallstackUnit = new CallStackUnit(callerAddr, strCallerSymbol); - addrMap.put(callerAddr, callerCallstackUnit); - } - - String strEventType = input[LogCenterConstants.USER_FUNCTION_TYPE_INDEX]; - int eventType = Integer.parseInt(strEventType); - - if (eventType == LogCenterConstants.USER_FUNCTION_EVENT_TYPE_ENTER) { - if (size == 0) { - userCallstack.add(selfCallstackUnit); - } else { - if (!AnalyzerManager.isInBinaryRange(strCallerAddr)) { - CallStackUnit callbackApi = new CallStackUnit( - LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, - LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL); - userCallstack.add(callbackApi); - if (addrMap - .get(LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR) == null) { - CallStackUnit defaultCallstackUnit = new CallStackUnit( - LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, - LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL); - addrMap.put( - LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, - defaultCallstackUnit); - } - } else { - CallStackUnit callerCsa = addrMap.get(callerAddr); - if (null == callerCsa) { - callerCsa = userCallstack.get(size - 1); - callerCsa.setAddr(callerAddr); - } else { - userCallstack.set(size - 1, callerCsa); - } - } - userCallstack.add(selfCallstackUnit); - } - size = userCallstack.size(); - for (int i = size - 1; i >= 0; i--) { - callstackData.getAddrs().add(userCallstack.get(i).getAddr()); - // System.out.println(userCallstack.get(i).getApi()); - } - // System.out.println(); - getCallStackDataBySeqMap().put(seq, callstackData); - } else if (eventType == LogCenterConstants.USER_FUNCTION_EVENT_TYPE_EXIT) { - CallStackUnit removeCallStackUnit = userCallstack.get(size - 1); - if (selfCallstackUnit.getFunctionName().equals( - removeCallStackUnit.getFunctionName())) { - userCallstack.remove(size - 1); - if (size - 2 > 0) { - CallStackUnit checkCallStackUnit = userCallstack - .get(size - 2); - if (checkCallStackUnit.getFunctionName().equals( - LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC)) { - userCallstack.remove(size - 2); - } - } - } - } - } - private static void pushLog(String logId, String[] slicedLog, LogPackage logPack) { @@ -384,24 +227,25 @@ public class LogSpliter { imgInfo.setTime(input.get(LogCenterConstants.TIME_INDEX)); AnalyzerManager.getImageSet().put(imgInfo.getSeq(), imgInfo); } else if (id == LogCenterConstants.LOG_DEVICE) { - // TODO: calculate power usage -// Long power = DeviceCurrent.calculatePower(input -// .get(LogCenterConstants.DEVICE_AUDIO_INDEX), input -// .get(LogCenterConstants.DEVICE_RSSI_INDEX), input -// .get(LogCenterConstants.DEVICE_BRIGHTNESS_INDEX), input -// .get(LogCenterConstants.DEVICE_VIDEO_INDEX), input -// .get(LogCenterConstants.DEVICE_CALL_INDEX), input -// .get(LogCenterConstants.DEVICE_WIFI_INDEX), input -// .get(LogCenterConstants.DEVICE_BLUETOOTH_INDEX), input -// .get(LogCenterConstants.DEVICE_DNET_INDEX), input -// .get(LogCenterConstants.DEVICE_GPS_INDEX), input -// .get(LogCenterConstants.DEVICE_CAMERA_INDEX), input -// .get(LogCenterConstants.DEVICE_CPU_FREQUENCY_INDEX), input -// .get(LogCenterConstants.DEVICE_SYSTEM_USED_MEMORY_INDEX), -// input.get(LogCenterConstants.DEVICE_CALL_ALPHA_INDEX), -// input.get(LogCenterConstants.DEVICE_RSSI_ALPHA_INDEX), -// input.get(LogCenterConstants.DEVICE_VOLTAGE_INDEX)); -// input.set(LogCenterConstants.DEVICE_ENERGY_INDEX, power.toString()); + // TODO: calculate power usage + // Long power = DeviceCurrent.calculatePower(input + // .get(LogCenterConstants.DEVICE_AUDIO_INDEX), input + // .get(LogCenterConstants.DEVICE_RSSI_INDEX), input + // .get(LogCenterConstants.DEVICE_BRIGHTNESS_INDEX), input + // .get(LogCenterConstants.DEVICE_VIDEO_INDEX), input + // .get(LogCenterConstants.DEVICE_CALL_INDEX), input + // .get(LogCenterConstants.DEVICE_WIFI_INDEX), input + // .get(LogCenterConstants.DEVICE_BLUETOOTH_INDEX), input + // .get(LogCenterConstants.DEVICE_DNET_INDEX), input + // .get(LogCenterConstants.DEVICE_GPS_INDEX), input + // .get(LogCenterConstants.DEVICE_CAMERA_INDEX), input + // .get(LogCenterConstants.DEVICE_CPU_FREQUENCY_INDEX), input + // .get(LogCenterConstants.DEVICE_SYSTEM_USED_MEMORY_INDEX), + // input.get(LogCenterConstants.DEVICE_CALL_ALPHA_INDEX), + // input.get(LogCenterConstants.DEVICE_RSSI_ALPHA_INDEX), + // input.get(LogCenterConstants.DEVICE_VOLTAGE_INDEX)); + // input.set(LogCenterConstants.DEVICE_ENERGY_INDEX, + // power.toString()); } logPack.setLogs(id, input); @@ -421,83 +265,6 @@ public class LogSpliter { input[LogCenterConstants.APINAME_INDEX] = funcName; } - private static void pushCallStack(String[] slicedLog) { - if (slicedLog.length < 3) { - return; - } - - List callstackLog = new ArrayList(); - for (String str : slicedLog) { - callstackLog.add(new String(str)); - } - - int lastNum = 0; - try { - lastNum = Integer.parseInt(lastLogSeqNumber); - } catch (NumberFormatException e) { - e.printStackTrace(); - } - CallStackData callstackData = new CallStackData(lastNum); - HashMap addrMap = getCallStackApiByAddrMap(); - - String prevPath = ""; //$NON-NLS-1$ - String currentPath; - int size = callstackLog.size(); - for (int i = 1; i + 1 < size; i += 2) { - currentPath = null; - if (callstackLog.get(i).equals(AnalyzerConstants.CALLSTACK_END) - || callstackLog.get(i + 1).equals( - AnalyzerConstants.CALLSTACK_END)) { - break; - } - String strAddr = callstackLog.get(i); - if (strAddr.isEmpty()) { - return; - } - long addr = 0; - try { - addr = Long.parseLong(strAddr); - } catch (NumberFormatException e) { - e.printStackTrace(); - } - CallStackUnit callstackUnit = addrMap.get(addr); - - if (null == callstackUnit) { - String strSymbol = callstackLog.get(i + 1); - if (strSymbol.isEmpty()) { - continue; - } - callstackUnit = new CallStackUnit(addr, strSymbol); - } - - if (callstackUnit.getFunctionName().equals( - InformationViewLables.CALLSTACK_TABLE_UNKNOWN)) { - currentPath = callstackUnit.getPath(); - if (prevPath.equals(currentPath)) { - continue; - } - prevPath = currentPath; - } - - if (null == addrMap.get(addr)) { - addrMap.put(addr, callstackUnit); - } - - if (checkUserCall(callstackUnit.getPath()) - && (userFunctionBin == null || userFunctionBin.isEmpty())) { - if (AnalyzerManager.isOsp()) { - userFunctionBin = new String(callstackUnit.getPath() - + ".exe"); - } else { - userFunctionBin = new String(callstackUnit.getPath()); - } - // System.out.println("set ufp " + userFunctionBin); //$NON-NLS-1$ - } - callstackData.getAddrs().add(addr); - }// end of callstack start-end - getCallStackDataBySeqMap().put(lastNum, callstackData); - } - public static void startLogQueueObservingThread() { if (null == logQueueObserver || !logQueueObserver.isAlive()) { logQueueObserver = new Thread(null, new LogQueueObservingThread(), @@ -528,63 +295,6 @@ public class LogSpliter { for (int i = 0; i < size; i++) { pages.get(i).updateLog(logPack); } - // AnalyzerManager.getCurrentPage().updateLog(logPack); - /* 2. timeline update extension */ - // TimelineComposite timelineComposite = AnalyzerUtil - // .getTimelineComposite(); - // if (null != timelineComposite) { - // timelineComposite.updateData(logPack); - // } - - /* 3.lifecycle update extension */ - // ResourceManagerObserver.getInstance().update(logPack); - - /* 4. test update extension */ - // LogParsingTest test = new LogParsingTest(); - // test.postUpdateLog(logPack); - - // Timeline Test - // tView.updateView(); - // atView.updateView(); - // bView.updateView(); - - } - - public static String getPCAddrBySeq(int seq) { - HashMap cdMap = LogSpliter - .getCallStackDataBySeqMap(); - // HashMap apiMap = LogSpliter.getCallStackApiByAddrMap(); - // HashMap apiMap = - // LogSpliter.getCallStackApiByAddrMap(); - // if (null == cdMap || null == apiMap) { - // return null; - // } - if (null == cdMap) { - return null; - } - CallStackData csd = cdMap.get(seq); - if (null == csd) { - return null; - } - List addrs = csd.getAddrs(); - if (null == addrs || addrs.isEmpty()) { - return null; - } - return Long.toString(addrs.get(0)); } - public static void setUserFunctionPosition(String path) { - userFunctionBin = path; - } - - public static String getUserFunctionPosition() { - return userFunctionBin; - } - - public static boolean checkUserCall(String input) { - if (input.contains(AnalyzerConstants.USER_BIN_POS)) { - return true; - } - return false; - } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/SqlManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/SqlManager.java index a03141d..a30ea1d 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/SqlManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/SqlManager.java @@ -30,17 +30,18 @@ import java.util.HashMap; import java.util.List; import org.tizen.dynamicanalyzer.constants.AnalyzerConstants; -import org.tizen.dynamicanalyzer.model.CallStackUnit; import org.tizen.dynamicanalyzer.model.CallStackData; +import org.tizen.dynamicanalyzer.model.CallStackUnit; import org.tizen.dynamicanalyzer.model.FailedData; import org.tizen.dynamicanalyzer.model.FunctionUsageProfilingData; import org.tizen.dynamicanalyzer.model.LeakData; import org.tizen.dynamicanalyzer.model.LogCenter; import org.tizen.dynamicanalyzer.model.ProfilingChildData; import org.tizen.dynamicanalyzer.model.Project; -import org.tizen.dynamicanalyzer.tableInfo.DBTableManager; import org.tizen.dynamicanalyzer.tableInfo.DBTableInfo; +import org.tizen.dynamicanalyzer.tableInfo.DBTableManager; import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; +import org.tizen.dynamicanalyzer.utils.CallStackManager; import org.tizen.dynamicanalyzer.utils.FailedChecker; import org.tizen.dynamicanalyzer.utils.FunctionUsageProfiler; import org.tizen.dynamicanalyzer.utils.LeakDetector; @@ -534,8 +535,8 @@ public class SqlManager { String insertQuery = unitTableInfo.insertQuery(); PreparedStatement prep = conn.prepareStatement(insertQuery); - HashMap callstackMap = LogSpliter - .getCallStackApiByAddrMap(); + HashMap callstackMap = CallStackManager + .getInstance().getCallStackApiByAddrMap(); List callstackUnits = new ArrayList(); callstackUnits.addAll(callstackMap.values()); int size = callstackUnits.size(); @@ -553,7 +554,6 @@ public class SqlManager { e.printStackTrace(); } } - conn.setAutoCommit(false); prep.executeBatch(); conn.setAutoCommit(true); @@ -578,7 +578,7 @@ public class SqlManager { .getTableInfo(DBTableManager.TABLE_INDEX_CALLSTACK_DATA); String insertQuery = callstackData.insertQuery(); PreparedStatement prep = conn.prepareStatement(insertQuery); - Collection col = LogSpliter + Collection col = CallStackManager.getInstance() .getCallStackDataBySeqMap().values(); List callstackDataList = new ArrayList(); callstackDataList.addAll(col); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/OpenTraceHandler.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/OpenTraceHandler.java index 9072124..ca65c12 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/OpenTraceHandler.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/OpenTraceHandler.java @@ -10,12 +10,11 @@ import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.tizen.dynamicanalyzer.AnalyzerManager; -import org.tizen.dynamicanalyzer.LogSpliter; import org.tizen.dynamicanalyzer.SqlManager; import org.tizen.dynamicanalyzer.constants.AnalyzerConstants; import org.tizen.dynamicanalyzer.constants.LogCenterConstants; -import org.tizen.dynamicanalyzer.model.CallStackUnit; import org.tizen.dynamicanalyzer.model.CallStackData; +import org.tizen.dynamicanalyzer.model.CallStackUnit; import org.tizen.dynamicanalyzer.model.FailedData; import org.tizen.dynamicanalyzer.model.FunctionUsageProfilingData; import org.tizen.dynamicanalyzer.model.ImageInfo; @@ -27,6 +26,7 @@ import org.tizen.dynamicanalyzer.nl.AnalyzerLabels; import org.tizen.dynamicanalyzer.tableInfo.DBTableInfo; import org.tizen.dynamicanalyzer.tableInfo.DBTableManager; import org.tizen.dynamicanalyzer.ui.views.CoolbarArea; +import org.tizen.dynamicanalyzer.utils.CallStackManager; import org.tizen.dynamicanalyzer.utils.FailedChecker; import org.tizen.dynamicanalyzer.utils.FunctionUsageProfiler; import org.tizen.dynamicanalyzer.utils.LeakDetector; @@ -159,7 +159,8 @@ public class OpenTraceHandler extends AbstractHandler { long addr = Long.parseLong(splitAddrs[i]); addrList.add(addr); } - LogSpliter.getCallStackDataBySeqMap().put(seq, csd); + CallStackManager.getInstance().getCallStackDataBySeqMap() + .put(seq, csd); } rs.close(); } catch (SQLException e) { @@ -175,7 +176,7 @@ public class OpenTraceHandler extends AbstractHandler { // HashMap apiHash = // LogSpliter.getCallStackApiByAddrMap(); - HashMap apiHash = LogSpliter + HashMap apiHash = CallStackManager.getInstance() .getCallStackApiByAddrMap(); try { while (rs.next()) { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/TableTooltipListener.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/TableTooltipListener.java index 5539d02..2f23f7b 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/TableTooltipListener.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/TableTooltipListener.java @@ -28,7 +28,6 @@ import org.tizen.dynamicanalyzer.AnalyzerManager; import org.tizen.dynamicanalyzer.ColorResources; import org.tizen.dynamicanalyzer.FontResources; import org.tizen.dynamicanalyzer.ImageResources; -import org.tizen.dynamicanalyzer.LogSpliter; import org.tizen.dynamicanalyzer.SymbolManager; import org.tizen.dynamicanalyzer.SymbolManager.SourceLine; import org.tizen.dynamicanalyzer.constants.AnalyzerConstants; @@ -37,6 +36,7 @@ import org.tizen.dynamicanalyzer.model.DATableDataFormat; import org.tizen.dynamicanalyzer.nl.AnalyzerLabels; import org.tizen.dynamicanalyzer.ui.views.CoolbarArea; import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; +import org.tizen.dynamicanalyzer.utils.CallStackManager; public class TableTooltipListener implements Listener { @@ -51,9 +51,9 @@ public class TableTooltipListener implements Listener { private static final int SOURCE_LINE_BOTTOM = 11; private static final int TOOLTIP_OFFSET = 5; private static final Cursor sourceCursor = new Cursor(null, - ImageResources.VIEW_SOURCE_CURSOR.getImageData(), - 0, 0); - private static final Cursor defaultCursor = new Cursor(null, SWT.CURSOR_ARROW); + ImageResources.VIEW_SOURCE_CURSOR.getImageData(), 0, 0); + private static final Cursor defaultCursor = new Cursor(null, + SWT.CURSOR_ARROW); public TableTooltipListener(Grid table, boolean toggle) { this.grid = table; @@ -76,8 +76,8 @@ public class TableTooltipListener implements Listener { if (SWT.CTRL == event.keyCode) { grid.setCursor(sourceCursor); -// CoolbarArea.getInstance().setSourceViewButtonToggleState( -// true); + // CoolbarArea.getInstance().setSourceViewButtonToggleState( + // true); } } break; @@ -86,15 +86,15 @@ public class TableTooltipListener implements Listener { if (SWT.CTRL == event.keyCode) { grid.setCursor(defaultCursor); -// CoolbarArea.getInstance().setSourceViewButtonToggleState( -// false); + // CoolbarArea.getInstance().setSourceViewButtonToggleState( + // false); } disposeTooltip(); } break; case SWT.MouseEnter: -// grid.setFocus(); + // grid.setFocus(); if (sourceButtonToggle) { createTooltip(event); } else { @@ -172,10 +172,10 @@ public class TableTooltipListener implements Listener { // error no check if (AnalyzerConstants.SOURCELINE_NO_MATCHING_LINE == errno) { -// boolean isPie = AnalyzerManager.getProject().isPieBuild(); -// if (isPie) { -// errno = AnalyzerConstants.SOURCELINE_PIE_BUILD; -// } + // boolean isPie = AnalyzerManager.getProject().isPieBuild(); + // if (isPie) { + // errno = AnalyzerConstants.SOURCELINE_PIE_BUILD; + // } } // Creates tooltip title label. @@ -363,12 +363,13 @@ public class TableTooltipListener implements Listener { sl.setError(AnalyzerConstants.SOURCELINE_NO_SOURCELINE_DATA); return sl; } - addr = LogSpliter.getPCAddrBySeq(seqNum); + addr = CallStackManager.getInstance().getPCAddrBySeq(seqNum); } boolean isPieBuild = AnalyzerManager.getProject().isPieBuild(); String baseAddr = AnalyzerManager.getProject().getBaseAddress(); String path = AnalyzerManager.getProject().getBinaryPath(); - SourceLine sl = SymbolManager.addr2line(path, addr, isPieBuild, baseAddr); + SourceLine sl = SymbolManager.addr2line(path, addr, isPieBuild, + baseAddr); return sl; } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DATheme.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DATheme.java index b3be633..7ec29cf 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DATheme.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/model/DATheme.java @@ -9,10 +9,7 @@ import org.eclipse.swt.graphics.RGB; public abstract class DATheme { protected String name = "black"; protected static ColorRegistry colorRegistry = new ColorRegistry(); - protected String THEME_PATH = "theme" + File.separator + name - + File.separator; - protected final String IMAGE_PATH = THEME_PATH + "img" + File.separator; - protected final String ICON_PATH = THEME_PATH + "icon" + File.separator; + public DATheme() { setColor("white", new RGB(255, 255, 255)); //$NON-NLS-1$ setColor("black", new RGB(0, 0, 0)); //$NON-NLS-1$ @@ -27,9 +24,17 @@ public abstract class DATheme { public abstract void setColor(String colorName, RGB rgb); - public abstract String getThemePath(); + public String getThemePath() { + // TODO Auto-generated method stub + return "theme" + File.separator + name + File.separator; + } - public abstract String getImagePath(); + public String getImagePath() { + String path = getThemePath() + "img" + File.separator; + return path; + } - public abstract String getIconPath(); + public String getIconPath() { + return getThemePath() + "icon" + File.separator; + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/tableInfo/DBTableManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/tableInfo/DBTableManager.java index 2a8a639..f95a1c9 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/tableInfo/DBTableManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/tableInfo/DBTableManager.java @@ -139,4 +139,4 @@ public class DBTableManager { return getTableInfos().get(tableInfoIndex); } -} +} \ No newline at end of file diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/theme/DAThemeBlack.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/theme/DAThemeBlack.java index 072f4b5..adc6d91 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/theme/DAThemeBlack.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/theme/DAThemeBlack.java @@ -1,7 +1,5 @@ package org.tizen.dynamicanalyzer.theme; -import java.io.File; - import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.RGB; import org.tizen.dynamicanalyzer.model.DATheme; @@ -9,11 +7,6 @@ import org.tizen.dynamicanalyzer.model.DATheme; public class DAThemeBlack extends DATheme { public static DAThemeBlack instance; - // private final String THEME_PATH = "theme" + File.separator + "black" - // + File.separator; - // private final String IMAGE_PATH = THEME_PATH + "img" + File.separator; - // private final String ICON_PATH = THEME_PATH + "icon" + File.separator;; - public static DAThemeBlack getInstance() { if (null == instance) { instance = new DAThemeBlack(); @@ -23,6 +16,7 @@ public class DAThemeBlack extends DATheme { DAThemeBlack() { super(); + name = "black"; // shell window background color setColor("window_bg_color", new RGB(51, 52, 53)); //$NON-NLS-1$ @@ -193,21 +187,4 @@ public class DAThemeBlack extends DATheme { return colorRegistry.get(colorName); } - @Override - public String getThemePath() { - // TODO Auto-generated method stub - return THEME_PATH; - } - - @Override - public String getImagePath() { - // TODO Auto-generated method stub - return IMAGE_PATH; - } - - @Override - public String getIconPath() { - // TODO Auto-generated method stub - return ICON_PATH; - } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/theme/DAThemeWhite.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/theme/DAThemeWhite.java index a3bb055..0e0f4ec 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/theme/DAThemeWhite.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/theme/DAThemeWhite.java @@ -6,7 +6,6 @@ import org.tizen.dynamicanalyzer.model.DATheme; public class DAThemeWhite extends DATheme { private static DAThemeWhite instance; - protected String name = "white"; public static DAThemeWhite getInstance() { if (instance == null) { @@ -17,6 +16,7 @@ public class DAThemeWhite extends DATheme { DAThemeWhite() { super(); + name = "white"; // shell window background color setColor("window_bg_color", new RGB(51, 52, 53)); //$NON-NLS-1$ @@ -187,22 +187,23 @@ public class DAThemeWhite extends DATheme { return colorRegistry.get(colorName); } - @Override - public String getThemePath() { - // TODO Auto-generated method stub - return THEME_PATH; - } - - @Override - public String getImagePath() { - // TODO Auto-generated method stub - return IMAGE_PATH; - } - - @Override - public String getIconPath() { - // TODO Auto-generated method stub - return ICON_PATH; - } +// @Override +// public String getThemePath() { +// // TODO Auto-generated method stub +// // return THEME_PATH; +// return "theme" + File.separator + name + File.separator; +// } +// +// @Override +// public String getImagePath() { +// // TODO Auto-generated method stub +// return IMAGE_PATH; +// } +// +// @Override +// public String getIconPath() { +// // TODO Auto-generated method stub +// return ICON_PATH; +// } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/DAWindow.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/DAWindow.java index de0be08..0764443 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/DAWindow.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/DAWindow.java @@ -136,6 +136,8 @@ public class DAWindow { public DAWindow(Shell parent, int style) { shell = new Shell(parent, style | SWT.NO_TRIM | SWT.NO_BACKGROUND | SWT.CENTER); +// shell = new Shell(parent, style | SWT.NO_BACKGROUND | SWT.CENTER | SWT.TITLE); +// shell.setText("test"); closeButton = new DACustomButton(shell, closeImage, closePushImage, closeHoverImage, null); closeButton.setToolTipText(AnalyzerLabels.CLOSE); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/tables/CallstackTable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/tables/CallstackTable.java index 8832757..29bb887 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/tables/CallstackTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/tables/CallstackTable.java @@ -11,7 +11,6 @@ import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.widgets.Composite; import org.tizen.dynamicanalyzer.AnalyzerManager; import org.tizen.dynamicanalyzer.ColorResources; -import org.tizen.dynamicanalyzer.LogSpliter; import org.tizen.dynamicanalyzer.constants.AnalyzerConstants; import org.tizen.dynamicanalyzer.constants.LogCenterConstants; import org.tizen.dynamicanalyzer.model.CallStackData; @@ -22,6 +21,7 @@ import org.tizen.dynamicanalyzer.ui.views.filePage.FileChartView; import org.tizen.dynamicanalyzer.ui.views.summaryPage.FunctionUsageProfilingView; import org.tizen.dynamicanalyzer.ui.widgets.DATabComposite; import org.tizen.dynamicanalyzer.ui.widgets.DATable.DATableComposite; +import org.tizen.dynamicanalyzer.utils.CallStackManager; import org.tizen.dynamicanalyzer.utils.Formatter; public class CallstackTable extends DATableComposite { @@ -84,9 +84,9 @@ public class CallstackTable extends DATableComposite { String seq = logData.get(LogCenterConstants.SEQUENCE_NUMBER_INDEX); if (null != seq && !seq.isEmpty()) { int seqNum = Integer.parseInt(seq); - HashMap cdMap = LogSpliter + HashMap cdMap = CallStackManager.getInstance() .getCallStackDataBySeqMap(); - HashMap addrMap = LogSpliter + HashMap addrMap = CallStackManager.getInstance() .getCallStackApiByAddrMap(); if (null == cdMap || null == addrMap) { return; @@ -146,7 +146,7 @@ public class CallstackTable extends DATableComposite { // } // } - if (LogSpliter.checkUserCall(path)) { + if (CallStackManager.getInstance().checkUserCall(path)) { gridItem.setForeground(ColorResources.TITLEBAR_TEXT_COLOR); } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java index 6f82ebe..91f6b83 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/AnalyzerUtil.java @@ -28,12 +28,11 @@ import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.handlers.IHandlerService; import org.eclipse.ui.part.ViewPart; -import org.tizen.dynamicanalyzer.LogSpliter; import org.tizen.dynamicanalyzer.constants.AnalyzerConstants; import org.tizen.dynamicanalyzer.constants.LogCenterConstants; import org.tizen.dynamicanalyzer.handlers.RealtimePerspectiveHandler; -import org.tizen.dynamicanalyzer.model.CallStackUnit; import org.tizen.dynamicanalyzer.model.CallStackData; +import org.tizen.dynamicanalyzer.model.CallStackUnit; import org.tizen.dynamicanalyzer.services.RecordStateSourceProvider; import org.tizen.dynamicanalyzer.timeline.TimelineComposite; import org.tizen.dynamicanalyzer.ui.views.filePage.fileChart.FileChartManager; @@ -385,10 +384,11 @@ public class AnalyzerUtil { } } - HashMap cdMap = LogSpliter + HashMap cdMap = CallStackManager.getInstance() .getCallStackDataBySeqMap(); -// HashMap apiMap = LogSpliter.getCallStackApiByAddrMap(); - HashMap addrMap = LogSpliter.getCallStackApiByAddrMap(); + // HashMap apiMap = LogSpliter.getCallStackApiByAddrMap(); + HashMap addrMap = CallStackManager.getInstance() + .getCallStackApiByAddrMap(); if (null == cdMap || null == addrMap) { return AnalyzerConstants.USER_CALL_CHECK_ERROR; @@ -404,7 +404,7 @@ public class AnalyzerUtil { String funcName = addrMap.get(addrs.get(0)).getFunctionName(); // if (funcName.contains(AnalyzerConstants.USER_BIN_POS)) { - if (LogSpliter.checkUserCall(funcName)) { + if (CallStackManager.getInstance().checkUserCall(funcName)) { return AnalyzerConstants.USER_CALL; } return AnalyzerConstants.INTERNAL_CALL; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/CallStackManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/CallStackManager.java new file mode 100644 index 0000000..de536ad --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/CallStackManager.java @@ -0,0 +1,270 @@ +package org.tizen.dynamicanalyzer.utils; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import org.tizen.dynamicanalyzer.AnalyzerManager; +import org.tizen.dynamicanalyzer.SymbolManager; +import org.tizen.dynamicanalyzer.constants.AnalyzerConstants; +import org.tizen.dynamicanalyzer.constants.LogCenterConstants; +import org.tizen.dynamicanalyzer.model.CallStackData; +import org.tizen.dynamicanalyzer.model.CallStackUnit; +import org.tizen.dynamicanalyzer.nl.InformationViewLables; + +public class CallStackManager { + private static CallStackManager instance; + private HashMap callstackApiByAddrMap; + private HashMap callstackDataBySeqMap; + private String userFunctionBin = null; + private List userCallstack = null; + + public static CallStackManager getInstance() { + if (null == instance) { + instance = new CallStackManager(); + } + return instance; + } + + public void makeUserCallstack(String[] input) { + HashMap addrMap = getCallStackApiByAddrMap(); + boolean isPieBuild = AnalyzerManager.getProject().isPieBuild(); + String baseAddr = AnalyzerManager.getProject().getBaseAddress(); + String binPath = AnalyzerManager.getProject().getBinaryPath(); + if (null == binPath || binPath.isEmpty()) { + return; + } + String strSelfAddr = input[LogCenterConstants.PCADDR_INDEX]; + String strCallerAddr = input[LogCenterConstants.USER_FUNCTION_CALLER_INDEX]; + String strSeq = input[LogCenterConstants.SEQUENCE_NUMBER_INDEX]; + + int seq = Integer.parseInt(strSeq); + + long selfAddr = Long.parseLong(strSelfAddr); + long callerAddr = Long.parseLong(strCallerAddr); + + // if (!AnalyzerManager.isInBinaryRange(callerAddr)) { + // return; + // } + CallStackData callstackData = new CallStackData(seq); + CallStackUnit selfCallstackUnit = addrMap.get(selfAddr); + + if (null == selfCallstackUnit) { + String strSelfFuncName = SymbolManager.addr2func(binPath, + strSelfAddr, isPieBuild, baseAddr); + String strSelfSymbol = getUserFunctionPosition() + + AnalyzerConstants.CALLSTACK_API_TOKEN_STRING + + strSelfFuncName; + selfCallstackUnit = new CallStackUnit(selfAddr, strSelfSymbol); + addrMap.put(selfAddr, selfCallstackUnit); + } + + // insert call count + FunctionUsageProfiler profiler = AnalyzerManager + .getFunctionUserProfiler(); + profiler.makeFupDataForCallTrace(selfCallstackUnit, input); + + List userCallstack = getUserCallstack(); + int size = userCallstack.size(); + + CallStackUnit callerCallstackUnit = addrMap.get(callerAddr); + if (null == callerCallstackUnit) { + String strCallerFuncName = SymbolManager.addr2func(binPath, + strCallerAddr, isPieBuild, baseAddr); + String strCallerSymbol = getUserFunctionPosition() + + AnalyzerConstants.CALLSTACK_API_TOKEN_STRING + + strCallerFuncName; + callerCallstackUnit = new CallStackUnit(callerAddr, strCallerSymbol); + addrMap.put(callerAddr, callerCallstackUnit); + } + + String strEventType = input[LogCenterConstants.USER_FUNCTION_TYPE_INDEX]; + int eventType = Integer.parseInt(strEventType); + + if (eventType == LogCenterConstants.USER_FUNCTION_EVENT_TYPE_ENTER) { + if (size == 0) { + userCallstack.add(selfCallstackUnit); + } else { + if (!AnalyzerManager.isInBinaryRange(strCallerAddr)) { + CallStackUnit callbackApi = new CallStackUnit( + LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, + LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL); + userCallstack.add(callbackApi); + if (addrMap + .get(LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR) == null) { + CallStackUnit defaultCallstackUnit = new CallStackUnit( + LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, + LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_SYMBOL); + addrMap.put( + LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC_ADDR, + defaultCallstackUnit); + } + } else { + CallStackUnit callerCsa = addrMap.get(callerAddr); + if (null == callerCsa) { + callerCsa = userCallstack.get(size - 1); + callerCsa.setAddr(callerAddr); + } else { + userCallstack.set(size - 1, callerCsa); + } + } + userCallstack.add(selfCallstackUnit); + } + size = userCallstack.size(); + for (int i = size - 1; i >= 0; i--) { + callstackData.getAddrs().add(userCallstack.get(i).getAddr()); + // System.out.println(userCallstack.get(i).getApi()); + } + // System.out.println(); + getCallStackDataBySeqMap().put(seq, callstackData); + } else if (eventType == LogCenterConstants.USER_FUNCTION_EVENT_TYPE_EXIT) { + CallStackUnit removeCallStackUnit = userCallstack.get(size - 1); + if (selfCallstackUnit.getFunctionName().equals( + removeCallStackUnit.getFunctionName())) { + userCallstack.remove(size - 1); + if (size - 2 > 0) { + CallStackUnit checkCallStackUnit = userCallstack + .get(size - 2); + if (checkCallStackUnit.getFunctionName().equals( + LogCenterConstants.USER_FUNCTION_CALLBACK_FUNC)) { + userCallstack.remove(size - 2); + } + } + } + } + } + + public void pushCallStack(String[] slicedLog, String lastLogSeqNumber) { + if (slicedLog.length < 3) { + return; + } + + List callstackLog = new ArrayList(); + for (String str : slicedLog) { + callstackLog.add(new String(str)); + } + + int lastNum = 0; + try { + lastNum = Integer.parseInt(lastLogSeqNumber); + } catch (NumberFormatException e) { + e.printStackTrace(); + } + CallStackData callstackData = new CallStackData(lastNum); + HashMap addrMap = getCallStackApiByAddrMap(); + + String prevPath = ""; //$NON-NLS-1$ + String currentPath; + int size = callstackLog.size(); + for (int i = 1; i + 1 < size; i += 2) { + currentPath = null; + if (callstackLog.get(i).equals(AnalyzerConstants.CALLSTACK_END) + || callstackLog.get(i + 1).equals( + AnalyzerConstants.CALLSTACK_END)) { + break; + } + String strAddr = callstackLog.get(i); + if (strAddr.isEmpty()) { + return; + } + long addr = 0; + try { + addr = Long.parseLong(strAddr); + } catch (NumberFormatException e) { + e.printStackTrace(); + } + CallStackUnit callstackUnit = addrMap.get(addr); + + if (null == callstackUnit) { + String strSymbol = callstackLog.get(i + 1); + if (strSymbol.isEmpty()) { + continue; + } + callstackUnit = new CallStackUnit(addr, strSymbol); + } + + if (callstackUnit.getFunctionName().equals( + InformationViewLables.CALLSTACK_TABLE_UNKNOWN)) { + currentPath = callstackUnit.getPath(); + if (prevPath.equals(currentPath)) { + continue; + } + prevPath = currentPath; + } + + if (null == addrMap.get(addr)) { + addrMap.put(addr, callstackUnit); + } + + if (checkUserCall(callstackUnit.getPath()) + && (userFunctionBin == null || userFunctionBin.isEmpty())) { + if (AnalyzerManager.isOsp()) { + userFunctionBin = new String(callstackUnit.getPath() + + ".exe"); + } else { + userFunctionBin = new String(callstackUnit.getPath()); + } + // System.out.println("set ufp " + userFunctionBin); //$NON-NLS-1$ + } + callstackData.getAddrs().add(addr); + }// end of callstack start-end + getCallStackDataBySeqMap().put(lastNum, callstackData); + } + + public HashMap getCallStackApiByAddrMap() { + if (null == callstackApiByAddrMap) { + callstackApiByAddrMap = new HashMap(); + } + return callstackApiByAddrMap; + } + + public HashMap getCallStackDataBySeqMap() { + if (null == callstackDataBySeqMap) { + callstackDataBySeqMap = new HashMap(); + } + return callstackDataBySeqMap; + } + + public String getUserFunctionPosition() { + return userFunctionBin; + } + + public List getUserCallstack() { + if (null == userCallstack) { + userCallstack = new ArrayList(); + } + return userCallstack; + } + + public CallStackData getCallStack(String seqNum) { + int seq = Integer.parseInt(seqNum); + return getCallStackDataBySeqMap().get(seq); + } + + public boolean checkUserCall(String input) { + if (input.contains(AnalyzerConstants.USER_BIN_POS)) { + return true; + } + return false; + } + + public String getPCAddrBySeq(int seq) { + HashMap cdMap = getCallStackDataBySeqMap(); + if (null == cdMap) { + return null; + } + CallStackData csd = cdMap.get(seq); + if (null == csd) { + return null; + } + List addrs = csd.getAddrs(); + if (null == addrs || addrs.isEmpty()) { + return null; + } + return Long.toString(addrs.get(0)); + } + + public static void clear() { + instance = null; + } +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/FunctionUsageProfiler.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/FunctionUsageProfiler.java index c3aa252..5b07f84 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/FunctionUsageProfiler.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/FunctionUsageProfiler.java @@ -5,7 +5,6 @@ import java.util.HashMap; import java.util.List; import org.tizen.dynamicanalyzer.AnalyzerManager; -import org.tizen.dynamicanalyzer.LogSpliter; import org.tizen.dynamicanalyzer.constants.AnalyzerConstants; import org.tizen.dynamicanalyzer.constants.LogCenterConstants; import org.tizen.dynamicanalyzer.model.CallStackUnit; @@ -187,7 +186,7 @@ public class FunctionUsageProfiler { } List addrs = makeCallstackHashAndList(sampleCallstack); - HashMap addrMap = LogSpliter + HashMap addrMap = CallStackManager.getInstance() .getCallStackApiByAddrMap(); String selfAddrStr = selfAddrLog[0]; long selfAddr = Long.parseLong(selfAddrStr); @@ -300,7 +299,7 @@ public class FunctionUsageProfiler { private void checkUserCall(CallStackUnit csa, FunctionUsageProfilingData parent, FunctionUsageProfilingData pp) { - if (LogSpliter.checkUserCall(csa.getPath())) { + if (CallStackManager.getInstance().checkUserCall(csa.getPath())) { if (null == appBin) { CallStackUnit appBinCsa = new CallStackUnit(-1, FunctionUsageProfiler.APPLICATION); @@ -343,7 +342,7 @@ public class FunctionUsageProfiler { } private List makeCallstackHashAndList(List callstackLog) { - HashMap addrMap = LogSpliter + HashMap addrMap = CallStackManager.getInstance() .getCallStackApiByAddrMap(); List addrs = new ArrayList(); int size = callstackLog.size(); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/LeakDetector.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/LeakDetector.java index 37afc6b..fda1359 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/LeakDetector.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/utils/LeakDetector.java @@ -5,7 +5,6 @@ import java.util.HashMap; import java.util.List; import org.tizen.dynamicanalyzer.AnalyzerManager; -import org.tizen.dynamicanalyzer.LogSpliter; import org.tizen.dynamicanalyzer.constants.LogCenterConstants; import org.tizen.dynamicanalyzer.model.CallStackData; import org.tizen.dynamicanalyzer.model.CallStackUnit; @@ -18,8 +17,14 @@ public class LeakDetector { public final static int API_TYPE_OPEN = 0; public final static int API_TYPE_CLOSE = 1; public final static int API_TYPE_REALLOC = 2; - private final String[] columnNames = { SummaryLables.LEAK_DETECTOR_ADDRESS, SummaryLables.LEAK_DETECTOR_SEQUENCE, SummaryLables.LEAK_DETECTOR_ID, SummaryLables.LEAK_DETECTOR_TIME, - SummaryLables.LEAK_DETECTOR_API_NAME, SummaryLables.LEAK_DETECTOR_INPUT_PARAM, SummaryLables.LEAK_DETECTOR_RETURN, SummaryLables.LEAK_DETECTOR_LEAK_SEQ, SummaryLables.LEAK_DETECTOR_PARENT }; + private final String[] columnNames = { SummaryLables.LEAK_DETECTOR_ADDRESS, + SummaryLables.LEAK_DETECTOR_SEQUENCE, + SummaryLables.LEAK_DETECTOR_ID, SummaryLables.LEAK_DETECTOR_TIME, + SummaryLables.LEAK_DETECTOR_API_NAME, + SummaryLables.LEAK_DETECTOR_INPUT_PARAM, + SummaryLables.LEAK_DETECTOR_RETURN, + SummaryLables.LEAK_DETECTOR_LEAK_SEQ, + SummaryLables.LEAK_DETECTOR_PARENT }; HashMap leakCheckHash; HashMap leakHash; @@ -128,11 +133,12 @@ public class LeakDetector { } private void checkUserFuncLeakData(String[] input, Check chk) { - HashMap cdMap = LogSpliter + HashMap cdMap = CallStackManager.getInstance() .getCallStackDataBySeqMap(); -// HashMap apiMap = LogSpliter.getCallStackApiByAddrMap(); - HashMap addrMap = LogSpliter.getCallStackApiByAddrMap(); - + // HashMap apiMap = LogSpliter.getCallStackApiByAddrMap(); + HashMap addrMap = CallStackManager.getInstance() + .getCallStackApiByAddrMap(); + int seqNum = Integer .parseInt(input[LogCenterConstants.SEQUENCE_NUMBER_INDEX]); CallStackData csd = cdMap.get(seqNum); @@ -142,12 +148,12 @@ public class LeakDetector { } int size = addrs.size(); -// String funcName = apiMap.get(addrs.get(0)); + // String funcName = apiMap.get(addrs.get(0)); CallStackUnit funcName = addrMap.get(addrs.get(0)); // user call // if (funcName.contains(AnalyzerConstants.USER_BIN_POS)) { - if (LogSpliter.checkUserCall(funcName.getPath())) { + if (CallStackManager.getInstance().checkUserCall(funcName.getPath())) { // if (!AnalyzerUtil.isInternal(input)) { HashMap leaks = getLeakHash(); LeakData newLeak = new LeakData(input[chk.getKeyIndex()], input); @@ -160,14 +166,15 @@ public class LeakDetector { return; } // if (funcName.contains(AnalyzerConstants.USER_BIN_POS)) { - if (LogSpliter.checkUserCall(funcName.getPath())) { + if (CallStackManager.getInstance().checkUserCall(funcName.getPath())) { LeakData childData = new LeakData(input[chk.getKeyIndex()], input); String addr = Long.toString(addrs.get(i - 1)); funcName = addrMap.get(addrs.get(i - 1)); LeakData parentLeakData = getLeakHash().get(addr); if (null == parentLeakData) { - parentLeakData = new LeakData(addr, funcName.getSymbol(), + parentLeakData = new LeakData(addr, + funcName.getSymbol(), input[LogCenterConstants.ID_INDEX]); getLeakHash().put(addr, parentLeakData); } diff --git a/org.tizen.dynamicanalyzer/theme/white/img/add_chart_hover.png b/org.tizen.dynamicanalyzer/theme/white/img/add_chart_hover.png index 86f4c5d..ee867d0 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/add_chart_hover.png and b/org.tizen.dynamicanalyzer/theme/white/img/add_chart_hover.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/add_chart_nor.png b/org.tizen.dynamicanalyzer/theme/white/img/add_chart_nor.png index a1eb167..88e3f28 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/add_chart_nor.png and b/org.tizen.dynamicanalyzer/theme/white/img/add_chart_nor.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/add_chart_push.png b/org.tizen.dynamicanalyzer/theme/white/img/add_chart_push.png index 7036bcd..6986f9e 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/add_chart_push.png and b/org.tizen.dynamicanalyzer/theme/white/img/add_chart_push.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/checkbox_selected.png b/org.tizen.dynamicanalyzer/theme/white/img/checkbox_selected.png new file mode 100644 index 0000000..b3ea64c Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/checkbox_selected.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/checkbox_unselected.png b/org.tizen.dynamicanalyzer/theme/white/img/checkbox_unselected.png new file mode 100644 index 0000000..ab1b2bd Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/checkbox_unselected.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/checkbox_unselected_hover.png b/org.tizen.dynamicanalyzer/theme/white/img/checkbox_unselected_hover.png new file mode 100644 index 0000000..109e7e6 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/checkbox_unselected_hover.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_a01.png b/org.tizen.dynamicanalyzer/theme/white/img/color_a01.png new file mode 100644 index 0000000..8d42ba7 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_a01.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_a02.png b/org.tizen.dynamicanalyzer/theme/white/img/color_a02.png new file mode 100644 index 0000000..3bd83fb Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_a02.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_a03.png b/org.tizen.dynamicanalyzer/theme/white/img/color_a03.png new file mode 100644 index 0000000..3588d68 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_a03.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_a04.png b/org.tizen.dynamicanalyzer/theme/white/img/color_a04.png new file mode 100644 index 0000000..788cc48 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_a04.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_a05.png b/org.tizen.dynamicanalyzer/theme/white/img/color_a05.png new file mode 100644 index 0000000..238558a Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_a05.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_a06.png b/org.tizen.dynamicanalyzer/theme/white/img/color_a06.png new file mode 100644 index 0000000..67c7a64 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_a06.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_a07.png b/org.tizen.dynamicanalyzer/theme/white/img/color_a07.png new file mode 100644 index 0000000..adf8356 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_a07.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_a08.png b/org.tizen.dynamicanalyzer/theme/white/img/color_a08.png new file mode 100644 index 0000000..6cca363 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_a08.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_a09.png b/org.tizen.dynamicanalyzer/theme/white/img/color_a09.png new file mode 100644 index 0000000..96a96c4 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_a09.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_a10.png b/org.tizen.dynamicanalyzer/theme/white/img/color_a10.png new file mode 100644 index 0000000..4f94398 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_a10.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_l01.png b/org.tizen.dynamicanalyzer/theme/white/img/color_l01.png new file mode 100644 index 0000000..01c83e6 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_l01.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_l02.png b/org.tizen.dynamicanalyzer/theme/white/img/color_l02.png new file mode 100644 index 0000000..29319a0 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_l02.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_l03.png b/org.tizen.dynamicanalyzer/theme/white/img/color_l03.png new file mode 100644 index 0000000..4deedaf Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_l03.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_l04.png b/org.tizen.dynamicanalyzer/theme/white/img/color_l04.png new file mode 100644 index 0000000..418ab95 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_l04.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_l05.png b/org.tizen.dynamicanalyzer/theme/white/img/color_l05.png new file mode 100644 index 0000000..77ac78e Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_l05.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_l06.png b/org.tizen.dynamicanalyzer/theme/white/img/color_l06.png new file mode 100644 index 0000000..fde4e25 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_l06.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_l07.png b/org.tizen.dynamicanalyzer/theme/white/img/color_l07.png new file mode 100644 index 0000000..5319daf Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_l07.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_l08.png b/org.tizen.dynamicanalyzer/theme/white/img/color_l08.png new file mode 100644 index 0000000..075d8ce Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_l08.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_l09.png b/org.tizen.dynamicanalyzer/theme/white/img/color_l09.png new file mode 100644 index 0000000..e71e412 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_l09.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/color_l10.png b/org.tizen.dynamicanalyzer/theme/white/img/color_l10.png new file mode 100644 index 0000000..053095b Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/color_l10.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/dialog_chart_cell_off_normal.png b/org.tizen.dynamicanalyzer/theme/white/img/dialog_chart_cell_off_normal.png new file mode 100644 index 0000000..ec50bf6 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/dialog_chart_cell_off_normal.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/dialog_chart_cell_on_normal.png b/org.tizen.dynamicanalyzer/theme/white/img/dialog_chart_cell_on_normal.png new file mode 100644 index 0000000..3c748dc Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/dialog_chart_cell_on_normal.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/dialog_chart_cell_selected.png b/org.tizen.dynamicanalyzer/theme/white/img/dialog_chart_cell_selected.png new file mode 100644 index 0000000..8e759ba Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/dialog_chart_cell_selected.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/dialog_edit_chart_cell_selected.png b/org.tizen.dynamicanalyzer/theme/white/img/dialog_edit_chart_cell_selected.png new file mode 100644 index 0000000..783d759 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/dialog_edit_chart_cell_selected.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/dialog_edit_chart_minus.png b/org.tizen.dynamicanalyzer/theme/white/img/dialog_edit_chart_minus.png new file mode 100644 index 0000000..6a4606f Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/dialog_edit_chart_minus.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/dialog_edit_chart_plus.png b/org.tizen.dynamicanalyzer/theme/white/img/dialog_edit_chart_plus.png new file mode 100644 index 0000000..59a0afa Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/dialog_edit_chart_plus.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/dialog_error.png b/org.tizen.dynamicanalyzer/theme/white/img/dialog_error.png new file mode 100644 index 0000000..74c5096 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/dialog_error.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/dropdown_down.png b/org.tizen.dynamicanalyzer/theme/white/img/dropdown_down.png new file mode 100644 index 0000000..6da26c6 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/dropdown_down.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/dropdown_up.png b/org.tizen.dynamicanalyzer/theme/white/img/dropdown_up.png new file mode 100644 index 0000000..ce162c3 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/dropdown_up.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/empty_snapshot.png b/org.tizen.dynamicanalyzer/theme/white/img/empty_snapshot.png new file mode 100644 index 0000000..5ad8021 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/empty_snapshot.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/error.png b/org.tizen.dynamicanalyzer/theme/white/img/error.png new file mode 100644 index 0000000..95e6b3b Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/error.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/file.png b/org.tizen.dynamicanalyzer/theme/white/img/file.png new file mode 100644 index 0000000..4834f65 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/file.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/file_error.png b/org.tizen.dynamicanalyzer/theme/white/img/file_error.png new file mode 100644 index 0000000..7f68c9b Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/file_error.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/file_error_warning.png b/org.tizen.dynamicanalyzer/theme/white/img/file_error_warning.png new file mode 100644 index 0000000..fb04317 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/file_error_warning.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/file_group.png b/org.tizen.dynamicanalyzer/theme/white/img/file_group.png new file mode 100644 index 0000000..ec36e76 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/file_group.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/file_group_error.png b/org.tizen.dynamicanalyzer/theme/white/img/file_group_error.png new file mode 100644 index 0000000..015f3f9 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/file_group_error.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/file_group_error_warning.png b/org.tizen.dynamicanalyzer/theme/white/img/file_group_error_warning.png new file mode 100644 index 0000000..49461cc Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/file_group_error_warning.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/file_group_warning.png b/org.tizen.dynamicanalyzer/theme/white/img/file_group_warning.png new file mode 100644 index 0000000..f45f55d Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/file_group_warning.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/file_warning.png b/org.tizen.dynamicanalyzer/theme/white/img/file_warning.png new file mode 100644 index 0000000..facfdef Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/file_warning.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_close_hover.png b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_close_hover.png new file mode 100644 index 0000000..e83eaa6 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_close_hover.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_close_nor.png b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_close_nor.png new file mode 100644 index 0000000..5dbacb3 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_close_nor.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_close_push.png b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_close_push.png new file mode 100644 index 0000000..7788242 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_close_push.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_line_bottom.png b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_line_bottom.png new file mode 100644 index 0000000..3f796dd Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_line_bottom.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_line_mid.png b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_line_mid.png new file mode 100644 index 0000000..0604726 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_line_mid.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_open_hover.png b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_open_hover.png new file mode 100644 index 0000000..6d56485 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_open_hover.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_open_nor.png b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_open_nor.png new file mode 100644 index 0000000..2c6dfeb Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_open_nor.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_open_push.png b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_open_push.png new file mode 100644 index 0000000..e02d42d Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_group_open_push.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_line_blue.png b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_line_blue.png new file mode 100644 index 0000000..0433d78 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_line_blue.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_line_error.png b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_line_error.png new file mode 100644 index 0000000..b785401 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_line_error.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_line_orange.png b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_line_orange.png new file mode 100644 index 0000000..19ce416 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_line_orange.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_open_close_ball.png b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_open_close_ball.png new file mode 100644 index 0000000..ea13b6f Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_open_close_ball.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_start_end_ball.png b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_start_end_ball.png new file mode 100644 index 0000000..297ae96 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/lifecycle_start_end_ball.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/radio_selected.png b/org.tizen.dynamicanalyzer/theme/white/img/radio_selected.png new file mode 100644 index 0000000..dba5ee0 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/radio_selected.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/radio_unselected.png b/org.tizen.dynamicanalyzer/theme/white/img/radio_unselected.png new file mode 100644 index 0000000..7dfae50 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/radio_unselected.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/radio_unselected_hover.png b/org.tizen.dynamicanalyzer/theme/white/img/radio_unselected_hover.png new file mode 100644 index 0000000..12aa59d Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/radio_unselected_hover.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/score_star_off.png b/org.tizen.dynamicanalyzer/theme/white/img/score_star_off.png new file mode 100644 index 0000000..6cc720b Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/score_star_off.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/score_star_on.png b/org.tizen.dynamicanalyzer/theme/white/img/score_star_on.png new file mode 100644 index 0000000..ddd7825 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/score_star_on.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scoreboard.png b/org.tizen.dynamicanalyzer/theme/white/img/scoreboard.png new file mode 100644 index 0000000..bd149eb Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scoreboard.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_down_disable.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_down_disable.png new file mode 100644 index 0000000..9b3e41d Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_down_disable.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_down_hover.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_down_hover.png new file mode 100644 index 0000000..8385355 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_down_hover.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_down_nor.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_down_nor.png new file mode 100644 index 0000000..f796230 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_down_nor.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_down_push.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_down_push.png new file mode 100644 index 0000000..4a1040c Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_down_push.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_bg.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_bg.png new file mode 100644 index 0000000..f9601ca Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_bg.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_hover_left.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_hover_left.png new file mode 100644 index 0000000..1319e79 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_hover_left.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_hover_pattern.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_hover_pattern.png new file mode 100644 index 0000000..787fdf6 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_hover_pattern.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_hover_right.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_hover_right.png new file mode 100644 index 0000000..6b3b024 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_hover_right.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_nor_left.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_nor_left.png new file mode 100644 index 0000000..7c75669 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_nor_left.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_nor_pattern.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_nor_pattern.png new file mode 100644 index 0000000..ca85251 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_nor_pattern.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_nor_right.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_nor_right.png new file mode 100644 index 0000000..f8b9a7d Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_nor_right.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_push_left.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_push_left.png new file mode 100644 index 0000000..87c2874 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_push_left.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_push_pattern.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_push_pattern.png new file mode 100644 index 0000000..3e35ba5 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_push_pattern.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_push_right.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_push_right.png new file mode 100644 index 0000000..dba1ce5 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_push_right.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_sunken.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_sunken.png new file mode 100644 index 0000000..8fc2bd2 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_horizontal_scr_sunken.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_left_disable.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_left_disable.png new file mode 100644 index 0000000..23e42bd Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_left_disable.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_left_hover.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_left_hover.png new file mode 100644 index 0000000..ed09ec6 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_left_hover.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_left_nor.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_left_nor.png new file mode 100644 index 0000000..6e10ec8 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_left_nor.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_left_push.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_left_push.png new file mode 100644 index 0000000..f1f2794 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_left_push.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_right_disable.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_right_disable.png new file mode 100644 index 0000000..ce42079 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_right_disable.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_right_hover.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_right_hover.png new file mode 100644 index 0000000..fa709e0 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_right_hover.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_right_nor.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_right_nor.png new file mode 100644 index 0000000..c987578 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_right_nor.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_right_push.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_right_push.png new file mode 100644 index 0000000..2c374d1 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_right_push.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_up_disable.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_up_disable.png new file mode 100644 index 0000000..1853602 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_up_disable.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_up_hover.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_up_hover.png new file mode 100644 index 0000000..5e254bc Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_up_hover.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_up_nor.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_up_nor.png new file mode 100644 index 0000000..e995b5d Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_up_nor.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_up_push.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_up_push.png new file mode 100644 index 0000000..adc3e63 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_up_push.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_bg.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_bg.png new file mode 100644 index 0000000..c946402 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_bg.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_hover_bottom.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_hover_bottom.png new file mode 100644 index 0000000..94b1d4b Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_hover_bottom.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_hover_pattern.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_hover_pattern.png new file mode 100644 index 0000000..83ed39e Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_hover_pattern.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_hover_top.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_hover_top.png new file mode 100644 index 0000000..12de667 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_hover_top.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_nor_bottom.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_nor_bottom.png new file mode 100644 index 0000000..cf128a4 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_nor_bottom.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_nor_pattern.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_nor_pattern.png new file mode 100644 index 0000000..5033459 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_nor_pattern.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_nor_top.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_nor_top.png new file mode 100644 index 0000000..88649a5 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_nor_top.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_push_bottom.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_push_bottom.png new file mode 100644 index 0000000..905b00a Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_push_bottom.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_push_pattern.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_push_pattern.png new file mode 100644 index 0000000..df799ae Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_push_pattern.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_push_top.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_push_top.png new file mode 100644 index 0000000..da91944 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_push_top.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_sunken.png b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_sunken.png new file mode 100644 index 0000000..6ab7e5c Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/scr_vertical_scr_sunken.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/socket_error.png b/org.tizen.dynamicanalyzer/theme/white/img/socket_error.png new file mode 100644 index 0000000..4714788 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/socket_error.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/socket_error_warning.png b/org.tizen.dynamicanalyzer/theme/white/img/socket_error_warning.png new file mode 100644 index 0000000..c20e582 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/socket_error_warning.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/socket_group.png b/org.tizen.dynamicanalyzer/theme/white/img/socket_group.png new file mode 100644 index 0000000..c7c01c3 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/socket_group.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/socket_group_error.png b/org.tizen.dynamicanalyzer/theme/white/img/socket_group_error.png new file mode 100644 index 0000000..8d21cb0 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/socket_group_error.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/socket_group_error_warning.png b/org.tizen.dynamicanalyzer/theme/white/img/socket_group_error_warning.png new file mode 100644 index 0000000..2d6229f Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/socket_group_error_warning.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/socket_group_warning.png b/org.tizen.dynamicanalyzer/theme/white/img/socket_group_warning.png new file mode 100644 index 0000000..bd3519a Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/socket_group_warning.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/socket_warning.png b/org.tizen.dynamicanalyzer/theme/white/img/socket_warning.png new file mode 100644 index 0000000..d4b0503 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/socket_warning.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/tab_hover.png b/org.tizen.dynamicanalyzer/theme/white/img/tab_hover.png index af9821d..9ee228a 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/tab_hover.png and b/org.tizen.dynamicanalyzer/theme/white/img/tab_hover.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/tab_normal.png b/org.tizen.dynamicanalyzer/theme/white/img/tab_normal.png new file mode 100644 index 0000000..5e3df0c Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/tab_normal.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/tab_pat.png b/org.tizen.dynamicanalyzer/theme/white/img/tab_pat.png new file mode 100644 index 0000000..d3bf9ee Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/tab_pat.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/tab_push.png b/org.tizen.dynamicanalyzer/theme/white/img/tab_push.png index bd60ee9..0303d7b 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/tab_push.png and b/org.tizen.dynamicanalyzer/theme/white/img/tab_push.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/tab_selected.png b/org.tizen.dynamicanalyzer/theme/white/img/tab_selected.png index 6231c02..2984f8b 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/tab_selected.png and b/org.tizen.dynamicanalyzer/theme/white/img/tab_selected.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_audio.png b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_audio.png new file mode 100644 index 0000000..49bc946 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_audio.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_bluetooth.png b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_bluetooth.png new file mode 100644 index 0000000..e40ca2e Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_bluetooth.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_brightness.png b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_brightness.png new file mode 100644 index 0000000..9c7c7c4 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_brightness.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_camera.png b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_camera.png new file mode 100644 index 0000000..ae50044 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_camera.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_gps.png b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_gps.png new file mode 100644 index 0000000..3843042 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_gps.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_memory_allocation (2).png b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_memory_allocation (2).png new file mode 100644 index 0000000..ba1d0bd Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_memory_allocation (2).png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_memory_allocation.png b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_memory_allocation.png index ba1d0bd..fa142b0 100755 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_memory_allocation.png and b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_memory_allocation.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_read_write.png b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_read_write.png index dd148b5..669ba45 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_read_write.png and b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_read_write.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_read_write_01.png b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_read_write_01.png new file mode 100644 index 0000000..dd148b5 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_read_write_01.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_sound.png b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_sound.png new file mode 100644 index 0000000..27c8ab0 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_sound.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_vibration.png b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_vibration.png new file mode 100644 index 0000000..8828b14 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_vibration.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_wifi.png b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_wifi.png new file mode 100644 index 0000000..06713d0 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/time_line_icon_wifi.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/timeline_bg.png b/org.tizen.dynamicanalyzer/theme/white/img/timeline_bg.png index a9efd82..0fc8d92 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/timeline_bg.png and b/org.tizen.dynamicanalyzer/theme/white/img/timeline_bg.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/timeline_bg_color.png b/org.tizen.dynamicanalyzer/theme/white/img/timeline_bg_color.png new file mode 100644 index 0000000..f3abd22 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/timeline_bg_color.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/timeline_control_bg.png b/org.tizen.dynamicanalyzer/theme/white/img/timeline_control_bg.png index 9f860f8..a08ccc8 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/timeline_control_bg.png and b/org.tizen.dynamicanalyzer/theme/white/img/timeline_control_bg.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_bg_normal.png b/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_bg_normal.png index f8c6451..4b31dd8 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_bg_normal.png and b/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_bg_normal.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_bg_selected.png b/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_bg_selected.png index a69b0c6..05f9782 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_bg_selected.png and b/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_bg_selected.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_restore_hover.png b/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_restore_hover.png new file mode 100644 index 0000000..1e75637 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_restore_hover.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_restore_nor.png b/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_restore_nor.png new file mode 100644 index 0000000..72f05a2 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_restore_nor.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_restore_push.png b/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_restore_push.png new file mode 100644 index 0000000..709d4a1 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/timeline_left_restore_push.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/timeline_right_bg_normal.png b/org.tizen.dynamicanalyzer/theme/white/img/timeline_right_bg_normal.png index b974b41..4930843 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/timeline_right_bg_normal.png and b/org.tizen.dynamicanalyzer/theme/white/img/timeline_right_bg_normal.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/timeline_right_bg_selected.png b/org.tizen.dynamicanalyzer/theme/white/img/timeline_right_bg_selected.png index f63ec2f..979f7d1 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/timeline_right_bg_selected.png and b/org.tizen.dynamicanalyzer/theme/white/img/timeline_right_bg_selected.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/title_combo_hover.png b/org.tizen.dynamicanalyzer/theme/white/img/title_combo_hover.png new file mode 100644 index 0000000..88faa1f Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/title_combo_hover.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/title_combo_normal.png b/org.tizen.dynamicanalyzer/theme/white/img/title_combo_normal.png new file mode 100644 index 0000000..a11a9cf Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/title_combo_normal.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/title_combo_push.png b/org.tizen.dynamicanalyzer/theme/white/img/title_combo_push.png new file mode 100644 index 0000000..fa3c1f2 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/title_combo_push.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_arrow.png b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_arrow.png index 3e6ab31..f30799d 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_arrow.png and b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_arrow.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_disable.png b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_disable.png index 25716b5..9dae28e 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_disable.png and b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_disable.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_disable_a.png b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_disable_a.png new file mode 100644 index 0000000..c1bcdb3 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_disable_a.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_hover.png b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_hover.png index f56b504..0d18b01 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_hover.png and b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_hover.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_hover_a.png b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_hover_a.png new file mode 100644 index 0000000..9ea58b2 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_hover_a.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_normal.png b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_normal.png index 11f1c4a..34a20e4 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_normal.png and b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_normal.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_normal_a.png b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_normal_a.png new file mode 100644 index 0000000..b64ec33 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_normal_a.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_push.png b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_push.png index e546bb0..fbd5d52 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_push.png and b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_push.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_push_a.png b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_push_a.png new file mode 100644 index 0000000..f0b490e Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_dropdown_push_a.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_time_bg.png b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_time_bg.png index a99564a..98cb33d 100644 Binary files a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_time_bg.png and b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_time_bg.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_usb_connecting.png b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_usb_connecting.png new file mode 100644 index 0000000..72148f0 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_usb_connecting.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_usb_disconnected.png b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_usb_disconnected.png new file mode 100644 index 0000000..8959661 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_usb_disconnected.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/toolbar_usb_stat.png b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_usb_stat.png new file mode 100644 index 0000000..eb6d3e6 Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/toolbar_usb_stat.png differ diff --git a/org.tizen.dynamicanalyzer/theme/white/img/warning.png b/org.tizen.dynamicanalyzer/theme/white/img/warning.png new file mode 100644 index 0000000..8c2a42c Binary files /dev/null and b/org.tizen.dynamicanalyzer/theme/white/img/warning.png differ