1 /*
2 * Copyright (C) 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 #define MLOG_TAG "PhotoAlbum"
16
17 #include "photo_album.h"
18
19 #include "medialibrary_type_const.h"
20
21 using namespace std;
22
23 namespace OHOS {
24 namespace Media {
PhotoAlbum()25 PhotoAlbum::PhotoAlbum()
26 {
27 albumId_ = DEFAULT_ALBUM_ID;
28 type_ = USER;
29 subType_ = USER_GENERIC;
30 count_ = DEFAULT_COUNT;
31 }
32
33 PhotoAlbum::~PhotoAlbum() = default;
34
SetAlbumId(const int32_t albumId)35 void PhotoAlbum::SetAlbumId(const int32_t albumId)
36 {
37 albumId_ = albumId;
38 }
39
GetAlbumId() const40 int32_t PhotoAlbum::GetAlbumId() const
41 {
42 return albumId_;
43 }
44
SetPhotoAlbumType(const PhotoAlbumType type)45 void PhotoAlbum::SetPhotoAlbumType(const PhotoAlbumType type)
46 {
47 type_ = type;
48 }
49
GetPhotoAlbumType() const50 PhotoAlbumType PhotoAlbum::GetPhotoAlbumType() const
51 {
52 return type_;
53 }
54
SetPhotoAlbumSubType(const PhotoAlbumSubType subType)55 void PhotoAlbum::SetPhotoAlbumSubType(const PhotoAlbumSubType subType)
56 {
57 subType_ = subType;
58 }
59
GetPhotoAlbumSubType() const60 PhotoAlbumSubType PhotoAlbum::GetPhotoAlbumSubType() const
61 {
62 return subType_;
63 }
64
SetAlbumUri(const string & uri)65 void PhotoAlbum::SetAlbumUri(const string &uri)
66 {
67 uri_ = uri;
68 }
69
GetAlbumUri() const70 const string& PhotoAlbum::GetAlbumUri() const
71 {
72 return uri_;
73 }
74
SetAlbumName(const string & albumName)75 void PhotoAlbum::SetAlbumName(const string &albumName)
76 {
77 albumName_ = albumName;
78 }
79
GetAlbumName() const80 const string& PhotoAlbum::GetAlbumName() const
81 {
82 return albumName_;
83 }
84
SetCoverUri(const string & coverUri)85 void PhotoAlbum::SetCoverUri(const string &coverUri)
86 {
87 coverUri_ = coverUri;
88 }
89
GetCoverUri() const90 const string& PhotoAlbum::GetCoverUri() const
91 {
92 return coverUri_;
93 }
94
SetDateModified(const int64_t dateModified)95 void PhotoAlbum::SetDateModified(const int64_t dateModified)
96 {
97 dateModified_ = dateModified;
98 }
99
GetDateModified() const100 int64_t PhotoAlbum::GetDateModified() const
101 {
102 return dateModified_;
103 }
104
SetCount(const int32_t count)105 void PhotoAlbum::SetCount(const int32_t count)
106 {
107 count_ = count;
108 }
109
GetCount() const110 int32_t PhotoAlbum::GetCount() const
111 {
112 return count_;
113 }
114
SetImageCount(const int32_t count)115 void PhotoAlbum::SetImageCount(const int32_t count)
116 {
117 imageCount_ = count;
118 }
119
GetImageCount() const120 int32_t PhotoAlbum::GetImageCount() const
121 {
122 return imageCount_;
123 }
124
SetVideoCount(const int32_t count)125 void PhotoAlbum::SetVideoCount(const int32_t count)
126 {
127 videoCount_ = count;
128 }
129
GetVideoCount() const130 int32_t PhotoAlbum::GetVideoCount() const
131 {
132 return videoCount_;
133 }
134
SetLatitude(const double latitude)135 void PhotoAlbum::SetLatitude(const double latitude)
136 {
137 latitude_ = latitude;
138 }
139
GetLatitude() const140 double PhotoAlbum::GetLatitude() const
141 {
142 return latitude_;
143 }
144
SetLongitude(const double longitude)145 void PhotoAlbum::SetLongitude(const double longitude)
146 {
147 longitude_ = longitude;
148 }
149
GetLongitude() const150 double PhotoAlbum::GetLongitude() const
151 {
152 return longitude_;
153 }
154
SetRelativePath(const string & relativePath)155 void PhotoAlbum::SetRelativePath(const string &relativePath)
156 {
157 relativePath_ = relativePath;
158 }
159
GetRelativePath() const160 const string& PhotoAlbum::GetRelativePath() const
161 {
162 return relativePath_;
163 }
164
SetResultNapiType(const ResultNapiType resultNapiType)165 void PhotoAlbum::SetResultNapiType(const ResultNapiType resultNapiType)
166 {
167 resultNapiType_ = resultNapiType;
168 }
169
GetResultNapiType() const170 ResultNapiType PhotoAlbum::GetResultNapiType() const
171 {
172 return resultNapiType_;
173 }
174
SetHiddenOnly(const bool hiddenOnly)175 void PhotoAlbum::SetHiddenOnly(const bool hiddenOnly)
176 {
177 hiddenOnly_ = hiddenOnly;
178 }
179
GetHiddenOnly() const180 bool PhotoAlbum::GetHiddenOnly() const
181 {
182 return hiddenOnly_;
183 }
184
SetLocationOnly(const bool locationOnly)185 void PhotoAlbum::SetLocationOnly(const bool locationOnly)
186 {
187 locationOnly_ = locationOnly;
188 }
189
GetLocationOnly() const190 bool PhotoAlbum::GetLocationOnly() const
191 {
192 return locationOnly_;
193 }
194
SetDisplayLevel(const int32_t displayLevel)195 void PhotoAlbum::SetDisplayLevel(const int32_t displayLevel)
196 {
197 displayLevel_ = displayLevel;
198 }
199
GetDisplayLevel() const200 int32_t PhotoAlbum::GetDisplayLevel() const
201 {
202 return displayLevel_;
203 }
204
SetPriority(const int32_t priority)205 void PhotoAlbum::SetPriority(const int32_t priority)
206 {
207 priority_ = priority;
208 }
209
GetPriority() const210 int32_t PhotoAlbum::GetPriority() const
211 {
212 return priority_;
213 }
214
SetLPath(const std::string & path)215 void PhotoAlbum::SetLPath(const std::string &path)
216 {
217 lPath_ = path;
218 }
219
GetLPath() const220 const std::string& PhotoAlbum::GetLPath() const
221 {
222 return lPath_;
223 }
224
SetBundleName(const std::string & name)225 void PhotoAlbum::SetBundleName(const std::string &name)
226 {
227 bundleName_ = name;
228 }
229
GetBundleName() const230 const std::string& PhotoAlbum::GetBundleName() const
231 {
232 return bundleName_;
233 }
234
SetDateAdded(const int64_t date)235 void PhotoAlbum::SetDateAdded(const int64_t date)
236 {
237 dateAdded_ = date;
238 }
239
GetDateAdded() const240 int64_t PhotoAlbum::GetDateAdded() const
241 {
242 return dateAdded_;
243 }
244
SetContainsHidden(const int32_t hidden)245 void PhotoAlbum::SetContainsHidden(const int32_t hidden)
246 {
247 containsHidden_ = hidden;
248 }
249
GetContainsHidden() const250 int32_t PhotoAlbum::GetContainsHidden() const
251 {
252 return containsHidden_;
253 }
254
SetOrder(const int32_t order)255 void PhotoAlbum::SetOrder(const int32_t order)
256 {
257 order_ = order;
258 }
259
GetOrder() const260 int32_t PhotoAlbum::GetOrder() const
261 {
262 return order_;
263 }
264
SetLocalLanguage(const std::string & language)265 void PhotoAlbum::SetLocalLanguage(const std::string &language)
266 {
267 localLanguage_ = language;
268 }
269
GetLocalLanguage() const270 const std::string& PhotoAlbum::GetLocalLanguage() const
271 {
272 return localLanguage_;
273 }
274
SetIsLocal(const int32_t isLocal)275 void PhotoAlbum::SetIsLocal(const int32_t isLocal)
276 {
277 isLocal_ = isLocal;
278 }
279
GetIsLocal() const280 int32_t PhotoAlbum::GetIsLocal() const
281 {
282 return isLocal_;
283 }
284
IsUserPhotoAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)285 bool PhotoAlbum::IsUserPhotoAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
286 {
287 return (albumType == PhotoAlbumType::USER) && (albumSubType == PhotoAlbumSubType::USER_GENERIC);
288 }
289
IsSmartPortraitPhotoAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)290 bool PhotoAlbum::IsSmartPortraitPhotoAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
291 {
292 return (albumType == PhotoAlbumType::SMART) && (albumSubType == PhotoAlbumSubType::PORTRAIT);
293 }
294
IsSmartGroupPhotoAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)295 bool PhotoAlbum::IsSmartGroupPhotoAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
296 {
297 return (albumType == PhotoAlbumType::SMART) && (albumSubType == PhotoAlbumSubType::GROUP_PHOTO);
298 }
299
IsSmartClassifyAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)300 bool PhotoAlbum::IsSmartClassifyAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
301 {
302 return (albumType == PhotoAlbumType::SMART) && (albumSubType == PhotoAlbumSubType::CLASSIFY);
303 }
304
IsTrashAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)305 bool PhotoAlbum::IsTrashAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
306 {
307 return (albumType == PhotoAlbumType::SYSTEM) && (albumSubType == PhotoAlbumSubType::TRASH);
308 }
309
IsSourceAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)310 bool PhotoAlbum::IsSourceAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
311 {
312 return (albumType == PhotoAlbumType::SOURCE) && (albumSubType == PhotoAlbumSubType::SOURCE_GENERIC);
313 }
314
CheckPhotoAlbumType(const PhotoAlbumType albumType)315 bool PhotoAlbum::CheckPhotoAlbumType(const PhotoAlbumType albumType)
316 {
317 return (albumType == PhotoAlbumType::USER) || (albumType == PhotoAlbumType::SYSTEM) ||
318 (albumType == PhotoAlbumType::SMART) || (albumType == PhotoAlbumType::SOURCE);
319 }
320
CheckPhotoAlbumSubType(const PhotoAlbumSubType albumSubType)321 bool PhotoAlbum::CheckPhotoAlbumSubType(const PhotoAlbumSubType albumSubType)
322 {
323 return (albumSubType == PhotoAlbumSubType::USER_GENERIC) || (albumSubType == PhotoAlbumSubType::ANY) ||
324 ((albumSubType >= PhotoAlbumSubType::SYSTEM_START) && (albumSubType <= PhotoAlbumSubType::SYSTEM_END)) ||
325 ((albumSubType >= PhotoAlbumSubType::ANALYSIS_START) && (albumSubType <= PhotoAlbumSubType::ANALYSIS_END)) ||
326 (albumSubType == PhotoAlbumSubType::SOURCE_GENERIC);
327 }
328
IsHighlightAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)329 bool PhotoAlbum::IsHighlightAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
330 {
331 return (albumType == PhotoAlbumType::SMART) && (albumSubType == PhotoAlbumSubType::HIGHLIGHT ||
332 albumSubType == PhotoAlbumSubType::HIGHLIGHT_SUGGESTIONS);
333 }
334
IsAnalysisAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)335 bool PhotoAlbum::IsAnalysisAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
336 {
337 return (albumType == PhotoAlbumType::SMART) && (albumSubType >= PhotoAlbumSubType::ANALYSIS_START &&
338 albumSubType <= PhotoAlbumSubType::ANALYSIS_END);
339 }
340
SetUserId(int32_t userId)341 void PhotoAlbum::SetUserId(int32_t userId)
342 {
343 targetUserId_ = userId;
344 }
345
GetUserId()346 int32_t PhotoAlbum::GetUserId()
347 {
348 return targetUserId_;
349 }
350 } // namespace Media
351 } // namespace OHOS
352