• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2023 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 "extension.h"
17 
18 #include "ability_local_record.h"
19 #include "configuration.h"
20 #include "extension_context.h"
21 #include "hilog_wrapper.h"
22 #include "hitrace_meter.h"
23 
24 namespace OHOS {
25 namespace AbilityRuntime {
Init(const std::shared_ptr<AppExecFwk::AbilityLocalRecord> & record,const std::shared_ptr<AppExecFwk::OHOSApplication> & application,std::shared_ptr<AppExecFwk::AbilityHandler> & handler,const sptr<IRemoteObject> & token)26 void Extension::Init(const std::shared_ptr<AppExecFwk::AbilityLocalRecord> &record,
27     const std::shared_ptr<AppExecFwk::OHOSApplication> &application,
28     std::shared_ptr<AppExecFwk::AbilityHandler> &handler,
29     const sptr<IRemoteObject> &token)
30 {
31     HILOG_INFO("Init begin.");
32     if ((record == nullptr) || (application == nullptr) || (handler == nullptr) || (token == nullptr)) {
33         HILOG_ERROR("Extension::init failed, some object is nullptr");
34         return;
35     }
36     abilityInfo_ = record->GetAbilityInfo();
37     handler_ = handler;
38     application_ = application;
39 }
40 
OnStart(const AAFwk::Want & want)41 void Extension::OnStart(const AAFwk::Want &want)
42 {
43     HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
44     HILOG_INFO("extension:%{public}s.", abilityInfo_->name.c_str());
45     SetLaunchWant(want);
46     SetLastRequestWant(want);
47 }
48 
OnStart(const AAFwk::Want & want,sptr<AAFwk::SessionInfo> sessionInfo)49 void Extension::OnStart(const AAFwk::Want &want, sptr<AAFwk::SessionInfo> sessionInfo)
50 {
51     HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
52     HILOG_INFO("extension:%{public}s.", abilityInfo_->name.c_str());
53     SetLaunchWant(want);
54     SetLastRequestWant(want);
55 }
56 
OnStop()57 void Extension::OnStop()
58 {
59     HILOG_DEBUG("extension:%{public}s.", abilityInfo_->name.c_str());
60 }
61 
OnStop(AppExecFwk::AbilityTransactionCallbackInfo<> * callbackInfo,bool & isAsyncCallback)62 void Extension::OnStop(AppExecFwk::AbilityTransactionCallbackInfo<> *callbackInfo, bool &isAsyncCallback)
63 {
64     isAsyncCallback = false;
65     OnStop();
66 }
67 
OnStopCallBack()68 void Extension::OnStopCallBack()
69 {
70 }
71 
OnConnect(const AAFwk::Want & want)72 sptr<IRemoteObject> Extension::OnConnect(const AAFwk::Want &want)
73 {
74     HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
75     HILOG_DEBUG("extension:%{public}s.", abilityInfo_->name.c_str());
76     return nullptr;
77 }
78 
OnConnect(const AAFwk::Want & want,AppExecFwk::AbilityTransactionCallbackInfo<sptr<IRemoteObject>> * callbackInfo,bool & isAsyncCallback)79 sptr<IRemoteObject> Extension::OnConnect(const AAFwk::Want &want,
80     AppExecFwk::AbilityTransactionCallbackInfo<sptr<IRemoteObject>> *callbackInfo, bool &isAsyncCallback)
81 {
82     isAsyncCallback = false;
83     return OnConnect(want);
84 }
85 
OnDisconnect(const AAFwk::Want & want)86 void Extension::OnDisconnect(const AAFwk::Want &want)
87 {
88     HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
89     HILOG_DEBUG("extension:%{public}s.", abilityInfo_->name.c_str());
90 }
91 
OnDisconnect(const AAFwk::Want & want,AppExecFwk::AbilityTransactionCallbackInfo<> * callbackInfo,bool & isAsyncCallback)92 void Extension::OnDisconnect(const AAFwk::Want &want, AppExecFwk::AbilityTransactionCallbackInfo<> *callbackInfo,
93     bool &isAsyncCallback)
94 {
95     isAsyncCallback = false;
96     OnDisconnect(want);
97 }
98 
OnCommand(const AAFwk::Want & want,bool restart,int startId)99 void Extension::OnCommand(const AAFwk::Want &want, bool restart, int startId)
100 {
101     HILOG_DEBUG("restart=%{public}s,startId=%{public}d.",
102         restart ? "true" : "false",
103         startId);
104     SetLastRequestWant(want);
105 }
106 
OnCommandWindow(const AAFwk::Want & want,const sptr<AAFwk::SessionInfo> & sessionInfo,AAFwk::WindowCommand winCmd)107 void Extension::OnCommandWindow(const AAFwk::Want &want, const sptr<AAFwk::SessionInfo> &sessionInfo,
108     AAFwk::WindowCommand winCmd)
109 {
110     HILOG_DEBUG("call");
111 }
112 
OnForeground(const AAFwk::Want & want)113 void Extension::OnForeground(const AAFwk::Want &want)
114 {
115     HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
116     HILOG_DEBUG("extension:%{public}s.", abilityInfo_->name.c_str());
117 }
118 
OnBackground()119 void Extension::OnBackground()
120 {
121     HITRACE_METER_NAME(HITRACE_TAG_ABILITY_MANAGER, __PRETTY_FUNCTION__);
122     HILOG_DEBUG("extension:%{public}s.", abilityInfo_->name.c_str());
123 }
124 
SetLaunchWant(const AAFwk::Want & want)125 void Extension::SetLaunchWant(const AAFwk::Want &want)
126 {
127     launchWant_ = std::make_shared<AAFwk::Want>(want);
128 }
129 
GetLaunchWant()130 std::shared_ptr<AAFwk::Want> Extension::GetLaunchWant()
131 {
132     return launchWant_;
133 }
134 
SetLastRequestWant(const AAFwk::Want & want)135 void Extension::SetLastRequestWant(const AAFwk::Want &want)
136 {
137     lastRequestWant_ = std::make_shared<AAFwk::Want>(want);
138 }
139 
SetCallingInfo(const CallingInfo & callingInfo)140 void Extension::SetCallingInfo(const CallingInfo &callingInfo)
141 {
142     callingInfo_ = std::make_shared<CallingInfo>(callingInfo);
143 }
144 
GetCallingInfo()145 std::shared_ptr<CallingInfo> Extension::GetCallingInfo()
146 {
147     return callingInfo_;
148 }
149 
OnConfigurationUpdated(const AppExecFwk::Configuration & configuration)150 void Extension::OnConfigurationUpdated(const AppExecFwk::Configuration &configuration)
151 {
152     HILOG_DEBUG("call");
153 }
154 
OnMemoryLevel(int level)155 void Extension::OnMemoryLevel(int level)
156 {
157     HILOG_DEBUG("call");
158 }
159 
Dump(const std::vector<std::string> & params,std::vector<std::string> & info)160 void Extension::Dump(const std::vector<std::string> &params, std::vector<std::string> &info)
161 {
162     HILOG_DEBUG("call");
163 }
164 
SetExtensionWindowLifeCycleListener(const sptr<Rosen::IWindowLifeCycle> & listener)165 void Extension::SetExtensionWindowLifeCycleListener(const sptr<Rosen::IWindowLifeCycle> &listener)
166 {
167     extensionWindowLifeCycleListener_ = listener;
168 }
169 
OnAbilityResult(int requestCode,int resultCode,const Want & want)170 void Extension::OnAbilityResult(int requestCode, int resultCode, const Want &want)
171 {
172     HILOG_DEBUG("call.");
173 }
174 }
175 }
176