1 /* 2 * Copyright (c) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 #ifndef APP_LAUNCH_CONVERTER_H 16 #define APP_LAUNCH_CONVERTER_H 17 18 #include "IAppLaunchSceneDataProcessor.h" 19 #include "IAppLaunchSceneDb.h" 20 21 namespace OHOS { 22 namespace HiviewDFX { 23 using AppStartCheckPointData = IAppLaunchSceneDataProcessor::AppStartCheckPointData; 24 25 class AppLaunchConverter { 26 public: ConvertToInteractionResponse(const AppStartCheckPointData& data)27 static IAppLaunchSceneDb::InteractionResponse ConvertToInteractionResponse(const AppStartCheckPointData& data) 28 { 29 IAppLaunchSceneDb::InteractionResponse point; 30 31 point.time = data.time; 32 point.domain = data.domain; 33 point.eventName = data.eventName; 34 35 point.appPid = data.appPid; 36 point.versionCode = data.versionCode; 37 point.versionName = data.versionName; 38 point.bundleName = data.bundleName; 39 point.abilityName = data.abilityName; 40 point.processName = data.processName; 41 point.pageUrl = data.pageUrl; 42 point.sceneId = data.sceneId; 43 point.sourceType = data.sourceType; 44 point.inputTime = data.inputTime; 45 point.animationStartTime =data.animationStartTime; 46 point.renderTime = data.renderTime; 47 point.responseLatency = data.responseLatency; 48 point.note = data.note; 49 50 return point; 51 } ConvertToStartAbility(const AppStartCheckPointData& data)52 static IAppLaunchSceneDb::StartAbility ConvertToStartAbility(const AppStartCheckPointData& data) 53 { 54 StartAbility point; 55 point.time = data.time; 56 point.domain = data.domain; 57 point.eventName = data.eventName; 58 point.bundleName = data.bundleName; 59 point.moduleName = data.moduleName; 60 point.abilityName = data.abilityName; 61 62 return point; 63 } ConvertToAppStartupType(const AppStartCheckPointData& data)64 static IAppLaunchSceneDb::AppStartupType ConvertToAppStartupType(const AppStartCheckPointData& data) 65 { 66 AppStartupType point; 67 point.time = data.time; 68 point.domain = data.domain; 69 point.eventName = data.eventName; 70 71 point.appPid = data.appPid; 72 point.versionCode = data.versionCode; 73 point.versionName = data.versionName; 74 point.bundleName = data.bundleName; 75 point.abilityName = data.abilityName; 76 point.startType = data.startType; 77 return point; 78 } ConvertToProcessStart(const AppStartCheckPointData& data)79 static IAppLaunchSceneDb::ProcessStart ConvertToProcessStart(const AppStartCheckPointData& data) 80 { 81 ProcessStart point; 82 point.time = data.time; 83 point.domain = data.domain; 84 point.eventName = data.eventName; 85 point.bundleName = data.bundleName; 86 point.startupTime = data.startupTime; 87 point.startupAbilityType = data.startupAbilityType; 88 point.startupExtensionType = data.startupExtensionType; 89 point.callerBundleName= data.callerBundleName; 90 point.callerUid = data.callerUid; 91 point.callerProcessName = data.callerProcessName; 92 93 return point; 94 } ConvertToAppAttach(const AppStartCheckPointData& data)95 static IAppLaunchSceneDb::AppAttach ConvertToAppAttach(const AppStartCheckPointData& data) 96 { 97 AppAttach point; 98 point.time = data.time; 99 point.domain = data.domain; 100 point.eventName = data.eventName; 101 point.bundleName = data.bundleName; 102 point.appPid = data.appPid; 103 point.versionCode = data.versionCode; 104 point.versionName = data.versionName; 105 point.processName= data.processName; 106 107 return point; 108 } ConvertToAppForeground(const AppStartCheckPointData& data)109 static IAppLaunchSceneDb::AppForeground ConvertToAppForeground(const AppStartCheckPointData& data) 110 { 111 AppForeground point; 112 point.time = data.time; 113 point.domain = data.domain; 114 point.eventName = data.eventName; 115 point.bundleName = data.bundleName; 116 point.appPid = data.appPid; 117 point.versionCode = data.versionCode; 118 point.versionName = data.versionName; 119 point.processName= data.processName; 120 point.bundleType = data.bundleType; 121 point.callerBundleName = data.callerBundleName; 122 123 return point; 124 } ConvertToAbilityForeground(const AppStartCheckPointData& data)125 static IAppLaunchSceneDb::AbilityForeground ConvertToAbilityForeground(const AppStartCheckPointData& data) 126 { 127 AbilityForeground point; 128 point.time = data.time; 129 point.domain = data.domain; 130 point.eventName = data.eventName; 131 point.bundleName = data.bundleName; 132 point.moduleName = data.moduleName; 133 point.abilityName = data.abilityName; 134 point.bundleType = data.bundleType; 135 point.callerBundleName = data.callerBundleName; 136 137 return point; 138 } ConvertToStartWindow(const AppStartCheckPointData& data)139 static IAppLaunchSceneDb::StartWindow ConvertToStartWindow(const AppStartCheckPointData& data) 140 { 141 StartWindow point; 142 point.time = data.time; 143 point.domain = data.domain; 144 point.eventName = data.eventName; 145 point.bundleName = data.bundleName; 146 point.appPid = data.appPid; 147 point.processName = data.processName; 148 point.windowName = data.windowName; 149 150 return point; 151 } ConvertToDrawnCompleted(const AppStartCheckPointData& data)152 static IAppLaunchSceneDb::DrawnCompleted ConvertToDrawnCompleted(const AppStartCheckPointData& data) 153 { 154 DrawnCompleted point; 155 point.time = data.time; 156 point.domain = data.domain; 157 point.eventName = data.eventName; 158 159 point.appUid = data.appUid; 160 point.appPid = data.appPid; 161 point.bundleName = data.bundleName; 162 point.moduleName = data.moduleName; 163 point.abilityName = data.abilityName; 164 165 return point; 166 } ConvertToFirstFrameDrawn(const AppStartCheckPointData& data)167 static IAppLaunchSceneDb::FirstFrameDrawn ConvertToFirstFrameDrawn(const AppStartCheckPointData& data) 168 { 169 FirstFrameDrawn point; 170 point.time = data.time; 171 point.domain = data.domain; 172 point.eventName = data.eventName; 173 point.appPid = data.appPid; 174 175 return point; 176 } ConvertToInteractionCompleted(const AppStartCheckPointData& data)177 static IAppLaunchSceneDb::InteractionCompleted ConvertToInteractionCompleted(const AppStartCheckPointData& data) 178 { 179 InteractionCompleted point; 180 point.time = data.time; 181 point.domain = data.domain; 182 point.eventName = data.eventName; 183 point.bundleName = data.bundleName; 184 point.appPid = data.appPid; 185 point.versionCode = data.versionCode; 186 point.versionName = data.versionName; 187 point.abilityName = data.abilityName; 188 point.processName = data.processName; 189 point.pageUrl = data.pageUrl; 190 point.sceneId = data.sceneId; 191 point.sourceType = data.sourceType; 192 point.inputTime = data.inputTime; 193 point.animationStartLatency = data.animationStartLatency; 194 point.animationEndLatency = data.animationEndLatency; 195 point.e2eLatency = data.e2eLatency; 196 point.note = data.note; 197 198 return point; 199 } 200 }; 201 } // HiviewDFX 202 } // OHOS 203 #endif