Common : Apply lifecycle to EFL app 77/24377/1
authorjungwook.ryu <jungwook.ryu@samsung.com>
Fri, 11 Jul 2014 09:03:34 +0000 (18:03 +0900)
committerjungwook.ryu <jungwook.ryu@samsung.com>
Fri, 11 Jul 2014 09:04:08 +0000 (18:04 +0900)
Change-Id: Iad10d421b1d587a2c17c73b21795bf93924b5e7b
Signed-off-by: jungwook.ryu <jungwook.ryu@samsung.com>
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/logparser/LifecycleLogParser.java

index cf69c12..abd65c3 100644 (file)
@@ -31,7 +31,9 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.eclipse.swt.graphics.Color;
+import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.nl.TimelineChartLabels;
+import org.tizen.dynamicanalyzer.project.AppInfo;
 import org.tizen.dynamicanalyzer.resources.ColorResources;
 import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants;
 import org.tizen.dynamicanalyzer.swap.logparser.LogPackage;
@@ -48,12 +50,35 @@ public class LifecycleLogParser {
        private static final DALogger DA_LOG = DALogger.getInstance();
        
        private static LifecycleLogParser instance = null;
-
-       private static final int API_ID_INITIALIZING = 3;
-       private static final int API_ID_RUNNING = 5;
-       private static final int API_ID_PAUSING = 4;
-       private static final int API_ID_TERMINATING = 2;
-
+       
+//     2 void _AppImpl::OnTerminate(void* user_data)
+//     3 void _AppInfo::SetAppState(AppState appState)
+//     4 void _UiAppImpl::OnBackground(void)
+//     5 void _UiAppImpl::OnForeground(void)
+//
+//     83 _dalc_app_create
+//     84 _dalc_app_terminate
+//     85 _dalc_app_pause
+//     86 _dalc_app_resume
+//     87 _dalc_app_service
+       
+       /*
+        * for OSP
+        */
+       private static final int API_ID_INITIALIZING_OSP = 3;
+       private static final int API_ID_RUNNING_OSP = 5;
+       private static final int API_ID_PAUSING_OSP = 4;
+       private static final int API_ID_TERMINATING_OSP = 2;
+       
+       /*
+        * for EFL
+        */
+       private static final int API_ID_INITIALIZING_EFL = 83;
+       private static final int API_ID_SERVICE_EFL = 87;
+       private static final int API_ID_RESUME_EFL = 86;
+       private static final int API_ID_PAUSING_EFL = 85;
+       private static final int API_ID_TERMINATING_EFL = 84;
+       
        private List<LifecycleBar> lifecycleBarList = new ArrayList<LifecycleBar>();
        private List<DATimeline> timelineList = new ArrayList<DATimeline>();
 
@@ -84,28 +109,65 @@ public class LifecycleLogParser {
                int apiId= logData.getApiId();
                Color color;
                String text;
-
-               if (apiId == API_ID_INITIALIZING) {
-                       DA_LOG.performance("TEST", "App Lifecycle", "Initializing");
-                       color = ColorResources.LIFECYCLE_INITIALIZING;
-                       text = TimelineChartLabels.LIFECYCLE_INITIALIZING;
-               } else if (apiId == API_ID_RUNNING) {
-                       DA_LOG.performance("TEST", "App Lifecycle", "Running");
-                       color = ColorResources.LIFECYCLE_RUNNING;
-                       text = TimelineChartLabels.LIFECYCLE_RUNNING;
-               } else if (apiId ==API_ID_PAUSING) {
-                       DA_LOG.performance("TEST", "App Lifecycle", "Pausing");
-                       color = ColorResources.LIFECYCLE_PAUSING;
-                       text = TimelineChartLabels.LIFECYCLE_PAUSING;
-               } else if (apiId == API_ID_TERMINATING) {
-                       DA_LOG.performance("TEST", "App Lifecycle", "Terminating");
-                       color = ColorResources.LIFECYCLE_TERMINATING;
-                       text = TimelineChartLabels.LIFECYCLE_TERMINATING;
+               
+               if(AnalyzerManager.getProject() == null) {
+                       return;
+               }
+               /*
+                * TODO need to check detail application type
+                */
+               // EFL
+               if (AnalyzerManager.getProject().getApplicationInfo().getAppType().
+                               contains(AppInfo.APPTYPE_CAPP)) {
+                       if (apiId == API_ID_INITIALIZING_EFL) {
+                               DA_LOG.performance("TEST", "EFL App Lifecycle", "Initializing");
+                               color = ColorResources.LIFECYCLE_INITIALIZING;
+                               text = TimelineChartLabels.LIFECYCLE_INITIALIZING;
+                       } else if (apiId == API_ID_SERVICE_EFL || apiId == API_ID_RESUME_EFL) {
+                               DA_LOG.performance("TEST", "EFL App Lifecycle", "Running");
+                               color = ColorResources.LIFECYCLE_RUNNING;
+                               text = TimelineChartLabels.LIFECYCLE_RUNNING;
+                       } else if (apiId == API_ID_PAUSING_EFL) {
+                               DA_LOG.performance("TEST", "EFL App Lifecycle", "Pausing");
+                               color = ColorResources.LIFECYCLE_PAUSING;
+                               text = TimelineChartLabels.LIFECYCLE_PAUSING;
+                       } else if (apiId == API_ID_TERMINATING_EFL) {
+                               DA_LOG.performance("TEST", "EFL App Lifecycle", "Terminating");
+                               color = ColorResources.LIFECYCLE_TERMINATING;
+                               text = TimelineChartLabels.LIFECYCLE_TERMINATING;
+                       } else {
+                               DA_LOG.error("lifecycle log error"); //$NON-NLS-1$
+                               return;
+                       }
+               } 
+               // OSP
+               else if (AnalyzerManager.getProject().getApplicationInfo().getAppType().
+                               contains(AppInfo.APPTYPE_CPP)) {
+                       if (apiId == API_ID_INITIALIZING_OSP) {
+                               DA_LOG.performance("TEST", "OSP App Lifecycle", "Initializing");
+                               color = ColorResources.LIFECYCLE_INITIALIZING;
+                               text = TimelineChartLabels.LIFECYCLE_INITIALIZING;
+                       } else if (apiId == API_ID_RUNNING_OSP) {
+                               DA_LOG.performance("TEST", "OSP App Lifecycle", "Running");
+                               color = ColorResources.LIFECYCLE_RUNNING;
+                               text = TimelineChartLabels.LIFECYCLE_RUNNING;
+                       } else if (apiId == API_ID_PAUSING_OSP) {
+                               DA_LOG.performance("TEST", "OSP App Lifecycle", "Pausing");
+                               color = ColorResources.LIFECYCLE_PAUSING;
+                               text = TimelineChartLabels.LIFECYCLE_PAUSING;
+                       } else if (apiId == API_ID_TERMINATING_OSP) {
+                               DA_LOG.performance("TEST", "OSP App Lifecycle", "Terminating");
+                               color = ColorResources.LIFECYCLE_TERMINATING;
+                               text = TimelineChartLabels.LIFECYCLE_TERMINATING;
+                       } else {
+                               DA_LOG.error("lifecycle log error"); //$NON-NLS-1$
+                               return;
+                       }
                } else {
-                       DA_LOG.error("lifecycle log error"); //$NON-NLS-1$
+                       DA_LOG.error("It doesn't support lifecycle application type.");
                        return;
                }
-
+               
                double startTime = Double.parseDouble(Long.toString(logData.getTime()))
                                / TimelineConstants.MEGA_DOUBLE;