1 /* 2 * Copyright (c) 2022 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 16 #include "frame_ui_intf.h" 17 18 #include "frame_info_const.h" 19 #include "rme_constants.h" 20 #include "frame_msg_mgr.h" 21 #include "rme_log_domain.h" 22 23 namespace OHOS { 24 namespace RME { 25 DEFINE_RMELOG_INTELLISENSE("ueaClient-FrameUiIntf"); 26 GetInstance()27FrameUiIntf& FrameUiIntf::GetInstance() 28 { 29 static FrameUiIntf instance; 30 return instance; 31 } 32 Init()33void FrameUiIntf::Init() 34 { 35 if (inited) { 36 return; 37 } 38 int ret = FrameMsgMgr::GetInstance().Init(); 39 if (!ret) { 40 inited = false; 41 } else { 42 inited = true; 43 } 44 RME_LOGI("[Init]:ret:%{public}d, inited:%{public}d", ret, inited); 45 } 46 GetSenseSchedEnable()47int FrameUiIntf::GetSenseSchedEnable() 48 { 49 if (!inited) { 50 return static_cast<int>(ErrorCode::FAIL); 51 } 52 return static_cast<int>(ErrorCode::SUCC); 53 } 54 BeginFlushAnimation() const55void FrameUiIntf::BeginFlushAnimation() const 56 { 57 if (!inited) { 58 return; 59 } 60 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_FLUSH_ANIMATION_START); 61 } 62 EndFlushAnimation() const63void FrameUiIntf::EndFlushAnimation() const 64 { 65 if (!inited) { 66 return; 67 } 68 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_FLUSH_ANIMATION_END); 69 } 70 BeginFlushBuild() const71void FrameUiIntf::BeginFlushBuild() const 72 { 73 if (!inited) { 74 return; 75 } 76 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_FLUSH_BUILD_START); 77 } 78 EndFlushBuild() const79void FrameUiIntf::EndFlushBuild() const 80 { 81 if (!inited) { 82 return; 83 } 84 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_FLUSH_BUILD_END); 85 } 86 BeginFlushLayout() const87void FrameUiIntf::BeginFlushLayout() const 88 { 89 if (!inited) { 90 return; 91 } 92 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_FLUSH_LAYOUT_START); 93 } 94 EndFlushLayout() const95void FrameUiIntf::EndFlushLayout() const 96 { 97 if (!inited) { 98 return; 99 } 100 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_FLUSH_LAYOUT_END); 101 } 102 BeginFlushRender() const103void FrameUiIntf::BeginFlushRender() const 104 { 105 if (!inited) { 106 return; 107 } 108 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_FLUSH_RENDER_START); 109 } 110 EndFlushRender() const111void FrameUiIntf::EndFlushRender() const 112 { 113 if (!inited) { 114 return; 115 } 116 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_FLUSH_RENDER_END); 117 } 118 BeginFlushRenderFinish() const119void FrameUiIntf::BeginFlushRenderFinish() const 120 { 121 if (!inited) { 122 return; 123 } 124 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_FLUSH_RENDER_FINISH_START); 125 } 126 EndFlushRenderFinish() const127void FrameUiIntf::EndFlushRenderFinish() const 128 { 129 if (!inited) { 130 return; 131 } 132 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_FLUSH_RENDER_FINISH_END); 133 } 134 BeginProcessPostFlush() const135void FrameUiIntf::BeginProcessPostFlush() const 136 { 137 if (!inited) { 138 return; 139 } 140 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_PROCESS_POST_FLUSH_START); 141 } 142 ProcessCommandsStart() const143void FrameUiIntf::ProcessCommandsStart() const 144 { 145 if (!inited) { 146 return; 147 } 148 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_PROCESS_COMMANDS_START); 149 } 150 AnimateStart() const151void FrameUiIntf::AnimateStart() const 152 { 153 if (!inited) { 154 return; 155 } 156 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_ANIMATE_START); 157 } 158 RenderStart() const159void FrameUiIntf::RenderStart() const 160 { 161 if (!inited) { 162 return; 163 } 164 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_RENDER_START); 165 } 166 SendCommandsStart() const167void FrameUiIntf::SendCommandsStart() const 168 { 169 if (!inited) { 170 return; 171 } 172 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_SEND_COMMANDS_START); 173 } 174 BeginListFling() const175void FrameUiIntf::BeginListFling() const 176 { 177 if (!inited) { 178 return; 179 } 180 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_BEGIN_FRAME); 181 } 182 EndListFling() const183void FrameUiIntf::EndListFling() const 184 { 185 if (!inited) { 186 return; 187 } 188 FrameMsgMgr::GetInstance().EventUpdate(FrameEvent::EVENT_END_FRAME); 189 } 190 Init()191extern "C" void Init() 192 { 193 FrameUiIntf::GetInstance().Init(); 194 } 195 GetSenseSchedEnable()196extern "C" int GetSenseSchedEnable() 197 { 198 return FrameUiIntf::GetInstance().GetSenseSchedEnable(); 199 } 200 BeginFlushAnimation()201extern "C" void BeginFlushAnimation() 202 { 203 FrameUiIntf::GetInstance().BeginFlushAnimation(); 204 } 205 EndFlushAnimation()206extern "C" void EndFlushAnimation() 207 { 208 FrameUiIntf::GetInstance().EndFlushAnimation(); 209 } 210 BeginFlushBuild()211extern "C" void BeginFlushBuild() 212 { 213 FrameUiIntf::GetInstance().BeginFlushBuild(); 214 } 215 EndFlushBuild()216extern "C" void EndFlushBuild() 217 { 218 FrameUiIntf::GetInstance().EndFlushBuild(); 219 } 220 BeginFlushLayout()221extern "C" void BeginFlushLayout() 222 { 223 FrameUiIntf::GetInstance().BeginFlushLayout(); 224 } 225 EndFlushLayout()226extern "C" void EndFlushLayout() 227 { 228 FrameUiIntf::GetInstance().EndFlushLayout(); 229 } 230 BeginFlushRender()231extern "C" void BeginFlushRender() 232 { 233 FrameUiIntf::GetInstance().BeginFlushRender(); 234 } 235 EndFlushRender()236extern "C" void EndFlushRender() 237 { 238 FrameUiIntf::GetInstance().EndFlushRender(); 239 } 240 BeginFlushRenderFinish()241extern "C" void BeginFlushRenderFinish() 242 { 243 FrameUiIntf::GetInstance().BeginFlushRenderFinish(); 244 } 245 EndFlushRenderFinish()246extern "C" void EndFlushRenderFinish() 247 { 248 FrameUiIntf::GetInstance().EndFlushRenderFinish(); 249 } 250 BeginProcessPostFlush()251extern "C" void BeginProcessPostFlush() 252 { 253 FrameUiIntf::GetInstance().BeginProcessPostFlush(); 254 } 255 ProcessCommandsStart()256extern "C" void ProcessCommandsStart() 257 { 258 FrameUiIntf::GetInstance().ProcessCommandsStart(); 259 } 260 AnimateStart()261extern "C" void AnimateStart() 262 { 263 FrameUiIntf::GetInstance().AnimateStart(); 264 } 265 RenderStart()266extern "C" void RenderStart() 267 { 268 FrameUiIntf::GetInstance().RenderStart(); 269 } 270 SendCommandsStart()271extern "C" void SendCommandsStart() 272 { 273 FrameUiIntf::GetInstance().SendCommandsStart(); 274 } 275 BeginListFling()276extern "C" void BeginListFling() 277 { 278 FrameUiIntf::GetInstance().BeginListFling(); 279 } 280 EndListFling()281extern "C" void EndListFling() 282 { 283 FrameUiIntf::GetInstance().EndListFling(); 284 } 285 } // namespace RME 286 } // namespace OHOS 287