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
IsSystemAlbum(const PhotoAlbumType albumType)315 bool PhotoAlbum::IsSystemAlbum(const PhotoAlbumType albumType)
316 {
317 return albumType == PhotoAlbumType::SYSTEM;
318 }
319
IsHiddenAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)320 bool PhotoAlbum::IsHiddenAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
321 {
322 return (albumType == PhotoAlbumType::SYSTEM) && (albumSubType == PhotoAlbumSubType::HIDDEN);
323 }
324
CheckPhotoAlbumType(const PhotoAlbumType albumType)325 bool PhotoAlbum::CheckPhotoAlbumType(const PhotoAlbumType albumType)
326 {
327 return (albumType == PhotoAlbumType::USER) || (albumType == PhotoAlbumType::SYSTEM) ||
328 (albumType == PhotoAlbumType::SMART) || (albumType == PhotoAlbumType::SOURCE);
329 }
330
CheckPhotoAlbumSubType(const PhotoAlbumSubType albumSubType)331 bool PhotoAlbum::CheckPhotoAlbumSubType(const PhotoAlbumSubType albumSubType)
332 {
333 return (albumSubType == PhotoAlbumSubType::USER_GENERIC) || (albumSubType == PhotoAlbumSubType::ANY) ||
334 ((albumSubType >= PhotoAlbumSubType::SYSTEM_START) && (albumSubType <= PhotoAlbumSubType::SYSTEM_END)) ||
335 ((albumSubType >= PhotoAlbumSubType::ANALYSIS_START) && (albumSubType <= PhotoAlbumSubType::ANALYSIS_END)) ||
336 (albumSubType == PhotoAlbumSubType::SOURCE_GENERIC);
337 }
338
IsHighlightAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)339 bool PhotoAlbum::IsHighlightAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
340 {
341 return (albumType == PhotoAlbumType::SMART) && (albumSubType == PhotoAlbumSubType::HIGHLIGHT ||
342 albumSubType == PhotoAlbumSubType::HIGHLIGHT_SUGGESTIONS);
343 }
344
IsAnalysisAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)345 bool PhotoAlbum::IsAnalysisAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
346 {
347 return (albumType == PhotoAlbumType::SMART) && (albumSubType >= PhotoAlbumSubType::ANALYSIS_START &&
348 albumSubType <= PhotoAlbumSubType::ANALYSIS_END);
349 }
350
CheckOrderStyleType(const OrderStyleType orderStyle)351 bool PhotoAlbum::CheckOrderStyleType(const OrderStyleType orderStyle)
352 {
353 return (orderStyle == OrderStyleType::MIX) || (orderStyle == OrderStyleType::SPLIT);
354 }
355
SetUserId(int32_t userId)356 void PhotoAlbum::SetUserId(int32_t userId)
357 {
358 targetUserId_ = userId;
359 }
360
GetUserId()361 int32_t PhotoAlbum::GetUserId()
362 {
363 return targetUserId_;
364 }
365
SetCoverUriSource(int32_t coverUriSource)366 void PhotoAlbum::SetCoverUriSource(int32_t coverUriSource)
367 {
368 coverUriSource_ = coverUriSource;
369 }
370
GetCoverUriSource()371 int32_t PhotoAlbum::GetCoverUriSource()
372 {
373 return coverUriSource_ > 0 ? static_cast<int32_t>(CoverUriSource::MANUAL_CLOUD_COVER) :
374 static_cast<int32_t>(CoverUriSource::DEFAULT_COVER);
375 }
376 } // namespace Media
377 } // namespace OHOS
378