commit 3d73fb32bc713ba155f41a64f43eb2892557b7d0 Author: litingting Date: Fri Aug 2 16:03:37 2024 +0800 V1.0.0.0(1) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/ShinyWallpaper.jks b/app/ShinyWallpaper.jks new file mode 100644 index 0000000..6737a36 Binary files /dev/null and b/app/ShinyWallpaper.jks differ diff --git a/app/ShinyWallpapertest.jks b/app/ShinyWallpapertest.jks new file mode 100644 index 0000000..c1b0df2 Binary files /dev/null and b/app/ShinyWallpapertest.jks differ diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..09dd38c --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,53 @@ +import java.util.Date +import java.text.SimpleDateFormat +plugins { + alias(libs.plugins.android.application) +} +val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date()) +android { + namespace = "com.wallpaper.shinywallpaper" + compileSdk = 34 + + defaultConfig { + applicationId = "com.wallpaper.shinywallpaper" + minSdk = 23 + targetSdk = 34 + versionCode = 1 + versionName = "1.0.0" + setProperty("archivesBaseName", "Shiny Wallpaper_V" + versionName + "(${versionCode})_$timestamp") + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isMinifyEnabled = true + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } +} + +dependencies { + + implementation(libs.appcompat) + implementation(libs.material) + implementation(libs.activity) + implementation(libs.constraintlayout) + testImplementation(libs.junit) + androidTestImplementation(libs.ext.junit) + androidTestImplementation(libs.espresso.core) + implementation ("com.github.bumptech.glide:glide:4.16.0") + annotationProcessor ("com.github.bumptech.glide:compiler:4.16.0") + implementation ("androidx.viewpager2:viewpager2:1.1.0") + implementation ("androidx.recyclerview:recyclerview:1.3.2") + implementation ("com.google.android.material:material:1.4.0") + val roomVersion = "2.5.0" + implementation("androidx.room:room-runtime:$roomVersion") + annotationProcessor("androidx.room:room-compiler:$roomVersion") +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..ea79288 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,49 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile +# ------------Room-------------------------------------- + +-keepclassmembers class com.wallpaper.shinywallpaper.StaticValue { + public static final java.lang.String key_app_database; + public static final int key_app_database_version; +} + + + + +-keepclassmembers class * { + @androidx.room.Query ; +} +-keep class com.wallpaper.shinywallpaper.Database.AppDataBase { *; } +-keepclassmembers class com.wallpaper.shinywallpaper.Database.FavoriteImageDao { *; } +-keep class com.wallpaper.shinywallpaper.Database.FavoriteImage { *; } +# ------------Room-------------------------------------- + +# ------------Glide-------------------------------------- +-keep public class * implements com.bumptech.glide.module.GlideModule +-keep public class * extends com.bumptech.glide.module.AppGlideModule +-keep public enum com.bumptech.glide.load.ImageHeaderParser$** { + **[] $VALUES; + public *; +} +# for DexGuard only +# -keepresourcexmlelements manifest/application/meta-data@value=GlideModule +# ------------Glide-------------------------------------- \ No newline at end of file diff --git a/app/src/androidTest/java/com/wallpaper/shinywallpaper/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/wallpaper/shinywallpaper/ExampleInstrumentedTest.java new file mode 100644 index 0000000..6a4f3d7 --- /dev/null +++ b/app/src/androidTest/java/com/wallpaper/shinywallpaper/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.wallpaper.shinywallpaper; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("com.example.ShinyWallpaper", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..ae6e5a6 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/Inter-Medium.ttf b/app/src/main/assets/Inter-Medium.ttf new file mode 100644 index 0000000..a01f377 Binary files /dev/null and b/app/src/main/assets/Inter-Medium.ttf differ diff --git a/app/src/main/assets/pink_wallpaper.json b/app/src/main/assets/pink_wallpaper.json new file mode 100644 index 0000000..151e0ac --- /dev/null +++ b/app/src/main/assets/pink_wallpaper.json @@ -0,0 +1,2203 @@ +[ + { + "name": "feature", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0778d29d9df3135981fa983db6447d4c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d799900c0ed4448a858fabe9a97adb74.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/272d39eb140f03699f83bbda9349c459.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4ac3e89c29f60f667f5e660afdf52b56.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1020c6c57366c85cd8b4b54e93f86b97.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1c262081e6674c7de6a054a101003010.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1bbcf0d4423449788cbc823441a3639a.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0bf796c657ed4d6f71a87506f78d5810.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2424f1aa727ae9998ae1896fea634fde.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6bd0da2bb67ec66df6561b99da4fe673.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ae4f3823580d67ab9d463e05210632c5.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4f15ec61b970ad24aa43ac8d99dbfc0f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/867581cd8ec5402839879c70a86d5166.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/58150630175fc68e38afe28ebf58688c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/148499404d85516a86eeb5c2c30fafbd.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c29589dcf6ba78637c76d85e1e1db531.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8358b0d4f247220a75f9131ca89df811.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/985eda6fe511752a4ec54f66e8e26dd0.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ec66c00d9a660921829c0d4fd3e917d3.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/599361f146a794b01489fcefa1cbb16f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/989ccbceb5d165cc4b44ced23af4d5fb.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3bddefab997f67cfec336f798eb925fe.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b168d2f6250ef71dbf83d18d02df1f92.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1e7e5b04a7eda5b49eaa0a2dd5fcf2c7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e668bf697bd9da5e701254835b4b8a03.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0309bd16868cd842263f21ff87637d8c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d6826260e5e7a32f2db53404e409db44.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/77685bf7b59906eb1890967a7d78c0bf.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b655bc8400774e2dc940b5a8291e2ca5.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d99334875d0273aad4beab313723af81.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5542893618e601a7db59c526a067c6ff.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7814197400d16b8e9ca06a6875ceaec8.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d3829f608614d5e9d137db8ee5297f3c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/debff43be7b79def16d495317b9b162f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fe49725650ad74103700769b9fc07a8f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d225f44145583267ae3d1a8e901a6e68.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b5bbb4b172e7ae28a052f4224af6274d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/650bd8e37f13c1eaa8a1d1ca243ffa01.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d59cc6ba4993bcf62c3869127a3c2941.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/85be37b1adb78db46d6966b85cd5189e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3b508cc58811b2724545896cbfcd66ac.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a96d12131ce5b9d173c5aea321c8b673.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5f26ebb7007c731156c4403ea27669a8.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e1218d89013e8d9abf06eac0499ff773.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0c24b7c474b8e1a7faec82c8b371652f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/43adb1e59c4f757682af55d4f0eb7408.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2e02d2a00372e65792c82b7e35a0a86e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ae39c963c68945c5e069c6f82a27370f.jpeg" + } + ] + }, + { + "name": "recent", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e3e9cfd7ecb0f9291a40577ccd5a6041.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/35b096446e9a5d5f48ceb0200a8f998a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3302cc89be481f9e8be2b774d343bf70.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6731cfb0425ed903dd67f628b5f5ced3.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/55d37297cc7df4da112af4c0cbee8f2e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c74de3ce566ef40635140c5691c30ee0.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3d9089bab7ae0ab40de9bbc277a08102.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/01951bbd70547362a3a2d2a579f1fca1.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d86f07746d129601913d2bf09599f6e8.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/29c711336f36473a3cacd4d9661f953a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c189c2a257a0591c3ff5060c235c7342.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2d414e582fa323d82be316c3c5265458.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/34b31bde41c0dd74259b980c5574ae7d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f0ad74fb14620bfd31b92844a776838e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/918df6433d6270c8fbb76a15b76de80c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/504a42911500aacde17bb218207b3531.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/24281fc765fce9da4c3d9d86e1e9ccf3.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6af1ac41c0bda2023d5b8268b7e1295b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4bbb47d8bff5055f0e37eeba14c8d54d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5cccc2952253bbc0f2db3ebfeba29e86.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/11011f8b92d505d3f837afe073439ca1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/be9d97e50fa5c89937e387da6649e3b7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cee1c646c05356637b33824c062af74f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2ae06375abbba1052b00f9a2fb88e91a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8b226912c3d378bab354b54d936d1750.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f0b2ca838271879067167fb1e1008253.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cd179543db4aec47c8f7f77535dcb65d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7cf87093c5f2ec0a387101b2bd232548.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7e73c464a7b8e9f2cffbb4d0eab7b853.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/89ef11e052582cf67c8e6c176dccc0af.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/be89338c4809aaf5dcf3cc468432998e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fe3b2513bcfb731520bc4dcd979e5193.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3324c4475f6a4f1f64f069645548e452.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/372858e338cfdd52fe4a163031801de4.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f16d889afe61d0ca3f2d0ac01c5567c6.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/366370cfb9d839055295c07b80ccd3bc.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/67311a260e3c5e11a55cb79f02309b3d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/35c14f8ae14b38fa7cae5a1aa488cc0b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/972225d59df46a33b68af9e58f40c909.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9cd75c731b123ce5f9ae92302e0d87c6.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/bf0ea47cb17bef915b374b1c40c41f73.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6a9c235c9ba3b42943506fc45ad5c340.jpeg" + } + ] + }, + { + "name": "popular", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cb1e57d9a8a8b74bd9da3a59d048b5f5.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/450cfe73f9504835f27f7e86dff24d7f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/81ae1e4670fb3719e5149a3cdf31c6ed.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/51beb1bca04103db52e4cde6ca12db42.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/78f2465fbc4b4b16e56e277b637f624f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f2957601d332beb1c0818e558954677e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/dbdf62f151e267ba7802a97963880aa2.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7901ff103a96ad19ddb27f3ed9954d16.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/289e1219ab8467f96c5c347c30292256.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/eb969501fdbf447733185cf031756673.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ae68d5364057f54c4b23053ae905ef8f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c71e0bd1bbef6f57aba91d4021d2dfe1.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8340b18893dc7e581c7711b7f021696e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9610d175c7297c23b2674bdc2ba9f028.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ea63e7a22d6d2496808afc0a17fa3cd1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/edabc252391faab49916d2395f505e31.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/42d801957f9d055d3f4f60999f481468.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3fdcdfbb606f595acb4cba594c9823b6.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b2f935524830f3794ed9eb61f159a077.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/21f1ae5d466213bc80cd0252f3c7500e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0fa1ddf9b0d7f9dbce03c2b49c89a031.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/82b9f33f8ddb023c2c73c2e09bd3baa4.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7f5d11d128e59c04e4d1131a318ec896.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0826bdb695449da604e3d25ded709279.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a009573cdab9a4850445d5d698bb22da.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/10e8fc4ca6804fe916703c206261c1a1.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0cd6f33c960555cb30762fff3a1a6f4d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fa1741c49fb23d1e637c535e42cd3362.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a80f6d5a542033cd6a24f2d38eb3c49e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3e2fbd850eaa5474dc781acbc4c87703.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2ea3d1518f8638dfbff7b964d9892016.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/177321414002c6c067cd405796f96c62.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7223d7220b8f4efd273ad003a11f6208.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a4ffaeb15e4d4b3a177c3a834ed76d45.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1e28cc9646b74982c4cec3bce7acc42a.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7f0918eb3f9952a596e2adf5d5a651a9.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/bdc268b8397278fa0628fe61f132df64.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7a57a628d003214321a7409d960d2851.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8e12c5e967878d797e5c725e814976b5.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ccd577df5c7eeadb88e58b8cf47389d6.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4982759d3ea2405e951424a91297b040.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a39cf4fdb28e0043e6105ef0dbc559ca.jpeg" + } + ] + }, + { + "name": "anime", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/78a53756b869919dea40478e803165fe.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4dedaccf8e3cdec4bab521ba2714735d.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4dd0d2e4064d4af51bb6e549acf0e501.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/602390b4d293d0cdad5da081c13022fc.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/df23c4c23b0925dede1db7e356283018.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b3965a3626d46538f4a0b11daae6a3e1.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9bf9b79cebaa4b52c37fee1f955ac402.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1c2ed514290a4cfda6bc4e98d5b8a5f7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7b45001ef70ee19976d32cf8700a69f0.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2b4f7512223f83bdb017c9a5d970cce9.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0ef461ff981673439ac38b940bd0f074.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/07ad3e82b58c6d36d88c9c99b37679f5.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b36fe9cc5d414cac38151c0b0c65bf20.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2ee74b808098313b403e34c2a6eb491c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/69b5e49a24c369469489504a9d9681a1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e68fbb1af288ce35966b7c0f4bdd04eb.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b85c20a2c96eea953ed23f726a98c0c4.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b560d9e78414ac96252a8e04e20566a9.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e736ce9da0035a817b842133021eb4b8.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9d90a6d43d192e5635feff690427a150.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/db40bb1805b2254b5fbe68fe1823188f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6828f927c1d96becfdde853947bd5d90.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a1c69f392b70126f542e141975d314a3.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c4894eb33963529eae0438d8a44acbc9.jpeg" + } + ] + }, + { + "name": "unicorn", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f394722f00db0df931ea62d8e0f1f273.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/66e51fb0c777083a33c87169ff431c27.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ff25d42e887bfbfa61a5eff4b36d9d06.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3720df372357721e3186d0f025958030.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/dc416b31766e700005b3b0df4450d6a1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0c95535f5c0fada4c4593c5f1a0be14f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/79411da09cb235ede0b2ab924e6e2d06.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b5ef56ab8d5990c2a930d317ee96ee36.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1422cb5eb8b0bb96a97c96e63343f3bd.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/18c3f3530da6e190ff5e846ac69b9b64.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3302cc89be481f9e8be2b774d343bf70.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6731cfb0425ed903dd67f628b5f5ced3.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3d9089bab7ae0ab40de9bbc277a08102.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/01951bbd70547362a3a2d2a579f1fca1.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/918df6433d6270c8fbb76a15b76de80c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/504a42911500aacde17bb218207b3531.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f16d889afe61d0ca3f2d0ac01c5567c6.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/366370cfb9d839055295c07b80ccd3bc.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5ee5a0fa74677e71bd0725fbe45cb366.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4bb474acc1ec0e4aff17aa4af4b6d4bb.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0ec424dc828fd2853048f18928e0a7c2.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/251834a8101d69114ab0784723f8e1cd.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9e60ffa21331c941eb650abf0c37a5ba.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3aec495a951c17fde82b3f5c4e01f2d0.jpeg" + } + ] + }, + { + "name": "kitty", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0b52fe7cc5b2cf2d11cda94cf6dd77a9.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/77b08753cd065bd8e60873b1c119538d.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6f597bb789e69b5099a9b162402d01ed.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/56a10bb51d1cfba6130267eaae6cb04a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/272d39eb140f03699f83bbda9349c459.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4ac3e89c29f60f667f5e660afdf52b56.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ae4f3823580d67ab9d463e05210632c5.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4f15ec61b970ad24aa43ac8d99dbfc0f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/867581cd8ec5402839879c70a86d5166.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/58150630175fc68e38afe28ebf58688c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ec66c00d9a660921829c0d4fd3e917d3.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/599361f146a794b01489fcefa1cbb16f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e668bf697bd9da5e701254835b4b8a03.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0309bd16868cd842263f21ff87637d8c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/beaca60353062f6c1e9a36957544bdba.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a7eb342b2a9d0346a496c6d9cb120c01.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4d895490519264d13e299f4fd28919a9.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6afc0f5710de7fda93ab55648409980d.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2609dde32e4f0051a6f66f4b12826b4d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/478cd1c814900b9dd701b4bca1e54947.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cc1035518da3dc3729539e67d9468438.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/67618a0e1eea172dac6c703e35855855.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c84cadf74e82489d4393ea2a87fca733.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0019ce6a88fee8f46f49bb41be2b6441.jpeg" + } + ] + }, + { + "name": "puppies", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d86f07746d129601913d2bf09599f6e8.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/29c711336f36473a3cacd4d9661f953a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c720292e6ea423293bb091bc480c6ad9.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ff93949342ba0e426c817bbc5fce12ad.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/98014a9710bece6882888ddceb23dc32.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7bba897872dc9faed84a1acb3327d5fa.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/62fb7f25795e2d724d555148cb30a451.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/72740366db66e229b6c40c191f817432.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9b98a18fc98e5fa3a1487db0434bb7d6.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3106a24bcae3c124d665fd44fba845f5.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/dd240b9fd1605c52c8863199fd70e831.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7f3ce5f13125e69448ad53980ddd4fdb.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0d1effad93377d18abe6fc22a138c69b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fa5dbf215afefd0ae9f596fce08f38fa.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b7fd0e5add46a012d9a6046206cd9e16.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7de53bb7a75291e06fcef8d9ac1ddc56.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e3659d15d752e31538a9734ddd20fe29.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/faa543a594e77ba804280b43d4570e50.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2765e0596a7812d27f3a458a0a8ed7a2.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8454af8507862961ddbec63df4fc77fd.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fe6eccc7de59c72cc10b84e8d8b51122.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/94c2adf3f30aa2cc60cb6ae3cd8893fd.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3191053cec0c972447e04a290b36da35.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/adc5c0404bf29146ab3fad4d94716695.jpeg" + } + ] + }, + { + "name": "flowers", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2a05f339aa023822a6b07c843910241d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c7a1784fb016359f7a62a882333cc83b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/88ef144fa47bcfa667f5cf8b393f15ef.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/80fbbe4db60cee5a851552309d2a27ab.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/474eb2d318fe9bfa401853fb453e2f67.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/de801fce754539f923b3780b499a4b7b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a4d6778694fd960e4313f40ac5cbecab.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f19573e9f1e0be8280bbce83da13d933.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0d5331f838ca904c1cbb519c776905a7.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/99bee1bc7a1bc9d44696904142209414.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0240d8aaa69a5c630de599d5d4429bde.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d382d58c793cf7d3ca832066a3827d38.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c77b66a3c34a2c0105cca3053873c1a8.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b648ee0784da5e81ec5a59c9af08de16.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/121f1331fca3bd3a6e6135490c89938e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8b42e5db9694f6f33e1c760710250998.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3ecfbfc0a45a8c031f6545bd0d280e06.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5a154380a7c6b21d9da29332e81f5d89.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0cebbb0341983039f6d670a26b18e25e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/df515f3f6d988bb65d4c7e7cb28aefcc.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4bbb47d8bff5055f0e37eeba14c8d54d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5cccc2952253bbc0f2db3ebfeba29e86.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cee1c646c05356637b33824c062af74f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2ae06375abbba1052b00f9a2fb88e91a.jpeg" + } + ] + }, + { + "name": "eiffel tower", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d7ea774c7936847034e7d47c6a4c3621.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b6cde087dab857fdb24b0f0abd2385fa.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b05d98248da1854f0d001bd31cebd50b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/64f877e613f049e7df32c7b9414f2986.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1c5fdc499db061366c8656ef36f4e3be.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/575e8ac5ae86f5a71babe3f0d2e39c75.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/942ba18550e178e99b2b5fe9c948d922.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c71782bae143242c0074e74c878133d0.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ef357333eed8615bf5284267f74bf2fe.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/06c69621517662ff720a79b17b1dabf0.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/49916fd9085dda6a71b00fd3a457c0f5.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f44233ad373660d4ad249729756e09c8.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0778d29d9df3135981fa983db6447d4c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d799900c0ed4448a858fabe9a97adb74.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2424f1aa727ae9998ae1896fea634fde.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6bd0da2bb67ec66df6561b99da4fe673.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b655bc8400774e2dc940b5a8291e2ca5.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d99334875d0273aad4beab313723af81.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/83754be173a128765774ab3a7fd8c06a.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2aae7ca7704008b14bec39265bfb52bf.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3f10efadf6c5a9d36d9939f57b5d1ec6.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/63e1919d03e3d76b73721d03c104d84f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/33b3eca75cb6fa3e5fd59d500a9b5e98.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9e5de7535d8e8cc5f6c8d4eae55126a0.jpeg" + } + ] + }, + { + "name": "dreamy", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/078a2934e9bd4e91691040427e42c1cf.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b66b86b24e7d5998b3ea5a6536929fa6.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b863a36001829c01eb171176397497f0.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c051996948ac224e19503e3d465742a7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/57755c4ea1bb81e508da774cedfb24e9.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/bcdd01e3664006072f8ddcdc85e3b5b0.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d4cca417535f5bb86b74e7c8750b5f2a.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e841a09e1457a0e4b238ffee72f398dd.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2906bd996dbcfba67ad9f896a6711446.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c6bf40fde3ebbe5c41f7ce0738a468c8.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/811fa5797c92e0de20dc2132c291afbe.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4505f7034a3c5f78f21d80167f841907.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4d0f72c74b8beeebea65063c65d13af6.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2f36ef1fcbd0d5e5efb7a3be5f2fac2b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/95ef79cf7f81d6939ac82dcbf931864c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5cb63c0e9ca2cb2f1e992a8a245128aa.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/caf42023af67eee943621b568b9162ac.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ff723d610b9d1b5523434576d2ce9101.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c86ba2f342308fe2a38b1d4b7ed4eb1a.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/46f3be40c9b3889e7224e8cb56319250.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4f45c624dd0901130541594a848163be.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f4ebd02e92d77f3dbf24166defbdd138.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/42c6a6c39534182eef8f116e71d195c0.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4b7da710445e2fd3b2f0a7324c2bde86.jpeg" + } + ] + }, + { + "name": "animals", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/10a20226dda3cf01850566e1cfe2e57b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ad04501013a619c9b579dc2d9e593bf2.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c4d6e38cc92cde5aea884c9903225ea0.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/203ae96d3b0763a7b0eb7e6d79cd5dc6.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6860012997011bb06dec0a49116de185.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/36f7575ba012f8cb6bed9d1b9722e641.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c37d2250a6b9c8c2a5aeb6fded4e7674.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a6ec47edb79b4fac2e29a36995e43c91.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e3e9cfd7ecb0f9291a40577ccd5a6041.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/35b096446e9a5d5f48ceb0200a8f998a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c189c2a257a0591c3ff5060c235c7342.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2d414e582fa323d82be316c3c5265458.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b168d2f6250ef71dbf83d18d02df1f92.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1e7e5b04a7eda5b49eaa0a2dd5fcf2c7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d6826260e5e7a32f2db53404e409db44.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/77685bf7b59906eb1890967a7d78c0bf.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5e48ade076bf1b4666be781a3f60a364.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/51d60a01780b82e442d7455da61ab4bd.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ec08144b3a106eb6ecdd916767be8846.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/443479fa063df85622caefed1f272af2.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/859c9b58b3ed1c0c2992cc8cb06eac68.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b2dc1214b7b4e83bcc41a97469957831.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/578f979da129c8982239fc1c055d7be5.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/aaf9d9ef5f9f8399f43af626aef4eeb3.jpeg" + } + ] + }, + { + "name": "nature", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0a0068552c7716f4e62b52389be2e7aa.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/aeaf0a95791d5064adf22a0dffc59692.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/bfaa2acb7046d6937dcfb46242c5a202.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/89791fbf31f2da53a81fb1c39e33da87.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ba3a3d8e2a3fe678059d336209e27701.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/71963582a1f4ee889921cc7200c26e5e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/095d0022318d6bcf03f27cf0ab25f22a.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a2ef86f9dc2917e54557ad506ef1367f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d033305ce11a4c25d9e1d0522f2d0a93.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5d119c5c88b9e44955e83f3d3a0928b3.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/15132506d53f73a734acb50beb849545.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8db8e4798e05c61a0417ba4e327ecf00.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/080a1110ddb3fa6a5f6f4bcc9aeffe49.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cf726d392b71b1f8cddf643211f7af61.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a5f34b87339fd4ab81acbe341ef8c0d0.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/188f4a1bfb8c25d8751092d6718f12ad.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/aa21124ef9606a1b0e0e42ef753e4d50.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e55d82f968397ae6dcd18d6a7a30dd9a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f699e3ede507b1a95c837e599c32b22f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fe8ef87ce0f9151dd2c0fe481ec4e5c2.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1ecd1bed38f70bed2add2a2eb317773d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8d3d8f4e415ce64cd89047c0428bfd3c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2e42b89b829991d004e5e060599484ce.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/76e3bb52aee44228dd554a7334c6d192.jpeg" + } + ] + }, + { + "name": "cute", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6a53bf315f64477d85ceb46298475b8d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7a5e9212400d93fd5f5d6c1848b3d76e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/faca01a3f8f50e688c415ce07618afc1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/60964777dd2e91bd861003491672df01.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/55d37297cc7df4da112af4c0cbee8f2e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c74de3ce566ef40635140c5691c30ee0.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/34b31bde41c0dd74259b980c5574ae7d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f0ad74fb14620bfd31b92844a776838e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/bf0ea47cb17bef915b374b1c40c41f73.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6a9c235c9ba3b42943506fc45ad5c340.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b75d67fc3ad3d42e15d0b4649d8d441a.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/62d6ffc99089529d2b1c467ca03666d6.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cb1bb4486e126723a2c843c905aa3b42.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/035c6e43e25cad1cb4279aff04bee5a7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/693f3467d3bf6de2da34b0c22fedf2ad.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/724df23f2bb16727e55244d81561edb0.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4c0df0ba0870937fe64587fc0b8ac063.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a6b3bd73747b3fb5b178e6912c3be861.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9c9ae9ac1d94a4f5a61bf18f3d684530.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/97b0432b9b9f09c559744bfdb911a17d.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/67598f5f32668b6ef71a99ee0f050aa0.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7c3f81d287bc3c1395719402dea36d8e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d40e843f1fa10744440f0eaec29e7229.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d05352377021cc5e405fe88821480370.jpeg" + } + ] + }, + { + "name": "shiny", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/24281fc765fce9da4c3d9d86e1e9ccf3.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6af1ac41c0bda2023d5b8268b7e1295b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8b226912c3d378bab354b54d936d1750.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f0b2ca838271879067167fb1e1008253.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c5f5f6bb19c8f2544b16257faa89b5ce.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e4b5929651e8c3e6e93b4ce1ced7038c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/da8a06281bc51b91973f27f70e44fe07.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/24e865884c6a4c6de18da2ba437604ef.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/820dbda148cb9fa49bfad17ac2d97c83.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1014b0d7339fa900038831b0e7eeba2d.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d0099cf6e53cb3856a7853892d633b84.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cd34b1d80f68ea8d551a46b00b859643.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b2906c0930d922b0dfbd2f0016f4a1ea.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0232278e0c136a9742c41ca66ce54bbe.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4e7a1b1ed3bcf5953a7d69b6c8b4d1b4.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8b47b25e43ff2d010c9a030351387558.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cc012cb9ac44034c9435a6ee391712d3.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/98546f85441661c87ff8b0d21293f73c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/88e64d9c2ee5f11771b65623d2947065.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1b10a1b75057cda81f26654161d5ae1c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8cad4b00392cc69f8436083ac4687551.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/758a4af001554c71cf4d63e70c8878a7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d5d39cc3011fc72b50bb6222c17974f3.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f131c7e334156fb1135ad92027de754d.jpeg" + } + ] + }, + { + "name": "beautiful", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a2e09a56793fbf9e8104833a199cf332.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0045a8e120149c1088dcc90669b4e08c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cd179543db4aec47c8f7f77535dcb65d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7cf87093c5f2ec0a387101b2bd232548.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5f26ebb7007c731156c4403ea27669a8.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e1218d89013e8d9abf06eac0499ff773.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/67aa353cca55c1f24e58ef45e3a5c6e5.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d2519f822e57c6aff440cd4332af7f4f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0694fbdefd7db30ee4333ce44ab2a714.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e9bdabc1b3ba7a403e171546082493a7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/09cefec8744f0519b4aa53a03ee96eb2.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/39069a1ba9f5f562ad9be1e90a3523e0.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/426c845a56fccf9bdf3c44d00a59752c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/684de08213628b07807220c38178738f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cac87875aabdf876822ab2516cb5de59.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6db71ec61388d168ad2783e99db6b609.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/480f2e01bf1a96e8b90a9113d13b62b7.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5eabc418e04a5a30a0fbe499e1efcac8.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5e045e28cd394835269b56db2ab6e802.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e74092825564916b21361112850f480c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f4b9b08157677c6810af55fd5cf83da1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ab2b4d493687e922ebe45f59762f02e4.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/deda1a7c162a65ec39fdc40c61948ca1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b93df15ac5a817fe8f6e8a0554bf0fa8.jpeg" + } + ] + }, + { + "name": "love", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/93d96dd6956db5e77d25d83b9f46624c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7929459c12e04cfdc0613518a620b44b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/51037b9c0935a2c86396465a1de1f52c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/179aad0c6e8aa2ae39968fb7f5032b8b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ed0d1f8a494b2c06d794950020b2a749.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4b6ee5717edd896ec043cf3334ecb34d.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a8b304c4b10d1eb6e801bffb5523a172.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5e05b76527a6419da4c49e7a7c5384c0.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b0cb65c664af3ff0da7128a04e225f50.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/45ee864553aba2ec2afbd716d3e52c31.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1310f244a991fdb069160761f8de158a.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ede74b0bb28389cb84ab07d73769eb1f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4b8d810f46ae48d41365785e23ec4323.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9a9b8f5d923e89cfb62a7a0ffec3f960.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/13cd7ff65ba2bcaac5d6f22366c58202.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/776f1fbcb7d725ab06a97f150031b7f7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3d3b1ecdbfb3d16e1436e8bd534a4c2f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7f51dc4f7d3c5afd2f79dde65d05d06e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/057a57e2faf946c072036415e87388d1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4e374a92eeab672b4c9f3fc1c5ea656f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e217fb318f662b3ae2ad809d4c7fd4ea.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/37b6f39d7af382b776d3ce5e6538b2ac.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/912f9ee70a291ee29f8b41ff37a89a47.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ce81187ea521f83f620504211691d73f.jpeg" + } + ] + }, + { + "name": "quotes", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ffdee201ab115879fd038a7f529d7d2c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3deec3b8eaeff16459a684cef5224b9b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/087bcabb11186877ed51153251452811.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b5e16400a1374c454205bc7ca4608755.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ed717aa6c0e717092e06aab549ddc46e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d660026484e39cc9ef8da58eebd9fcd0.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b938904303b0d74b1a89b36f9100e443.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f859acceb653463a5d9f078eda7677fa.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/08338ff92c3404ae6359b5e841dd84e1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7cc7dbfa76593d16ebaff1d0c1995d9e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/877798c6dba982df8abe9e0c24d85554.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d9e0886ab6d82cc9edaba2f3bf29b45c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5a169595dfe60147918f274b5948f8ed.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/051543e0172b6a65a5a97ac4f745864c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6064a6c9c3d4995dc8540bad7ca388e7.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/45249e3ba3cea2622081a776e8401be5.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1359974cb4104bfae720e689606e41c7.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5104e818b965bbd76c857576ded2995e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c24b5eeb7ed4b024a2344bf97b64ec74.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3c5edd88e066ebe850ad70c7f693b4ba.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/aaac63a5fc32c88cf009a3957efccadf.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/47bd8da3f04ee58223a9b5cf1340ecf5.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/bcdaf95a07aaa42e25a6255c9315c163.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/26ea478a38e8f2928dbc5c2f93613b78.jpeg" + } + ] + }, + { + "name": "kawaii", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/de00f68d508f814beb905cd2fcb105b6.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/59eecae04d88aafdfc27dbdbed3f7206.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b7add655c7ad129e7450d854a0341650.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e6586942bcbcf272455f955dab228758.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/78fc2b822fc1a02e3583d7063eed2f42.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/51031999d7d436985551cd19524cce39.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0648300ae38fcf09b0c3300a5e449b68.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c0d0a8288565b29075544088820b9196.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e69aace3e80d2d71cf76be55a84ebf43.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a17b655882dc9019556634041e3e54da.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8838852f7f5c55ea50bf8c40395e7f1b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/08ae5cc9a44ab440a176c337f31db1b3.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0dbf4bef14fcea43de65e98db86b1762.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5d6c2c5ac1f65e58a62563c2798ba285.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c8ea3a5375cc689bf4b090278fcced39.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a2c978ae492d3cc9e13c6d129b6b13b2.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a17e0fd585efa8294dbcb79e65e3e461.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/348636ce36c77a6d43dca03f96c5b4c2.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/04ad0f6fbad1a9f3a10ee9f0869c4f3e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4b60fdedab1f57d3138e37fa83487750.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ce89d0109e3478b933f4703da1bde5ea.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3e7139fb80bcc35494089b7f758ea196.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cc50f8a9fabda92ec8a7c35d296df81b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/aa33283ac8c8fbbee4a1108093a89cd8.jpeg" + } + ] + }, + { + "name": "butterflies", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/14bec2138e0dbbb8269fcd823373ec81.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2be531772db23680710b0ae0f6bbd6b1.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8dd1d28b5f19d212233e4f75d65cdca6.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/87d643a67dc0871e3e1ad8acb2b3f724.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6144a94883258aed87fb9081bbde0a85.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1015aaf11c417698c54b0dbdd2507533.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/369cd1449d89059d62604705e2dc19d8.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9a85fb68e67b7ab16005a28d4c45424e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/159dd4cf025079e2b74b2aba1f314c44.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/492151fa770793fe78525ec147302d2f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/989ccbceb5d165cc4b44ced23af4d5fb.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3bddefab997f67cfec336f798eb925fe.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5a3ed58b628e39741823c75510447418.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5eaee4c2cfb09a49bae3118fc322f74a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/47a0c3f8480c6a26097e4a14b85c79b9.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/11097c38b1eb9bbfab9efad792ac199a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4501359f8f47768f7c2367a46bddc234.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a2c77e8179234381002c83ae14bdbd48.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/08a1c3f034284f1a493a6f187bb85c0c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f56209ad01c3d8c4d8d570c78b2d321f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/080f21125226515b4183aaad249bab0c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e3f9b89e0a25a4a2495d5ad929c9a8a4.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c246da9b3a6fce305f59857ba29b6ca9.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/30a65880137fcd20402d8f44fee72a04.jpeg" + } + ] + }, + { + "name": "ice-cream", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1bbcf0d4423449788cbc823441a3639a.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0bf796c657ed4d6f71a87506f78d5810.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8358b0d4f247220a75f9131ca89df811.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/985eda6fe511752a4ec54f66e8e26dd0.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e60779bcac97c31e5f130e4607e30b1a.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c8227946e82f8c43f9107f29d4326472.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/72306be102fb449d09c2f00190f333fd.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/14a353980ccf8e144edd511bdfb9799a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e6ce9107ee6b132fda1e001f8b2e0e8f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/25ec4e031b8f3bfbcdcd81827e71f825.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4b0e7d38bb0836de4740dc922939d2ec.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6c69e1301b8393af85d61975349c4e20.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c5b5aa7d87bc73fcdee4da3d278bed94.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e3bb6d6572b6ff014c96a80a90892ce5.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d3e93e7cf84e728ab4dcf86fc01ab361.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/db897544aa8015654df9a0cd9b009778.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a23f6c91d445fc7a32a4a6fd1cf12a75.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a952d9915b1b949d90476bb006d6c0a2.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0b1104aef0f0dd0521e5da2f7993d5f7.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/44ba5f78bd0b3e990940502309abadf5.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e13b63c99f9a6e82b7c0980cc94da4fa.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f32eae2014ba84d2b15b0d41379bba9b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/90841637e3f0cce0538e4426c68a6943.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7d40d8b4e91953b74f9c266ff9fc68cd.jpeg" + } + ] + }, + { + "name": "birds", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d027d5c75d46118a8ff86257f87a7818.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/eb8cff06bba7da5f3bdc7171815f30b0.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8d4d9ae904e7a71209b10016bfec4bd1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/828ff8fc1ed118e468421e5ed95a2a35.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/be89338c4809aaf5dcf3cc468432998e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fe3b2513bcfb731520bc4dcd979e5193.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5542893618e601a7db59c526a067c6ff.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7814197400d16b8e9ca06a6875ceaec8.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d3829f608614d5e9d137db8ee5297f3c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/debff43be7b79def16d495317b9b162f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d59cc6ba4993bcf62c3869127a3c2941.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/85be37b1adb78db46d6966b85cd5189e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0c24b7c474b8e1a7faec82c8b371652f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/43adb1e59c4f757682af55d4f0eb7408.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2e02d2a00372e65792c82b7e35a0a86e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ae39c963c68945c5e069c6f82a27370f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/894b85fa369566d7e2adb08262ed5ff1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ca49e82a5023d37b4688ccf83efe4498.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/706208a5352e89a17885d147d6af3c09.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/edc67a8b37dd34ce6718b1df35825ffb.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/044937e0563345d553840b90d0e61be4.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/71628f9256f7f1ab27872acf6477f697.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/328abe84ad5f964b94ff0d7b128786d2.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d8a80f5ddadeac8e549369a33c79597d.jpeg" + } + ] + }, + { + "name": "candy", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d0522722bb51d48e79670f07e4ec94ed.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e249865fcb0a40a9e64fbb125b467643.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7df5fa01d881b56217af64f6087659d4.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/022ab40bf75c2776f1a572aa0ac5df1d.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c1c89540c0984a8ba945491cd5c6b7c5.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4269ba8af3a09f1eb7508a8c683ee95e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/faae25973297f58826e3dbbd6dedad01.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3a850e4d137838c44ecf7bf8076c26aa.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8d6ed2580036c383d616cf91d49e0de4.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/841e3504782891d665afe31f7bfbe978.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/db2cce3d9886840acc73fe04a4866616.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/14276e9295ce0546bdeb49e4eb3306a2.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3aaeeb8ba9ae4185ff0d26964a5db981.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c69415f2ec008bb7fbe539e30dfcb9de.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/78b0c5abef0124866da1737390c67d48.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/380fb2476aa8b349823b6e0322eddd23.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/95278ef7f3d338ea46c30b1888978d9e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/042e0a31ada56ebda3f5442e8eb34ef9.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a6cabf09b53438313c6b0946d2f89482.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/369d8e92d8e657a35dd155de50596d4b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ad431bd7fd80af02e5df091d2e120637.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0312324215018a0c977a0f112c943e11.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1377058581145493d9197e7c1a748b92.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6b859cbfb8e5a0e2707a968529c578b9.jpeg" + } + ] + }, + { + "name": "illustration", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/741a4f4e3c11a30f5f250eabb255f3d5.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0bd89baff334793eac9ea18c651d43b5.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/81702ed7640a6daeab89fd4b0c98c2d6.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/03b4dbbbdb7aebfe12bdc83b24c7aca1.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/92917715228fe766a637a656292bfbc4.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2a33be25f5b8814ed2c8851a689af012.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e9157866f994b85102cd97bc54612259.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/15c3470351ef15d4b70ac27163436fec.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/17daa8c07a3f781442edd568402deb82.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cb7e6acc06046411f4e38d9b55e0caf5.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d3e3fa690356c5001bafb8c8305ffff2.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/db0ca82d6c484a62c108e8adb59be9f7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8a2e145771139c9e991db7c956c38841.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/17698bc166342dae3d26689fae4a1bc4.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6e7aa9b6e4095bfb4648f01e2139e9c3.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/bfcc8cee57bd706e4bbb617f4364b5a5.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fc8df50b6f78190fe5e7c35ea6eeb1ea.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4dfafb09122ae33d4265a94e0dd1828b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c39330313f2d91d61925f2d6c6c11bbb.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fd6534f02987b5013d02af06248a59cf.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9ebcd0acaaee434fa2c0e74ffd215b6a.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b7ac0f961b92d435edbe7c889dc1a42e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7f418c2d149b613ba571389ef6f3451d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1d5ef3ee8ba83245c8217a30b83c094a.jpeg" + } + ] + }, + { + "name": "colorful", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/668845fe70cd30c376a78f566e4b89c6.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2af2a4d4e9ab05a8ed888fb4a704ee07.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4d6d2a80e17b46f459aea4ea31471688.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/454f45d1b513cbae0c4e7351e8057d09.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7d01634d7be19062a291c2eaa66f0a37.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/82a495cba8b841b470d60b0d8857c3b7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/06ed05b4e42fe36a3ecf26c3425139b0.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/efb448e490c879c51b375a0f9abb920e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cf6f68211e4bc3a1c1115cb32a0bd6a6.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f0e1f8bf73ecaef233849432e3082c89.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/148499404d85516a86eeb5c2c30fafbd.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c29589dcf6ba78637c76d85e1e1db531.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fe49725650ad74103700769b9fc07a8f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d225f44145583267ae3d1a8e901a6e68.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3edba426a028daaa7ae362c1055632ac.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/44b748e4dae8df99c456db5aa4604045.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6b7550a3ff14a128e9a02ada2b572b40.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/07a96f1f7ebb02460216deafae5bcf88.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/19124bb0d51f3f5ea5cb2431d0919560.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/60cf1643be379cc8ccc80c56efce5c57.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d8c484f95fc7351a6543b39817a18b53.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b11b5feaf6323a144ac13712f190263e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/502f49c26a43a476417831fcdaf650ba.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a7d15918016792d6890ff7166cc9a90e.jpeg" + } + ] + }, + { + "name": "pattern", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8b570d932db8d172bb9c1aca58972d4d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9e75b52e8e3fee0ad35f4145935c2cb2.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1f124d5bf89f413c949793f4b591a9e1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/349336135eba300962ae430776ae6d4c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/06ebb4a1f5827ae8273e369e2a82459f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/56bcea9c32c4530147b08a1c1cfd9d54.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0c1c1c6e7f2eae50a86d07a36d5fa456.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9d87dd39a721b4c8174be3679d0281bd.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5864be060552a76cfa1f04895c6c2c44.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/366b452a51da9516d27582ed9b5803d6.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/11011f8b92d505d3f837afe073439ca1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/be9d97e50fa5c89937e387da6649e3b7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/67311a260e3c5e11a55cb79f02309b3d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/35c14f8ae14b38fa7cae5a1aa488cc0b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/35627b141d46bd0fbb70487d7dc5dc29.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b7fe31e18aa622380b3fee4fa40fc43d.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/99de9d5fde1d8fc483f63f06df86aee5.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/15b39d3aae2b66b7c704e58b89c883af.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/880abdcadb53b481895d12edc442db52.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b1b5314cf76b80346abb27aac02a4dc7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1a5b7adf5708439b8af308a695099bb9.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/751b6a2c6c7f062f063bea6c2be0a16b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2fe8b8c170d118590d0f829dabd5fc19.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fb202786278612845f98c13bf0392023.jpeg" + } + ] + }, + { + "name": "floral", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4ae5e4942ebe89d59e9cdc92b2805ccb.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2831602ba02537da94d995723ccf7267.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/972225d59df46a33b68af9e58f40c909.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9cd75c731b123ce5f9ae92302e0d87c6.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/70eed4bbdd63ea47beb432b9a5580f87.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/85816e5c08c19d9716853fd321d62033.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0bdf89c9dda92361b5d8593cc6c7efdd.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d8df828b0499ab638241f42c50b4ddb6.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ffd4604630a16fc82d6885ddf73aa678.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b519b193e3cbb2b7d844a2af3e8d0119.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3ab2c34127f56d39bfac35a2bb3e37b2.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5a39160d0276c27416e1d55fe16f8d71.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/41b710ad68114f57b9d786081d36c74b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/492e2ca90e94c9f08081d7a7819a8796.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/29ea32d16853c15fc3584fa9ec55f4a6.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/588c792796e4e9cfb038beac7b1a2205.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9a654f2ed1f968b350899e815595ffa7.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0af12a60416b57a0edda36b3a15e2e33.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2031dedf742e62423f72ee33685e1e7e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/dad9d1660061c20a2f9331857373dc59.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a2097b54e4ee60f5ab4aefcc71a4fb06.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/15c5c9e62c0c2f5edffcba51c8d9453a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/35b9e04f3967dc7fda571bad1e916d52.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/011f7c8a9d6a2b688a76b739245ecdd3.jpeg" + } + ] + }, + { + "name": "cakes", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/96e101029fa82cad3fba032e4d907874.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b18657ce8505fca699060de13b37ce03.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/26cec2e801132dd006e2eeb616e49488.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/af9edb791dc4e7e696c038a0b728ddb1.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3b508cc58811b2724545896cbfcd66ac.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a96d12131ce5b9d173c5aea321c8b673.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f8fc8c470a4d38611af80dda3b67af80.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a6126323a125eead9a7b87c6bf20a3e5.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4f690139a370c9372f4b59ae1317ed21.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3058121881c0bbe88ed9151907e08236.jpeg" + } + ] + }, + { + "name": "abstract", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/69903fe737df33067cc642d5a4f75fb3.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4ce21cbbb02bf8d98e37688c2a588e8e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7e73c464a7b8e9f2cffbb4d0eab7b853.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/89ef11e052582cf67c8e6c176dccc0af.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3c91baa017029ea7654388f9ca4fb132.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/42fc7091a4fb931f35d534f380230c25.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c5625601fbb5280e66edaf93601249b6.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d3c37c0c08b43967de7624692c61b2ba.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/274b0875b37f08fa52f1136fc63ce83d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/656831af2ce91d41df5dc4f331a4250f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/90435a57cd452e49ce063493c7994a57.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1dd3091afe56a8416a22e58d20898b59.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/243dcc839750c1472bfe3f12f7aa46a3.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f0f829b2f4456e03b823e2d74ef4a046.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e26ef60fd0b02bc93b722b657f9f3239.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a1a345e131831953e639758aaf8d6554.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/59318f224e30d7374e3d17b7d2bd860a.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/73e5e71634d275c080d598fe9e7b5108.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/008f8b051b01448f9953a6eec12dcc92.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4039008218129f463115f00b552568cd.jpeg" + } + ] + }, + { + "name": "amoled", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/13362a433eeb77a8fddc8c5a75291d57.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c7e353bebb4b98ecd4cd3d5311fcc84d.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3096f65b83a3a37f386c7da992856c75.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/333ab55bb6638bb28b2162eec57041f5.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f9d722b01b2933ed1753e727bb62ad9e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0818bafa796b124c5c3539dc6991ce37.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/48e38483bba126b8310a88aacd7ef9e4.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/081636c9da2c2d4cc3c728988a990b34.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f934f0167eb4273df69238bf304f33d9.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/32cdefa9ed352a6c798761c4d74cae8e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7a94c6ddfdd2fcf1a818497e8a50670b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f2a0a9de6f52cc20879785fc57c18305.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1e4dfbffc7865715d0fb9301605321ca.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7a9b83f8f8898506e5ee4ceab7711c9a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4523c7f2f1609341dd2134a0c78c92c1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/60d51242fb2d1382cd5ab761c190b115.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/11260788c3aa47f5581e00e6d5e59b54.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/803bb4c662d1f7199e4ec1d2fb6c67a6.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5f565659c3931f06e1b455147e62d786.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/76ac62587a180390bfc30e52ec356dad.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0733351cc13e3d1ca5881a8baf75825f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b7c3d3de4707b972c2325c73e17fd9ff.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/35d70b9e34ca62853a545cd250020c38.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1a99a940a6ee0025f28a2d5f7cdb1055.jpeg" + } + ] + }, + { + "name": "vintage", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a4e335102bf1bd6e2b9a305afff7c9b0.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0d7fe05abaa5a041d26b3c0541533f88.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6ff06037f4d076b12755165b6a7d6193.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ef9f0d6e4b10a03dac177cbb523a604f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9d128c185ec7dad48edaa7c4cf7fb454.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4aec8547c98af34ebc57d67b493ac0d2.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5e94b6540e298b449f353ed3b87d8a3e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/db1e866c16710fbc440508d4bcea17de.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/627cb249b3d7242137cce2d784b8910e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/33ee8a5d07512b9b69b43f1dcd7cc399.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c3a53d3835e57f7d53ac9c6d6e7f5a20.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d167bab1cc3576e191cbb3d21e232545.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4c552903b0b3f24b99972ba3b5d0467f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ffea8aee4ddcacb5c2c12b0714de0064.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7bd3651534505865768a41186fd43edb.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/47c2398a9bb3db21d576d175d630d7fe.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/aeae50ccc5706f393474377ec2b42ae9.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1b9c9b757cbdeb393123e1b75266cffe.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/82eb738f141e96d0e3e1884a70be1ca8.png", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ccc963d3b9f3300e2e56416315d32ab6.png" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/61f819aae816fa17d62d42d37682253d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cc5d59a4a497ca7f11250323bb769238.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b5ab2d84b63b8c764948baccd1e0015b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/feba604471df0dc5848111a2545a076b.jpeg" + } + ] + }, + { + "name": "cool", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/de36a2eae65bb24a433f22d2de2adf2f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0d183f9e2cc4ad2626d58bf60ef423e6.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a20e94ca11bb25ebc503cceec6d0c5e7.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/88ecb69e2550ebf777a88abf01de1f2e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ddcf276287ac75721da30e8c24461c3c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2ea3abfc5c9baa37f378ab1fdfab799f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/88f924da6824864c1156dd97bacf7c35.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ee5004db5978f9d7059dd3681cf99a56.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5391baec5bd947645769fdbcef1128ec.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/51d7ff7c4da20514db539948a4a6b504.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/baacd8f8dff00ec758cace5162849cda.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f639c30d0f8b49877f28b2856a12a6dd.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/216eb2ad5c7318059d059b6b284c6256.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/87b276d277f0a0801a7a73115b8f8339.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3769a8d85bf2a44b3e33a151fba6e7cd.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9d6172a42751e8e7ed4aa93d1d2b9ec3.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9cd4fe339962adbd585d58720d4de887.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a66eefb8551a921992f2bd0ed913019a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c89a66f600f4d5e071307c3c3f22a3c4.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6d231ce5bfdbb27c3a9c8500c508dd42.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/46b2930bb250e6d7303ab228bd81bcf2.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/94516cde7ff28a78c5a62d4bf90b9384.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1f1a981b7ed89583b4cb33e71a871f7d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/57a7b96592ac4680e64c710ab2d217a6.jpeg" + } + ] + }, + { + "name": "variety", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3a5965c4291dba859c4b7f0b196f99c2.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fe57f912ce3eedf20716b20335b92a7a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7093c9ea05fbb9bb4fd8be87a8af041b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2445c1787df6f1a51d19e26a3570e436.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/908c7860823095f08247c4158ba011aa.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e218f76794541caffa8027b733bf3676.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fa731cf59f18302d6bdb189a26031119.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5274fcd6fc0ef50beeeaf0fb4e8e78ea.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/895b89bc421d1514df6dcbda0da4f4a6.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c80f7ba5ab767c7459ffa7a0c388aee8.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8b90aaaac8051a9320ea2b8fd07fe9cf.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/bba3c29c5ab6be1194cb507f0a94b5ab.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c279e2829627f782e339e009ca5b84a0.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a79227e004068089ca5045956aa2088d.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c195c51c3b96f33ac051f70d326e6f0c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7c777e7505e8acb396b99d58a99c0983.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c3839e6ff72616b892bc5bcc10147978.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cdcf780e77064eda1639bf7eb2112474.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e010bdec2284a4f87ba6c877bb5d6895.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/52edba408b78347b8d69643c757e3ba2.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/640d8efb9ce80054ac4f845f7475e502.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/75f60f1d9d20cd0ed1c3e0ba3e6dc99a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/87e895e7a19b8199772d84b132b76ea3.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2f02ba03cefac28c9c789269e96aa7ea.jpeg" + } + ] + }, + { + "name": "funny", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1bd4c32c2eb2045a19c4cf7afb8201d4.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b2e70fdc63bcefd5846f136da3975f9c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a6e1d83a81c9fb4b6d097e1043a6a4f5.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/be7eb4106be52e5b730e4bff290bae5e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b9750ff29195ca1dd4ef7ceb38d5b56b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/73b3495c68855ea21391c277ef22e312.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/76cbdf98de9f34378403e6f17618f263.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/61a5f6c9f67c1f8d3bf4d9caffbed733.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/84f04ce55831a3eb890fb46025358ab1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/aa8e48bd3c60698d0182478a1ea3047a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1311486df5ef8bdacbf46ef0640d1f39.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3114deb49156e265456d5de847f29888.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/bb29f1548a8d91b3c8a2e082b7811b2b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0e19eb84464f916efb6a2923aa59b670.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/00a4b802065bf46110b1f00b75d80c80.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0ac0ce978c0fdcea940ada487b2f1471.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9162aa7142cfaa0c071290a0bbd33332.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ca19cc252008b9b05c520622e518d180.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7ee58abfa954b1f994be248ff395748f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/688d4d91e6e549cce42ebad2531554c5.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/906c48ba4f4c1cc38e6d09b1d62c5db4.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6a3f2a2e0d292e1032b448b7b2e70f80.jpeg" + } + ] + }, + { + "name": "food", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3a49c824f553e1b8f2ce743cb89e1b6c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d04ee07feb44c02fcf92a7c3094370fb.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e179a42603816c94881758eb6cc90a0e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/729bb3e1426112a67bc0d2dae72a93db.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/60ff000d48098f62835d1358952bf6e9.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/700c76c6e567389530c6fa0cf774da9a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4fd7d9fcf1ab0b6411a49846692818fd.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0f26e2098bf875385374c2c55fd14d4f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5249da171aa91da5baae3721bfc822d1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/69ae743f1d5a74e02fb7eb3ee9e8d057.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a1534580d5711ec78e7a683cc35b4e1f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ec3e8179ff5302a0e0d375ecbcc8b7ea.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/74f39c37bf335669fcdd29ac89415d47.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/29362f69099ba10814b62117ff258b7d.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8cee4aab3b689ed2d443c94e9122ea92.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3e7c4dc9209bd160631e86a7a1a87286.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ce6ce9abe8f5b8c7618de82134d693c9.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5045c152e13740dd89eafd6ec274c27a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/38ea2efbeb2c443a93e0131744153296.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d3e08c528e6161ad4d154298c873d1d4.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/67dbb27ea7084211565bc7b3b63bcf34.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/09d937e5c4ff029f12a2cf7dc6eb434e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ebdf88d758aba67587da3376314deb6d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/41e74000704cac41ee522c7a80ea0775.jpeg" + } + ] + }, + { + "name": "fashion", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f90e441b77b209c856bb2441ba11bac4.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d9fb7a20ef94b3c8379eeabd2f085211.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f0dd50d0798e263d823aba83273bba98.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5d75ca250acd762ca2d89eb1ed6cb487.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e56ed858a1161f4b9874b902e29eae37.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e0119cea3b136e70f4ccdd681ea0e223.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4972ade2f6db7be9bf95f7348cf03da4.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cb81b09ab2e4bdf3750e4058c7b0af27.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b9f6670d29d24ba4762ebc372370f335.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/17fe24b464ddc35fea4ef9c025e6a69e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2cdfce4e3e9fe240526a6ad730f5d071.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e6221778a9c25540ef8f3382ee12807b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a9d3c14f1e5740cc94e77b552e62df34.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/036cdc5d2cf39de637ebf9d44ef5bfd5.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b77e1f397318a4fd87ad6a4a3c6e4597.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f138506cebe6eb23bde3ecb370490b9c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a85152d6da2f97f19e8af2681ceafb8e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d3dd0ee3efd4f5eda92bf9e16552cfd2.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/aba4d5d2d042a1a4ce13186191259064.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a898aa764cb00904fcf931457f311c74.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/012d6514e4fbe9c4f8adb09c1c8217cf.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/20da7c9ff6bac4a0507730ab085d0276.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1e543ee1d00a131313c643d7829ae409.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/61d6607f1ef469f0e16f2e669c99f1c0.jpeg" + } + ] + }, + { + "name": "sad", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c59007c4e8b3befb96dbecb3ec326cc1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3670282caa3a1b93913827c103476de4.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e7f63cd08f8423e5a5a3c61792b07edc.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/bdebd3e30c241102b934bb234ff4d92f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/42b952b7430e53357e45e6cb2979ac13.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d6490b20fc2cfb9ade732bb102d3cb51.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fa62119a8e04bcebd9421f17b90aa59b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0611515911379560822c9e6d9e787a64.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e405f89382e18a796bab87e814443eee.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4998f833da2e6a0293011b8f805f020e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/36abff7c2a2e9f4ed262dcee0da8c09b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/592ca47d7613a9b1400c97a92eb703f2.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e92c7a3b497c7d8ce19d6199d31d9759.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cd1f86273839039caa5e6f9f707a02fd.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b0458b2d5c5653ff80c91d54ae57b2e3.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0d3ad7ebeaf33889f3f6d8280c8a9afb.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4ffb3bd29fa36658369099394e167097.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/faf97d8da37fbfc15b1992cbb008aac0.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/83f0e93536f1784c59707c0a6ba3ed1f.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6bfbf1691de50e9fc73391e3ec396310.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/36e2cb743fc120c4a75dee03698d801e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1716f146e51f29199c0f770148cc00cc.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/04c475032316832603bd1f38a2363cdf.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ea8afeb57997af979381e37d5e9be0c1.jpeg" + } + ] + }, + { + "name": "music", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d5f3a2230952dab694ff0a80825e0a9d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ba895bdb432d5ae1315777e89f07b2de.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4e00c5c27d654d387eb0404cb8575d73.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/5f678a5d03d3014bd1969644a5156510.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8964cb7c75335a8a90f6041956bc94ed.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/98083dfbb3738a921edbc63196563f5a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7da01d53569bb1f729bc855dd8d14404.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8b2788065e441b40a9ccc1e2e41d4492.jpeg" + } + ] + }, + { + "name": "fruit", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e0f64bd789ef513368865c9f42adfaab.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/25defad4df6676943fee66672cd9c469.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e1ae912e5e0030affd65c583c4321998.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ff08fd34f805d05f9776ddb4fa2a7ad8.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ae98d28e4ac9824cfe0d671040d194d7.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b98cb3d2ade3616c2532bf9459bfaf99.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b12bd41dd726de691b16443ba3f06d82.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0017adb2d38e5f159bd0350f877ea3a0.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6540e511e91f0093f05b610409601be4.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/eb955cf15c609e5bb57e8ed662348c3c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/bc03252924ae3a4c1cc794df936cd77d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0631abdeb23092407d411c8e0834c196.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/6378ec9bd2d1e70396d9a44db7008d54.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fe881a47d03c1cb53c5874ba6c94285f.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4ab4f8a6bb0a56dcc76e0e53b48b911b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/25eb55daab8bd1f5c1b14446fe5be06a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2781497ed0195127a47cc5b8b34668c3.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c0532f5abab55cc1610255df734a2a78.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/85e26ed88c6d18dce4872769e80796f7.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e09e0f24a54316d3344e42780300d614.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4aaef12d9c74531eb2ec62ab56bc37eb.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2482e85608716f9853f663082c75dedb.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2d8aaaca5f4caf78161030a0ca4274ed.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/dd17f7ab449f794a80401f3155fe6fae.jpeg" + } + ] + }, + { + "name": "doll", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8adbcdd5abe61cc2210d8d5bdc7343e8.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/cf99a915f6e25f8a84edb0297ae5d5a7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e2ed2dbcfab07dca994c5cf3217e7f8c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ddb711992c372d50034b82a6f0f067d2.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fffa33301cb2db2b3ab7eccc676daeed.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9e11895bab250df96dcb5e7fa474958b.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/09b0f2f877b920d9c1501c9ef7c495b3.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f1072c137a3fc430e727e32669328682.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/24cab25985e1436c0670dbed297f81ac.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4decc3c640f58b7c32032c5ed0645efd.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/82b784b2233efc41d3bb8810e7e0e4ea.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/c92e3bf720cba63a6a79a35284e36503.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7b528247d7100c4cb519449649061ce2.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f6301e84a178fbb9c14cd845ae792f80.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4f8040373d107d763be6b12e919238ba.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2fa9a6ccb3d4da84a33ea7b94a483383.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/fc5e2c714ad8aa63e481ca7f0cb37ab8.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/0bbb81043954c46c29b18997cb639d91.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/297b9e0dc7de746b8672a98e82b1699e.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/3f04dfa84f0540398ad67207049cfb86.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/a4337c6bc9797cb0faa5a1730ff74b99.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/58a3b4f474808498b686513246f4e3f1.jpeg" + } + ] + }, + { + "name": "teddy", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/880e2d05ba1385f2de52f7a92719c557.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/de1ef1d5e10ff0d4039dacb557a21406.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/687a9886a5007d029012ac65afc54b6c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/f4d9a30b2f2b2a4cf0c831dff44fd3a8.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/01ce70893e7947731369ef22ff20a9ab.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9d824cc7622e39e0eb9b44ae9514c8db.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/30448f7b2fe2bcdf037fc3d1fc971751.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/998df3180fbf701806e8fcdff50880fc.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2db8de8bbe2acc13e0f7b7452a31833d.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/465ed2353065dbc9098bf64823262a1e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8ed6ea3550e3d3d7adca4328f506381b.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/93ecd796e16f464e869745f440f7839c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/00512009f5e53b7ffac175a4b7b0618c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/4cce389659d496e6ab2fd1f466ce3e76.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/480c91421eda56398ed556d28272114a.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/24e0c9ac9ff4583da5e351d5cd1b0daf.jpeg" + } + ] + }, + { + "name": "winter", + "list": [ + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/028622eed6c6083a721b5c6af19053d1.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8497b431b92946723d7acbd1c9836bde.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1eec46be4f654c35ed397b2568bbf410.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1d07ac78611b1db85b8826c9967574d1.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d916afda03ba32585ffe6d7f897fd661.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d766b69fd8c55aaaec08b1ca02c2c17d.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/9a6134a89dfac42a68926d4e3d9c70b2.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/48cd11897f62379515372db56a6a7762.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/1da4fbbe758c19cb206595e393394c1c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d30a0ccf42310927ad69b5a5c20cdf93.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/bdd777b683f7ea3a509266f857f97785.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ea5ec14e13fa770ae4b8168dd16fc0ea.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/992dceec08dde4d52738bd31845a49f4.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e4c6d7987095324dbc8c09eab7e5951a.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2716b330d331e70f2bd680346657d613.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/b24128631722adf1254656b55e7ac00e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2add050d3ae6eb6554c32249b3827201.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/29578210653139b4c79e1b52588c36e1.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/07f63ca35a1b68cbfbc1e4c7515fb3ce.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ff4bb7c4731acbe4272428b962328b4e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/81624255e2178f2dcd5c337ed49ce491.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/7a747ec73145e5c3e55d8c3725db8640.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/95cd62290787005d255eb4bdd832f4b0.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/312c2c3b0f4d9c1f15a0ba27b8554a39.jpeg" + } + ] + } +] \ No newline at end of file diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/Application/MainApplication.java b/app/src/main/java/com/wallpaper/shinywallpaper/Application/MainApplication.java new file mode 100644 index 0000000..9843070 --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/Application/MainApplication.java @@ -0,0 +1,31 @@ +package com.wallpaper.shinywallpaper.Application; + +import android.app.Application; +import android.content.Context; + +public class MainApplication extends Application { + /** + * 全局的上下文 + */ + private static Context mContext; + + @Override + public void onCreate() { + super.onCreate(); + mContext = getApplicationContext(); + } + + /** + * 获取context + * @return + */ + public static Context getContext(){ + return mContext; + } + + @Override + public void onLowMemory() { + super.onLowMemory(); + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/Database/AppDataBase.java b/app/src/main/java/com/wallpaper/shinywallpaper/Database/AppDataBase.java new file mode 100644 index 0000000..5fc30b8 --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/Database/AppDataBase.java @@ -0,0 +1,30 @@ +package com.wallpaper.shinywallpaper.Database; + +import android.content.Context; + +import androidx.room.Database; +import androidx.room.Room; +import androidx.room.RoomDatabase; + +import com.wallpaper.shinywallpaper.StaticValue; + +@Database(entities = {FavoriteImage.class}, version = StaticValue.key_app_database_version,exportSchema = false) +public abstract class AppDataBase extends RoomDatabase { + public abstract FavoriteImageDao favoriteImageDao(); + + private static volatile AppDataBase INSTANCE; + + public static AppDataBase getDatabase(final Context context) { + if (INSTANCE == null) { + synchronized (AppDataBase.class) { + if (INSTANCE == null) { + INSTANCE = Room.databaseBuilder(context.getApplicationContext(), + AppDataBase.class, StaticValue.key_app_database) + .fallbackToDestructiveMigration() // 如果版本号更改,销毁现有数据库并重新创建 + .build(); + } + } + } + return INSTANCE; + } +} diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/Database/FavoriteImage.java b/app/src/main/java/com/wallpaper/shinywallpaper/Database/FavoriteImage.java new file mode 100644 index 0000000..c58cc21 --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/Database/FavoriteImage.java @@ -0,0 +1,38 @@ +package com.wallpaper.shinywallpaper.Database; + +import androidx.room.Entity; +import androidx.room.PrimaryKey; + +@Entity +public class FavoriteImage { + @PrimaryKey(autoGenerate = true) + public int id; + + public String sourceUrl; + public String preUrl; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getSourceUrl() { + return sourceUrl; + } + + public void setSourceUrl(String sourceUrl) { + this.sourceUrl = sourceUrl; + } + + public String getPreUrl() { + return preUrl; + } + + public void setPreUrl(String preUrl) { + this.preUrl = preUrl; + } + +} diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/Database/FavoriteImageDao.java b/app/src/main/java/com/wallpaper/shinywallpaper/Database/FavoriteImageDao.java new file mode 100644 index 0000000..0b4d0ff --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/Database/FavoriteImageDao.java @@ -0,0 +1,35 @@ +package com.wallpaper.shinywallpaper.Database; + +import androidx.room.Dao; +import androidx.room.Delete; +import androidx.room.Insert; +import androidx.room.Query; + +import java.util.List; + +@Dao +public interface FavoriteImageDao { + @Insert + void insert(FavoriteImage favoriteImage); + + @Query("SELECT * FROM FavoriteImage") + List getAll(); + + @Delete + void delete(FavoriteImage favoriteImage); + + @Query("DELETE FROM FavoriteImage WHERE sourceUrl = :imageUrl") + void deleteBySourceUrl(String imageUrl); + + @Query("DELETE FROM FavoriteImage WHERE preUrl = :imageUrl") + void deleteByPreUrl(String imageUrl); + + @Query("SELECT * FROM FavoriteImage WHERE sourceUrl = :imageUrl") + FavoriteImage getBySourceUrl(String imageUrl); + + @Query("SELECT * FROM FavoriteImage WHERE preUrl = :imageUrl") + FavoriteImage getByPreUrl(String imageUrl); + + @Query("SELECT COUNT(*) FROM FavoriteImage WHERE sourceUrl = :url") + int isImageFavorite(String url); +} \ No newline at end of file diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/Favorite/FavoriteFragment.java b/app/src/main/java/com/wallpaper/shinywallpaper/Favorite/FavoriteFragment.java new file mode 100644 index 0000000..cd533f3 --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/Favorite/FavoriteFragment.java @@ -0,0 +1,82 @@ +package com.wallpaper.shinywallpaper.Favorite; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; + +import com.wallpaper.shinywallpaper.Database.AppDataBase; +import com.wallpaper.shinywallpaper.Database.FavoriteImage; +import com.wallpaper.shinywallpaper.Database.FavoriteImageDao; +import com.wallpaper.shinywallpaper.R; + +import java.util.List; + + +public class FavoriteFragment extends Fragment { + + private AppDataBase db; + private FavoriteImageDao favoriteImageDao; + private FavoriteRecyclerViewAdapter adapter; + private RecyclerView recyclerView; + private ImageView placeholderImage; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View view=inflater.inflate(R.layout.fragment_favorite,container,false); + + db = AppDataBase.getDatabase(requireContext()); + favoriteImageDao = db.favoriteImageDao(); + recyclerView = view.findViewById(R.id.favorite_recycler_view); + placeholderImage = view.findViewById(R.id.placeholder_image); + + recyclerView.setLayoutManager(new GridLayoutManager(getContext(), 3)); + + adapter = new FavoriteRecyclerViewAdapter(); + + recyclerView.setAdapter(adapter); + + refreshData(); + + return view; + + } + @Override + public void onResume() { + super.onResume(); + refreshData(); + } + + public void refreshData() { + + new Thread(new Runnable() { + + + @Override + public void run() { + List favoriteImages = favoriteImageDao.getAll(); + requireActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + if (favoriteImages.isEmpty()) { + recyclerView.setVisibility(View.GONE); + placeholderImage.setVisibility(View.VISIBLE); + } else { + recyclerView.setVisibility(View.VISIBLE); + placeholderImage.setVisibility(View.GONE); + } + adapter.updateData(favoriteImages); + } + }); + } + }).start(); + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/Favorite/FavoriteRecyclerViewAdapter.java b/app/src/main/java/com/wallpaper/shinywallpaper/Favorite/FavoriteRecyclerViewAdapter.java new file mode 100644 index 0000000..0762da4 --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/Favorite/FavoriteRecyclerViewAdapter.java @@ -0,0 +1,94 @@ +package com.wallpaper.shinywallpaper.Favorite; + +import android.content.Intent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.wallpaper.shinywallpaper.Application.MainApplication; +import com.wallpaper.shinywallpaper.Database.FavoriteImage; +import com.wallpaper.shinywallpaper.Json.ImageItem; +import com.wallpaper.shinywallpaper.R; +import com.wallpaper.shinywallpaper.SecondSub.FullScreenImageActivity; +import com.wallpaper.shinywallpaper.SecondSub.SubFullScreenImageActivity; +import com.wallpaper.shinywallpaper.StaticValue; + +import java.util.ArrayList; +import java.util.List; + +public class FavoriteRecyclerViewAdapter extends RecyclerView.Adapter { + + private List favoriteImages; + + public FavoriteRecyclerViewAdapter() { + this.favoriteImages = new ArrayList<>(); + } + + @NonNull + @Override + public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sub_item_image, parent, false); + return new ViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull ViewHolder holder, int position) { + FavoriteImage favoriteImage = favoriteImages.get(position); + String imageUrl = favoriteImage.getPreUrl(); + + Glide.with(MainApplication.getContext()) + .asDrawable() + .skipMemoryCache(false) + .diskCacheStrategy(DiskCacheStrategy.ALL) + .load(imageUrl) + .placeholder(R.drawable.rectangular_placeholder_map) + .error(R.drawable.rectangular_placeholder_map) + .transform(new CenterCrop()) + .into(holder.imageView); + + holder.imageView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ImageItem imageItem = new ImageItem(favoriteImage.getSourceUrl(), favoriteImage.getPreUrl()); + Intent intent = new Intent(holder.itemView.getContext(), FullScreenImageActivity.class); + intent.putExtra("123421", imageItem); + holder.itemView.getContext().startActivity(intent); + } + }); + } + + @Override + public void onViewRecycled(@NonNull ViewHolder holder) { + super.onViewRecycled(holder); + ImageView imageView = holder.imageView; + if (imageView != null) { + Glide.with(MainApplication.getContext()).clear(imageView); + } + } + + @Override + public int getItemCount() { + return favoriteImages.size(); + } + + public void updateData(List newFavoriteImages) { + favoriteImages = newFavoriteImages; + notifyDataSetChanged(); + } + + public static class ViewHolder extends RecyclerView.ViewHolder { + public ImageView imageView; + + public ViewHolder(View view) { + super(view); + imageView = view.findViewById(R.id.sub_image_view); + } + } +} diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/FirstSub/MainFragment.java b/app/src/main/java/com/wallpaper/shinywallpaper/FirstSub/MainFragment.java new file mode 100644 index 0000000..5cd0717 --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/FirstSub/MainFragment.java @@ -0,0 +1,44 @@ +package com.wallpaper.shinywallpaper.FirstSub; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.wallpaper.shinywallpaper.Json.Category; +import com.wallpaper.shinywallpaper.Utils.JsonParser; +import com.wallpaper.shinywallpaper.Utils.LoadJSON; +import com.wallpaper.shinywallpaper.R; + +import java.util.ArrayList; +import java.util.List; + + +public class MainFragment extends Fragment { + + private List categoryList =new ArrayList<>(); + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_main, container, false); + + RecyclerView recyclerView = view.findViewById(R.id.main_fragment_recycler); + recyclerView.setLayoutManager(new GridLayoutManager(getContext(),1)); + + // 从assets文件夹中读取JSON文件 + String jsonString = LoadJSON.loadJSONFromAsset("pink_wallpaper.json"); + + List categories = JsonParser.parseJson(jsonString); + + recyclerView.setAdapter(new MainRecyclerViewAdapter(getContext(), categories)); + + return view; + } + + + +} \ No newline at end of file diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/FirstSub/MainRecyclerViewAdapter.java b/app/src/main/java/com/wallpaper/shinywallpaper/FirstSub/MainRecyclerViewAdapter.java new file mode 100644 index 0000000..170617e --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/FirstSub/MainRecyclerViewAdapter.java @@ -0,0 +1,106 @@ +package com.wallpaper.shinywallpaper.FirstSub; + +import android.content.Context; +import android.content.Intent; +import android.graphics.Typeface; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.wallpaper.shinywallpaper.Application.MainApplication; +import com.wallpaper.shinywallpaper.Json.Category; +import com.wallpaper.shinywallpaper.SecondSub.SubRecyclerViewActivity; +import com.wallpaper.shinywallpaper.StaticValue; +import com.wallpaper.shinywallpaper.R; + +import java.util.List; + +public class MainRecyclerViewAdapter extends RecyclerView.Adapter { + + private Context context; + private List categoryList; + + public MainRecyclerViewAdapter(Context context,List categoryList) { + this.categoryList = categoryList; + this.context = context; + + } + + @NonNull + @Override + public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_image, parent, false); + return new MyViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { + + Category category = categoryList.get(position); + + String originalName = category.getName(); + // 检查名称是否为空,以避免空指针异常 + if (originalName != null && !originalName.isEmpty()) { + // 将首字母大写 + String capitalizedName = originalName.substring(0, 1).toUpperCase() + originalName.substring(1); + // 设置文本字体 + holder.textView.setTypeface(Typeface.createFromAsset(context.getAssets(), "Inter-Medium.ttf")); + //设置文本 + holder.textView.setText(capitalizedName); + } else { + // 如果名称为空,可以设置一个默认值或者不设置 + holder.textView.setText(""); + } + + if (!category.getList().isEmpty()) { + Glide.with(MainApplication.getContext()) + .asDrawable() + .skipMemoryCache(true) + .diskCacheStrategy(DiskCacheStrategy.ALL) + .load(category.getList().get(0).getSourceUrl()) + .placeholder(R.drawable.rectangular_placeholder_map) + .error(R.drawable.rectangular_placeholder_map) + .transform(new CenterCrop()) + .into(holder.imageView); + + holder.imageView.setOnClickListener(v -> { + Intent intent = new Intent(context, SubRecyclerViewActivity.class); + intent.putExtra(StaticValue.key_category, category); + context.startActivity(intent); + }); + } + } + @Override + public void onViewRecycled(@NonNull MyViewHolder holder) { + super.onViewRecycled(holder); + ImageView imageView=holder.imageView; + if (imageView!=null){ + Glide.with(MainApplication.getContext()).clear(imageView); + } + } + + @Override + public int getItemCount() { + return categoryList.size(); + } + + static class MyViewHolder extends RecyclerView.ViewHolder { + ImageView imageView; + TextView textView; + + public MyViewHolder(@NonNull View itemView) { + super(itemView); + imageView = itemView.findViewById(R.id.image_view); + textView = itemView.findViewById(R.id.text_view); + } + } + +} diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/Json/Category.java b/app/src/main/java/com/wallpaper/shinywallpaper/Json/Category.java new file mode 100644 index 0000000..958c241 --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/Json/Category.java @@ -0,0 +1,22 @@ +package com.wallpaper.shinywallpaper.Json; + +import java.io.Serializable; +import java.util.List; + +public class Category implements Serializable { + private String name; + private List list; + + public Category(String name, List list) { + this.name = name; + this.list = list; + } + + public String getName() { + return name; + } + + public List getList() { + return list; + } +} diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/Json/ImageItem.java b/app/src/main/java/com/wallpaper/shinywallpaper/Json/ImageItem.java new file mode 100644 index 0000000..1ece881 --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/Json/ImageItem.java @@ -0,0 +1,21 @@ +package com.wallpaper.shinywallpaper.Json; + +import java.io.Serializable; + +public class ImageItem implements Serializable { + private String sourceUrl; + private String preUrl; + + public ImageItem(String sourceUrl, String preUrl) { + this.sourceUrl = sourceUrl; + this.preUrl = preUrl; + } + + public String getSourceUrl() { + return sourceUrl; + } + + public String getPreUrl() { + return preUrl; + } +} diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/Main/MainActivity.java b/app/src/main/java/com/wallpaper/shinywallpaper/Main/MainActivity.java new file mode 100644 index 0000000..5b6edff --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/Main/MainActivity.java @@ -0,0 +1,92 @@ +package com.wallpaper.shinywallpaper.Main; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.ImageView; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.viewpager2.widget.ViewPager2; + +import com.google.android.material.tabs.TabLayout; +import com.google.android.material.tabs.TabLayoutMediator; +import com.wallpaper.shinywallpaper.R; + +public class MainActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + ViewPager2 viewPager2 = findViewById(R.id.main_viewpager); + TabLayout tabLayout = findViewById(R.id.main_tablayout); + + MainViewPagerAdapter adapter = new MainViewPagerAdapter(this); + viewPager2.setAdapter(adapter); + + + //关联tabLayout和viewpager2,设置tabLayout标签样式 + new TabLayoutMediator(tabLayout, viewPager2, (tab, position) -> { + View customView = LayoutInflater.from(this).inflate(R.layout.main_tablayout_custom, null); + tab.setCustomView(customView); + + ImageView tabIcon = customView.findViewById(R.id.main_tab_custom); + View tabIndicator = customView.findViewById(R.id.tab_indicator); + if (tabIcon != null) { + if (position == 0) { + tabIcon.setImageResource(R.drawable.select_main_category); + tabIndicator.setVisibility(View.VISIBLE); + } else { + tabIcon.setImageResource(R.drawable.unselect_main_favorite); + } + } + }).attach(); + + //设置标签选中事件 + tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { + @Override + public void onTabSelected(TabLayout.Tab tab) { + View customView = tab.getCustomView(); + if (customView != null) { + ImageView tabIcon = customView.findViewById(R.id.main_tab_custom); + View tabIndicator = customView.findViewById(R.id.tab_indicator); + if (tabIcon != null) { + if (tab.getPosition() == 0) { + tabIcon.setImageResource(R.drawable.select_main_category); + tabIndicator.setVisibility(View.VISIBLE); + } else { + tabIcon.setImageResource(R.drawable.select_main_favorite); + tabIndicator.setVisibility(View.VISIBLE); + } + } + } + } + + @Override + public void onTabUnselected(TabLayout.Tab tab) { + View customView = tab.getCustomView(); + if (customView != null) { + ImageView tabIcon = customView.findViewById(R.id.main_tab_custom); + View tabIndicator = customView.findViewById(R.id.tab_indicator); + if (tabIcon != null) { + if (tab.getPosition() == 0) { + tabIcon.setImageResource(R.drawable.unselect_main_category); + tabIndicator.setVisibility(View.GONE); + } else { + tabIcon.setImageResource(R.drawable.unselect_main_favorite); + tabIndicator.setVisibility(View.GONE); + } + } + } + } + + @Override + public void onTabReselected(TabLayout.Tab tab) { + // 处理Tab重新选中事件 + } + }); + + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/Main/MainViewPagerAdapter.java b/app/src/main/java/com/wallpaper/shinywallpaper/Main/MainViewPagerAdapter.java new file mode 100644 index 0000000..a13dfd2 --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/Main/MainViewPagerAdapter.java @@ -0,0 +1,32 @@ +package com.wallpaper.shinywallpaper.Main; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; +import androidx.viewpager2.adapter.FragmentStateAdapter; + +import com.wallpaper.shinywallpaper.Favorite.FavoriteFragment; +import com.wallpaper.shinywallpaper.FirstSub.MainFragment; + +public class MainViewPagerAdapter extends FragmentStateAdapter { + public MainViewPagerAdapter(@NonNull FragmentActivity fragmentActivity) { + super(fragmentActivity); + } + + @NonNull + @Override + public Fragment createFragment(int position) { + + if (position == 0) { + return new MainFragment(); + } else { + return new FavoriteFragment(); + } + + } + + @Override + public int getItemCount() { + return 2; + } +} diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/SecondSub/FullScreenImageActivity.java b/app/src/main/java/com/wallpaper/shinywallpaper/SecondSub/FullScreenImageActivity.java new file mode 100644 index 0000000..403b0de --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/SecondSub/FullScreenImageActivity.java @@ -0,0 +1,251 @@ +package com.wallpaper.shinywallpaper.SecondSub; + +import static com.wallpaper.shinywallpaper.Utils.GallerySaver.REQUEST_CODE_WRITE_EXTERNAL_STORAGE; + +import android.app.WallpaperManager; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.graphics.Bitmap; +import android.graphics.drawable.BitmapDrawable; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.widget.ImageButton; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.Toast; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.wallpaper.shinywallpaper.Application.MainApplication; +import com.wallpaper.shinywallpaper.Database.AppDataBase; +import com.wallpaper.shinywallpaper.Database.FavoriteImage; +import com.wallpaper.shinywallpaper.Database.FavoriteImageDao; +import com.wallpaper.shinywallpaper.Json.ImageItem; +import com.wallpaper.shinywallpaper.R; +import com.wallpaper.shinywallpaper.StaticValue; +import com.wallpaper.shinywallpaper.Utils.GallerySaver; + +public class FullScreenImageActivity extends AppCompatActivity { + + private ImageView fullScreenImageView; + private ImageButton setWallpaperButton; + private ProgressBar progressBar; + private ImageButton btnBack; + private ImageButton btnDownload; + private ImageButton btnShare; + private ImageButton btnFavorite; + private AppDataBase db; + private FavoriteImageDao favoriteImageDao; + private GallerySaver gallerySaver; + private boolean isFavorite; + private ImageView overlayView; + private ImageItem imageItem; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_full_screen_image); + +// Window w = getWindow(); +// // 设置无边界布局标志,仅扩展到状态栏 +// w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); +// // 移除半透明状态栏标志 +// w.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); +//// 设置半透明状态栏 +//// w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); +// // 设置透明状态栏 +// w.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); +// w.setStatusBarColor(Color.TRANSPARENT); +// w.setNavigationBarColor(Color.TRANSPARENT); + + + btnBack = findViewById(R.id.btn_back); + btnDownload = findViewById(R.id.btn_download); + btnShare = findViewById(R.id.btn_share); + btnFavorite = findViewById(R.id.btn_favorite); + fullScreenImageView = findViewById(R.id.fullscreen_image_view); + setWallpaperButton = findViewById(R.id.setWallpaperButton); + progressBar = findViewById(R.id.progressBar); + overlayView = findViewById(R.id.overlayView); + gallerySaver=new GallerySaver(this,progressBar,overlayView); + + // 接收传递的 ImageItem 对象 + Intent intent = getIntent(); + imageItem = (ImageItem) intent.getSerializableExtra("123421"); + + Log.d("FullScreenImageActivity", "Received Intent: " + intent.getExtras()); + + if (imageItem == null) { + finish(); // Exit activity if no image URL is provided + return; + } + + db = AppDataBase.getDatabase(this); + favoriteImageDao = db.favoriteImageDao(); + + // Load image into ImageView + Glide.with(MainApplication.getContext()) + .asDrawable() + .skipMemoryCache(true) + .diskCacheStrategy(DiskCacheStrategy.ALL) + .load(imageItem.getSourceUrl()) + .placeholder(R.drawable.rectangular_placeholder_map) + .error(R.drawable.rectangular_placeholder_map) + .centerCrop() + .transform(new RoundedCorners(40)) + .into(fullScreenImageView); + + // Check if the image is already in favorites + checkIfFavorite(); + + btnFavorite.setOnClickListener(v -> { + if (isFavorite) { + removeFromFavorites(); + } else { + addToFavorites(); + } + updateFavoriteButton(); + }); + + btnDownload.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + showProgress(); + FullScreenImageActivity activity = (FullScreenImageActivity) v.getContext(); + gallerySaver.saveToGallery(activity, imageItem.getSourceUrl()); + } + }); + + btnBack.setOnClickListener(v -> finish()); + btnShare.setOnClickListener(v -> shareImageUrl(imageItem.getSourceUrl())); + setWallpaperButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + showProgress(); + + setWallpaper(); + } + }); + fullScreenImageView.setOnClickListener(v -> toFullScreen()); + } + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + if (requestCode == REQUEST_CODE_WRITE_EXTERNAL_STORAGE) { + if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + // 权限被授予,可以执行保存操作 + gallerySaver.saveToGallery(this, imageItem.getSourceUrl()); + } else { + Toast.makeText(this, "Description The write permission to the external storage is denied", Toast.LENGTH_SHORT).show(); + } + } + } + + + private void setWallpaper() { + new Thread(new Runnable() { + @Override + public void run() { + try { + fullScreenImageView.setDrawingCacheEnabled(true); + Bitmap bitmap = ((BitmapDrawable) fullScreenImageView.getDrawable()).getBitmap(); + WallpaperManager wallpaperManager = WallpaperManager.getInstance(getApplicationContext()); + wallpaperManager.setBitmap(bitmap); + + runOnUiThread(new Runnable() { + @Override + public void run() { + hideProgress(); + setWallpaperButton.setEnabled(true); // Re-enable the button + Toast.makeText(getApplicationContext(), StaticValue.key_wallpaper_setting_is_successful, Toast.LENGTH_SHORT).show(); + } + }); + } catch (Exception e) { + e.printStackTrace(); + runOnUiThread(new Runnable() { + @Override + public void run() { + hideProgress(); + Toast.makeText(getApplicationContext(), StaticValue.key_failed_to_set_wallpaper, Toast.LENGTH_SHORT).show(); + } + }); + } + } + }).start(); + } + + + private void toFullScreen() { + Intent intent = new Intent(this, SubFullScreenImageActivity.class); + intent.putExtra(StaticValue.key_imageUrl_1, imageItem.getSourceUrl()); + this.startActivity(intent); + } + + private void shareImageUrl(String imageUrl) { + Intent sendIntent = new Intent(); + sendIntent.setAction(Intent.ACTION_SEND); + sendIntent.putExtra(Intent.EXTRA_TEXT, imageItem.getSourceUrl()); + sendIntent.setType("text/plain"); + startActivity(Intent.createChooser(sendIntent, StaticValue.key_share_to)); + } + + + private void checkIfFavorite() { + new Thread(() -> { + isFavorite = favoriteImageDao.getBySourceUrl(imageItem.getSourceUrl()) != null; + isFavorite = favoriteImageDao.getByPreUrl(imageItem.getPreUrl()) != null; + runOnUiThread(this::updateFavoriteButton); + }).start(); + } + + private void addToFavorites() { + new Thread(() -> { + FavoriteImage favoriteImage = new FavoriteImage(); + favoriteImage.sourceUrl = imageItem.getSourceUrl(); + favoriteImage.preUrl = imageItem.getPreUrl(); + favoriteImageDao.insert(favoriteImage); + isFavorite = true; + runOnUiThread(this::updateFavoriteButton); + }).start(); + } + + private void removeFromFavorites() { + new Thread(() -> { + favoriteImageDao.deleteByPreUrl(imageItem.getPreUrl()); + favoriteImageDao.deleteBySourceUrl(imageItem.getSourceUrl()); + isFavorite = false; + runOnUiThread(this::updateFavoriteButton); + }).start(); + } + + private void updateFavoriteButton() { + if (btnFavorite == null) { + Log.e("FullScreenImageActivity", "btnFavorite is null"); + return; + } + + if (isFavorite) { + btnFavorite.setImageResource(R.drawable.favorite); // Replace with the actual drawable resource + } else { + btnFavorite.setImageResource(R.drawable.not_favorite); // Replace with the actual drawable resource + } + } + + private void showProgress() { + progressBar.setVisibility(View.VISIBLE); + overlayView.setVisibility(View.VISIBLE); + } + + private void hideProgress() { + progressBar.setVisibility(View.GONE); + overlayView.setVisibility(View.GONE); + // Optionally, enable other buttons + } + +} diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/SecondSub/SubFullScreenImageActivity.java b/app/src/main/java/com/wallpaper/shinywallpaper/SecondSub/SubFullScreenImageActivity.java new file mode 100644 index 0000000..79df959 --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/SecondSub/SubFullScreenImageActivity.java @@ -0,0 +1,74 @@ +package com.wallpaper.shinywallpaper.SecondSub; + +import android.graphics.Color; +import android.os.Build; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.widget.ImageView; + +import androidx.appcompat.app.AppCompatActivity; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.wallpaper.shinywallpaper.R; +import com.wallpaper.shinywallpaper.StaticValue; + +public class SubFullScreenImageActivity extends AppCompatActivity { + + private ImageView subFullScreen; + private String imageUrl; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_sub_full_screen_image); + + subFullScreen = findViewById(R.id.sub_fullscreen); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + Window w = getWindow(); + // 设置无边界布局标志,仅扩展到状态栏 + w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); + // 移除半透明状态栏标志 + w.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); +// 设置半透明状态栏 +// w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + // 设置透明状态栏 + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + w.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + w.setStatusBarColor(Color.TRANSPARENT); + w.setNavigationBarColor(Color.TRANSPARENT); + w.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); + } + } + + + // 接收传递的参数 + imageUrl = getIntent().getStringExtra(StaticValue.key_imageUrl_1); + if (imageUrl == null||imageUrl.isEmpty()) { + Log.d("nx","nx "+imageUrl); + finish(); // Exit activity if no image URL is provided + return; + } + + if (!imageUrl.isEmpty()) { + Glide.with(this) + .asDrawable() + .skipMemoryCache(true) + .diskCacheStrategy(DiskCacheStrategy.ALL) + .load(imageUrl) + .placeholder(R.drawable.rectangular_placeholder_map) + .error(R.drawable.rectangular_placeholder_map) + .fitCenter() + .into(subFullScreen); + } + + subFullScreen.setOnClickListener(v -> finish()); + + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/SecondSub/SubRecyclerViewActivity.java b/app/src/main/java/com/wallpaper/shinywallpaper/SecondSub/SubRecyclerViewActivity.java new file mode 100644 index 0000000..d38b004 --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/SecondSub/SubRecyclerViewActivity.java @@ -0,0 +1,50 @@ +package com.wallpaper.shinywallpaper.SecondSub; + +import android.os.Bundle; +import android.widget.ImageButton; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.wallpaper.shinywallpaper.Json.Category; +import com.wallpaper.shinywallpaper.Json.ImageItem; +import com.wallpaper.shinywallpaper.R; +import com.wallpaper.shinywallpaper.StaticValue; + +import java.util.List; + +public class SubRecyclerViewActivity extends AppCompatActivity { + + private ImageButton btnBack; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_sub_recycler_view); + +// Window w = getWindow(); +// // 设置无边界布局标志,仅扩展到状态栏 +// w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); +// // 设置半透明状态栏 +//// w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); +// // 设置透明状态栏 +// w.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); +// w.setStatusBarColor(Color.TRANSPARENT); +// w.setNavigationBarColor(Color.TRANSPARENT); + + + btnBack = findViewById(R.id.sub_fragment_recycler_back); + + RecyclerView recyclerView = findViewById(R.id.sub_fragment_recycler); + recyclerView.setLayoutManager(new GridLayoutManager(this, 3)); + + Category category = (Category) getIntent().getSerializableExtra(StaticValue.key_category); + List imageList = category.getList(); + + recyclerView.setAdapter(new SubRecyclerViewAdapter(this, imageList)); + + btnBack.setOnClickListener(v -> finish()); + } +} diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/SecondSub/SubRecyclerViewAdapter.java b/app/src/main/java/com/wallpaper/shinywallpaper/SecondSub/SubRecyclerViewAdapter.java new file mode 100644 index 0000000..d0e2ab3 --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/SecondSub/SubRecyclerViewAdapter.java @@ -0,0 +1,88 @@ +package com.wallpaper.shinywallpaper.SecondSub; + +import android.content.Context; +import android.content.Intent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.wallpaper.shinywallpaper.Application.MainApplication; +import com.wallpaper.shinywallpaper.Json.ImageItem; +import com.wallpaper.shinywallpaper.R; +import com.wallpaper.shinywallpaper.StaticValue; + +import java.util.List; + +public class SubRecyclerViewAdapter extends RecyclerView.Adapter { + + private Context context; + private List imageList; + + public SubRecyclerViewAdapter(Context context,List imageList) { + this.context = context; + this.imageList = imageList; + } + + @NonNull + @Override + public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sub_item_image, parent, false); + return new MyViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { + + + ImageItem imageItem = imageList.get(position); + Glide.with(MainApplication.getContext()) + .asDrawable() + .skipMemoryCache(true) + .diskCacheStrategy(DiskCacheStrategy.ALL) + .load(imageItem.getPreUrl()) + .placeholder(R.drawable.rectangular_placeholder_map) + .error(R.drawable.rectangular_placeholder_map) + .transform(new CenterCrop()) + .into(holder.imageView); + + + holder.imageView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(holder.itemView.getContext(), FullScreenImageActivity.class); + intent.putExtra("123421", imageItem); + holder.itemView.getContext().startActivity(intent); + } + }); + } + + @Override + public void onViewRecycled(@NonNull MyViewHolder holder) { + super.onViewRecycled(holder); + ImageView imageView=holder.imageView; + if (imageView!=null){ + Glide.with(MainApplication.getContext()).clear(imageView); + } + } + + @Override + public int getItemCount() { + return imageList.size(); + } + + static class MyViewHolder extends RecyclerView.ViewHolder { + ImageView imageView; + + public MyViewHolder(@NonNull View itemView) { + super(itemView); + imageView = itemView.findViewById(R.id.sub_image_view); + } + } +} diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/StaticValue.java b/app/src/main/java/com/wallpaper/shinywallpaper/StaticValue.java new file mode 100644 index 0000000..59554fb --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/StaticValue.java @@ -0,0 +1,28 @@ +package com.wallpaper.shinywallpaper; + +public class StaticValue { + + public static final String key_imageUrl = "key_imageUrl"; + + public static final String key_imageUrl_1 = "key_imageUrl1"; + + public static final String key_category = "key_category"; + + public static final String key_image_downloaded = "Image downloaded"; + + public static final String key_download_failure = "Download failure"; + + public static final String key_app_database = "app_database"; + public static final int key_app_database_version = 1; + + public static final String key_wallpaper_setting_is_successful = "Wallpaper setting is successful"; + + public static final String key_failed_to_set_wallpaper = "Failed to set wallpaper"; + + public static final String key_file_does_not_exist = "File does not exist"; + public static final String key_share_to = "Share to..."; + + + + +} \ No newline at end of file diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/Utils/GallerySaver.java b/app/src/main/java/com/wallpaper/shinywallpaper/Utils/GallerySaver.java new file mode 100644 index 0000000..2158160 --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/Utils/GallerySaver.java @@ -0,0 +1,153 @@ +package com.wallpaper.shinywallpaper.Utils; + +import android.Manifest; +import android.app.Activity; +import android.content.ContentValues; +import android.content.Context; +import android.content.pm.PackageManager; +import android.net.Uri; +import android.os.AsyncTask; +import android.os.Build; +import android.provider.MediaStore; +import android.util.Log; +import android.view.View; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.Toast; + +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; + +import com.wallpaper.shinywallpaper.StaticValue; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; + +public class GallerySaver { + + private Context context; + public static final int REQUEST_CODE_WRITE_EXTERNAL_STORAGE = 123; + private ProgressBar progressBar; + private ImageView overlayView; + + public GallerySaver(Context context, ProgressBar progressBar, ImageView overlayView) { + this.context = context; + this.progressBar = progressBar; + this.overlayView = overlayView; + } + + // 判断安卓版本,如果大于等于TIRAMISU不请求直接执行,如果小于,判断权限执行请求 + public void saveToGallery(Activity activity, String imageUrl) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + // 直接执行保存操作 + new SaveImageTask(activity, progressBar).execute(imageUrl); + } else { + if (ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) + != PackageManager.PERMISSION_GRANTED) { + ActivityCompat.requestPermissions(activity, + new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, + REQUEST_CODE_WRITE_EXTERNAL_STORAGE); + } else { + new SaveImageTask(activity, progressBar).execute(imageUrl); + } + } + } + + private class SaveImageTask extends AsyncTask { + + private Activity activity; + private ProgressBar progressBar; + + public SaveImageTask(Activity activity, ProgressBar progressBar) { + this.activity = activity; + this.progressBar = progressBar; + } + + @Override + protected void onPreExecute() { + super.onPreExecute(); + if (progressBar != null) { + progressBar.setVisibility(View.VISIBLE); // 显示进度条 + } + } + + @Override + protected Uri doInBackground(String... params) { + String imageUrl = params[0]; + String displayName = System.currentTimeMillis() + ".jpg"; + ContentValues contentValues = new ContentValues(); + contentValues.put(MediaStore.Images.Media.DISPLAY_NAME, displayName); + contentValues.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + contentValues.put(MediaStore.Images.Media.IS_PENDING, 1); + } + + Uri collectionUri; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + collectionUri = MediaStore.Images.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY); + } else { + collectionUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; + } + + Uri imageUri = activity.getContentResolver().insert(collectionUri, contentValues); + + if (imageUri != null) { + try { + HttpURLConnection connection = (HttpURLConnection) new URL(imageUrl).openConnection(); + connection.setDoInput(true); + connection.connect(); + InputStream inputStream = connection.getInputStream(); + + try (OutputStream outputStream = activity.getContentResolver().openOutputStream(imageUri)) { + if (outputStream != null) { + byte[] buffer = new byte[4096]; + int bytesRead; + while ((bytesRead = inputStream.read(buffer)) != -1) { + outputStream.write(buffer, 0, bytesRead); + } + } + } finally { + inputStream.close(); + } + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + contentValues.clear(); + contentValues.put(MediaStore.Images.Media.IS_PENDING, 0); + activity.getContentResolver().update(imageUri, contentValues, null, null); + } + + return imageUri; + } catch (IOException e) { + Log.e("GallerySaver", "Error saving image to gallery", e); + activity.getContentResolver().delete(imageUri, null, null); + return null; + } + } else { + Log.e("GallerySaver", "Failed to insert image into MediaStore"); + return null; + } + } + + @Override + protected void onPostExecute(Uri uri) { + super.onPostExecute(uri); + if (progressBar != null && overlayView != null) { + progressBar.setVisibility(View.GONE); + overlayView.setVisibility(View.GONE);// 隐藏进度条 + } + + if (uri != null) { + // 成功保存图片后的操作 + Toast.makeText(activity, StaticValue.key_image_downloaded, Toast.LENGTH_SHORT).show(); + Log.d("GallerySaver", "Image saved to gallery: " + uri); + } else { + // 保存图片失败后的操作 + Toast.makeText(activity, StaticValue.key_download_failure, Toast.LENGTH_SHORT).show(); + Log.e("GallerySaver", "Failed to save image to gallery"); + } + } + } +} diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/Utils/JsonParser.java b/app/src/main/java/com/wallpaper/shinywallpaper/Utils/JsonParser.java new file mode 100644 index 0000000..1fb980b --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/Utils/JsonParser.java @@ -0,0 +1,44 @@ +package com.wallpaper.shinywallpaper.Utils; + +import com.wallpaper.shinywallpaper.Json.Category; +import com.wallpaper.shinywallpaper.Json.ImageItem; + +import org.json.JSONArray; +import org.json.JSONObject; + +import java.util.ArrayList; +import java.util.List; + +public class JsonParser { + public static List parseJson(String jsonString) { + List categories = new ArrayList<>(); + + try { + //字符串转换为数组 + JSONArray jsonArray = new JSONArray(jsonString); + //遍历数组里的每一个元素 + for (int i = 0; i < jsonArray.length(); i++) { + //获取name字段的值 + JSONObject categoryObject = jsonArray.getJSONObject(i); + String name = categoryObject.getString("name"); + + JSONArray listArray = categoryObject.getJSONArray("list"); + List imageList = new ArrayList<>(); + + for (int j = 0; j < listArray.length(); j++) { + JSONObject imageObject = listArray.getJSONObject(j); + String sourceUrl = imageObject.getString("sourceUrl"); + String preUrl = imageObject.getString("preUrl"); + + imageList.add(new ImageItem(sourceUrl, preUrl)); + } + + categories.add(new Category(name, imageList)); + } + } catch (Exception e) { + e.printStackTrace(); + } + + return categories; + } +} diff --git a/app/src/main/java/com/wallpaper/shinywallpaper/Utils/LoadJSON.java b/app/src/main/java/com/wallpaper/shinywallpaper/Utils/LoadJSON.java new file mode 100644 index 0000000..2c0d3dc --- /dev/null +++ b/app/src/main/java/com/wallpaper/shinywallpaper/Utils/LoadJSON.java @@ -0,0 +1,29 @@ +package com.wallpaper.shinywallpaper.Utils; + +import com.wallpaper.shinywallpaper.Application.MainApplication; + +import java.io.BufferedReader; +import java.io.InputStreamReader; + +public class LoadJSON { + + public static String loadJSONFromAsset(String fileName) { + StringBuilder jsonString = new StringBuilder(); + try { + //读取filename文件,转换为字符流 + BufferedReader reader = new BufferedReader(new InputStreamReader(MainApplication.getContext().getAssets().open(fileName))); + String line; + //逐行读取文件内容,直到文件末尾 + while ((line = reader.readLine()) != null) { + jsonString.append(line); + } + //关闭读取器,释放资源 + reader.close(); + } catch (Exception e) { + e.printStackTrace(); + } + //对象转换为字符串并返回 + return jsonString.toString(); + } + +} diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/back.xml b/app/src/main/res/drawable/back.xml new file mode 100644 index 0000000..5204f57 --- /dev/null +++ b/app/src/main/res/drawable/back.xml @@ -0,0 +1,17 @@ + + + + diff --git a/app/src/main/res/drawable/component_1.xml b/app/src/main/res/drawable/component_1.xml new file mode 100644 index 0000000..ef4440e --- /dev/null +++ b/app/src/main/res/drawable/component_1.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/app/src/main/res/drawable/component_2.xml b/app/src/main/res/drawable/component_2.xml new file mode 100644 index 0000000..c78a8e1 --- /dev/null +++ b/app/src/main/res/drawable/component_2.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/app/src/main/res/drawable/download.xml b/app/src/main/res/drawable/download.xml new file mode 100644 index 0000000..60b7692 --- /dev/null +++ b/app/src/main/res/drawable/download.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/favorite.xml b/app/src/main/res/drawable/favorite.xml new file mode 100644 index 0000000..64eceae --- /dev/null +++ b/app/src/main/res/drawable/favorite.xml @@ -0,0 +1,14 @@ + + + diff --git a/app/src/main/res/drawable/favorite_blank.xml b/app/src/main/res/drawable/favorite_blank.xml new file mode 100644 index 0000000..793b464 --- /dev/null +++ b/app/src/main/res/drawable/favorite_blank.xml @@ -0,0 +1,393 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/favorite_title.xml b/app/src/main/res/drawable/favorite_title.xml new file mode 100644 index 0000000..9e46f23 --- /dev/null +++ b/app/src/main/res/drawable/favorite_title.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/gradient.xml b/app/src/main/res/drawable/gradient.xml new file mode 100644 index 0000000..02a9f76 --- /dev/null +++ b/app/src/main/res/drawable/gradient.xml @@ -0,0 +1,7 @@ + + + + diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..ca3826a --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/indicator.xml b/app/src/main/res/drawable/indicator.xml new file mode 100644 index 0000000..214a948 --- /dev/null +++ b/app/src/main/res/drawable/indicator.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/main_tablayout_background.xml b/app/src/main/res/drawable/main_tablayout_background.xml new file mode 100644 index 0000000..7337b72 --- /dev/null +++ b/app/src/main/res/drawable/main_tablayout_background.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/main_title.xml b/app/src/main/res/drawable/main_title.xml new file mode 100644 index 0000000..9e5daac --- /dev/null +++ b/app/src/main/res/drawable/main_title.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/not_favorite.xml b/app/src/main/res/drawable/not_favorite.xml new file mode 100644 index 0000000..19cd219 --- /dev/null +++ b/app/src/main/res/drawable/not_favorite.xml @@ -0,0 +1,14 @@ + + + diff --git a/app/src/main/res/drawable/rectangular_placeholder_map.xml b/app/src/main/res/drawable/rectangular_placeholder_map.xml new file mode 100644 index 0000000..bc516f6 --- /dev/null +++ b/app/src/main/res/drawable/rectangular_placeholder_map.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/select_main_category.xml b/app/src/main/res/drawable/select_main_category.xml new file mode 100644 index 0000000..13b211e --- /dev/null +++ b/app/src/main/res/drawable/select_main_category.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/select_main_favorite.xml b/app/src/main/res/drawable/select_main_favorite.xml new file mode 100644 index 0000000..68689e9 --- /dev/null +++ b/app/src/main/res/drawable/select_main_favorite.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/setting_wallpaper.xml b/app/src/main/res/drawable/setting_wallpaper.xml new file mode 100644 index 0000000..d966227 --- /dev/null +++ b/app/src/main/res/drawable/setting_wallpaper.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/share.xml b/app/src/main/res/drawable/share.xml new file mode 100644 index 0000000..26e8a6f --- /dev/null +++ b/app/src/main/res/drawable/share.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/drawable/unselect_main_category.xml b/app/src/main/res/drawable/unselect_main_category.xml new file mode 100644 index 0000000..968d49a --- /dev/null +++ b/app/src/main/res/drawable/unselect_main_category.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/unselect_main_favorite.xml b/app/src/main/res/drawable/unselect_main_favorite.xml new file mode 100644 index 0000000..c7e78e3 --- /dev/null +++ b/app/src/main/res/drawable/unselect_main_favorite.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_full_screen_image.xml b/app/src/main/res/layout/activity_full_screen_image.xml new file mode 100644 index 0000000..9d64892 --- /dev/null +++ b/app/src/main/res/layout/activity_full_screen_image.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..58613ff --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,30 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_sub_full_screen_image.xml b/app/src/main/res/layout/activity_sub_full_screen_image.xml new file mode 100644 index 0000000..9042c9b --- /dev/null +++ b/app/src/main/res/layout/activity_sub_full_screen_image.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_sub_recycler_view.xml b/app/src/main/res/layout/activity_sub_recycler_view.xml new file mode 100644 index 0000000..865566e --- /dev/null +++ b/app/src/main/res/layout/activity_sub_recycler_view.xml @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/app/src/main/res/layout/fragment_favorite.xml b/app/src/main/res/layout/fragment_favorite.xml new file mode 100644 index 0000000..6d3127d --- /dev/null +++ b/app/src/main/res/layout/fragment_favorite.xml @@ -0,0 +1,29 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml new file mode 100644 index 0000000..ca3eaf3 --- /dev/null +++ b/app/src/main/res/layout/fragment_main.xml @@ -0,0 +1,24 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_image.xml b/app/src/main/res/layout/item_image.xml new file mode 100644 index 0000000..b67131f --- /dev/null +++ b/app/src/main/res/layout/item_image.xml @@ -0,0 +1,31 @@ + + + + + + + + diff --git a/app/src/main/res/layout/main_tablayout_custom.xml b/app/src/main/res/layout/main_tablayout_custom.xml new file mode 100644 index 0000000..a44f21b --- /dev/null +++ b/app/src/main/res/layout/main_tablayout_custom.xml @@ -0,0 +1,25 @@ + + + + + + + diff --git a/app/src/main/res/layout/sub_item_image.xml b/app/src/main/res/layout/sub_item_image.xml new file mode 100644 index 0000000..beadc7a --- /dev/null +++ b/app/src/main/res/layout/sub_item_image.xml @@ -0,0 +1,16 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..c4a603d --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..c4a603d --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000..4a4ba1d Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..9816bed Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000..a485e95 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000..0900b59 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..1d41e94 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000..58fee70 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000..febe5ae Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..783ddd4 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..dcb3f13 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp new file mode 100644 index 0000000..3a13fac Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..ed30836 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..034a12f Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 0000000..b37ff3d Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..fa4ea21 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..e106e5b Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..07dca15 --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..602edab --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,7 @@ + + + #FF000000 + #FFFFFFFF + #252525 + #4D000000 + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..7e9bda7 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,5 @@ + + Shiny Wallpaper + Hello blank fragment + At present, you don\'t have a favorite wallpaperGo to the homepage and take a look + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..4f8a04e --- /dev/null +++ b/app/src/main/res/values/styles.xml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..b268aae --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,9 @@ + + + + +