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 #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 static const std::string EMPTY_NAME;
25 }
AbilityRunningRecord(std::shared_ptr<AbilityInfo> info,sptr<IRemoteObject> token,int32_t abilityRecordId)26 AbilityRunningRecord::AbilityRunningRecord(std::shared_ptr<AbilityInfo> info,
27 sptr<IRemoteObject> token, int32_t abilityRecordId)
28 : abilityRecordId_(abilityRecordId), info_(info), token_(token)
29 {}
30
~AbilityRunningRecord()31 AbilityRunningRecord::~AbilityRunningRecord()
32 {}
33
GetName() const34 const std::string &AbilityRunningRecord::GetName() const
35 {
36 if (info_ == nullptr) {
37 TAG_LOGE(AAFwkTag::APPMGR, "GetName info_ nullptr");
38 return EMPTY_NAME;
39 }
40 return info_->name;
41 }
42
GetBundleName() const43 const std::string &AbilityRunningRecord::GetBundleName() const
44 {
45 if (info_ == nullptr) {
46 TAG_LOGE(AAFwkTag::APPMGR, "GetBundleName info_ nullptr");
47 return EMPTY_NAME;
48 }
49 return info_->bundleName;
50 }
51
GetModuleName() const52 const std::string &AbilityRunningRecord::GetModuleName() const
53 {
54 if (info_ == nullptr) {
55 TAG_LOGE(AAFwkTag::APPMGR, "GetModuleName info_ nullptr");
56 return EMPTY_NAME;
57 }
58 return info_->moduleName;
59 }
60
GetAbilityInfo() const61 const std::shared_ptr<AbilityInfo> &AbilityRunningRecord::GetAbilityInfo() const
62 {
63 return info_;
64 }
65
GetWant() const66 const std::shared_ptr<AAFwk::Want> &AbilityRunningRecord::GetWant() const
67 {
68 return want_;
69 }
70
SetWant(const std::shared_ptr<AAFwk::Want> & want)71 void AbilityRunningRecord::SetWant(const std::shared_ptr<AAFwk::Want> &want)
72 {
73 want_ = want;
74 }
75
GetToken() const76 const sptr<IRemoteObject> &AbilityRunningRecord::GetToken() const
77 {
78 return token_;
79 }
80
SetState(const AbilityState state)81 void AbilityRunningRecord::SetState(const AbilityState state)
82 {
83 state_ = state;
84 }
85
GetState() const86 AbilityState AbilityRunningRecord::GetState() const
87 {
88 return state_;
89 }
90
SetEventId(const int64_t eventId)91 void AbilityRunningRecord::SetEventId(const int64_t eventId)
92 {
93 eventId_ = eventId;
94 }
95
GetEventId() const96 int64_t AbilityRunningRecord::GetEventId() const
97 {
98 return eventId_;
99 }
100
SetTerminating()101 void AbilityRunningRecord::SetTerminating()
102 {
103 isTerminating_ = true;
104 }
105
IsTerminating() const106 bool AbilityRunningRecord::IsTerminating() const
107 {
108 return isTerminating_;
109 }
110
SetOwnerUserId(int32_t ownerUserId)111 void AbilityRunningRecord::SetOwnerUserId(int32_t ownerUserId)
112 {
113 ownerUserId_ = ownerUserId;
114 }
115
GetOwnerUserId() const116 int32_t AbilityRunningRecord::GetOwnerUserId() const
117 {
118 return ownerUserId_;
119 }
120
SetIsSingleUser(bool flag)121 void AbilityRunningRecord::SetIsSingleUser(bool flag)
122 {
123 isSingleUser_ = flag;
124 }
125
IsSingleUser() const126 bool AbilityRunningRecord::IsSingleUser() const
127 {
128 return isSingleUser_;
129 }
130
UpdateFocusState(bool isFocus)131 void AbilityRunningRecord::UpdateFocusState(bool isFocus)
132 {
133 isFocused_ = isFocus;
134 }
135
GetFocusFlag() const136 bool AbilityRunningRecord::GetFocusFlag() const
137 {
138 return isFocused_;
139 }
140
SetUIExtensionAbilityId(const int32_t uiExtensionAbilityId)141 void AbilityRunningRecord::SetUIExtensionAbilityId(const int32_t uiExtensionAbilityId)
142 {
143 uiExtensionAbilityId_ = uiExtensionAbilityId;
144 }
145
GetUIExtensionAbilityId() const146 int32_t AbilityRunningRecord::GetUIExtensionAbilityId() const
147 {
148 return uiExtensionAbilityId_;
149 }
150
SetUserRequestCleaningStatus()151 void AbilityRunningRecord::SetUserRequestCleaningStatus()
152 {
153 isUserRequestCleaning_ = true;
154 }
155
IsUserRequestCleaning() const156 bool AbilityRunningRecord::IsUserRequestCleaning() const
157 {
158 return isUserRequestCleaning_;
159 }
160
IsSceneBoard() const161 bool AbilityRunningRecord::IsSceneBoard() const
162 {
163 if (info_ == nullptr) {
164 return false;
165 }
166 return info_->name == SCENEBOARD_ABILITY_NAME && info_->bundleName == BUNDLE_NAME_SCENEBOARD;
167 }
168 } // namespace AppExecFwk
169 } // namespace OHOS
170