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
SetDisplayLevel(const int32_t displayLevel)185 void PhotoAlbum::SetDisplayLevel(const int32_t displayLevel)
186 {
187 displayLevel_ = displayLevel;
188 }
189
GetDisplayLevel() const190 int32_t PhotoAlbum::GetDisplayLevel() const
191 {
192 return displayLevel_;
193 }
194
SetLocationOnly(const bool locationOnly)195 void PhotoAlbum::SetLocationOnly(const bool locationOnly)
196 {
197 locationOnly_ = locationOnly;
198 }
199
GetLocationOnly() const200 bool PhotoAlbum::GetLocationOnly() const
201 {
202 return locationOnly_;
203 }
204
IsUserPhotoAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)205 bool PhotoAlbum::IsUserPhotoAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
206 {
207 return (albumType == PhotoAlbumType::USER) && (albumSubType == PhotoAlbumSubType::USER_GENERIC);
208 }
209
IsSmartPortraitPhotoAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)210 bool PhotoAlbum::IsSmartPortraitPhotoAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
211 {
212 return (albumType == PhotoAlbumType::SMART) && (albumSubType == PhotoAlbumSubType::PORTRAIT);
213 }
214
IsSmartGroupPhotoAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)215 bool PhotoAlbum::IsSmartGroupPhotoAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
216 {
217 return (albumType == PhotoAlbumType::SMART) && (albumSubType == PhotoAlbumSubType::GROUP_PHOTO);
218 }
219
IsSmartClassifyAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)220 bool PhotoAlbum::IsSmartClassifyAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
221 {
222 return (albumType == PhotoAlbumType::SMART) && (albumSubType == PhotoAlbumSubType::CLASSIFY);
223 }
224
IsTrashAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)225 bool PhotoAlbum::IsTrashAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
226 {
227 return (albumType == PhotoAlbumType::SYSTEM) && (albumSubType == PhotoAlbumSubType::TRASH);
228 }
229
IsSourceAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)230 bool PhotoAlbum::IsSourceAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
231 {
232 return (albumType == PhotoAlbumType::SOURCE) && (albumSubType == PhotoAlbumSubType::SOURCE_GENERIC);
233 }
234
CheckPhotoAlbumType(const PhotoAlbumType albumType)235 bool PhotoAlbum::CheckPhotoAlbumType(const PhotoAlbumType albumType)
236 {
237 return (albumType == PhotoAlbumType::USER) || (albumType == PhotoAlbumType::SYSTEM) ||
238 (albumType == PhotoAlbumType::SMART) || (albumType == PhotoAlbumType::SOURCE);
239 }
240
CheckPhotoAlbumSubType(const PhotoAlbumSubType albumSubType)241 bool PhotoAlbum::CheckPhotoAlbumSubType(const PhotoAlbumSubType albumSubType)
242 {
243 return (albumSubType == PhotoAlbumSubType::USER_GENERIC) || (albumSubType == PhotoAlbumSubType::ANY) ||
244 ((albumSubType >= PhotoAlbumSubType::SYSTEM_START) && (albumSubType <= PhotoAlbumSubType::SYSTEM_END)) ||
245 ((albumSubType >= PhotoAlbumSubType::ANALYSIS_START) && (albumSubType <= PhotoAlbumSubType::ANALYSIS_END)) ||
246 (albumSubType == PhotoAlbumSubType::SOURCE_GENERIC);
247 }
248
IsHighlightAlbum(const PhotoAlbumType albumType,const PhotoAlbumSubType albumSubType)249 bool PhotoAlbum::IsHighlightAlbum(const PhotoAlbumType albumType, const PhotoAlbumSubType albumSubType)
250 {
251 return (albumType == PhotoAlbumType::SMART) && (albumSubType == PhotoAlbumSubType::HIGHLIGHT ||
252 albumSubType == PhotoAlbumSubType::HIGHLIGHT_SUGGESTIONS);
253 }
254 } // namespace Media
255 } // namespace OHOS
256