• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
16 #ifndef MEDIALIBRARY_ACCURATE_REFRESH_TEST_UTIL_H
17 #define MEDIALIBRARY_ACCURATE_REFRESH_TEST_UTIL_H
18 
19 #include <string>
20 
21 #include "values_bucket.h"
22 #include "medialibrary_type_const.h"
23 #include "userfile_manager_types.h"
24 #include "album_change_info.h"
25 #include "photo_asset_change_info.h"
26 #include "medialibrary_rdbstore.h"
27 #include "photo_album_column.h"
28 #include "media_column.h"
29 
30 namespace OHOS {
31 namespace Media::AccurateRefresh {
32 
33 const std::string CREATE_PHOTO_ALBUM_TABLE = "CREATE TABLE IF NOT EXISTS " +
34     PhotoAlbumColumns::TABLE + " (" +
35     PhotoAlbumColumns::ALBUM_ID + " INT, " +
36     PhotoAlbumColumns::ALBUM_TYPE + " INT, " +
37     PhotoAlbumColumns::ALBUM_SUBTYPE + " INT, " +
38     PhotoAlbumColumns::ALBUM_NAME + " TEXT COLLATE NOCASE, " +
39     PhotoAlbumColumns::ALBUM_COVER_URI + " TEXT, " +
40     PhotoAlbumColumns::ALBUM_COUNT + " INT DEFAULT 0, " +
41     PhotoAlbumColumns::ALBUM_DATE_MODIFIED + " BIGINT DEFAULT 0, " +
42     PhotoAlbumColumns::ALBUM_DIRTY + " INT DEFAULT " +
43         std::to_string(static_cast<int32_t>(DirtyTypes::TYPE_NEW)) + ", " +
44     PhotoAlbumColumns::ALBUM_CLOUD_ID + " TEXT, " +
45     PhotoAlbumColumns::ALBUM_RELATIVE_PATH + " TEXT, " +
46     PhotoAlbumColumns::CONTAINS_HIDDEN + " INT DEFAULT 0, " +
47     PhotoAlbumColumns::HIDDEN_COUNT + " INT DEFAULT 0, " +
48     PhotoAlbumColumns::HIDDEN_COVER + " TEXT DEFAULT '', " +
49     PhotoAlbumColumns::ALBUM_ORDER + " INT," +
50     PhotoAlbumColumns::ALBUM_IMAGE_COUNT + " INT DEFAULT 0, " +
51     PhotoAlbumColumns::ALBUM_VIDEO_COUNT + " INT DEFAULT 0, " +
52     PhotoAlbumColumns::ALBUM_BUNDLE_NAME + " TEXT, " +
53     PhotoAlbumColumns::ALBUM_LOCAL_LANGUAGE + " TEXT, " +
54     PhotoAlbumColumns::ALBUM_IS_LOCAL + " INT, " +
55     PhotoAlbumColumns::ALBUM_DATE_ADDED + " BIGINT DEFAULT 0, " +
56     PhotoAlbumColumns::ALBUM_LPATH + " TEXT, " +
57     PhotoAlbumColumns::ALBUM_PRIORITY + " INT, " +
58     PhotoAlbumColumns::ALBUM_CHECK_FLAG + " INT DEFAULT 0, " +
59     PhotoAlbumColumns::COVER_DATE_TIME + " BIGINT DEFAULT 0, " +
60     PhotoAlbumColumns::COVER_URI_SOURCE + " INT DEFAULT 0, " +
61     PhotoAlbumColumns::HIDDEN_COVER_DATE_TIME + " BIGINT DEFAULT 0, " +
62     PhotoAlbumColumns::ALBUMS_ORDER + " INT DEFAULT -1, " +
63     PhotoAlbumColumns::ORDER_SECTION + " INT DEFAULT -1)";
64 
65 const std::string CREATE_PHOTO_TABLE = "CREATE TABLE IF NOT EXISTS " +
66     PhotoColumn::PHOTOS_TABLE + " (" +
67     PhotoColumn::MEDIA_ID + " INT, " +
68     PhotoColumn::MEDIA_FILE_PATH + " TEXT, " +
69     PhotoColumn::MEDIA_SIZE + " BIGINT, " +
70     PhotoColumn::MEDIA_TITLE + " TEXT, " +
71     PhotoColumn::MEDIA_NAME + " TEXT, " +
72     PhotoColumn::MEDIA_TYPE + " INT, " +
73     PhotoColumn::MEDIA_MIME_TYPE + " TEXT, " +
74     PhotoColumn::MEDIA_OWNER_PACKAGE + " TEXT, " +
75     PhotoColumn::MEDIA_OWNER_APPID + " TEXT, " +
76     PhotoColumn::MEDIA_PACKAGE_NAME + " TEXT, " +
77     PhotoColumn::MEDIA_DEVICE_NAME + " TEXT, " +
78     PhotoColumn::MEDIA_DATE_ADDED + " BIGINT, " +
79     PhotoColumn::MEDIA_DATE_MODIFIED + " BIGINT, " +
80     PhotoColumn::MEDIA_DATE_TAKEN + " BIGINT DEFAULT 0, " +
81     PhotoColumn::MEDIA_DURATION + " INT, " +
82     PhotoColumn::MEDIA_TIME_PENDING + " BIGINT DEFAULT 0, " +
83     PhotoColumn::MEDIA_IS_FAV + " INT DEFAULT 0, " +
84     PhotoColumn::MEDIA_DATE_TRASHED + " BIGINT DEFAULT 0, " +
85     PhotoColumn::MEDIA_DATE_DELETED + " BIGINT DEFAULT 0, " +
86     PhotoColumn::MEDIA_HIDDEN + " INT DEFAULT 0, " +
87     PhotoColumn::MEDIA_PARENT_ID + " INT DEFAULT 0, " +
88     PhotoColumn::MEDIA_RELATIVE_PATH + " TEXT, " +
89     PhotoColumn::MEDIA_VIRTURL_PATH + " TEXT UNIQUE, " +
90     PhotoColumn::PHOTO_DIRTY + " INT DEFAULT 1, " +
91     PhotoColumn::PHOTO_CLOUD_ID + " TEXT, " +
92     PhotoColumn::PHOTO_META_DATE_MODIFIED + "  BIGINT DEFAULT 0, " +
93     PhotoColumn::PHOTO_SYNC_STATUS + "  INT DEFAULT 0, " +
94     PhotoColumn::PHOTO_CLOUD_VERSION + " BIGINT DEFAULT 0, " +
95     PhotoColumn::PHOTO_ORIENTATION + " INT DEFAULT 0, " +
96     PhotoColumn::PHOTO_EXIF_ROTATE + " INT DEFAULT 0, " +
97     PhotoColumn::PHOTO_LATITUDE + " DOUBLE DEFAULT 0, " +
98     PhotoColumn::PHOTO_LONGITUDE + " DOUBLE DEFAULT 0, " +
99     PhotoColumn::PHOTO_HEIGHT + " INT, " +
100     PhotoColumn::PHOTO_WIDTH + " INT, " +
101     PhotoColumn::PHOTO_EDIT_TIME + " BIGINT DEFAULT 0, " +
102     PhotoColumn::PHOTO_LCD_VISIT_TIME + " BIGINT DEFAULT 0, " +
103     PhotoColumn::PHOTO_POSITION + " INT DEFAULT 1, " +
104     PhotoColumn::PHOTO_SUBTYPE + " INT DEFAULT 0, " +
105     PhotoColumn::PHOTO_ORIGINAL_SUBTYPE + " INT," +
106     PhotoColumn::CAMERA_SHOT_KEY + " TEXT, " +
107     PhotoColumn::PHOTO_USER_COMMENT + " TEXT, " +
108     PhotoColumn::PHOTO_ALL_EXIF  + " TEXT, " +
109     PhotoColumn::PHOTO_DATE_YEAR + " TEXT, " +
110     PhotoColumn::PHOTO_DATE_MONTH + " TEXT, " +
111     PhotoColumn::PHOTO_DATE_DAY + " TEXT, " +
112     PhotoColumn::PHOTO_SHOOTING_MODE + " TEXT, " +
113     PhotoColumn::PHOTO_SHOOTING_MODE_TAG + " TEXT, " +
114     PhotoColumn::PHOTO_LAST_VISIT_TIME + " BIGINT DEFAULT 0, " +
115     PhotoColumn::PHOTO_HIDDEN_TIME + " BIGINT DEFAULT 0, " +
116     PhotoColumn::PHOTO_THUMB_STATUS + " INT DEFAULT 0, " +
117     PhotoColumn::PHOTO_CLEAN_FLAG + " INT DEFAULT 0, " +
118     PhotoColumn::PHOTO_ID + " TEXT, " +
119     PhotoColumn::PHOTO_QUALITY + " INT, " +
120     PhotoColumn::PHOTO_FIRST_VISIT_TIME + " BIGINT DEFAULT 0, " +
121     PhotoColumn::PHOTO_DEFERRED_PROC_TYPE + " INT DEFAULT 0, " +
122     PhotoColumn::PHOTO_DYNAMIC_RANGE_TYPE + " INT DEFAULT 0, " +
123     PhotoColumn::MOVING_PHOTO_EFFECT_MODE + " INT DEFAULT 0, " +
124     PhotoColumn::PHOTO_COVER_POSITION + " BIGINT DEFAULT 0, " +
125     PhotoColumn::PHOTO_THUMBNAIL_READY + " BIGINT DEFAULT 0, " +
126     PhotoColumn::PHOTO_LCD_SIZE + " TEXT, " +
127     PhotoColumn::PHOTO_THUMB_SIZE + " TEXT," +
128     PhotoColumn::PHOTO_FRONT_CAMERA + " TEXT, " +
129     PhotoColumn::PHOTO_IS_TEMP + " INT DEFAULT 0," +
130     PhotoColumn::PHOTO_BURST_COVER_LEVEL + " INT DEFAULT 1, " +
131     PhotoColumn::PHOTO_BURST_KEY + " TEXT, " +
132     PhotoColumn::PHOTO_CE_AVAILABLE + " INT DEFAULT 0, " +
133     PhotoColumn::PHOTO_CE_STATUS_CODE + " INT, " +
134     PhotoColumn::PHOTO_STRONG_ASSOCIATION + " INT DEFAULT 0, " +
135     PhotoColumn::PHOTO_ASSOCIATE_FILE_ID + " INT DEFAULT 0, " +
136     PhotoColumn::PHOTO_HAS_CLOUD_WATERMARK + " INT DEFAULT 0, " +
137     PhotoColumn::PHOTO_DETAIL_TIME + " TEXT, " +
138     PhotoColumn::PHOTO_OWNER_ALBUM_ID + " INT DEFAULT 0, " +
139     PhotoColumn::PHOTO_ORIGINAL_ASSET_CLOUD_ID + " TEXT, " +
140     PhotoColumn::PHOTO_THUMBNAIL_VISIBLE + " INT DEFAULT 0, " +
141     PhotoColumn::PHOTO_SOURCE_PATH + " TEXT, " +
142     PhotoColumn::SUPPORTED_WATERMARK_TYPE + " INT, " +
143     PhotoColumn::PHOTO_METADATA_FLAGS + " INT DEFAULT 0, " +
144     PhotoColumn::PHOTO_CHECK_FLAG + " INT DEFAULT 0, " +
145     PhotoColumn::STAGE_VIDEO_TASK_STATUS + " INT NOT NULL DEFAULT 0, " +
146     PhotoColumn::PHOTO_IS_AUTO + " INT NOT NULL DEFAULT 0, " +
147     PhotoColumn::PHOTO_MEDIA_SUFFIX + " TEXT, " +
148     PhotoColumn::PHOTO_IS_RECENT_SHOW + " INT NOT NULL DEFAULT 1)";
149 
150 const int32_t FAVORITE_ALBUM_ID = 1;
151 const int32_t FAVORITE_ALBUM_ID_TOW = 101;
152 const std::string FAVORITE_ALBUM_LPATH = "favorite_lpath";
153 const int32_t FAVORITE_ALBUM_IMAGE_COUNT = 1111;
154 const int32_t FAVORITE_ALBUM_VIDEO_COUNT = 2222;
155 const std::string FAVORITE_ALBUM_NAME = "favorite_albumName";
156 const std::string FAVORITE_ALBUM_URI = PhotoAlbumColumns::ALBUM_URI_PREFIX + std::to_string(FAVORITE_ALBUM_ID);
157 const int32_t FAVORITE_ALBUM_COUNT = 3333;
158 const std::string FAVORITE_ALBUM_COVER_URI = "file://media/Photo/123/vio/asdf.jpg";
159 const int32_t FAVORITE_ALBUM_HIDDEN_COUNT = 4444;
160 const std::string FAVORITE_ALBUM_HIDDEN_COVER_URI = "file://media/Photo/234/vio/asdf.jpg";
161 const int64_t FAVORITE_ALBUM_COVER_DATE_TIME = 111111;
162 const int64_t FAVORITE_ALBUM_HIDDEN_COVER_DATE_TIME = 111111;
163 const int64_t FAVORITE_ALBUM_ORDER = -1;
164 const int64_t FAVORITE_ORDER_SECTION = -1;
165 const AlbumChangeInfo FAVORITE_ALBUM_INFO = {
166     FAVORITE_ALBUM_ID, FAVORITE_ALBUM_LPATH, FAVORITE_ALBUM_IMAGE_COUNT, FAVORITE_ALBUM_VIDEO_COUNT,
167     PhotoAlbumType::SYSTEM, PhotoAlbumSubType::FAVORITE, FAVORITE_ALBUM_NAME, FAVORITE_ALBUM_URI,
168     FAVORITE_ALBUM_COUNT, FAVORITE_ALBUM_COVER_URI, FAVORITE_ALBUM_HIDDEN_COUNT, FAVORITE_ALBUM_HIDDEN_COVER_URI,
169     false, false, FAVORITE_ALBUM_COVER_DATE_TIME, FAVORITE_ALBUM_HIDDEN_COVER_DATE_TIME,
170     static_cast<int32_t>(DirtyType::TYPE_NEW), FAVORITE_ALBUM_ORDER, FAVORITE_ORDER_SECTION
171 };
172 
173 const AlbumChangeInfo FAVORITE_ALBUM_INFO_TOW = {
174     FAVORITE_ALBUM_ID_TOW, FAVORITE_ALBUM_LPATH, FAVORITE_ALBUM_IMAGE_COUNT, FAVORITE_ALBUM_VIDEO_COUNT,
175     PhotoAlbumType::SYSTEM, PhotoAlbumSubType::FAVORITE, FAVORITE_ALBUM_NAME, FAVORITE_ALBUM_URI,
176     FAVORITE_ALBUM_COUNT, FAVORITE_ALBUM_COVER_URI, FAVORITE_ALBUM_HIDDEN_COUNT, FAVORITE_ALBUM_HIDDEN_COVER_URI,
177     false, false, FAVORITE_ALBUM_COVER_DATE_TIME, FAVORITE_ALBUM_HIDDEN_COVER_DATE_TIME,
178     static_cast<int32_t>(DirtyType::TYPE_NEW), FAVORITE_ALBUM_ORDER, FAVORITE_ORDER_SECTION
179 };
180 
181 const int32_t TRASH_ALBUM_ID = 2;
182 const int32_t TRASH_ALBUM_ID_TOW = 201;
183 const std::string TRASH_ALBUM_LPATH = "TRASH_lpath";
184 const int32_t TRASH_ALBUM_IMAGE_COUNT = 1;
185 const int32_t TRASH_ALBUM_VIDEO_COUNT = 2;
186 const std::string TRASH_ALBUM_NAME = "TRASH_albumName";
187 const std::string TRASH_ALBUM_URI = PhotoAlbumColumns::ALBUM_URI_PREFIX + std::to_string(TRASH_ALBUM_ID);
188 const int32_t TRASH_ALBUM_COUNT = 3;
189 const std::string TRASH_ALBUM_COVER_URI = "file://media/Photo/1113/vio/asdf.jpg";
190 const int32_t TRASH_ALBUM_HIDDEN_COUNT = 4;
191 const std::string TRASH_ALBUM_HIDDEN_COVER_URI = "file://media/Photo/123333/vio/asdf.jpg";
192 const int64_t TRASH_ALBUM_COVER_DATE_TIME = 222222;
193 const int64_t TRASH_ALBUM_HIDDEN_COVER_DATE_TIME = 222222;
194 const int64_t TRASH_ALBUM_ORDER = -1;
195 const int64_t TRASH_ORDER_SECTION = -1;
196 const AlbumChangeInfo TRASH_ALBUM_INFO = {
197     TRASH_ALBUM_ID, TRASH_ALBUM_LPATH, TRASH_ALBUM_IMAGE_COUNT, TRASH_ALBUM_VIDEO_COUNT,
198     PhotoAlbumType::SYSTEM, PhotoAlbumSubType::TRASH, TRASH_ALBUM_NAME, TRASH_ALBUM_URI,
199     TRASH_ALBUM_COUNT, TRASH_ALBUM_COVER_URI, TRASH_ALBUM_HIDDEN_COUNT, TRASH_ALBUM_HIDDEN_COVER_URI,
200     false, false, TRASH_ALBUM_COVER_DATE_TIME, TRASH_ALBUM_HIDDEN_COVER_DATE_TIME,
201     static_cast<int32_t>(DirtyType::TYPE_NEW), TRASH_ALBUM_ORDER, TRASH_ORDER_SECTION
202 };
203 const AlbumChangeInfo TRASH_ALBUM_INFO_TOW = {
204     TRASH_ALBUM_ID_TOW, TRASH_ALBUM_LPATH, TRASH_ALBUM_IMAGE_COUNT, TRASH_ALBUM_VIDEO_COUNT,
205     PhotoAlbumType::SYSTEM, PhotoAlbumSubType::TRASH, TRASH_ALBUM_NAME, TRASH_ALBUM_URI,
206     TRASH_ALBUM_COUNT, TRASH_ALBUM_COVER_URI, TRASH_ALBUM_HIDDEN_COUNT, TRASH_ALBUM_HIDDEN_COVER_URI,
207     false, false, TRASH_ALBUM_COVER_DATE_TIME, TRASH_ALBUM_HIDDEN_COVER_DATE_TIME,
208     static_cast<int32_t>(DirtyType::TYPE_NEW), TRASH_ALBUM_ORDER, TRASH_ORDER_SECTION
209 };
210 
211 const int32_t HIDDEN_ALBUM_ID = 3;
212 const int32_t HIDDEN_ALBUM_ID_TOW = 301;
213 const std::string HIDDEN_ALBUM_LPATH = "HIDDEN_lpath";
214 const int32_t HIDDEN_ALBUM_IMAGE_COUNT = 11;
215 const int32_t HIDDEN_ALBUM_VIDEO_COUNT = 22;
216 const std::string HIDDEN_ALBUM_NAME = "HIDDEN_albumName";
217 const std::string HIDDEN_ALBUM_URI = PhotoAlbumColumns::ALBUM_URI_PREFIX + std::to_string(HIDDEN_ALBUM_ID);
218 const int32_t HIDDEN_ALBUM_COUNT = 33;
219 const std::string HIDDEN_ALBUM_COVER_URI = "file://media/Photo/121233/vio/asdf.jpg";
220 const int32_t HIDDEN_ALBUM_HIDDEN_COUNT = 44;
221 const std::string HIDDEN_ALBUM_HIDDEN_COVER_URI = HIDDEN_ALBUM_COVER_URI;
222 const int64_t HIDDEN_ALBUM_COVER_DATE_TIME = 333333;
223 const int64_t HIDDEN_ALBUM_HIDDEN_COVER_DATE_TIME = 333333;
224 const int64_t HIDDEN_ALBUM_ORDER = -1;
225 const int64_t HIDDEN_ORDER_SECTION = -1;
226 const AlbumChangeInfo HIDDEN_ALBUM_INFO = {
227     HIDDEN_ALBUM_ID, HIDDEN_ALBUM_LPATH, HIDDEN_ALBUM_IMAGE_COUNT, HIDDEN_ALBUM_VIDEO_COUNT,
228     PhotoAlbumType::SYSTEM, PhotoAlbumSubType::HIDDEN, HIDDEN_ALBUM_NAME, HIDDEN_ALBUM_URI,
229     HIDDEN_ALBUM_COUNT, HIDDEN_ALBUM_COVER_URI, HIDDEN_ALBUM_HIDDEN_COUNT, HIDDEN_ALBUM_HIDDEN_COVER_URI,
230     false, false, HIDDEN_ALBUM_COVER_DATE_TIME, HIDDEN_ALBUM_HIDDEN_COVER_DATE_TIME,
231     static_cast<int32_t>(DirtyType::TYPE_NEW), HIDDEN_ALBUM_ORDER, HIDDEN_ORDER_SECTION
232 };
233 const AlbumChangeInfo HIDDEN_ALBUM_INFO_TOW = {
234     HIDDEN_ALBUM_ID_TOW, HIDDEN_ALBUM_LPATH, HIDDEN_ALBUM_IMAGE_COUNT, HIDDEN_ALBUM_VIDEO_COUNT,
235     PhotoAlbumType::SYSTEM, PhotoAlbumSubType::HIDDEN, HIDDEN_ALBUM_NAME, HIDDEN_ALBUM_URI,
236     HIDDEN_ALBUM_COUNT, HIDDEN_ALBUM_COVER_URI, HIDDEN_ALBUM_HIDDEN_COUNT, HIDDEN_ALBUM_HIDDEN_COVER_URI,
237     false, false, HIDDEN_ALBUM_COVER_DATE_TIME, HIDDEN_ALBUM_HIDDEN_COVER_DATE_TIME,
238     static_cast<int32_t>(DirtyType::TYPE_NEW), HIDDEN_ALBUM_ORDER, HIDDEN_ORDER_SECTION
239 };
240 
241 const int32_t VIDEO_ALBUM_ID = 4;
242 const int32_t VIDEO_ALBUM_ID_TOW = 401;
243 const std::string VIDEO_ALBUM_LPATH = "VIDEO_lpath";
244 const int32_t VIDEO_ALBUM_IMAGE_COUNT = 1;
245 const int32_t VIDEO_ALBUM_VIDEO_COUNT = 2;
246 const std::string VIDEO_ALBUM_NAME = "VIDEO_albumName";
247 const std::string VIDEO_ALBUM_URI = PhotoAlbumColumns::ALBUM_URI_PREFIX + std::to_string(VIDEO_ALBUM_ID);
248 const int32_t VIDEO_ALBUM_COUNT = 3;
249 const std::string VIDEO_ALBUM_COVER_URI = "file://media/Photo/125673/vio/asdf.jpg";
250 const int32_t VIDEO_ALBUM_HIDDEN_COUNT = 4;
251 const std::string VIDEO_ALBUM_HIDDEN_COVER_URI = "file://media/Photo/1239876/vio/asdf.jpg";
252 const int64_t VIDEO_ALBUM_COVER_DATE_TIME = 444444;
253 const int64_t VIDEO_ALBUM_HIDDEN_COVER_DATE_TIME = 444444;
254 const int64_t VIDEO_ALBUM_ORDER = -1;
255 const int64_t VIDEO_ORDER_SECTION = -1;
256 const AlbumChangeInfo VIDEO_ALBUM_INFO = {
257     VIDEO_ALBUM_ID, VIDEO_ALBUM_LPATH, VIDEO_ALBUM_IMAGE_COUNT, VIDEO_ALBUM_VIDEO_COUNT,
258     PhotoAlbumType::SYSTEM, PhotoAlbumSubType::VIDEO, VIDEO_ALBUM_NAME, VIDEO_ALBUM_URI,
259     VIDEO_ALBUM_COUNT, VIDEO_ALBUM_COVER_URI, VIDEO_ALBUM_HIDDEN_COUNT, VIDEO_ALBUM_HIDDEN_COVER_URI,
260     false, false, VIDEO_ALBUM_COVER_DATE_TIME, VIDEO_ALBUM_HIDDEN_COVER_DATE_TIME,
261     static_cast<int32_t>(DirtyType::TYPE_NEW), VIDEO_ALBUM_ORDER, VIDEO_ORDER_SECTION
262 };
263 const AlbumChangeInfo VIDEO_ALBUM_INFO_TOW = {
264     VIDEO_ALBUM_ID_TOW, VIDEO_ALBUM_LPATH, VIDEO_ALBUM_IMAGE_COUNT, VIDEO_ALBUM_VIDEO_COUNT,
265     PhotoAlbumType::SYSTEM, PhotoAlbumSubType::VIDEO, VIDEO_ALBUM_NAME, VIDEO_ALBUM_URI,
266     VIDEO_ALBUM_COUNT, VIDEO_ALBUM_COVER_URI, VIDEO_ALBUM_HIDDEN_COUNT, VIDEO_ALBUM_HIDDEN_COVER_URI,
267     false, false, VIDEO_ALBUM_COVER_DATE_TIME, VIDEO_ALBUM_HIDDEN_COVER_DATE_TIME,
268     static_cast<int32_t>(DirtyType::TYPE_NEW), VIDEO_ALBUM_ORDER, VIDEO_ORDER_SECTION
269 };
270 
271 const int32_t IMAGE_ALBUM_ID = 5;
272 const int32_t IMAGE_ALBUM_ID_TOW = 501;
273 const std::string IMAGE_ALBUM_LPATH = "IMAGE_lpath";
274 const int32_t IMAGE_ALBUM_IMAGE_COUNT = 1;
275 const int32_t IMAGE_ALBUM_VIDEO_COUNT = 2;
276 const std::string IMAGE_ALBUM_NAME = "IMAGE_albumName";
277 const std::string IMAGE_ALBUM_URI = PhotoAlbumColumns::ALBUM_URI_PREFIX + std::to_string(IMAGE_ALBUM_ID);
278 const int32_t IMAGE_ALBUM_COUNT = 3;
279 const std::string IMAGE_ALBUM_COVER_URI = "file://media/Photo/123858/vio/asdf.jpg";
280 const int32_t IMAGE_ALBUM_HIDDEN_COUNT = 4;
281 const std::string IMAGE_ALBUM_HIDDEN_COVER_URI = "file://media/Photo/148564/vio/asdf.jpg";
282 const int64_t IMAGE_ALBUM_COVER_DATE_TIME = 555555;
283 const int64_t IMAGE_ALBUM_HIDDEN_COVER_DATE_TIME = 555555;
284 const int64_t IMAGE_ALBUM_ORDER = -1;
285 const int64_t IMAGE_ORDER_SECTION = -1;
286 const AlbumChangeInfo IMAGE_ALBUM_INFO = {
287     IMAGE_ALBUM_ID, IMAGE_ALBUM_LPATH, IMAGE_ALBUM_IMAGE_COUNT, IMAGE_ALBUM_VIDEO_COUNT,
288     PhotoAlbumType::SYSTEM, PhotoAlbumSubType::IMAGE, IMAGE_ALBUM_NAME, IMAGE_ALBUM_URI,
289     IMAGE_ALBUM_COUNT, IMAGE_ALBUM_COVER_URI, IMAGE_ALBUM_HIDDEN_COUNT, IMAGE_ALBUM_HIDDEN_COVER_URI,
290     false, false, IMAGE_ALBUM_COVER_DATE_TIME, IMAGE_ALBUM_HIDDEN_COVER_DATE_TIME,
291     static_cast<int32_t>(DirtyType::TYPE_NEW), IMAGE_ALBUM_ORDER, IMAGE_ORDER_SECTION
292 };
293 const AlbumChangeInfo IMAGE_ALBUM_INFO_TOW = {
294     IMAGE_ALBUM_ID_TOW, IMAGE_ALBUM_LPATH, IMAGE_ALBUM_IMAGE_COUNT, IMAGE_ALBUM_VIDEO_COUNT,
295     PhotoAlbumType::SYSTEM, PhotoAlbumSubType::IMAGE, IMAGE_ALBUM_NAME, IMAGE_ALBUM_URI,
296     IMAGE_ALBUM_COUNT, IMAGE_ALBUM_COVER_URI, IMAGE_ALBUM_HIDDEN_COUNT, IMAGE_ALBUM_HIDDEN_COVER_URI,
297     false, false, IMAGE_ALBUM_COVER_DATE_TIME, IMAGE_ALBUM_HIDDEN_COVER_DATE_TIME,
298     static_cast<int32_t>(DirtyType::TYPE_NEW), IMAGE_ALBUM_ORDER, IMAGE_ORDER_SECTION
299 };
300 
301 const int32_t CLOUD_ENHANCEMENT_ALBUM_ID = 6;
302 const int32_t CLOUD_ENHANCEMENT_ALBUM_ID_TOW = 601;
303 const std::string CLOUD_ENHANCEMENT_ALBUM_LPATH = "CLOUD_ENHANCEMENT_lpath";
304 const int32_t CLOUD_ENHANCEMENT_ALBUM_IMAGE_COUNT = 1;
305 const int32_t CLOUD_ENHANCEMENT_ALBUM_VIDEO_COUNT = 2;
306 const std::string CLOUD_ENHANCEMENT_ALBUM_NAME = "CLOUD_ENHANCEMENT_albumName";
307 const std::string CLOUD_ENHANCEMENT_ALBUM_URI =
308     PhotoAlbumColumns::ALBUM_URI_PREFIX + std::to_string(CLOUD_ENHANCEMENT_ALBUM_ID);
309 const int32_t CLOUD_ENHANCEMENT_ALBUM_COUNT = 3;
310 const std::string CLOUD_ENHANCEMENT_ALBUM_COVER_URI = "file://media/Photo/1287533/vio/asdf.jpg";
311 const int32_t CLOUD_ENHANCEMENT_ALBUM_HIDDEN_COUNT = 4;
312 const std::string CLOUD_ENHANCEMENT_ALBUM_HIDDEN_COVER_URI = "file://media/Photo/120986543/vio/asdf.jpg";
313 const int64_t CLOUD_ENHANCEMENT_ALBUM_COVER_DATE_TIME = 666666;
314 const int64_t CLOUD_ENHANCEMENT_ALBUM_HIDDEN_COVER_DATE_TIME = 666666;
315 const int64_t CLOUD_ENHANCEMENT_ALBUM_ORDER = -1;
316 const int64_t CLOUD_ENHANCEMENT_ORDER_SECTION = -1;
317 const AlbumChangeInfo CLOUD_ENHANCEMENT_ALBUM_INFO = {
318     CLOUD_ENHANCEMENT_ALBUM_ID, CLOUD_ENHANCEMENT_ALBUM_LPATH, CLOUD_ENHANCEMENT_ALBUM_IMAGE_COUNT,
319     CLOUD_ENHANCEMENT_ALBUM_VIDEO_COUNT, PhotoAlbumType::SYSTEM, PhotoAlbumSubType::CLOUD_ENHANCEMENT,
320     CLOUD_ENHANCEMENT_ALBUM_NAME, CLOUD_ENHANCEMENT_ALBUM_URI, CLOUD_ENHANCEMENT_ALBUM_COUNT,
321     CLOUD_ENHANCEMENT_ALBUM_COVER_URI, CLOUD_ENHANCEMENT_ALBUM_HIDDEN_COUNT, CLOUD_ENHANCEMENT_ALBUM_HIDDEN_COVER_URI,
322     false, false, CLOUD_ENHANCEMENT_ALBUM_COVER_DATE_TIME, CLOUD_ENHANCEMENT_ALBUM_HIDDEN_COVER_DATE_TIME,
323     static_cast<int32_t>(DirtyType::TYPE_NEW), CLOUD_ENHANCEMENT_ALBUM_ORDER, CLOUD_ENHANCEMENT_ORDER_SECTION
324 };
325 const AlbumChangeInfo CLOUD_ENHANCEMENT_ALBUM_INFO_TOW = {
326     CLOUD_ENHANCEMENT_ALBUM_ID_TOW, CLOUD_ENHANCEMENT_ALBUM_LPATH, CLOUD_ENHANCEMENT_ALBUM_IMAGE_COUNT,
327     CLOUD_ENHANCEMENT_ALBUM_VIDEO_COUNT, PhotoAlbumType::SYSTEM, PhotoAlbumSubType::CLOUD_ENHANCEMENT,
328     CLOUD_ENHANCEMENT_ALBUM_NAME, CLOUD_ENHANCEMENT_ALBUM_URI, CLOUD_ENHANCEMENT_ALBUM_COUNT,
329     CLOUD_ENHANCEMENT_ALBUM_COVER_URI, CLOUD_ENHANCEMENT_ALBUM_HIDDEN_COUNT, CLOUD_ENHANCEMENT_ALBUM_HIDDEN_COVER_URI,
330     false, false, CLOUD_ENHANCEMENT_ALBUM_COVER_DATE_TIME, CLOUD_ENHANCEMENT_ALBUM_HIDDEN_COVER_DATE_TIME,
331     static_cast<int32_t>(DirtyType::TYPE_NEW), CLOUD_ENHANCEMENT_ALBUM_ORDER, CLOUD_ENHANCEMENT_ORDER_SECTION
332 };
333 
334 const int32_t USER_ALBUM_ID = 100;
335 const int32_t USER_ALBUM_ID_TOW = 1001;
336 const std::string USER_ALBUM_LPATH = "USER_lpath";
337 const int32_t USER_ALBUM_IMAGE_COUNT = 1;
338 const int32_t USER_ALBUM_VIDEO_COUNT = 2;
339 const std::string USER_ALBUM_NAME = "USER_albumName";
340 const std::string USER_ALBUM_URI = PhotoAlbumColumns::ALBUM_URI_PREFIX + std::to_string(USER_ALBUM_ID);
341 const int32_t USER_ALBUM_COUNT = 3;
342 const std::string USER_ALBUM_COVER_URI = "file://media/Photo/1333323/vio/asdf.jpg";
343 const int32_t USER_ALBUM_HIDDEN_COUNT = 4;
344 const std::string USER_ALBUM_HIDDEN_COVER_URI = "file://media/Photo/1777723/vio/asdf.jpg";
345 const int64_t USER_ALBUM_COVER_DATE_TIME = 777777;
346 const int64_t USER_ALBUM_HIDDEN_COVER_DATE_TIME = 777777;
347 const int64_t USER_ALBUM_ALBUM_ORDER = -1;
348 const int64_t USER_ALBUM_ORDER_SECTION = -1;
349 const AlbumChangeInfo USER_ALBUM_INFO = {
350     USER_ALBUM_ID, USER_ALBUM_LPATH, USER_ALBUM_IMAGE_COUNT, USER_ALBUM_VIDEO_COUNT,
351     PhotoAlbumType::USER, PhotoAlbumSubType::USER_GENERIC, USER_ALBUM_NAME, USER_ALBUM_URI,
352     USER_ALBUM_COUNT, USER_ALBUM_COVER_URI, USER_ALBUM_HIDDEN_COUNT, USER_ALBUM_HIDDEN_COVER_URI,
353     false, false, USER_ALBUM_COVER_DATE_TIME, USER_ALBUM_HIDDEN_COVER_DATE_TIME,
354     static_cast<int32_t>(DirtyType::TYPE_NEW), USER_ALBUM_ALBUM_ORDER, USER_ALBUM_ORDER_SECTION
355 };
356 const AlbumChangeInfo USER_ALBUM_INFO_TOW = {
357     USER_ALBUM_ID_TOW, USER_ALBUM_LPATH, USER_ALBUM_IMAGE_COUNT, USER_ALBUM_VIDEO_COUNT,
358     PhotoAlbumType::USER, PhotoAlbumSubType::USER_GENERIC, USER_ALBUM_NAME, USER_ALBUM_URI,
359     USER_ALBUM_COUNT, USER_ALBUM_COVER_URI, USER_ALBUM_HIDDEN_COUNT, USER_ALBUM_HIDDEN_COVER_URI,
360     false, false, USER_ALBUM_COVER_DATE_TIME, USER_ALBUM_HIDDEN_COVER_DATE_TIME,
361     static_cast<int32_t>(DirtyType::TYPE_NEW), USER_ALBUM_ALBUM_ORDER, USER_ALBUM_ORDER_SECTION
362 };
363 
364 const int32_t SOURCE_ALBUM_ID = 1000;
365 const int32_t SOURCE_ALBUM_ID_TOW = 10001;
366 const std::string SOURCE_ALBUM_LPATH = "SOURCE_lpath";
367 const int32_t SOURCE_ALBUM_IMAGE_COUNT = 1;
368 const int32_t SOURCE_ALBUM_VIDEO_COUNT = 2;
369 const std::string SOURCE_ALBUM_NAME = "SOURCE_albumName";
370 const std::string SOURCE_ALBUM_URI = PhotoAlbumColumns::ALBUM_URI_PREFIX + std::to_string(SOURCE_ALBUM_ID);
371 const int32_t SOURCE_ALBUM_COUNT = 3;
372 const std::string SOURCE_ALBUM_COVER_URI = "file://media/Photo/14333323/vio/asdf.jpg";
373 const int32_t SOURCE_ALBUM_HIDDEN_COUNT = 4;
374 const std::string SOURCE_ALBUM_HIDDEN_COVER_URI = "file://media/Photo/128889993/vio/asdf.jpg";
375 const int64_t SOURCE_ALBUM_COVER_DATE_TIME = 888888;
376 const int64_t SOURCE_ALBUM_HIDDEN_COVER_DATE_TIME = 888888;
377 const int64_t SOURCE_ALBUM_ALBUM_ORDER = -1;
378 const int64_t SOURCE_ALBUM_ORDER_SECTION = -1;
379 const AlbumChangeInfo SOURCE_ALBUM_INFO = {
380     SOURCE_ALBUM_ID, SOURCE_ALBUM_LPATH, SOURCE_ALBUM_IMAGE_COUNT, SOURCE_ALBUM_VIDEO_COUNT,
381     PhotoAlbumType::SOURCE, PhotoAlbumSubType::ANY, SOURCE_ALBUM_NAME, SOURCE_ALBUM_URI,
382     SOURCE_ALBUM_COUNT, SOURCE_ALBUM_COVER_URI, SOURCE_ALBUM_HIDDEN_COUNT, SOURCE_ALBUM_HIDDEN_COVER_URI,
383     false, false, SOURCE_ALBUM_COVER_DATE_TIME, SOURCE_ALBUM_HIDDEN_COVER_DATE_TIME,
384     static_cast<int32_t>(DirtyType::TYPE_NEW), SOURCE_ALBUM_ALBUM_ORDER, SOURCE_ALBUM_ORDER_SECTION
385 };
386 const AlbumChangeInfo SOURCE_ALBUM_INFO_TOW = {
387     SOURCE_ALBUM_ID_TOW, SOURCE_ALBUM_LPATH, SOURCE_ALBUM_IMAGE_COUNT, SOURCE_ALBUM_VIDEO_COUNT,
388     PhotoAlbumType::SOURCE, PhotoAlbumSubType::ANY, SOURCE_ALBUM_NAME, SOURCE_ALBUM_URI,
389     SOURCE_ALBUM_COUNT, SOURCE_ALBUM_COVER_URI, SOURCE_ALBUM_HIDDEN_COUNT, SOURCE_ALBUM_HIDDEN_COVER_URI,
390     false, false, SOURCE_ALBUM_COVER_DATE_TIME, SOURCE_ALBUM_HIDDEN_COVER_DATE_TIME,
391     static_cast<int32_t>(DirtyType::TYPE_NEW), SOURCE_ALBUM_ALBUM_ORDER, SOURCE_ALBUM_ORDER_SECTION
392 };
393 
394 NativeRdb::ValuesBucket GetPhotoAlbumInsertValue(const AlbumChangeInfo &albumInfo);
395 NativeRdb::ValuesBucket GetFavoriteInsertAlbum();
396 NativeRdb::ValuesBucket GetHiddenInsertAlbum();
397 bool IsEqualAlbumInfo(const AlbumChangeInfo &albumInfo1, const AlbumChangeInfo &albumInfo2);
398 NativeRdb::ValuesBucket GetTrashInsertAlbum();
399 NativeRdb::ValuesBucket GetVideoInsertAlbum();
400 NativeRdb::ValuesBucket GetImageInsertAlbum();
401 NativeRdb::ValuesBucket GetCloudEnhancementInsertAlbum();
402 
403 AlbumChangeInfo GetUserInsertInfo(int32_t albumId);
404 AlbumChangeInfo GetSourceInsertInfo(int32_t albumId);
405 NativeRdb::ValuesBucket GetUserInsertAlbum(int32_t albumId);
406 NativeRdb::ValuesBucket GetSourceInsertAlbum(int32_t albumId);
407 int32_t GetAlbumCount(PhotoAlbumSubType subType, std::shared_ptr<MediaLibraryRdbStore> rdbStore);
408 int32_t GetAlbumDirtyType(PhotoAlbumSubType subType, std::shared_ptr<MediaLibraryRdbStore> rdbStore);
409 AlbumChangeInfo GetAlbumInfo(PhotoAlbumSubType subType, std::shared_ptr<MediaLibraryRdbStore> rdbStore);
410 AlbumChangeInfo GetAlbumInfo(int32_t albumId, std::shared_ptr<MediaLibraryRdbStore> rdbStore);
411 bool CheckAlbumChangeData(const AlbumChangeData &changeData, RdbOperation operation, const AlbumChangeInfo &infoBefore,
412     const AlbumChangeInfo &infoAfter, bool isDelete = false);
413 
414 } // namespace Media
415 } // namespace OHOS
416 
417 #endif // MEDIALIBRARY_ACCURATE_REFRESH_TEST_UTIL_H