1 /*
2  * Copyright (c) 2021 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 
18 namespace OHOS {
19 namespace AppExecFwk {
20 namespace {
21 constexpr const char* BUNDLE_NAME_SCENEBOARD = "com.ohos.sceneboard";
22 constexpr const char* SCENEBOARD_ABILITY_NAME = "com.ohos.sceneboard.MainAbility";
23 }
AbilityRunningRecord(std::shared_ptr<AbilityInfo> info,sptr<IRemoteObject> token,int32_t abilityRecordId)24 AbilityRunningRecord::AbilityRunningRecord(std::shared_ptr<AbilityInfo> info,
25     sptr<IRemoteObject> token, int32_t abilityRecordId)
26     : info_(info), token_(token), abilityRecordId_(abilityRecordId)
27 {}
28 
~AbilityRunningRecord()29 AbilityRunningRecord::~AbilityRunningRecord()
30 {}
31 
GetName() const32 const std::string &AbilityRunningRecord::GetName() const
33 {
34     return info_->name;
35 }
36 
GetBundleName() const37 const std::string &AbilityRunningRecord::GetBundleName() const
38 {
39     return info_->bundleName;
40 }
41 
GetModuleName() const42 const std::string &AbilityRunningRecord::GetModuleName() const
43 {
44     return info_->moduleName;
45 }
46 
GetAbilityInfo() const47 const std::shared_ptr<AbilityInfo> &AbilityRunningRecord::GetAbilityInfo() const
48 {
49     return info_;
50 }
51 
GetWant() const52 const std::shared_ptr<AAFwk::Want> &AbilityRunningRecord::GetWant() const
53 {
54     return want_;
55 }
56 
SetWant(const std::shared_ptr<AAFwk::Want> & want)57 void AbilityRunningRecord::SetWant(const std::shared_ptr<AAFwk::Want> &want)
58 {
59     want_ = want;
60 }
61 
GetToken() const62 const sptr<IRemoteObject> &AbilityRunningRecord::GetToken() const
63 {
64     return token_;
65 }
66 
SetState(const AbilityState state)67 void AbilityRunningRecord::SetState(const AbilityState state)
68 {
69     state_ = state;
70 }
71 
GetState() const72 AbilityState AbilityRunningRecord::GetState() const
73 {
74     return state_;
75 }
76 
IsSameState(const AbilityState state) const77 bool AbilityRunningRecord::IsSameState(const AbilityState state) const
78 {
79     return state_ == state;
80 }
81 
GetLastLaunchTime() const82 int32_t AbilityRunningRecord::GetLastLaunchTime() const
83 {
84     return lastLaunchTime_;
85 }
86 
GetPreToken() const87 const sptr<IRemoteObject> AbilityRunningRecord::GetPreToken() const
88 {
89     return preToken_;
90 }
91 
SetPreToken(const sptr<IRemoteObject> & preToken)92 void AbilityRunningRecord::SetPreToken(const sptr<IRemoteObject> &preToken)
93 {
94     preToken_ = preToken;
95 }
96 
SetVisibility(const int32_t visibility)97 void AbilityRunningRecord::SetVisibility(const int32_t visibility)
98 {
99     visibility_ = visibility;
100 }
101 
GetVisibility() const102 int32_t AbilityRunningRecord::GetVisibility() const
103 {
104     return visibility_;
105 }
106 
SetPerceptibility(const int32_t perceptibility)107 void AbilityRunningRecord::SetPerceptibility(const int32_t perceptibility)
108 {
109     perceptibility_ = perceptibility;
110 }
111 
GetPerceptibility() const112 int32_t AbilityRunningRecord::GetPerceptibility() const
113 {
114     return perceptibility_;
115 }
116 
SetConnectionState(const int32_t connectionState)117 void AbilityRunningRecord::SetConnectionState(const int32_t connectionState)
118 {
119     connectionState_ = connectionState;
120 }
121 
GetConnectionState() const122 int32_t AbilityRunningRecord::GetConnectionState() const
123 {
124     return connectionState_;
125 }
126 
SetEventId(const int64_t eventId)127 void AbilityRunningRecord::SetEventId(const int64_t eventId)
128 {
129     eventId_ = eventId;
130 }
131 
GetEventId() const132 int64_t AbilityRunningRecord::GetEventId() const
133 {
134     return eventId_;
135 }
136 
SetTerminating()137 void AbilityRunningRecord::SetTerminating()
138 {
139     isTerminating_ = true;
140 }
141 
IsTerminating() const142 bool AbilityRunningRecord::IsTerminating() const
143 {
144     return isTerminating_;
145 }
146 
SetOwnerUserId(int32_t ownerUserId)147 void AbilityRunningRecord::SetOwnerUserId(int32_t ownerUserId)
148 {
149     ownerUserId_ = ownerUserId;
150 }
151 
GetOwnerUserId() const152 int32_t AbilityRunningRecord::GetOwnerUserId() const
153 {
154     return ownerUserId_;
155 }
156 
SetIsSingleUser(bool flag)157 void AbilityRunningRecord::SetIsSingleUser(bool flag)
158 {
159     isSingleUser_ = flag;
160 }
161 
IsSingleUser() const162 bool AbilityRunningRecord::IsSingleUser() const
163 {
164     return isSingleUser_;
165 }
166 
UpdateFocusState(bool isFocus)167 void AbilityRunningRecord::UpdateFocusState(bool isFocus)
168 {
169     isFocused_ = isFocus;
170 }
171 
GetFocusFlag() const172 bool AbilityRunningRecord::GetFocusFlag() const
173 {
174     return isFocused_;
175 }
176 
SetUIExtensionAbilityId(const int32_t uiExtensionAbilityId)177 void AbilityRunningRecord::SetUIExtensionAbilityId(const int32_t uiExtensionAbilityId)
178 {
179     uiExtensionAbilityId_ = uiExtensionAbilityId;
180 }
181 
GetUIExtensionAbilityId() const182 int32_t AbilityRunningRecord::GetUIExtensionAbilityId() const
183 {
184     return uiExtensionAbilityId_;
185 }
186 
SetUserRequestCleaningStatus()187 void AbilityRunningRecord::SetUserRequestCleaningStatus()
188 {
189     isUserRequestCleaning_ = true;
190 }
191 
IsUserRequestCleaning() const192 bool AbilityRunningRecord::IsUserRequestCleaning() const
193 {
194     return isUserRequestCleaning_;
195 }
196 
IsSceneBoard() const197 bool AbilityRunningRecord::IsSceneBoard() const
198 {
199     if (info_ == nullptr) {
200         return false;
201     }
202     return info_->name == SCENEBOARD_ABILITY_NAME && info_->bundleName == BUNDLE_NAME_SCENEBOARD;
203 }
204 }  // namespace AppExecFwk
205 }  // namespace OHOS
206