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 using AppStartCheckPointData = IAppLaunchSceneDataProcessor::AppStartCheckPointData; 22 23 class AppLaunchConverter { 24 public: ConvertToInteractionResponse(const AppStartCheckPointData & data)25 static IAppLaunchSceneDb::InteractionResponse ConvertToInteractionResponse(const AppStartCheckPointData& data) 26 { 27 IAppLaunchSceneDb::InteractionResponse point; 28 29 point.time = data.time; 30 point.domain = data.domain; 31 point.eventName = data.eventName; 32 33 point.appPid = data.appPid; 34 point.versionCode = data.versionCode; 35 point.versionName = data.versionName; 36 point.bundleName = data.bundleName; 37 point.abilityName = data.abilityName; 38 point.processName = data.processName; 39 point.pageUrl = data.pageUrl; 40 point.sceneId = data.sceneId; 41 point.sourceType = data.sourceType; 42 point.inputTime = data.inputTime; 43 point.animationStartTime =data.animationStartTime; 44 point.renderTime = data.renderTime; 45 point.responseLatency = data.responseLatency; 46 point.note = data.note; 47 48 return point; 49 } ConvertToStartAbility(const AppStartCheckPointData & data)50 static IAppLaunchSceneDb::StartAbility ConvertToStartAbility(const AppStartCheckPointData& data) 51 { 52 StartAbility point; 53 point.time = data.time; 54 point.domain = data.domain; 55 point.eventName = data.eventName; 56 point.bundleName = data.bundleName; 57 point.moduleName = data.moduleName; 58 point.abilityName = data.abilityName; 59 60 return point; 61 } ConvertToAppStartupType(const AppStartCheckPointData & data)62 static IAppLaunchSceneDb::AppStartupType ConvertToAppStartupType(const AppStartCheckPointData& data) 63 { 64 AppStartupType point; 65 point.time = data.time; 66 point.domain = data.domain; 67 point.eventName = data.eventName; 68 69 point.appPid = data.appPid; 70 point.versionCode = data.versionCode; 71 point.versionName = data.versionName; 72 point.bundleName = data.bundleName; 73 point.abilityName = data.abilityName; 74 point.startType = data.startType; 75 return point; 76 } ConvertToProcessStart(const AppStartCheckPointData & data)77 static IAppLaunchSceneDb::ProcessStart ConvertToProcessStart(const AppStartCheckPointData& data) 78 { 79 ProcessStart point; 80 point.time = data.time; 81 point.domain = data.domain; 82 point.eventName = data.eventName; 83 point.bundleName = data.bundleName; 84 point.startupTime = data.startupTime; 85 point.startupAbilityType = data.startupAbilityType; 86 point.startupExtensionType = data.startupExtensionType; 87 point.callerBundleName= data.callerBundleName; 88 point.callerUid = data.callerUid; 89 point.callerProcessName = data.callerProcessName; 90 91 return point; 92 } ConvertToAppAttach(const AppStartCheckPointData & data)93 static IAppLaunchSceneDb::AppAttach ConvertToAppAttach(const AppStartCheckPointData& data) 94 { 95 AppAttach point; 96 point.time = data.time; 97 point.domain = data.domain; 98 point.eventName = data.eventName; 99 point.bundleName = data.bundleName; 100 point.appPid = data.appPid; 101 point.versionCode = data.versionCode; 102 point.versionName = data.versionName; 103 point.processName= data.processName; 104 105 return point; 106 } ConvertToAppForeground(const AppStartCheckPointData & data)107 static IAppLaunchSceneDb::AppForeground ConvertToAppForeground(const AppStartCheckPointData& data) 108 { 109 AppForeground point; 110 point.time = data.time; 111 point.domain = data.domain; 112 point.eventName = data.eventName; 113 point.bundleName = data.bundleName; 114 point.appPid = data.appPid; 115 point.versionCode = data.versionCode; 116 point.versionName = data.versionName; 117 point.processName= data.processName; 118 point.bundleType = data.bundleType; 119 point.callerBundleName = data.callerBundleName; 120 121 return point; 122 } ConvertToAbilityForeground(const AppStartCheckPointData & data)123 static IAppLaunchSceneDb::AbilityForeground ConvertToAbilityForeground(const AppStartCheckPointData& data) 124 { 125 AbilityForeground point; 126 point.time = data.time; 127 point.domain = data.domain; 128 point.eventName = data.eventName; 129 point.bundleName = data.bundleName; 130 point.moduleName = data.moduleName; 131 point.abilityName = data.abilityName; 132 point.bundleType = data.bundleType; 133 point.callerBundleName = data.callerBundleName; 134 135 return point; 136 } ConvertToStartWindow(const AppStartCheckPointData & data)137 static IAppLaunchSceneDb::StartWindow ConvertToStartWindow(const AppStartCheckPointData& data) 138 { 139 StartWindow point; 140 point.time = data.time; 141 point.domain = data.domain; 142 point.eventName = data.eventName; 143 point.bundleName = data.bundleName; 144 point.appPid = data.appPid; 145 point.processName = data.processName; 146 point.windowName = data.windowName; 147 148 return point; 149 } ConvertToDrawnCompleted(const AppStartCheckPointData & data)150 static IAppLaunchSceneDb::DrawnCompleted ConvertToDrawnCompleted(const AppStartCheckPointData& data) 151 { 152 DrawnCompleted point; 153 point.time = data.time; 154 point.domain = data.domain; 155 point.eventName = data.eventName; 156 157 point.appUid = data.appUid; 158 point.appPid = data.appPid; 159 point.bundleName = data.bundleName; 160 point.moduleName = data.moduleName; 161 point.abilityName = data.abilityName; 162 163 return point; 164 } ConvertToFirstFrameDrawn(const AppStartCheckPointData & data)165 static IAppLaunchSceneDb::FirstFrameDrawn ConvertToFirstFrameDrawn(const AppStartCheckPointData& data) 166 { 167 FirstFrameDrawn point; 168 point.time = data.time; 169 point.domain = data.domain; 170 point.eventName = data.eventName; 171 point.appPid = data.appPid; 172 173 return point; 174 } ConvertToInteractionCompleted(const AppStartCheckPointData & data)175 static IAppLaunchSceneDb::InteractionCompleted ConvertToInteractionCompleted(const AppStartCheckPointData& data) 176 { 177 InteractionCompleted point; 178 point.time = data.time; 179 point.domain = data.domain; 180 point.eventName = data.eventName; 181 point.bundleName = data.bundleName; 182 point.appPid = data.appPid; 183 point.versionCode = data.versionCode; 184 point.versionName = data.versionName; 185 point.abilityName = data.abilityName; 186 point.processName = data.processName; 187 point.pageUrl = data.pageUrl; 188 point.sceneId = data.sceneId; 189 point.sourceType = data.sourceType; 190 point.inputTime = data.inputTime; 191 point.animationStartLatency = data.animationStartLatency; 192 point.animationEndLatency = data.animationEndLatency; 193 point.e2eLatency = data.e2eLatency; 194 point.note = data.note; 195 196 return point; 197 } 198 }; 199 #endif