• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2025 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 "ability_running_record.h"
17 #include "hilog_tag_wrapper.h"
18 
19 namespace OHOS {
20 namespace AppExecFwk {
21 namespace {
22 constexpr const char* BUNDLE_NAME_SCENEBOARD = "com.ohos.sceneboard";
23 constexpr const char* SCENEBOARD_ABILITY_NAME = "com.ohos.sceneboard.MainAbility";
24 constexpr const char* IS_HOOK = "ohos.ability_runtime.is_hook";
25 static const std::string EMPTY_NAME;
26 }
AbilityRunningRecord(std::shared_ptr<AbilityInfo> info,sptr<IRemoteObject> token,int32_t abilityRecordId)27 AbilityRunningRecord::AbilityRunningRecord(std::shared_ptr<AbilityInfo> info,
28     sptr<IRemoteObject> token, int32_t abilityRecordId)
29     : abilityRecordId_(abilityRecordId), info_(info), token_(token)
30 {}
31 
~AbilityRunningRecord()32 AbilityRunningRecord::~AbilityRunningRecord()
33 {}
34 
GetName() const35 const std::string &AbilityRunningRecord::GetName() const
36 {
37     if (info_ == nullptr) {
38         TAG_LOGE(AAFwkTag::APPMGR, "GetName info_ nullptr");
39         return EMPTY_NAME;
40     }
41     return info_->name;
42 }
43 
GetBundleName() const44 const std::string &AbilityRunningRecord::GetBundleName() const
45 {
46     if (info_ == nullptr) {
47         TAG_LOGE(AAFwkTag::APPMGR, "GetBundleName info_ nullptr");
48         return EMPTY_NAME;
49     }
50     return info_->bundleName;
51 }
52 
GetModuleName() const53 const std::string &AbilityRunningRecord::GetModuleName() const
54 {
55     if (info_ == nullptr) {
56         TAG_LOGE(AAFwkTag::APPMGR, "GetModuleName info_ nullptr");
57         return EMPTY_NAME;
58     }
59     return info_->moduleName;
60 }
61 
GetAbilityInfo() const62 const std::shared_ptr<AbilityInfo> &AbilityRunningRecord::GetAbilityInfo() const
63 {
64     return info_;
65 }
66 
GetWant() const67 const std::shared_ptr<AAFwk::Want> &AbilityRunningRecord::GetWant() const
68 {
69     return want_;
70 }
71 
SetWant(const std::shared_ptr<AAFwk::Want> & want)72 void AbilityRunningRecord::SetWant(const std::shared_ptr<AAFwk::Want> &want)
73 {
74     want_ = want;
75 }
76 
GetToken() const77 const sptr<IRemoteObject> &AbilityRunningRecord::GetToken() const
78 {
79     return token_;
80 }
81 
SetState(const AbilityState state)82 void AbilityRunningRecord::SetState(const AbilityState state)
83 {
84     state_ = state;
85 }
86 
GetState() const87 AbilityState AbilityRunningRecord::GetState() const
88 {
89     return state_;
90 }
91 
SetEventId(const int64_t eventId)92 void AbilityRunningRecord::SetEventId(const int64_t eventId)
93 {
94     eventId_ = eventId;
95 }
96 
GetEventId() const97 int64_t AbilityRunningRecord::GetEventId() const
98 {
99     return eventId_;
100 }
101 
SetTerminating()102 void AbilityRunningRecord::SetTerminating()
103 {
104     isTerminating_ = true;
105 }
106 
IsTerminating() const107 bool AbilityRunningRecord::IsTerminating() const
108 {
109     return isTerminating_;
110 }
111 
SetOwnerUserId(int32_t ownerUserId)112 void AbilityRunningRecord::SetOwnerUserId(int32_t ownerUserId)
113 {
114     ownerUserId_ = ownerUserId;
115 }
116 
GetOwnerUserId() const117 int32_t AbilityRunningRecord::GetOwnerUserId() const
118 {
119     return ownerUserId_;
120 }
121 
SetIsSingleUser(bool flag)122 void AbilityRunningRecord::SetIsSingleUser(bool flag)
123 {
124     isSingleUser_ = flag;
125 }
126 
IsSingleUser() const127 bool AbilityRunningRecord::IsSingleUser() const
128 {
129     return isSingleUser_;
130 }
131 
UpdateFocusState(bool isFocus)132 void AbilityRunningRecord::UpdateFocusState(bool isFocus)
133 {
134     isFocused_ = isFocus;
135 }
136 
GetFocusFlag() const137 bool AbilityRunningRecord::GetFocusFlag() const
138 {
139     return isFocused_;
140 }
141 
SetUIExtensionAbilityId(const int32_t uiExtensionAbilityId)142 void AbilityRunningRecord::SetUIExtensionAbilityId(const int32_t uiExtensionAbilityId)
143 {
144     uiExtensionAbilityId_ = uiExtensionAbilityId;
145 }
146 
GetUIExtensionAbilityId() const147 int32_t AbilityRunningRecord::GetUIExtensionAbilityId() const
148 {
149     return uiExtensionAbilityId_;
150 }
151 
SetUserRequestCleaningStatus()152 void AbilityRunningRecord::SetUserRequestCleaningStatus()
153 {
154     isUserRequestCleaning_ = true;
155 }
156 
IsUserRequestCleaning() const157 bool AbilityRunningRecord::IsUserRequestCleaning() const
158 {
159     return isUserRequestCleaning_;
160 }
161 
IsSceneBoard() const162 bool AbilityRunningRecord::IsSceneBoard() const
163 {
164     if (info_ == nullptr) {
165         return false;
166     }
167     return info_->name == SCENEBOARD_ABILITY_NAME && info_->bundleName == BUNDLE_NAME_SCENEBOARD;
168 }
169 
IsHook() const170 bool AbilityRunningRecord::IsHook() const
171 {
172     return want_ && want_->GetBoolParam(IS_HOOK, false);
173 }
174 
SetUIExtensionBindAbilityId(const int32_t uiExtensionBindAbilityId)175 void AbilityRunningRecord::SetUIExtensionBindAbilityId(const int32_t uiExtensionBindAbilityId)
176 {
177     uiExtensionBindAbilityId_ = uiExtensionBindAbilityId;
178 }
179 
GetUIExtensionBindAbilityId() const180 int32_t AbilityRunningRecord::GetUIExtensionBindAbilityId() const
181 {
182     return uiExtensionBindAbilityId_;
183 }
184 }  // namespace AppExecFwk
185 }  // namespace OHOS
186