commit 9fc3a53fe130d7ce83455bd711323309bebb0f61 Author: denghaina Date: Mon Jul 29 15:01:39 2024 +0800 版本V1.0.0 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2bfca55 --- /dev/null +++ b/.gitignore @@ -0,0 +1,17 @@ +*.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 +.idea/ +app/release/ 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/PrettyWallpapers.jks b/app/PrettyWallpapers.jks new file mode 100644 index 0000000..6e5d99e Binary files /dev/null and b/app/PrettyWallpapers.jks differ diff --git a/app/PrettyWallpapers_upload_certificate.pem b/app/PrettyWallpapers_upload_certificate.pem new file mode 100644 index 0000000..82ec8a4 --- /dev/null +++ b/app/PrettyWallpapers_upload_certificate.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICqjCCAZICAQEwDQYJKoZIhvcNAQELBQAwGzEZMBcGA1UEAwwQUHJldHR5V2Fs +bHBhcGVyczAeFw0yNDA3MjYwNjAxMjZaFw00OTA3MjAwNjAxMjZaMBsxGTAXBgNV +BAMMEFByZXR0eVdhbGxwYXBlcnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQDAO2D4CIDwJM3lVrI6Jj5nB35Ocf/aNIOd4NbQedbP1sqZtxaaGUGiqpbf +Aghu7X373rD/tO40qqAqxlDhh78mQl8f2yF0VLr8ig0kCIICvvHTs/wbwKnd1ECA +YXvwLGOj1qmGatWdzCeS5O9ieaWR5RBBtoSvNSSS+YLbez7iw7+vcTJGmpYYgbMa +7fqCI/W/QZjYr3IWghZ7YtEP0RgPaKbIV8w8tBxz3zXjxofYuvgZC3Y6auxTmnyH +2GZYLydqrv+3yZcVp/SM9a1UR15ZCr6vmF3A5i145f9DqPeDkvysY+gPHB4b050+ +jnbj97oC6dGMwRHPnuVEO1oy/xcdAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAFsS +ew1w4dsn1b/IwYOeYcyatzKiHZJEci07PsMl/ia11dFApSO/j7re+IR122v5JVnv +Vyzu10Gv6z16WrkGKQ5tUG6GIKPOlqAcIMQ/bGEhyTBGvFnQz1SfwqNNu4kvYHzF +21sbU3AOM8Jhafetn7yEYrpPirYfGsv/5H0LRpYQx2njN8Xr8Ay02JKk22Ow53qO +BLUvjsNOoI8nxmPCsOU6vEY2OvOVNQak2Zgh2GDaYj70if+QjWyn4qMEW8rwWdTj +72t5xEEVELL8LU3BuncHoXbaomcXHYtfnYIDJ07U3zyT5KBeld7A1ngMFUnBuvQi +w+qZKJYMn1O4C/6tWKo= +-----END CERTIFICATE----- diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..a10cad1 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,129 @@ +import java.text.SimpleDateFormat +import java.util.Date + +plugins { + alias(libs.plugins.android.application) + id("org.jetbrains.kotlin.android") + id ("kotlin-kapt") +} +val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date()) +android { + namespace = "com.example.prettywallpapers" + compileSdk = 34 + + defaultConfig { + applicationId = "com.wp.pretty.wallpapers.selection" + minSdk = 23 + targetSdk = 34 + versionCode = 3 + versionName = "1.2" + setProperty("archivesBaseName", "Prettywallpapers_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_17 + targetCompatibility = JavaVersion.VERSION_17 + } +} + +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") + implementation ("com.google.code.gson:gson:2.10.1") + implementation("androidx.appcompat:appcompat:1.6.1") + implementation("com.google.android.material:material:1.11.0") + implementation ("io.github.youth5201314:banner:2.2.2") + implementation ("com.github.bumptech.glide:glide:4.12.0")//添加网络图片 + + val room_version = "2.6.1" + implementation("androidx.room:room-runtime:$room_version") + annotationProcessor("androidx.room:room-compiler:$room_version") + kapt("androidx.room:room-compiler:$room_version") + implementation("androidx.room:room-ktx:$room_version") + implementation("androidx.room:room-rxjava2:$room_version") + implementation("androidx.room:room-rxjava3:$room_version") + implementation("androidx.room:room-guava:$room_version") + testImplementation("androidx.room:room-testing:$room_version") + implementation("androidx.room:room-paging:$room_version") + + //-----------------------------------------------TopOn(pangle、IronSource、mintegral、unityads、liftoff(vungle)、Bigo) + //Anythink (Necessary) + implementation("com.anythink.sdk:core-tpn:6.3.68") + implementation("com.anythink.sdk:nativead-tpn:6.3.68") + implementation("com.anythink.sdk:banner-tpn:6.3.68") + implementation("com.anythink.sdk:interstitial-tpn:6.3.68") + implementation("com.anythink.sdk:rewardedvideo-tpn:6.3.68") + implementation("com.anythink.sdk:splash-tpn:6.3.68") + + //Androidx (Necessary) + implementation("androidx.appcompat:appcompat:1.1.0") + implementation("androidx.browser:browser:1.4.0") + + //Vungle + implementation("com.anythink.sdk:adapter-tpn-vungle:6.3.68") + implementation("com.vungle:vungle-ads:7.3.2") + implementation("com.google.android.gms:play-services-basement:18.1.0") + implementation("com.google.android.gms:play-services-ads-identifier:18.0.1") + + //UnityAds + implementation("com.anythink.sdk:adapter-tpn-unityads:6.3.68") + implementation("com.unity3d.ads:unity-ads:4.9.3") + + //Ironsource + implementation("com.anythink.sdk:adapter-tpn-ironsource:6.3.68") + implementation("com.ironsource.sdk:mediationsdk:8.1.0") + implementation("com.google.android.gms:play-services-appset:16.0.2") + implementation("com.google.android.gms:play-services-ads-identifier:18.0.1") + implementation("com.google.android.gms:play-services-basement:18.1.0") + + //Bigo + implementation("com.anythink.sdk:adapter-tpn-bigo:6.3.68") + implementation("com.bigossp:bigo-ads:4.7.4") + + //Pangle + implementation("com.anythink.sdk:adapter-tpn-pangle-nonchina:6.3.68.1") + implementation( "com.pangle.global:ads-sdk:6.0.0.3") + implementation( "com.google.android.gms:play-services-ads-identifier:18.0.1") + + //Mintegral + implementation("com.anythink.sdk:adapter-tpn-mintegral-nonchina:6.3.68") + implementation("com.mbridge.msdk.oversea:reward:16.7.51") + implementation("com.mbridge.msdk.oversea:newinterstitial:16.7.51") + implementation("com.mbridge.msdk.oversea:mbnative:16.7.51") + implementation("com.mbridge.msdk.oversea:mbnativeadvanced:16.7.51") + implementation("com.mbridge.msdk.oversea:mbsplash:16.7.51") + implementation("com.mbridge.msdk.oversea:mbbanner:16.7.51") + implementation("com.mbridge.msdk.oversea:mbbid:16.7.51") + implementation("androidx.recyclerview:recyclerview:1.1.0") + + //Tramini + implementation("com.anythink.sdk:tramini-plugin-tpn:6.3.68") + + // Debugger UI Tools +// implementation ("com.anythink.sdk:debugger-ui:1.0.7") + + //----------------------------------------------TopOn + + + + +} \ No newline at end of file diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..fdcd4e3 --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "303460456405", + "project_id": "pretty-wallpapers-4e049", + "storage_bucket": "pretty-wallpapers-4e049.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:303460456405:android:8d406898372602f1dacf5c", + "android_client_info": { + "package_name": "com.wp.pretty.wallpapers.selection" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyDa61RDneXcTtOfed9ExfFsbDaJGk0zr5U" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..9275d33 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,120 @@ +# 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 +-keep class com.google.gson.reflect.TypeToken { *; } +-keep class * extends com.google.gson.reflect.TypeToken + +-keep class com.example.prettywallpapers.list.PrettyPaper{ *; } +-keep class com.example.prettywallpapers.list.PrettyCategory { *; } + +#---------------------------------------------Topon +# Vungle +-dontwarn com.vungle.ads.** +-keepclassmembers class com.vungle.ads.** { + *; +} + + + + +# Google +-keep class com.google.android.gms.** { *; } +-dontwarn com.google.android.gms.** + + + + +# START OkHttp + Okio +# JSR 305 annotations are for embedding nullability information. +-dontwarn javax.annotation.** + + +# A resource is loaded with a relative path so the package of this class must be preserved. +-adaptresourcefilenames okhttp3/internal/publicsuffix/PublicSuffixDatabase.gz + + +# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java. +-dontwarn org.codehaus.mojo.animal_sniffer.* + + +# OkHttp platform used only on JVM and when Conscrypt and other security providers are available. +-dontwarn okhttp3.internal.platform.** +-dontwarn org.conscrypt.** +-dontwarn org.bouncycastle.** +-dontwarn org.openjsse.** + + +# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java. +-dontwarn org.codehaus.mojo.animal_sniffer.* + + +# END OkHttp + Okio + + +# START Protobuf +-dontwarn com.google.protobuf.** +-keepclassmembers class com.google.protobuf.** { + *; +} +-keep class * extends com.google.protobuf.GeneratedMessageLite { *; } + + +# END Protobuf +-keepclassmembers class com.ironsource.sdk.controller.IronSourceWebView$JSInterface { + public *; +} +-keepclassmembers class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} +-keep public class com.google.android.gms.ads.** { + public *; +} +-keep class com.ironsource.adapters.** { *; +} +-dontwarn com.ironsource.mediationsdk.** +-dontwarn com.ironsource.adapters.** +-keepattributes JavascriptInterface +-keepclassmembers class * { + @android.webkit.JavascriptInterface ; +} +-keep class com.bytedance.sdk.** { *; } +-keepattributes Signature +-keepattributes *Annotation* +-keep class com.mbridge.** {*; } +-keep interface com.mbridge.** {*; } +-keep class android.support.v4.** { *; } +-dontwarn com.mbridge.** +-keep class **.R$* { public static final int mbridge*; } +-keep public class com.mbridge.* extends androidx.** { *; } +-keep public class androidx.viewpager.widget.PagerAdapter{ *; } +-keep public class androidx.viewpager.widget.ViewPager.OnPageChangeListener{ *; } +-keep interface androidx.annotation.IntDef{ *; } +-keep interface androidx.annotation.Nullable{ *; } +-keep interface androidx.annotation.CheckResult{ *; } +-keep interface androidx.annotation.NonNull{ *; } +-keep public class androidx.fragment.app.Fragment{ *; } +-keep public class androidx.core.content.FileProvider{ *; } +-keep public class androidx.core.app.NotificationCompat{ *; } +-keep public class androidx.appcompat.widget.AppCompatImageView { *; } +-keep public class androidx.recyclerview.*{ *; } +#---------------------------------------------Topon + + diff --git a/app/src/androidTest/java/com/example/prettywallpapers/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/example/prettywallpapers/ExampleInstrumentedTest.java new file mode 100644 index 0000000..acaecb8 --- /dev/null +++ b/app/src/androidTest/java/com/example/prettywallpapers/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.example.prettywallpapers; + +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.prettywallpapers", 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..fb158f3 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/myfront.ttf b/app/src/main/assets/myfront.ttf new file mode 100644 index 0000000..3729151 Binary files /dev/null and b/app/src/main/assets/myfront.ttf differ diff --git a/app/src/main/assets/prank_wallpaer.json b/app/src/main/assets/prank_wallpaer.json new file mode 100644 index 0000000..2b169dc --- /dev/null +++ b/app/src/main/assets/prank_wallpaer.json @@ -0,0 +1,2239 @@ +[ + { + "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": "cute", + "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" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/d73a4cfb457dfa090a1e55457e6a02ea.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/22cb42c726a887bfd28b2d9a56ea72bb.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8a0c1d6dcc22729a3bad6dcbe88ca3de.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/44dcbec510b2b32f3bef48535aa4f35e.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/bb404658207cba9b636245076d955009.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/256fe82058bfff15544c3b1e29daaabf.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/ed6b488d0f6630515b90b336fbfc93a6.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/2d489bb38c9e4254a2e577d9e51d0a02.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/8fbde61dfc1f2e4774692c3e61bb7a7c.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/53f171e7ee0e7034a9dc64f86d61ae8d.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" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/80113c33ebc64ecba64ef7cca29c2f42.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/38c41e972460a95a86dc04c91623b41e.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/0a294e1fe43d84eb8b4b3663dc1c06f7.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/e5a191f3207eb6276f01845a68a4f47c.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/498b2956356743dd61bcf43c5e2bdfe5.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/44f01787f33c354865ef2e0235a52bb7.jpeg" + }, + { + "sourceUrl": "https://resource-sg-public.lux-ad.com/wallpaper/8739a1033149540124a0c9bf2dca71b2.jpeg", + "preUrl": "https://resource-sg-public.lux-ad.com/wallpaper/dd3608457a2915a29de559f59927babc.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/example/prettywallpapers/activity/IntoActivity.java b/app/src/main/java/com/example/prettywallpapers/activity/IntoActivity.java new file mode 100644 index 0000000..310a6ce --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/activity/IntoActivity.java @@ -0,0 +1,49 @@ +package com.example.prettywallpapers.activity; + +import android.content.Intent; +import android.os.Bundle; +import android.os.CountDownTimer; +import android.util.Log; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import com.example.prettywallpapers.R; +import com.example.prettywallpapers.toponad.AdManager; + +import kotlin.Unit; +import kotlin.jvm.functions.Function0; + +public class IntoActivity extends AppCompatActivity { + + private CountDownTimer countDownTimer; + private Long tim = 8000L; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_into); + countDownTimer = AdManager.showWelcomeAd(IntoActivity.this, tim, new Function0() { + @Override + public Unit invoke() { + startMainActivity(); + return null; + } + }); + countDownTimer.start(); + } + + private void startMainActivity() { + Intent intent = new Intent(this, MainActivity.class); + startActivity(intent); + finish(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + countDownTimer.cancel(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/prettywallpapers/activity/MainActivity.java b/app/src/main/java/com/example/prettywallpapers/activity/MainActivity.java new file mode 100644 index 0000000..8ebcf62 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/activity/MainActivity.java @@ -0,0 +1,94 @@ +package com.example.prettywallpapers.activity; + +import android.annotation.SuppressLint; +import android.os.Bundle; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.RelativeLayout; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.bumptech.glide.request.RequestOptions; +import com.bumptech.glide.request.transition.Transition; +import com.example.prettywallpapers.fragment.HomeFragment; +import com.example.prettywallpapers.fragment.LikeFragment; +import com.example.prettywallpapers.prettyadapter.FragmentAdapter; +import com.example.prettywallpapers.prettyadapter.ViewPaperAdapter; +import com.google.android.material.tabs.TabLayout; +import com.google.android.material.tabs.TabLayoutMediator; +import com.youth.banner.Banner; + +import androidx.activity.EdgeToEdge; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.viewpager.widget.ViewPager; +import androidx.viewpager2.widget.ViewPager2; + +import com.example.prettywallpapers.R; +import com.example.prettywallpapers.base.PrettyWallPaper; +import com.example.prettywallpapers.prettyadapter.WallpaperAdapter; +import com.youth.banner.adapter.BannerImageAdapter; +import com.youth.banner.holder.BannerImageHolder; +import com.youth.banner.indicator.CircleIndicator; + +import java.util.ArrayList; +import java.util.List; + +public class MainActivity extends AppCompatActivity { + private ViewPager2 viewPager2; + private ImageView image_set; + private RelativeLayout relative_main; + private TabLayout tabLayout; + + List stringList = new ArrayList<>(); + + @SuppressLint("MissingInflatedId") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + image_set = findViewById(R.id.image_set); + image_set.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + relative_main = findViewById(R.id.relative_main); + init(); + viewPager2 = findViewById(R.id.view_page_main); + viewPager2.setAdapter(new FragmentAdapter(this)); + tabLayout = findViewById(R.id.app_table); + TabLayoutMediator tabLayoutMediator = new TabLayoutMediator(tabLayout, viewPager2, new TabLayoutMediator.TabConfigurationStrategy() { + @Override + public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) { + switch (position) { + case 0: + tab.setText(R.string.home); + break; + case 1: + tab.setText(R.string.like); + break; + } + } + }); + tabLayoutMediator.attach(); + } + + private void init() { + Window window = getWindow(); + window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); + window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + relative_main.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/prettywallpapers/activity/PrettyCategoryListActivity.java b/app/src/main/java/com/example/prettywallpapers/activity/PrettyCategoryListActivity.java new file mode 100644 index 0000000..29802d6 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/activity/PrettyCategoryListActivity.java @@ -0,0 +1,91 @@ +package com.example.prettywallpapers.activity; + +import android.annotation.SuppressLint; +import android.content.Intent; +import android.graphics.Typeface; +import android.os.Bundle; +import android.view.View; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.prettywallpapers.R; +import com.example.prettywallpapers.base.MySpace; +import com.example.prettywallpapers.list.PrettyCategory; +import com.example.prettywallpapers.myvalue.MyValues; +import com.example.prettywallpapers.prettyadapter.InfoAdapter; +import com.example.prettywallpapers.prettyadapter.SeeAllInFoAdapter; +import com.example.prettywallpapers.toponad.AdManager; + +import java.util.List; + +import kotlin.Unit; +import kotlin.jvm.functions.Function1; + +public class PrettyCategoryListActivity extends AppCompatActivity { + + private TextView category_name; + private RecyclerView recycle_name; + private ImageView imageView_back; + private PrettyCategory prettyCategoryall; + private LinearLayout category_name_main; + private List prettyCategories; + @SuppressLint("MissingInflatedId") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_pretty_category_list); + //category_name = findViewById(R.id.category_name_main); + category_name = findViewById(R.id.category_name); + category_name.setTypeface(Typeface.createFromAsset(getAssets(),"myfront.ttf")); + imageView_back = findViewById(R.id.image_back); + imageView_back.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + showad(true); + } + }); + recycle_name =findViewById(R.id.name_list_recycle); + gotoGetData(); + setNameRecycleView(); + } + + private void showad(boolean b) { + AdManager.showAD(PrettyCategoryListActivity.this, new Function1() { + @Override + public Unit invoke(Integer integer) { + if (integer == AdManager.type_no_cache || integer == AdManager.type_show_close || integer == AdManager.type_show_fail) { + if (b) + finish(); + } + return null; + } + }); + } + + @Override + public void onBackPressed() { + super.onBackPressed(); + showad(false); + } + + private void gotoGetData() { + Intent intent = getIntent(); + prettyCategoryall = (PrettyCategory)intent.getSerializableExtra(MyValues.PREETY_NAME); + assert prettyCategoryall != null; + category_name.setText(prettyCategoryall.getName()); + } + + private void setNameRecycleView() { + MySpace mySpace = new MySpace(1,20,1); + GridLayoutManager gridLayoutManager = new GridLayoutManager(this,2); + recycle_name.setLayoutManager(gridLayoutManager); + recycle_name.addItemDecoration(mySpace); + SeeAllInFoAdapter seeAllInFoAdapter = new SeeAllInFoAdapter(prettyCategoryall.getList(),this); + recycle_name.setAdapter(seeAllInFoAdapter); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/prettywallpapers/activity/PrettyPaperActivity.java b/app/src/main/java/com/example/prettywallpapers/activity/PrettyPaperActivity.java new file mode 100644 index 0000000..c7e5463 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/activity/PrettyPaperActivity.java @@ -0,0 +1,315 @@ +package com.example.prettywallpapers.activity; + +import android.Manifest; +import android.annotation.SuppressLint; +import android.app.WallpaperManager; +import android.content.ContentValues; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.drawable.Drawable; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; +import android.os.Environment; +import android.os.Looper; +import android.provider.MediaStore; +import android.text.TextUtils; +import android.util.Log; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.activity.EdgeToEdge; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.DataSource; +import com.bumptech.glide.load.engine.GlideException; +import com.bumptech.glide.request.RequestListener; +import com.bumptech.glide.request.target.CustomTarget; +import com.bumptech.glide.request.target.Target; +import com.bumptech.glide.request.transition.Transition; +import com.example.prettywallpapers.R; +import com.example.prettywallpapers.list.PrettyPaper; +import com.example.prettywallpapers.listener.SwitchType; +import com.example.prettywallpapers.myvalue.MyValues; +import com.example.prettywallpapers.room.PrettyPaperDao; +import com.example.prettywallpapers.room.PrettyPaperDatabase; +import com.example.prettywallpapers.room.PrettyPaperEntity; +import com.example.prettywallpapers.room.mytool; +import com.example.prettywallpapers.toponad.AdManager; + +import java.io.File; +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import kotlin.Unit; +import kotlin.jvm.functions.Function1; + +public class PrettyPaperActivity extends AppCompatActivity { + + private RelativeLayout relative_main; + private TextView text_set; + private ImageView paper_image; + private WallpaperManager wallpaperManager; + private ImageView image_down; + private ImageView image_share; + private String image; + private ImageView image_hert; + private ImageView imageView_back; + private boolean like = true; + private PrettyPaperDatabase db; + private boolean liked; + private List likelist; + private List LIST; + private PrettyPaper resource; + private boolean islike1 = false; + private PrettyPaperEntity one; + private SwitchType switchType; + private String switchtype; + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + if (requestCode == 0) { + if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + //保存图片到相册 + downPreview(image); + } else { + Toast.makeText(this, "你拒绝了该权限,无法保存图片!", Toast.LENGTH_SHORT).show(); + } + } + } + + @SuppressLint("MissingInflatedId") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_pretty_paper); + relative_main =findViewById(R.id.paper_main); + init(); + text_set = findViewById(R.id.text_set); + wallpaperManager = WallpaperManager.getInstance(this); + paper_image = findViewById(R.id.paper_image); + image_down = findViewById(R.id.image_down); + image_share = findViewById(R.id.image_share); + imageView_back = findViewById(R.id.paper_back); + image_hert = findViewById(R.id.image_heart); + image_hert.setBackgroundResource(R.drawable.unselect_like); + gotoGetData(); + + + image_hert.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (!islike1) { + image_hert.setBackgroundResource(R.drawable.unselect_like); + islike1 = true; + mytool.runIO(new Runnable() { + @Override + public void run() { + PrettyPaperDatabase.getPrettyPaperDatabase().getPrettyPaperDao().deletelike(image); + } + }); + } else { + image_hert.setBackgroundResource(R.drawable.select_like); + islike1 = false; + PrettyPaperEntity prettyPaperEntity = new PrettyPaperEntity(); + prettyPaperEntity.setPaperlike(like); + prettyPaperEntity.setImage(image); + mytool.runIO(new Runnable() { + @Override + public void run() { + PrettyPaperDatabase.getPrettyPaperDatabase().getPrettyPaperDao().insertLikeData(prettyPaperEntity); + } + }); + //Toast.makeText(PrettyPaperActivity.this,getString(R.string.like_success),Toast.LENGTH_LONG).show(); + } + } + }); + + + image_down.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q && ContextCompat.checkSelfPermission(PrettyPaperActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { + ActivityCompat.requestPermissions(PrettyPaperActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 0); + } else { + //保存图片到相册 + downPreview(image); + } + } + }); + + + + text_set.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + showad(); + } + }); + image_share.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + shareImage(); + } + }); + imageView_back.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + + } + + private void showad() { + AdManager.showAD(PrettyPaperActivity.this, new Function1() { + @Override + public Unit invoke(Integer integer) { + if (integer == AdManager.type_no_cache || integer == AdManager.type_show_close || integer == AdManager.type_show_fail) { + Toast.makeText(PrettyPaperActivity.this, getString(R.string.set_wait), Toast.LENGTH_SHORT).show(); + if (image != null) { + loadPreview(image); + } else { + Toast.makeText(PrettyPaperActivity.this, getString(R.string.set_wallpaper_fail), Toast.LENGTH_SHORT).show(); + } + } + return null; + } + }); + } + + private void loadPreview(String image) { + Glide.with(this) + .asBitmap() + .load(image) + .into(new CustomTarget() { + @Override + public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition transition) { + setPhoneWallpaper(resource); + + } + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } + }); + } + private void downPreview(String preURl) { + Glide.with(this) + .asBitmap() + .load(preURl) + .into(new CustomTarget() { + @Override + public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition transition) { + SaveImage(resource); + } + + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } + }); + } + private void setPhoneWallpaper(Bitmap bitmap) { + try { + wallpaperManager.setBitmap(bitmap); + Toast.makeText(this, getString(R.string.set_success), Toast.LENGTH_SHORT).show(); + } catch (IOException ioException) { + Toast.makeText(this, getString(R.string.set_wallpaper_fail), Toast.LENGTH_SHORT).show(); + } + } + + private void gotoGetData() { + Intent intent = getIntent(); + image = intent.getStringExtra(MyValues.PAPER_IMAGE); + mytool.runIO(new Runnable() { + @Override + public void run() { + LIST = PrettyPaperDatabase.getPrettyPaperDatabase().getPrettyPaperDao().queryimage(image); + if (LIST.isEmpty()) { + + } else { + image_hert.setBackgroundResource(R.drawable.select_like); + islike1 = true; + + } + } + }); + + + Glide.with(this).load(image).addListener(new RequestListener() { + @Override + public boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target target, boolean isFirstResource) { + return false; + } + + @Override + public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target target, @NonNull DataSource dataSource, boolean isFirstResource) { + return false; + } + }).into(paper_image); + } + private void init() { + Window window = getWindow(); + window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); + window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + relative_main.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION); + } + public void shareImage(){ + Intent sharedIntent = new Intent(); + sharedIntent.setAction(Intent.ACTION_SEND); + sharedIntent.setType("text/*"); + sharedIntent.putExtra(Intent.EXTRA_TEXT,image); //设置要分享的内容 + startActivity(Intent.createChooser(sharedIntent, "Share")); + } + + private void SaveImage(Bitmap bitmap) { + new Thread(new Runnable() { + @Override + public void run() { + try { + Uri saveUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new ContentValues()); + if (TextUtils.isEmpty(saveUri.toString())) { + Looper.prepare(); + Toast.makeText(PrettyPaperActivity.this, getString(R.string.save_success), Toast.LENGTH_SHORT).show(); + Looper.loop(); + return; + } + OutputStream outputStream = getContentResolver().openOutputStream(saveUri); + if (bitmap.compress(Bitmap.CompressFormat.JPEG, 90, outputStream)) { + Looper.prepare(); + Toast.makeText(PrettyPaperActivity.this, getString(R.string.save_success), Toast.LENGTH_SHORT).show(); + Looper.loop(); + } else { + Looper.prepare(); + Toast.makeText(PrettyPaperActivity.this, getString(R.string.save_fail), Toast.LENGTH_SHORT).show(); + Looper.loop(); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } + }).start(); + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/prettywallpapers/base/MySpace.java b/app/src/main/java/com/example/prettywallpapers/base/MySpace.java new file mode 100644 index 0000000..df0532b --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/base/MySpace.java @@ -0,0 +1,53 @@ +package com.example.prettywallpapers.base; + +import android.graphics.Rect; +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +public class MySpace extends RecyclerView.ItemDecoration { + private int ex_space = 0; + private int h_space = 0; + private int v_space = 0; + + @Override + public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) { + int position = parent.getChildAdapterPosition(view); + int spanSize = 1; + int spanIndex = 0; + int spanCount = 1; + RecyclerView.LayoutManager layoutManager = parent.getLayoutManager(); + if (layoutManager instanceof GridLayoutManager) { + GridLayoutManager layoutManager1 = (GridLayoutManager) layoutManager; + GridLayoutManager.LayoutParams layoutParams = (GridLayoutManager.LayoutParams) view.getLayoutParams(); + spanCount = layoutManager1.getSpanCount();//设置每行排列的个数 + spanSize = layoutManager1.getSpanSizeLookup().getSpanSize(position);//每个item的跨度大小 + spanIndex = layoutParams.getSpanIndex();//放在给定位之前的每个项目,确定每个跨度 + + } + + + if (spanSize == spanCount) { + outRect.left = v_space + ex_space; + outRect.right = v_space + ex_space; + outRect.bottom = h_space; + } else { + int itemAllSpacing = (v_space * (spanCount + 1) + ex_space * 2) / spanCount; + int left = v_space * (spanIndex + 1) - itemAllSpacing * spanIndex + ex_space; + int right = itemAllSpacing - left; + outRect.left = left; + outRect.right = right; + outRect.bottom = h_space; + } + + } + + public MySpace(int ex_space, int h_space, int v_space) { + this.ex_space = ex_space; + this.h_space = h_space; + this.v_space = v_space; + + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/base/PrettyWallPaper.java b/app/src/main/java/com/example/prettywallpapers/base/PrettyWallPaper.java new file mode 100644 index 0000000..2377761 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/base/PrettyWallPaper.java @@ -0,0 +1,75 @@ +package com.example.prettywallpapers.base; + +import android.app.Application; +import android.util.Log; + +import com.anythink.core.api.ATSDK; +import com.anythink.core.api.NetTrafficeCallback; +import com.example.prettywallpapers.list.PrettyCategory; +import com.example.prettywallpapers.list.PrettyPaper; +import com.example.prettywallpapers.myvalue.MyValues; +import com.example.prettywallpapers.room.PrettyPaperEntity; +import com.example.prettywallpapers.room.mytool; +import com.example.prettywallpapers.toponad.AdManager; +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; +import java.io.InputStream; +import java.util.List; +import java.util.Set; + +public class PrettyWallPaper extends Application { + private static List prettyCategories; + public static String TAG = "-----AD"; + private String AppId = "h66a246bc81483"; + private String AppKey = "aa66c6b36a70016db7e34aae6bce0f9bd"; + @Override + public void onCreate() { + super.onCreate(); + MyValues.prettyWallPaper = this; + initad(); + try { + InputStream myfile = getAssets().open("prank_wallpaer.json"); + String mypapers = Readmyfile.getCovertStr(myfile); + if(mypapers != null){ + Gson gson = new Gson(); + prettyCategories = gson.fromJson(mypapers,new TypeToken>(){}.getType()); + } + } catch (IOException e) { + throw new RuntimeException(e); + } + + } + + public void initad() { + ATSDK.checkIsEuTraffic(this, new NetTrafficeCallback() { + + @Override + public void onResultCallback(boolean isEU) { + Log.e(TAG, "onResultCallback:" + isEU); + if (isEU && ATSDK.getGDPRDataLevel(PrettyWallPaper.this) == ATSDK.UNKNOWN) { + ATSDK.showGdprAuth(MyValues.prettyWallPaper); + } + + } + + @Override + public void onErrorCallback(String errorMsg) { + Log.e(TAG, "onErrorCallback:" + errorMsg); + } + }); + ATSDK.init( this, AppId, AppKey); + AdManager.loadAllAd(); + } + + public static List getCategorylist(){ + if (prettyCategories != null){ + return prettyCategories; + }else { + return prettyCategories; + } + } + + +} diff --git a/app/src/main/java/com/example/prettywallpapers/base/Readmyfile.java b/app/src/main/java/com/example/prettywallpapers/base/Readmyfile.java new file mode 100644 index 0000000..c24d663 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/base/Readmyfile.java @@ -0,0 +1,33 @@ +package com.example.prettywallpapers.base; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.io.StringWriter; +import java.nio.charset.StandardCharsets; + +public class Readmyfile { + public static String getCovertStr(InputStream stream) { + String covertStr = ""; + try { + StringWriter writer = new StringWriter(); + char[] buffer = new char[stream.available()]; + Reader reader = new BufferedReader(new InputStreamReader(stream, StandardCharsets.UTF_8)); + int a = 0; + while ((a = reader.read(buffer)) != -1) { + writer.write(buffer, 0, a); + } + covertStr = writer.toString(); + } catch (IOException e) { + return covertStr; + } + return covertStr; + } + + /* public static int dp2Px(int dp) { + float scale = Sounds.mAppContext.getResources().getDisplayMetrics().density; + return (int) (dp * scale + 0.5f); + }*/ +} diff --git a/app/src/main/java/com/example/prettywallpapers/fragment/HomeFragment.java b/app/src/main/java/com/example/prettywallpapers/fragment/HomeFragment.java new file mode 100644 index 0000000..1e9ff74 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/fragment/HomeFragment.java @@ -0,0 +1,89 @@ +package com.example.prettywallpapers.fragment; + +import android.annotation.SuppressLint; +import android.content.Intent; +import android.graphics.drawable.Drawable; +import android.os.Bundle; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.DataSource; +import com.bumptech.glide.load.engine.GlideException; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.bumptech.glide.request.RequestListener; +import com.bumptech.glide.request.RequestOptions; +import com.bumptech.glide.request.target.Target; +import com.example.prettywallpapers.R; +import com.example.prettywallpapers.activity.PrettyPaperActivity; +import com.example.prettywallpapers.base.PrettyWallPaper; +import com.example.prettywallpapers.list.PrettyPaper; +import com.example.prettywallpapers.listener.SwitchType; +import com.example.prettywallpapers.myvalue.MyValues; +import com.example.prettywallpapers.prettyadapter.WallpaperAdapter; +import com.youth.banner.Banner; +import com.youth.banner.adapter.BannerImageAdapter; +import com.youth.banner.holder.BannerImageHolder; +import com.youth.banner.indicator.CircleIndicator; +import com.youth.banner.listener.OnBannerListener; + +import java.util.ArrayList; +import java.util.List; + +public class HomeFragment extends Fragment { + private RecyclerView recyclerView_prettywall; + private Banner banner; + private List prettyPapers; + private SwitchType switchintent; + List stringList = new ArrayList<>(); + + @SuppressLint("MissingInflatedId") + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + View view = inflater.inflate(R.layout.fragment_home, container, false); + banner = view.findViewById(R.id.banner); + stringList.add("https://resource-sg-public.lux-ad.com/wallpaper/148499404d85516a86eeb5c2c30fafbd.jpeg"); + stringList.add("https://resource-sg-public.lux-ad.com/wallpaper/989ccbceb5d165cc4b44ced23af4d5fb.jpeg"); + stringList.add("https://resource-sg-public.lux-ad.com/wallpaper/b655bc8400774e2dc940b5a8291e2ca5.jpeg"); + banner.setAdapter(new BannerImageAdapter(stringList) { + @Override + public void onBindView(BannerImageHolder holder, String data, int position, int size) { + Glide.with(holder.itemView).load(data).apply(RequestOptions.bitmapTransform(new RoundedCorners(30))).into(holder.imageView); + } + }); + banner.setOnBannerListener(new OnBannerListener() { + @Override + public void OnBannerClick(Object data, int position) { + //Log.d("-----data","------data"+data); + Intent intent = new Intent(getActivity(), PrettyPaperActivity.class); + //intent.putExtra(MyValues.TYPE,"1"); + //Log.d("-----MyValues.TYPE","------MyValues.TYPE"+MyValues.TYPE); + intent.putExtra(MyValues.PAPER_IMAGE,String.valueOf(data)); + Log.d("-----data","------data"+String.valueOf(data)); + startActivity(intent); + } + }); + banner.setIndicator(new CircleIndicator(getActivity())); + recyclerView_prettywall = view.findViewById(R.id.recyclerview_pretty); + setPrettyWallpaper(); + return view; + } + private void setPrettyWallpaper() { + GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(),1); + recyclerView_prettywall.setLayoutManager(gridLayoutManager); + WallpaperAdapter wallpaperAdapter = new WallpaperAdapter(PrettyWallPaper.getCategorylist(),getActivity()); + recyclerView_prettywall.setAdapter(wallpaperAdapter); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/prettywallpapers/fragment/LikeFragment.java b/app/src/main/java/com/example/prettywallpapers/fragment/LikeFragment.java new file mode 100644 index 0000000..cb75c6e --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/fragment/LikeFragment.java @@ -0,0 +1,81 @@ +package com.example.prettywallpapers.fragment; + +import android.annotation.SuppressLint; +import android.graphics.Typeface; +import android.os.Bundle; + +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import com.example.prettywallpapers.R; +import com.example.prettywallpapers.prettyadapter.LIkePaperAdapter; +import com.example.prettywallpapers.room.PrettyPaperDatabase; +import com.example.prettywallpapers.room.PrettyPaperEntity; +import com.example.prettywallpapers.room.mytool; + +import java.util.ArrayList; +import java.util.List; + +public class LikeFragment extends Fragment { + //private PaperVM paperVM; + private RecyclerView like_recycle; + private TextView text_id; + private ImageView like_back; + private LIkePaperAdapter lIkePaperAdapter; + private boolean islike = true; + private List list = new ArrayList<>(); + + @SuppressLint("MissingInflatedId") + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + Log.d("----0,","----------+onCreateView"); + View view = inflater.inflate(R.layout.fragment_like, container, false); + like_recycle = view.findViewById(R.id.like_recycle); + text_id = view.findViewById(R.id.text_id); + text_id.setTypeface(Typeface.createFromAsset(getActivity().getAssets(),"myfront.ttf")); + /*Bundle bundle = new Bundle(); + bundle.putBoolean(MyValues.fragment_type, like); + this.setArguments(bundle);*/ + + setRecycleLike(); + return view; + } + private void setRecycleLike() { + mytool.runIO(new Runnable() { + @Override + public void run() { + list = PrettyPaperDatabase.getPrettyPaperDatabase().getPrettyPaperDao().getAllUsers(); + requireActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + LIkePaperAdapter lIkePaperAdapter = new LIkePaperAdapter(requireContext(), list); + Log.d("----------adapter","_____apapet"+lIkePaperAdapter); + like_recycle.setAdapter(lIkePaperAdapter); + GridLayoutManager gridLayoutManager = new GridLayoutManager(requireContext(),2); + like_recycle.setLayoutManager(gridLayoutManager); + + } + }); + + } + }); + + } + + @Override + public void onResume() { + super.onResume(); + setRecycleLike(); + Log.d("----0,","----------+onResume"); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/prettywallpapers/list/PrettyCategory.java b/app/src/main/java/com/example/prettywallpapers/list/PrettyCategory.java new file mode 100644 index 0000000..7472b30 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/list/PrettyCategory.java @@ -0,0 +1,25 @@ +package com.example.prettywallpapers.list; + +import java.io.Serializable; +import java.util.List; + +public class PrettyCategory implements Serializable { + private String name; + private List list; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/list/PrettyPaper.java b/app/src/main/java/com/example/prettywallpapers/list/PrettyPaper.java new file mode 100644 index 0000000..bdff027 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/list/PrettyPaper.java @@ -0,0 +1,33 @@ +package com.example.prettywallpapers.list; + +import java.io.Serializable; + +public class PrettyPaper implements Serializable { + private String sourceUrl; + private String preUrl; + private boolean islike=false; + + public boolean getIslike() { + return islike; + } + + public void setIslike(boolean islike) { + this.islike = islike; + } + + 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/example/prettywallpapers/listener/QueryPaperListener.java b/app/src/main/java/com/example/prettywallpapers/listener/QueryPaperListener.java new file mode 100644 index 0000000..b2f4d32 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/listener/QueryPaperListener.java @@ -0,0 +1,11 @@ +package com.example.prettywallpapers.listener; + + + +import com.example.prettywallpapers.room.PrettyPaperEntity; + +import java.util.List; + +public interface QueryPaperListener { + void onQueryResult(List list); +} diff --git a/app/src/main/java/com/example/prettywallpapers/listener/SwitchType.java b/app/src/main/java/com/example/prettywallpapers/listener/SwitchType.java new file mode 100644 index 0000000..012fc8c --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/listener/SwitchType.java @@ -0,0 +1,7 @@ +package com.example.prettywallpapers.listener; + +public interface SwitchType { + public default String switchtype(String i){ + return i; + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/myvalue/MyValues.java b/app/src/main/java/com/example/prettywallpapers/myvalue/MyValues.java new file mode 100644 index 0000000..6fb126c --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/myvalue/MyValues.java @@ -0,0 +1,16 @@ +package com.example.prettywallpapers.myvalue; + +import com.example.prettywallpapers.base.PrettyWallPaper; + +public class MyValues { + public static final String IMAGE = "image"; + public static final String PREETY_NAME = "pretty_name"; + public static String TYPE = "type"; + public static String mylike; + public static final String PAPER_IMAGE = "paper image"; + public static final String pre_image = "image"; + public static final String TABLE_NAME = "table_name"; + public static PrettyWallPaper prettyWallPaper; + public static final String DB_NAME="paper_name"; + public static final String banner_image = "image"; +} diff --git a/app/src/main/java/com/example/prettywallpapers/prettyadapter/FragmentAdapter.java b/app/src/main/java/com/example/prettywallpapers/prettyadapter/FragmentAdapter.java new file mode 100644 index 0000000..c046994 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/prettyadapter/FragmentAdapter.java @@ -0,0 +1,31 @@ +package com.example.prettywallpapers.prettyadapter; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; +import androidx.viewpager2.adapter.FragmentStateAdapter; + +import com.example.prettywallpapers.fragment.HomeFragment; +import com.example.prettywallpapers.fragment.LikeFragment; + +public class FragmentAdapter extends FragmentStateAdapter { + public FragmentAdapter(@NonNull FragmentActivity fragmentActivity) { + super(fragmentActivity); + } + + @NonNull + @Override + public Fragment createFragment(int position) { + switch (position){ + case 0: + return new HomeFragment(); + default: + return new LikeFragment(); + } + } + + @Override + public int getItemCount() { + return 2; + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/prettyadapter/InfoAdapter.java b/app/src/main/java/com/example/prettywallpapers/prettyadapter/InfoAdapter.java new file mode 100644 index 0000000..92c6120 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/prettyadapter/InfoAdapter.java @@ -0,0 +1,87 @@ +package com.example.prettywallpapers.prettyadapter; + +import static com.example.prettywallpapers.myvalue.MyValues.*; + +import android.content.Context; +import android.content.Intent; +import android.graphics.drawable.Drawable; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.DataSource; +import com.bumptech.glide.load.engine.GlideException; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.bumptech.glide.request.RequestListener; +import com.bumptech.glide.request.target.Target; +import com.example.prettywallpapers.R; +import com.example.prettywallpapers.activity.PrettyPaperActivity; +import com.example.prettywallpapers.list.PrettyPaper; +import com.example.prettywallpapers.listener.SwitchType; +import com.example.prettywallpapers.myvalue.MyValues; + +import java.util.List; + +public class InfoAdapter extends RecyclerView.Adapter { + private List prettyPapers; + private Context context; + private SwitchType switchintent; + public InfoAdapter(List paperList, Context mycontext){ + prettyPapers = paperList; + context = mycontext; + } + @NonNull + @Override + public InfoViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View myview = LayoutInflater.from(context).inflate(R.layout.pretty_category_image,parent,false); + return new InfoViewHolder(myview); + } + + @Override + public void onBindViewHolder(@NonNull InfoViewHolder holder, int position) { + PrettyPaper prettyPaper = prettyPapers.get(position); + ImageView imageView = holder.getImageView(); + //Log.e("----------paper","-----------paper"+prettyPaper.getSourceUrl()); + Glide.with(context) + .load(prettyPaper.getSourceUrl()) + .error(R.mipmap.sit) + .transform(new RoundedCorners(100)) + .listener(new RequestListener() { + @Override + public boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target target, boolean isFirstResource) { + //Log.e("-----paper", "onLoadFailed-----------------categorylist.getCategoryUrl()=---"+prettyPaper.getSourceUrl()+"---------e="+e.getMessage()); + return false; + } + + @Override + public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target target, @NonNull DataSource dataSource, boolean isFirstResource) { + return false; + } + }) + .into(imageView); + holder.getImage_layout().setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(context, PrettyPaperActivity.class); + //intent.putExtra(MyValues.TYPE,"2"); + //Log.d("-----MyValues.TYPE","------MyValues.TYPE"+MyValues.TYPE); + intent.putExtra(MyValues.PAPER_IMAGE,prettyPaper.getSourceUrl()); + Log.d("-----MyValues.paper","------MyValues.TYPE"+MyValues.PAPER_IMAGE); + context.startActivity(intent); + } + }); + + } + + @Override + public int getItemCount() { + return prettyPapers.size(); + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/prettyadapter/InfoViewHolder.java b/app/src/main/java/com/example/prettywallpapers/prettyadapter/InfoViewHolder.java new file mode 100644 index 0000000..c41dde2 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/prettyadapter/InfoViewHolder.java @@ -0,0 +1,41 @@ +package com.example.prettywallpapers.prettyadapter; + +import android.view.View; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.LinearLayout; + +import androidx.recyclerview.widget.RecyclerView; + +import com.example.prettywallpapers.R; + +import java.io.Serializable; + +public class InfoViewHolder extends RecyclerView.ViewHolder { + + private ImageView imageView; + private LinearLayout image_layout; + public InfoViewHolder(View myview) { + super(myview); + imageView = myview.findViewById(R.id.recycle_image); + image_layout = myview.findViewById(R.id.recycle_image_lay); + } + + + + public ImageView getImageView() { + return imageView; + } + + public void setImageView(ImageView imageView) { + this.imageView = imageView; + } + + public LinearLayout getImage_layout() { + return image_layout; + } + + public void setImage_layout(LinearLayout image_layout) { + this.image_layout = image_layout; + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/prettyadapter/LIkePaperAdapter.java b/app/src/main/java/com/example/prettywallpapers/prettyadapter/LIkePaperAdapter.java new file mode 100644 index 0000000..9c2971c --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/prettyadapter/LIkePaperAdapter.java @@ -0,0 +1,100 @@ +package com.example.prettywallpapers.prettyadapter; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.Intent; +import android.graphics.drawable.Drawable; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.DataSource; +import com.bumptech.glide.load.engine.GlideException; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.bumptech.glide.request.RequestListener; +import com.bumptech.glide.request.target.Target; +import com.example.prettywallpapers.R; +import com.example.prettywallpapers.activity.PrettyPaperActivity; +import com.example.prettywallpapers.myvalue.MyValues; +import com.example.prettywallpapers.room.PrettyPaperDatabase; +import com.example.prettywallpapers.room.PrettyPaperEntity; +import com.example.prettywallpapers.room.mytool; + +import java.util.List; + +public class LIkePaperAdapter extends RecyclerView.Adapter { + private List paperEntities ; + private Context mycontext; + private boolean mylike; + public LIkePaperAdapter(Context context,List entities){ + mycontext = context; + paperEntities = entities; + + } + @NonNull + @Override + public LikeHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = LayoutInflater.from(mycontext).inflate(R.layout.like_recycle,parent,false); + return new LikeHolder(view); + } + + + @Override + public void onBindViewHolder(@NonNull LikeHolder holder, @SuppressLint("RecyclerView") int position) { + PrettyPaperEntity prettyPaperEntities = paperEntities.get(position); + Log.d("------------entity","---------entity"+paperEntities.size()); + //ImageView imageView = holder.getImageView(); + Glide.with(mycontext).load(prettyPaperEntities.getImage()) + .transform(new RoundedCorners(90)) + .listener(new RequestListener() { + @Override + public boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target target, boolean isFirstResource) { + return false; + } + + @Override + public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target target, @NonNull DataSource dataSource, boolean isFirstResource) { + return false; + } + }).into(holder.getImageView()); + holder.getImageView_like().setBackgroundResource(R.drawable.select_like); + holder.getImageView_like().setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + paperEntities.remove(prettyPaperEntities); + notifyItemRemoved(position); + mytool.runIO(new Runnable() { + @Override + public void run() { + PrettyPaperDatabase.getPrettyPaperDatabase().getPrettyPaperDao().delete(prettyPaperEntities); + //PrettyPaperDatabase.getPrettyPaperDatabase().getPrettyPaperDao().UpdateLikePaper(prettyPaperEntities); + // Log.d("---entities","-----entities"+entities.size()); + //Toast.makeText(PrettyPaperActivity.this,"succes",Toast.LENGTH_LONG).show(); + } + }); + //mytool.updateRoom(prettyPaperEntities); + } + }); + holder.getImageView().setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(mycontext, PrettyPaperActivity.class); + intent.putExtra(MyValues.PAPER_IMAGE,prettyPaperEntities.getImage()); + mycontext.startActivity(intent); + } + }); + + + } + + @Override + public int getItemCount() { + return paperEntities.size(); + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/prettyadapter/LikeHolder.java b/app/src/main/java/com/example/prettywallpapers/prettyadapter/LikeHolder.java new file mode 100644 index 0000000..1a90450 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/prettyadapter/LikeHolder.java @@ -0,0 +1,35 @@ +package com.example.prettywallpapers.prettyadapter; + +import android.view.View; +import android.widget.ImageView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.prettywallpapers.R; + +public class LikeHolder extends RecyclerView.ViewHolder { + private ImageView imageView; + private ImageView imageView_like; + public LikeHolder(@NonNull View mview) { + super(mview); + imageView = mview.findViewById(R.id.like_paper_recycle_image); + imageView_like =mview.findViewById(R.id.recycle_like); + } + + public ImageView getImageView() { + return imageView; + } + + public void setImageView(ImageView imageView) { + this.imageView = imageView; + } + + public ImageView getImageView_like() { + return imageView_like; + } + + public void setImageView_like(ImageView imageView_like) { + this.imageView_like = imageView_like; + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/prettyadapter/SeeAllInFoAdapter.java b/app/src/main/java/com/example/prettywallpapers/prettyadapter/SeeAllInFoAdapter.java new file mode 100644 index 0000000..def2ebf --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/prettyadapter/SeeAllInFoAdapter.java @@ -0,0 +1,77 @@ +package com.example.prettywallpapers.prettyadapter; + +import android.content.Context; +import android.content.Intent; +import android.graphics.drawable.Drawable; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.DataSource; +import com.bumptech.glide.load.engine.GlideException; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.bumptech.glide.request.RequestListener; +import com.bumptech.glide.request.target.Target; +import com.example.prettywallpapers.R; +import com.example.prettywallpapers.activity.PrettyPaperActivity; +import com.example.prettywallpapers.list.PrettyPaper; +import com.example.prettywallpapers.myvalue.MyValues; + +import java.util.List; + +public class SeeAllInFoAdapter extends RecyclerView.Adapter { + private List prettyPapers; + private Context context; + public SeeAllInFoAdapter(List paperList, Context mycontext){ + prettyPapers = paperList; + context = mycontext; + } + @NonNull + @Override + public SeeAllInFoViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = LayoutInflater.from(context).inflate(R.layout.name_list_recycle,parent,false); + return new SeeAllInFoViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull SeeAllInFoViewHolder holder, int position) { + PrettyPaper prettyPaper = prettyPapers.get(position); + ImageView imageView = holder.getImageView(); + Glide.with(context).load(prettyPaper.getSourceUrl()) + .error(R.mipmap.sit) + .transform(new RoundedCorners(70)) + .listener(new RequestListener() { + @Override + public boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target target, boolean isFirstResource) { + return false; + } + + @Override + public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target target, @NonNull DataSource dataSource, boolean isFirstResource) { + return false; + } + }).into(imageView); + holder.getImage_layout().setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(context, PrettyPaperActivity.class); + // intent.putExtra(MyValues.TYPE,"2"); + // Log.d("-----MyValues.TYPE","------MyValues.TYPE"+MyValues.TYPE); + intent.putExtra(MyValues.PAPER_IMAGE,prettyPaper.getSourceUrl()); + context.startActivity(intent); + } + }); + } + + @Override + public int getItemCount() { + return prettyPapers.size(); + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/prettyadapter/SeeAllInFoViewHolder.java b/app/src/main/java/com/example/prettywallpapers/prettyadapter/SeeAllInFoViewHolder.java new file mode 100644 index 0000000..1e5a8c7 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/prettyadapter/SeeAllInFoViewHolder.java @@ -0,0 +1,38 @@ +package com.example.prettywallpapers.prettyadapter; + +import android.view.View; +import android.widget.ImageView; +import android.widget.LinearLayout; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.prettywallpapers.R; + +public class SeeAllInFoViewHolder extends RecyclerView.ViewHolder { + private ImageView imageView; + private LinearLayout image_layout; + + public SeeAllInFoViewHolder(@NonNull View itemView) { + super(itemView); + imageView = itemView.findViewById(R.id.recycle_image); + image_layout = itemView.findViewById(R.id.recycle_image_lay); + } + + + public ImageView getImageView() { + return imageView; + } + + public void setImageView(ImageView imageView) { + this.imageView = imageView; + } + + public LinearLayout getImage_layout() { + return image_layout; + } + + public void setImage_layout(LinearLayout image_layout) { + this.image_layout = image_layout; + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/prettyadapter/ViewPaperAdapter.java b/app/src/main/java/com/example/prettywallpapers/prettyadapter/ViewPaperAdapter.java new file mode 100644 index 0000000..af8bda2 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/prettyadapter/ViewPaperAdapter.java @@ -0,0 +1,37 @@ +package com.example.prettywallpapers.prettyadapter; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentPagerAdapter; + +import java.util.List; + +public class ViewPaperAdapter extends FragmentPagerAdapter { + private List fragmentList; + private String[] tablename; + public ViewPaperAdapter(@NonNull FragmentManager fm, List list,String[] tabletitle) { + super(fm); + fragmentList = list; + tablename = tabletitle; + } + + + @NonNull + @Override + public Fragment getItem(int position) { + return fragmentList.get(position); + } + + @Override + public int getCount() { + return fragmentList.size(); + } + + @Nullable + @Override + public CharSequence getPageTitle(int position) { + return tablename[position]; + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/prettyadapter/WallPaperViewHolder.java b/app/src/main/java/com/example/prettywallpapers/prettyadapter/WallPaperViewHolder.java new file mode 100644 index 0000000..5c4fbbb --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/prettyadapter/WallPaperViewHolder.java @@ -0,0 +1,42 @@ +package com.example.prettywallpapers.prettyadapter; + +import android.graphics.Typeface; +import android.view.View; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.prettywallpapers.R; + +public class WallPaperViewHolder extends RecyclerView.ViewHolder { + + private TextView textView; + private TextView see_all; + private RecyclerView recyclerView_image; + public WallPaperViewHolder(@NonNull View itemView) { + super(itemView); + textView = itemView.findViewById(R.id.pretty_category_name); + recyclerView_image = itemView.findViewById(R.id.pretty_category_image); + see_all = itemView.findViewById(R.id.see_all); + } + public TextView getTextView() { + return textView; + } + + public TextView getSee_all() { + return see_all; + } + + public RecyclerView getRecyclerView_image() { + return recyclerView_image; + } + + public void setTextView(TextView textView) { + this.textView = textView; + } + + +} diff --git a/app/src/main/java/com/example/prettywallpapers/prettyadapter/WallpaperAdapter.java b/app/src/main/java/com/example/prettywallpapers/prettyadapter/WallpaperAdapter.java new file mode 100644 index 0000000..1e38ce9 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/prettyadapter/WallpaperAdapter.java @@ -0,0 +1,69 @@ +package com.example.prettywallpapers.prettyadapter; + + +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.Intent; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.prettywallpapers.activity.PrettyCategoryListActivity; +import com.example.prettywallpapers.list.PrettyCategory; + +import java.util.List; +import com.example.prettywallpapers.R; +import com.example.prettywallpapers.myvalue.MyValues; + +public class WallpaperAdapter extends RecyclerView.Adapter { + + private List prettyCategory; + private Context context; + private RecyclerView pretty_category_image; + private TextView see_all; + + public WallpaperAdapter(List categorylist, Context mycontext){ + prettyCategory = categorylist; + Log.d("------------size","-------------size"+prettyCategory); + context = mycontext; + } + @SuppressLint("MissingInflatedId") + @NonNull + @Override + public WallPaperViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View myview = LayoutInflater.from(context).inflate(R.layout.recyclerview_pretty,parent,false); + return new WallPaperViewHolder(myview); + } + + @SuppressLint("CheckResult") + @Override + public void onBindViewHolder(@NonNull WallPaperViewHolder holder, int position) { + PrettyCategory prettycategory = prettyCategory.get(position); + // Log.d("------------size","-------------size"+prettycategory); + holder.getTextView().setText(prettycategory.getName()); + holder.getSee_all().setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(context, PrettyCategoryListActivity.class); + intent.putExtra(MyValues.PREETY_NAME, prettycategory); + //intent.putExtra(MyValues.TYPE,1); + context.startActivity(intent); + } + }); + InfoAdapter infoAdapter = new InfoAdapter(prettycategory.getList(),context); + RecyclerView recyclerViewImage = holder.getRecyclerView_image(); + recyclerViewImage.setLayoutManager(new LinearLayoutManager(context, RecyclerView.HORIZONTAL, false)); + recyclerViewImage.setAdapter(infoAdapter); + } + + @Override + public int getItemCount() { + return prettyCategory.size(); + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/room/PrettyPaperDao.java b/app/src/main/java/com/example/prettywallpapers/room/PrettyPaperDao.java new file mode 100644 index 0000000..6e8ca2e --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/room/PrettyPaperDao.java @@ -0,0 +1,32 @@ +package com.example.prettywallpapers.room; + +import androidx.room.Dao; +import androidx.room.Delete; +import androidx.room.Insert; +import androidx.room.OnConflictStrategy; +import androidx.room.Query; +import androidx.room.Update; + +import java.util.List; +@Dao +public interface PrettyPaperDao { + @Query("select * from table_name where likeid=:likeid") + PrettyPaperEntity QueryLikeId(String likeid); + + @Update + void UpdateLikePaper(PrettyPaperEntity prettyPaperEntity); + @Query("SELECT * FROM table_name") + List getAllUsers(); + + @Insert(onConflict = OnConflictStrategy.IGNORE) + void insertLikeData(PrettyPaperEntity prettyPaperEntity); + + @Query("select * from table_name where paperlike=:isLike") + List queryData(boolean isLike); + @Delete() + void delete(PrettyPaperEntity prettyPaperEntity); + @Query("select * from table_name where image=:image") + List queryimage(String image); + @Query("delete from table_name where image=:image") + void deletelike(String image); +} diff --git a/app/src/main/java/com/example/prettywallpapers/room/PrettyPaperDatabase.java b/app/src/main/java/com/example/prettywallpapers/room/PrettyPaperDatabase.java new file mode 100644 index 0000000..3dbaf2f --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/room/PrettyPaperDatabase.java @@ -0,0 +1,26 @@ +package com.example.prettywallpapers.room; + +import androidx.room.Database; +import androidx.room.Room; +import androidx.room.RoomDatabase; + +import com.example.prettywallpapers.myvalue.MyValues; + + +@Database( + entities = {PrettyPaperEntity.class}, + version = 1, + exportSchema = false +) +public abstract class PrettyPaperDatabase extends RoomDatabase { + + private static PrettyPaperDatabase prettyPaperDatabase; + + public abstract PrettyPaperDao getPrettyPaperDao(); + public static synchronized PrettyPaperDatabase getPrettyPaperDatabase(){ + if(prettyPaperDatabase == null){ + prettyPaperDatabase = Room.databaseBuilder(MyValues.prettyWallPaper,PrettyPaperDatabase.class,MyValues.DB_NAME).build(); + } + return prettyPaperDatabase; + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/room/PrettyPaperEntity.java b/app/src/main/java/com/example/prettywallpapers/room/PrettyPaperEntity.java new file mode 100644 index 0000000..b1d536c --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/room/PrettyPaperEntity.java @@ -0,0 +1,41 @@ +package com.example.prettywallpapers.room; + + +import androidx.room.Entity; +import androidx.room.Index; +import androidx.room.PrimaryKey; + +import com.example.prettywallpapers.myvalue.MyValues; + +@Entity(tableName = MyValues.TABLE_NAME,indices = {@Index(value = "image",unique = true)}) +public class PrettyPaperEntity { + @PrimaryKey(autoGenerate = true) + private int likeid; + + private Boolean paperlike; + private String image; + + public int getLikeid() { + return likeid; + } + + public void setLikeid(int likeid) { + this.likeid = likeid; + } + + public String getImage() { + return image; + } + + public void setImage(String image) { + this.image = image; + } + + public Boolean getPaperlike() { + return paperlike; + } + + public void setPaperlike(Boolean paperlike) { + this.paperlike = paperlike; + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/room/mytool.java b/app/src/main/java/com/example/prettywallpapers/room/mytool.java new file mode 100644 index 0000000..cbd4560 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/room/mytool.java @@ -0,0 +1,66 @@ +package com.example.prettywallpapers.room; + +import android.os.Handler; +import android.os.Looper; + +import com.example.prettywallpapers.listener.QueryPaperListener; + +import java.util.List; +import java.util.Set; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +public class mytool { + private static ExecutorService executorService; + private static Handler mainHandler;//处理线程通信和消息分发的重要工具 + + public static void runIO(Runnable task) { + getExecutorService().execute(task); + } + + private static ExecutorService getExecutorService() { + if (executorService == null) { + executorService = Executors.newSingleThreadExecutor(); + } + return executorService; + } + private static Handler getMainHandler() { + if (mainHandler == null) { + mainHandler = new Handler(Looper.getMainLooper()); + } + return mainHandler; + } + + public static void insertRoom(List list) { + getExecutorService().execute(new Runnable() { + @Override + public void run() { + for (PrettyPaperEntity entityApp : list) { + PrettyPaperDatabase.getPrettyPaperDatabase().getPrettyPaperDao().insertLikeData(entityApp); + } + + } + }); + } +/* public static void queryRoom(boolean islike, QueryPaperListener listener) { + executorService.execute(new Runnable() { + @Override + public void run() { + List list = PrettyPaperDatabase.getPrettyPaperDatabase().getPrettyPaperDao().queryData(islike); + *//*post() 方法将一个 Runnable 对象添加到主线程的消息队列中,以便在主线程上执行。 + ()->{}是匿名发送一个任务到主线程中*//* + getMainHandler().post(() -> { //getMainHandler()是获取主线程的handler方法,handler是处理线程间通信的机制,允许将任务发送到其他线程的消息队列中 + listener.onQueryResult(list);//在任务执行时,会调用listener.onQueryResult(appList)方法 + }); + } + }); + }*/ + public static void updateRoom(PrettyPaperEntity entity) { + executorService.execute(new Runnable() { + @Override + public void run() { + PrettyPaperDatabase.getPrettyPaperDatabase().getPrettyPaperDao().UpdateLikePaper(entity); + } + }); + } +} diff --git a/app/src/main/java/com/example/prettywallpapers/toponad/AdListener.kt b/app/src/main/java/com/example/prettywallpapers/toponad/AdListener.kt new file mode 100644 index 0000000..bc13825 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/toponad/AdListener.kt @@ -0,0 +1,9 @@ +package com.example.prettywallpapers.toponad + +interface AdListener { + fun showSuccess() + + fun showFail() + + fun showClose() +} \ No newline at end of file diff --git a/app/src/main/java/com/example/prettywallpapers/toponad/AdManager.kt b/app/src/main/java/com/example/prettywallpapers/toponad/AdManager.kt new file mode 100644 index 0000000..b7e58d9 --- /dev/null +++ b/app/src/main/java/com/example/prettywallpapers/toponad/AdManager.kt @@ -0,0 +1,174 @@ +package com.example.prettywallpapers.toponad + +import android.app.Activity +import android.os.CountDownTimer +import android.util.Log +import com.anythink.core.api.ATAdInfo +import com.anythink.core.api.AdError +import com.anythink.interstitial.api.ATInterstitial +import com.anythink.interstitial.api.ATInterstitialListener +import com.example.prettywallpapers.base.PrettyWallPaper +import com.example.prettywallpapers.myvalue.MyValues + + +object AdManager { + + + const val type_no_cache = 0 + const val type_has_cache = 1 + const val type_show_success = 2 + const val type_show_close = 3 + const val type_show_fail = 4 + + + const val place1Id = "n66a247222a867" + const val place2Id = "n66a24721a7080" + const val place3Id = "n66a247212ee08" + + val list = mutableListOf() + + + @JvmStatic + fun loadAllAd() { + if (list.size <= 0) { + val mInterstitialAd1 = ATInterstitial(MyValues.prettyWallPaper, place1Id) + val mInterstitialAd2 = ATInterstitial(MyValues.prettyWallPaper, place2Id) + val mInterstitialAd3 = ATInterstitial(MyValues.prettyWallPaper, place3Id) + list.add(mInterstitialAd1) + list.add(mInterstitialAd2) + list.add(mInterstitialAd3) + } + for (ad in list) { + if (!ad.isAdReady) { + setCallBack(ad,object :AdListener{ + override fun showSuccess() { + + } + + override fun showFail() { + + } + + override fun showClose() { + + } + + }) + ad.load() + } + } + + + } + @JvmStatic + fun getReadyAd(): ATInterstitial? { + list.shuffle() + for (ad in list) { + if (ad.isAdReady) { + return ad + } + } + return null + } + + + @JvmStatic + fun showWelcomeAd(activity: Activity,totalTim: Long, goMain: () -> Unit): CountDownTimer { + var alreadyShow = false + var timer = object : CountDownTimer(totalTim, 100) { + override fun onTick(millisUntilFinished: Long) { + if (!alreadyShow) { + showAD(activity) { + if (it == type_has_cache) { + alreadyShow = true + } + if (it == type_show_close || it == type_show_fail) { + goMain.invoke() + } + + } + } + + } + + override fun onFinish() { + if (!alreadyShow) { + showAD(activity) { + if (it == type_show_close || it == type_show_fail || it == type_no_cache) { + goMain.invoke() + } + } + } + } + + } + return timer + } + + private fun setCallBack(ad: ATInterstitial, listener: AdListener) { + ad.setAdListener(object : ATInterstitialListener { + override fun onInterstitialAdLoaded() { + Log.d(PrettyWallPaper.TAG, "LoadLoaded ${ad.mPlacementId}") + } + + override fun onInterstitialAdLoadFail(p0: AdError?) { + Log.d(PrettyWallPaper.TAG, "LoadFail:${p0?.code} ${p0?.desc}") + } + + override fun onInterstitialAdClicked(p0: ATAdInfo?) { + + } + + override fun onInterstitialAdShow(p0: ATAdInfo?) { + Log.d(PrettyWallPaper.TAG, "AdShow ${p0?.showId} ") + listener.showSuccess() + ad.load() + } + + override fun onInterstitialAdClose(p0: ATAdInfo?) { + listener.showClose() + } + + override fun onInterstitialAdVideoStart(p0: ATAdInfo?) { + + } + + override fun onInterstitialAdVideoEnd(p0: ATAdInfo?) { + + } + + override fun onInterstitialAdVideoError(p0: AdError?) { + listener.showFail() + } + + }) + } + + + @JvmStatic + fun showAD(activity: Activity, action: (type: Int) -> Unit) { + val readyAd = getReadyAd() + if (readyAd!= null) { + Log.d(PrettyWallPaper.TAG, "readyAd ${readyAd.mPlacementId} ") + action.invoke(type_has_cache) + setCallBack(readyAd,object : AdListener { + override fun showSuccess() { + action.invoke(type_show_success) + } + + override fun showFail() { + action.invoke(type_show_fail) + } + + override fun showClose() { + action.invoke(type_show_close) + } + + }) + readyAd.show(activity) + } else { + action.invoke(type_no_cache) + + } + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/back_background.xml b/app/src/main/res/drawable/back_background.xml new file mode 100644 index 0000000..87bf7e8 --- /dev/null +++ b/app/src/main/res/drawable/back_background.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/app/src/main/res/drawable/download.xml b/app/src/main/res/drawable/download.xml new file mode 100644 index 0000000..083a1f2 --- /dev/null +++ b/app/src/main/res/drawable/download.xml @@ -0,0 +1,27 @@ + + + + + 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..07d5da9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/image_background.xml b/app/src/main/res/drawable/image_background.xml new file mode 100644 index 0000000..f35b01f --- /dev/null +++ b/app/src/main/res/drawable/image_background.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/like_background.xml b/app/src/main/res/drawable/like_background.xml new file mode 100644 index 0000000..e19cbb1 --- /dev/null +++ b/app/src/main/res/drawable/like_background.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/select_like.xml b/app/src/main/res/drawable/select_like.xml new file mode 100644 index 0000000..9e10ffe --- /dev/null +++ b/app/src/main/res/drawable/select_like.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/selector_like.xml b/app/src/main/res/drawable/selector_like.xml new file mode 100644 index 0000000..b48ac91 --- /dev/null +++ b/app/src/main/res/drawable/selector_like.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/set_wall.xml b/app/src/main/res/drawable/set_wall.xml new file mode 100644 index 0000000..244d90c --- /dev/null +++ b/app/src/main/res/drawable/set_wall.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/share.xml b/app/src/main/res/drawable/share.xml new file mode 100644 index 0000000..3e44158 --- /dev/null +++ b/app/src/main/res/drawable/share.xml @@ -0,0 +1,18 @@ + + + + + + diff --git a/app/src/main/res/drawable/table_bg.xml b/app/src/main/res/drawable/table_bg.xml new file mode 100644 index 0000000..da9ef45 --- /dev/null +++ b/app/src/main/res/drawable/table_bg.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/text_background.xml b/app/src/main/res/drawable/text_background.xml new file mode 100644 index 0000000..e5a764b --- /dev/null +++ b/app/src/main/res/drawable/text_background.xml @@ -0,0 +1,18 @@ + + + + + + diff --git a/app/src/main/res/drawable/unselect_like.xml b/app/src/main/res/drawable/unselect_like.xml new file mode 100644 index 0000000..4af6835 --- /dev/null +++ b/app/src/main/res/drawable/unselect_like.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/activity_into.xml b/app/src/main/res/layout/activity_into.xml new file mode 100644 index 0000000..078ab9a --- /dev/null +++ b/app/src/main/res/layout/activity_into.xml @@ -0,0 +1,36 @@ + + + + + + + + + + \ No newline at end of file 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..2109232 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_pretty_category_list.xml b/app/src/main/res/layout/activity_pretty_category_list.xml new file mode 100644 index 0000000..2d00ab6 --- /dev/null +++ b/app/src/main/res/layout/activity_pretty_category_list.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_pretty_paper.xml b/app/src/main/res/layout/activity_pretty_paper.xml new file mode 100644 index 0000000..e999290 --- /dev/null +++ b/app/src/main/res/layout/activity_pretty_paper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml new file mode 100644 index 0000000..69f0d77 --- /dev/null +++ b/app/src/main/res/layout/fragment_home.xml @@ -0,0 +1,24 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_like.xml b/app/src/main/res/layout/fragment_like.xml new file mode 100644 index 0000000..86497cc --- /dev/null +++ b/app/src/main/res/layout/fragment_like.xml @@ -0,0 +1,25 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/like_recycle.xml b/app/src/main/res/layout/like_recycle.xml new file mode 100644 index 0000000..cc7d3c2 --- /dev/null +++ b/app/src/main/res/layout/like_recycle.xml @@ -0,0 +1,29 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/name_list_recycle.xml b/app/src/main/res/layout/name_list_recycle.xml new file mode 100644 index 0000000..d14f54a --- /dev/null +++ b/app/src/main/res/layout/name_list_recycle.xml @@ -0,0 +1,12 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/pretty_category_image.xml b/app/src/main/res/layout/pretty_category_image.xml new file mode 100644 index 0000000..298c5d8 --- /dev/null +++ b/app/src/main/res/layout/pretty_category_image.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/recyclerview_pretty.xml b/app/src/main/res/layout/recyclerview_pretty.xml new file mode 100644 index 0000000..9c85442 --- /dev/null +++ b/app/src/main/res/layout/recyclerview_pretty.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + 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..6f3b755 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ 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..6f3b755 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/back.png b/app/src/main/res/mipmap-hdpi/back.png new file mode 100644 index 0000000..92438ac Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/back.png differ diff --git a/app/src/main/res/mipmap-hdpi/hand.png b/app/src/main/res/mipmap-hdpi/hand.png new file mode 100644 index 0000000..1b49735 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/hand.png differ 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..c209e78 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_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000..b2dfe3d 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-hdpi/main_background.png b/app/src/main/res/mipmap-hdpi/main_background.png new file mode 100644 index 0000000..d8054b1 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/main_background.png differ diff --git a/app/src/main/res/mipmap-hdpi/pre_back.png b/app/src/main/res/mipmap-hdpi/pre_back.png new file mode 100644 index 0000000..e2b5f64 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/pre_back.png differ diff --git a/app/src/main/res/mipmap-hdpi/pretty_logo.png b/app/src/main/res/mipmap-hdpi/pretty_logo.png new file mode 100644 index 0000000..056f201 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/pretty_logo.png differ diff --git a/app/src/main/res/mipmap-hdpi/sit.png b/app/src/main/res/mipmap-hdpi/sit.png new file mode 100644 index 0000000..5224e9e Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/sit.png differ diff --git a/app/src/main/res/mipmap-hdpi/unlike.png b/app/src/main/res/mipmap-hdpi/unlike.png new file mode 100644 index 0000000..2be5093 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/unlike.png 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..4f0f1d6 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_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000..62b611d 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..948a307 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_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..1b9a695 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..28d4b77 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_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..9287f50 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..aa7d642 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_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..9126ae3 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..8881dc5 --- /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..27c516c --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,9 @@ + + + #FF000000 + #FFFFFF + #ECF6FF + #5B8BED + #415E9A + #91ABDF + \ 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..5eea054 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,16 @@ + + Pretty Wallpapers + See all + The beauty of minimalism at your fingertips—Minimalist Wallpaper Master, bringing elegance to your screen + + Hello blank fragment + Home + Like + Likes have been added + Likes have been canceled + Sorry,There was a problem setting the wallpaper + Successfully! Set success! + Setting wallpaper, please wait + The save was successful + Sorry,Save failed + \ 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..af3e10d --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/backup_rules.xml b/app/src/main/res/xml/backup_rules.xml new file mode 100644 index 0000000..fa0f996 --- /dev/null +++ b/app/src/main/res/xml/backup_rules.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/data_extraction_rules.xml b/app/src/main/res/xml/data_extraction_rules.xml new file mode 100644 index 0000000..9ee9997 --- /dev/null +++ b/app/src/main/res/xml/data_extraction_rules.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/test/java/com/example/prettywallpapers/ExampleUnitTest.java b/app/src/test/java/com/example/prettywallpapers/ExampleUnitTest.java new file mode 100644 index 0000000..cf56200 --- /dev/null +++ b/app/src/test/java/com/example/prettywallpapers/ExampleUnitTest.java @@ -0,0 +1,17 @@ +package com.example.prettywallpapers; + +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see Testing documentation + */ +public class ExampleUnitTest { + @Test + public void addition_isCorrect() { + assertEquals(4, 2 + 2); + } +} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..a04e5ba --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,5 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +plugins { + alias(libs.plugins.android.application) apply false + id("org.jetbrains.kotlin.android") version "1.9.0" apply false +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..4387edc --- /dev/null +++ b/gradle.properties @@ -0,0 +1,21 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. For more details, visit +# https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Enables namespacing of each library's R class so that its R class includes only the +# resources declared in the library itself and none from the library's dependencies, +# thereby reducing the size of the R class for that library +android.nonTransitiveRClass=true \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..16d6c35 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,22 @@ +[versions] +agp = "8.4.0" +junit = "4.13.2" +junitVersion = "1.2.1" +espressoCore = "3.6.1" +appcompat = "1.7.0" +material = "1.12.0" +activity = "1.9.0" +constraintlayout = "2.1.4" + +[libraries] +junit = { group = "junit", name = "junit", version.ref = "junit" } +ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" } +espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" } +appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } +material = { group = "com.google.android.material", name = "material", version.ref = "material" } +activity = { group = "androidx.activity", name = "activity", version.ref = "activity" } +constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } + +[plugins] +android-application = { id = "com.android.application", version.ref = "agp" } + diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..e708b1c Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..3c85b6b --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri Jul 05 10:36:19 CST 2024 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..4f906e0 --- /dev/null +++ b/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/info b/info new file mode 100644 index 0000000..08c5e23 --- /dev/null +++ b/info @@ -0,0 +1,5 @@ +包名:com.example.pretty.wallpapers.selection +应用名:Pretty WallPapers +签名文件:PrettyWallPapers.jks +别名:PrettyWallPaperskey0 +密码:PrettyWallPapers \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..0fda826 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,37 @@ +pluginManagement { + repositories { + google { + content { + includeGroupByRegex("com\\.android.*") + includeGroupByRegex("com\\.google.*") + includeGroupByRegex("androidx.*") + } + } + mavenCentral() + gradlePluginPortal() + } +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + maven("https://jitpack.io") + //Anythink(Core) + maven("https://jfrog.anythinktech.com/artifactory/overseas_sdk") + //Ironsource + maven("https://android-sdk.is.com/") + //Mintegral + maven("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") + //Pangle + maven ( "https://artifact.bytedance.com/repository/pangle") + + //TopOn集成测试工具 +// maven ( "https://jfrog.anythinktech.com/artifactory/debugger") + + } +} + +rootProject.name = "Pretty WallPapers" +include(":app") + \ No newline at end of file