From 99588c120e49c5ece9227fec51fd3204e6ef2846 Mon Sep 17 00:00:00 2001 From: lihongwei Date: Tue, 11 Mar 2025 14:20:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E4=BB=93=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 15 + app/.gitignore | 1 + app/build.gradle.kts | 64 + app/proguard-rules.pro | 35 + .../ExampleInstrumentedTest.java | 26 + app/src/main/AndroidManifest.xml | 52 + app/src/main/assets/Explore.json | 4866 +++++++++++++++++ app/src/main/assets/Shift.json | 1047 ++++ app/src/main/assets/trending.json | 4832 ++++++++++++++++ .../live/flowlivewallpaper/MyApplication.java | 60 + .../data/dao/FlowEntityDao.java | 35 + .../data/database/AppDatabase.java | 32 + .../data/entity/FlowEntity.java | 134 + .../data/repository/FlowRepository.java | 49 + .../service/LiveService.java | 98 + .../ui/activity/LiveActivity.java | 165 + .../ui/activity/MainActivity.java | 138 + .../ui/activity/SplashActivity.java | 74 + .../ui/adapter/FlowAdapter.java | 118 + .../ui/adapter/MainAdapter.java | 29 + .../ui/fragment/ExploreFragment.java | 69 + .../ui/fragment/FavoriteFragment.java | 74 + .../ui/fragment/ShiftFragment.java | 69 + .../ui/fragment/TrendingFragment.java | 70 + .../ui/viewmodel/FlowViewModel.java | 48 + .../util/ItemDecoration.java | 74 + .../live/flowlivewallpaper/util/JsonUtil.java | 65 + .../util/WallpaperDownloader.java | 110 + .../drawable-v24/ic_launcher_foreground.xml | 30 + app/src/main/res/drawable/back.xml | 9 + app/src/main/res/drawable/dislike.xml | 9 + app/src/main/res/drawable/explore.xml | 9 + app/src/main/res/drawable/favorite.xml | 9 + .../res/drawable/ic_launcher_background.xml | 170 + app/src/main/res/drawable/like.xml | 9 + .../drawable/rounded_rectangle_gradient.xml | 9 + app/src/main/res/drawable/seek_bar_color.xml | 30 + app/src/main/res/drawable/shift.xml | 9 + app/src/main/res/drawable/trending.xml | 9 + app/src/main/res/drawable/un_explore.xml | 9 + app/src/main/res/drawable/un_favorite.xml | 9 + app/src/main/res/drawable/un_shift.xml | 9 + app/src/main/res/drawable/un_trending.xml | 9 + app/src/main/res/layout/activity_live.xml | 81 + app/src/main/res/layout/activity_main.xml | 28 + app/src/main/res/layout/activity_splash.xml | 48 + app/src/main/res/layout/fragment_explore.xml | 17 + app/src/main/res/layout/fragment_favorite.xml | 29 + app/src/main/res/layout/fragment_shift.xml | 17 + app/src/main/res/layout/fragment_trending.xml | 17 + app/src/main/res/layout/item_flow.xml | 22 + app/src/main/res/layout/main_tab_custom.xml | 31 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4256 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes app/src/main/res/mipmap-hdpi/placeholder.png | Bin 0 -> 48406 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2578 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 5582 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 9032 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 12753 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes app/src/main/res/values-night/themes.xml | 7 + app/src/main/res/values/colors.xml | 6 + app/src/main/res/values/strings.xml | 6 + app/src/main/res/values/themes.xml | 9 + app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 + app/src/main/res/xml/live.xml | 5 + .../flowlivewallpaper/ExampleUnitTest.java | 17 + build.gradle.kts | 4 + gradle.properties | 21 + gradle/libs.versions.toml | 22 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 185 + gradlew.bat | 89 + keystore.properties | 6 + settings.gradle.kts | 24 + 81 files changed, 13522 insertions(+) create mode 100644 .gitignore create mode 100644 app/.gitignore create mode 100644 app/build.gradle.kts create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/live/flowlivewallpaper/ExampleInstrumentedTest.java create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/assets/Explore.json create mode 100644 app/src/main/assets/Shift.json create mode 100644 app/src/main/assets/trending.json create mode 100644 app/src/main/java/com/live/flowlivewallpaper/MyApplication.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/data/dao/FlowEntityDao.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/data/database/AppDatabase.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/data/entity/FlowEntity.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/data/repository/FlowRepository.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/service/LiveService.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/ui/activity/LiveActivity.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/ui/activity/MainActivity.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/ui/activity/SplashActivity.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/ui/adapter/FlowAdapter.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/ui/adapter/MainAdapter.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/ui/fragment/ExploreFragment.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/ui/fragment/FavoriteFragment.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/ui/fragment/ShiftFragment.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/ui/fragment/TrendingFragment.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/ui/viewmodel/FlowViewModel.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/util/ItemDecoration.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/util/JsonUtil.java create mode 100644 app/src/main/java/com/live/flowlivewallpaper/util/WallpaperDownloader.java create mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/back.xml create mode 100644 app/src/main/res/drawable/dislike.xml create mode 100644 app/src/main/res/drawable/explore.xml create mode 100644 app/src/main/res/drawable/favorite.xml create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/drawable/like.xml create mode 100644 app/src/main/res/drawable/rounded_rectangle_gradient.xml create mode 100644 app/src/main/res/drawable/seek_bar_color.xml create mode 100644 app/src/main/res/drawable/shift.xml create mode 100644 app/src/main/res/drawable/trending.xml create mode 100644 app/src/main/res/drawable/un_explore.xml create mode 100644 app/src/main/res/drawable/un_favorite.xml create mode 100644 app/src/main/res/drawable/un_shift.xml create mode 100644 app/src/main/res/drawable/un_trending.xml create mode 100644 app/src/main/res/layout/activity_live.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/activity_splash.xml create mode 100644 app/src/main/res/layout/fragment_explore.xml create mode 100644 app/src/main/res/layout/fragment_favorite.xml create mode 100644 app/src/main/res/layout/fragment_shift.xml create mode 100644 app/src/main/res/layout/fragment_trending.xml create mode 100644 app/src/main/res/layout/item_flow.xml create mode 100644 app/src/main/res/layout/main_tab_custom.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-hdpi/placeholder.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/main/res/xml/backup_rules.xml create mode 100644 app/src/main/res/xml/data_extraction_rules.xml create mode 100644 app/src/main/res/xml/live.xml create mode 100644 app/src/test/java/com/live/flowlivewallpaper/ExampleUnitTest.java create mode 100644 build.gradle.kts create mode 100644 gradle.properties create mode 100644 gradle/libs.versions.toml create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 keystore.properties create mode 100644 settings.gradle.kts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..19fe0ce --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,64 @@ +import java.text.SimpleDateFormat +import java.util.Date + +plugins { + alias(libs.plugins.android.application) +} +val timestamp: String = SimpleDateFormat("MM_dd_HH_mm").format(Date()) +android { + namespace = "com.live.flowlivewallpaper" + compileSdk = 35 + + defaultConfig { + applicationId = "com.live.flowlivewallpaper" + minSdk = 23 + targetSdk = 34 + versionCode = 1 + versionName = "1.0.0" + setProperty( + "archivesBaseName", + "Flow Live Wallpaper_V" + versionName + "(${versionCode})_$timestamp" + ) + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildFeatures { + viewBinding = true + } + + buildTypes { + release { + isMinifyEnabled = true + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} + +dependencies { + + implementation(libs.appcompat) + implementation(libs.material) + implementation(libs.activity) + implementation(libs.constraintlayout) + testImplementation(libs.junit) + androidTestImplementation(libs.ext.junit) + androidTestImplementation(libs.espresso.core) + + implementation("com.github.bumptech.glide:glide:4.16.0") + annotationProcessor("com.github.bumptech.glide:compiler:4.16.0") + + implementation ("androidx.room:room-runtime:2.6.1") + annotationProcessor ("androidx.room:room-compiler:2.6.1") + + implementation ("com.squareup.okhttp3:okhttp:4.12.0") + + implementation ("com.google.android.exoplayer:exoplayer:2.19.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..959adc5 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,35 @@ +# 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 + + +-keepclassmembers class com.live.flowlivewallpaper.MyApplication { + public static final java.lang.String DB_NAME; + public static final int DB_VERSION; +} + +-keepclassmembers class * { + @androidx.room.Query ; +} + +-keep class com.live.flowlivewallpaper.data.database.AppDatabase { *; } +-keep class com.live.flowlivewallpaper.data.entity.FlowEntity { *; } +-keep class com.live.flowlivewallpaper.data.dao.FlowEntityDao { *; } \ No newline at end of file diff --git a/app/src/androidTest/java/com/live/flowlivewallpaper/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/live/flowlivewallpaper/ExampleInstrumentedTest.java new file mode 100644 index 0000000..3a28978 --- /dev/null +++ b/app/src/androidTest/java/com/live/flowlivewallpaper/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.live.flowlivewallpaper; + +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.live.flowlivewallpaper", 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..c590ce6 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/Explore.json b/app/src/main/assets/Explore.json new file mode 100644 index 0000000..395806a --- /dev/null +++ b/app/src/main/assets/Explore.json @@ -0,0 +1,4866 @@ +[ + { + "category": "Landscape", + "description": "Bridge through the mist 🌳", + "downloads": "6774", + "id": 645, + "image": "nFAQaw0h", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1723108025-forest waterfalls_2k.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Pinging for the enemies 🪖", + "downloads": "6701", + "id": 644, + "image": "FJLr4j6T", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1723108060-radar_2k.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "Charting the unknown one map at a time 🧭", + "downloads": "18324", + "id": 509, + "image": "Q0igIXVA", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1700978539-compass.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Gentle breezes and the turning of blades 🍃", + "downloads": "8983", + "id": 508, + "image": "ysKJIc51", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1700978311-windmill valley.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Decked boat dancing on ripples 🛶", + "downloads": "13654", + "id": 504, + "image": "OrfjM83b", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1700211939-boatreflection2k.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Dream it do it 🦄", + "downloads": "12236", + "id": 503, + "image": "oGkTW15v", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1700212340-dream.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Eternal hues dance in the void\u0027s embrace 🎗️", + "downloads": "32127", + "id": 501, + "image": "AH5k0P6g", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1699344949-gradstroke_2k.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Every petal tells a story 🌸", + "downloads": "13810", + "id": 500, + "image": "rNv4fW6u", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1699344917-flowerbranch_2k.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Nostalgia meets sound 🎶", + "downloads": "15172", + "id": 498, + "image": "n9VhFq3s", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1698050834-twoshaderecordplayer2k.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Neon tunnel ⚡", + "downloads": "14192", + "id": 497, + "image": "kVy928fx", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1698050818-room2K.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "Stay on target 💫🛸", + "downloads": "20936", + "id": 496, + "image": "CoeM1An7", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1697521561-starfighter starwars_2k.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Lost in luminescence 🟩", + "downloads": "16625", + "id": 495, + "image": "mC6WLnhq", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1697521556-cyberally_2k.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Colors in a mesmerizing dance 🎨", + "downloads": "17455", + "id": 483, + "image": "4DHhiegM", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1696497611-gradlines2k.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Life a flying plane with ever changing backdrop colors ✈️", + "downloads": "11865", + "id": 481, + "image": "P8S2Gopf", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1696496990-planeexpand2K.png", + "wallpapertype": 3 + }, + { + "category": "Superheroes", + "description": "This looks like a job for Superman 💪", + "downloads": "10963", + "id": 640, + "image": "EfkJFC2q", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1722262750-suoerman2k.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Gamer Zone ", + "downloads": "5937", + "id": 639, + "image": "jeavPVlk", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1722262736-gameover2k.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Neon Tunnel ⚡", + "downloads": "15158", + "id": 635, + "image": "hCUj7aN6", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1721293058-tunetunnel_2k0001-0300.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Gradient Hue 🔴", + "downloads": "6912", + "id": 634, + "image": "5LFc76e2", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1721293053-gradient timerlinear_2k.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Analog warmth in a digital world 🎧", + "downloads": "8204", + "id": 623, + "image": "miEeOcTs", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1720429273-recordplayer2K.png", + "wallpapertype": 3 + }, + { + "category": "Retro", + "description": "Good old days 💻", + "downloads": "14702", + "id": 622, + "image": "N9KsFl3O", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1720429136-windowsxp2K.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Be calm as koi 🐟", + "downloads": "9404", + "id": 618, + "image": "BeIJvh3T", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1719476480-koi fish.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Edge lighting 🌈", + "downloads": "11309", + "id": 617, + "image": "3MqLDHgV", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1719476474-rgb frame.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Rise against the wind 🪁", + "downloads": "11620", + "id": 613, + "image": "Rw3mt7SW", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1718609085-kitevalley2K.png", + "wallpapertype": 3 + }, + { + "category": "Retro", + "description": "An inviting friend 🐈", + "downloads": "5581", + "id": 612, + "image": "3ToUh4n5", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1718609070-cattable2K.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "The Glitch", + "downloads": "5416", + "id": 608, + "image": "IQ432Vmq", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1717667347-cubes2kmain0001-0350.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Pencil Pen and Rubber", + "downloads": "13328", + "id": 607, + "image": "BIZVzLhf", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1717667297-computerportal2k.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "Peanuts Snoopy ✈️", + "downloads": "21721", + "id": 479, + "image": "9X65KbOj", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1695799095-snoopy.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Sponge loops 🧽", + "downloads": "9122", + "id": 478, + "image": "vWLsGClJ", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1695799085-gradienttube_2k.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Desert nights where stars write their own stories 🌵", + "downloads": "17040", + "id": 476, + "image": "3T8jLvog", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1695198738-pyramid star gaze.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Life\u0027s like a rolling ball on a track full of twists and turns ", + "downloads": "8669", + "id": 475, + "image": "D1NMe3so", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1695198716-rolling ball2K.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "When in doubt nap it out - Snorlax\u0027s motto 💤", + "downloads": "23170", + "id": 473, + "image": "kDPZBVYW", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1694594155-snorlax.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Enter the neon-lit future where beats and bytes collide ⚡", + "downloads": "14665", + "id": 472, + "image": "7t3pUOLY", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1694590930-retrodot_2k.png", + "wallpapertype": 3 + }, + { + "category": "Gaming", + "description": "Mario time 💥", + "downloads": "18024", + "id": 470, + "image": "0hzyAtom", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1694076946-supermario2K.png", + "wallpapertype": 3 + }, + { + "category": "Space", + "description": "Imagination is the limit 🧑🏻‍🚀🎈", + "downloads": "28778", + "id": 469, + "image": "0DaVbFgs", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1694076934-flying astronaut.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Melodic Vibrating Wires 🎸", + "downloads": "11127", + "id": 467, + "image": "oVmTNSUe", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1693380422-guitar.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Wind\u0027s Caress 🌼", + "downloads": "6041", + "id": 466, + "image": "XAYWrv2H", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1693380406-flower.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Sunlit meadows 🌲", + "downloads": "18514", + "id": 464, + "image": "1bjIgeUr", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1692776611-vectorbirdscenery.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Quantum engine ⚡", + "downloads": "18174", + "id": 463, + "image": "LCYPha4j", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1692776605-cubeneon.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Magical Forest 🌙", + "downloads": "10444", + "id": 603, + "image": "3ZRN94cV", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1716827412-forestbrook2K.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Curved glass ✨", + "downloads": "14164", + "id": 602, + "image": "bnSzZRO0", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1716799592-rainbow_2k0001-0200.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "A feline farewell to daylight ☀️🐈", + "downloads": "12906", + "id": 598, + "image": "V7m6i1fw", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1715848167-cat_2k.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Embracing the subtle artistry of shades 🟠🟡🟢🔵", + "downloads": "7843", + "id": 597, + "image": "GnYQwXOT", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1715848159-halfcircle_2k.png", + "wallpapertype": 3 + }, + { + "category": "Space", + "description": "Star gazing 💫", + "downloads": "13899", + "id": 593, + "image": "fN82DWoX", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1714984090-star gazing astronaut.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Through the window night whispers its secrets 🪟", + "downloads": "31153", + "id": 592, + "image": "x1sAjaXT", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1714984080-outside window view.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "EVE 💓", + "downloads": "22127", + "id": 588, + "image": "IgLHh1Sk", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1714060538-eve_2K.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Propelling the colors 🌈", + "downloads": "10949", + "id": 587, + "image": "lhvpF8Rx", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1714060447-propeller_2K.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Never ending ☀️", + "downloads": "21092", + "id": 583, + "image": "rbA5MsC2", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1713257200-retro sun rally.png", + "wallpapertype": 3 + }, + { + "category": "Retro", + "description": "Switch of an era 🎶", + "downloads": "21591", + "id": 582, + "image": "YKog49vH", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1713257189-ipod_2k.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "Soul of the street painted in rain drops", + "downloads": "12640", + "id": 578, + "image": "2qtG1ZMH", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1712388148-rainingsidewalk2k.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Circles shift into places", + "downloads": "7883", + "id": 577, + "image": "rekDpLvG", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1712388120-move2k.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Fourfold Path", + "downloads": "8218", + "id": 461, + "image": "VKy4mqPT", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1692167442-jlines2k.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Red Radiance ⭕", + "downloads": "19172", + "id": 460, + "image": "D0ZKbEIl", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1692167428-energyfield2k.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Apple \u0027s Hello 👋🏻", + "downloads": "19110", + "id": 458, + "image": "HumJo4BE", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1691565388-hello2k.png", + "wallpapertype": 3 + }, + { + "category": "Retro", + "description": "Evening in the garage 🔧", + "downloads": "32082", + "id": 457, + "image": "irEbHd9Y", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1691565326-street2k.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "Hiding in the shadows 🦇 Waiting to strike ⚡", + "downloads": "23746", + "id": 455, + "image": "wfUACS1t", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1690956632-batcave_2k.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Lines of music 🎸", + "downloads": "10193", + "id": 454, + "image": "fayjwWkG", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1690956236-two shade record player_2k.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Sliding cards 🎴", + "downloads": "11580", + "id": 452, + "image": "QncwPgzG", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1690361489-jumping_shade_2k.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Thunder ⚡", + "downloads": "31019", + "id": 451, + "image": "iBepAVKk", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1690361455-lightning2K.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "A captivating view that holds our gaze refusing to let go 🏞️", + "downloads": "10129", + "id": 449, + "image": "akJXn52S", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1689839410-cloudvalley2K.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Swirling into the hearts ➰", + "downloads": "20209", + "id": 448, + "image": "NWjAcdlJ", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1689838759-gradientloop2K.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Keep smiling until it\u0027s clear 📷", + "downloads": "13533", + "id": 446, + "image": "7iG4Usoh", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "camerafocus2k7676.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "The pop waves 🌊", + "downloads": "20111", + "id": 445, + "image": "WgRq68CP", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1689149442-waves.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "Itachi Uchiha 🔥", + "downloads": "47419", + "id": 573, + "image": "EuWIeJiO", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1711352204-itachi_moon_2K.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Rise and grind 🍵", + "downloads": "17604", + "id": 572, + "image": "JOuItFm3", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1711352182-coffee_cup_2K.png", + "wallpapertype": 3 + }, + { + "category": "Retro", + "description": "Record Play Repeat 🎤", + "downloads": "14541", + "id": 568, + "image": "69vNVpUj", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1710404402-TeenageEngineering2K.png", + "wallpapertype": 3 + }, + { + "category": "Miscellaneous", + "description": "Pop out Pop in ⚽", + "downloads": "16221", + "id": 567, + "image": "TZUgQRtJ", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1710404359-cylinderballs2k.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "Welcome to Arrakis ☀️", + "downloads": "17919", + "id": 563, + "image": "m31EhtRz", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1709535876-dune0001-0045.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Glimpse of parallel world 🌍", + "downloads": "18688", + "id": 562, + "image": "oVLnApSP", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1709535857-4 layer land.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Pulses to infinity ♾️", + "downloads": "17887", + "id": 558, + "image": "B2mpiW7j", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1708590245-lineexpand360.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Melting into the backdrops🔵", + "downloads": "13878", + "id": 557, + "image": "L3dv7UKW", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1708590234-layerlava.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "They glow 🌙", + "downloads": "19554", + "id": 552, + "image": "CkdnroBR", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1707727905-firefilebottle.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Harnessing the power ⚛️", + "downloads": "16133", + "id": 551, + "image": "DrNBnY6z", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1707727879-spherical2K.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Still a long way to go 🚶🏻‍♀️", + "downloads": "11983", + "id": 547, + "image": "JTL6lDty", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1706956207-long way_2k.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Atoms surfed the waves of fun ⚛️", + "downloads": "16729", + "id": 546, + "image": "JaRcbEiC", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1706956200-wavedots_2k.png", + "wallpapertype": 3 + }, + { + "category": "Space", + "description": "There\u0027s a way out 🌌", + "downloads": "40456", + "id": 443, + "image": "dgHwYSLM", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1688456077-bk2k.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Rising blocks 🧱", + "downloads": "8798", + "id": 442, + "image": "rjLqdbJn", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1688456022-risingBlocks2K.png", + "wallpapertype": 3 + }, + { + "category": "Travel", + "description": "As the landscape unfolds outside the window 🚊", + "downloads": "14730", + "id": 440, + "image": "mqMsnKui", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1687675294-train doorwindow2k.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Fusion 🌀", + "downloads": "11282", + "id": 439, + "image": "KAVzISrB", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1687675278-test2k.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Era of gamers 🎮", + "downloads": "14820", + "id": 437, + "image": "bVjyp4hr", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1686986248-tv2k.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Flowing qubits 💡", + "downloads": "11363", + "id": 436, + "image": "72WQsAgc", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1686986110-dotlayer2k.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Sky shows the way ✨", + "downloads": "13406", + "id": 434, + "image": "Qirg9kAw", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1686295557-lighthouse2k.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "stripes 🔻", + "downloads": "18209", + "id": 433, + "image": "1FACemca", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1686295552-steplines2k.png", + "wallpapertype": 3 + }, + { + "category": "Gaming", + "description": "Childhood memories 🕹️", + "downloads": "19855", + "id": 431, + "image": "jDKXMEw2", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1685514859-gameboy_2k.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Catch the toast 🍞", + "downloads": "5430", + "id": 430, + "image": "U0FJ38hC", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1685514843-bread toaster_2k.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "Beauty of late night snow ☃️", + "downloads": "27034", + "id": 428, + "image": "CA95YeWL", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1684743860-streetlight_2k.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Popping pops 🎉", + "downloads": "9486", + "id": 427, + "image": "xoP63fkn", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1684743824-stringingcolour_2k.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "House\u0027s like a step 🪜", + "downloads": "6960", + "id": 542, + "image": "5Zv1adoC", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1705999571-merge houses.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Loops like domino ♦️", + "downloads": "17721", + "id": 541, + "image": "QMpWG2bY", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1705999547-morf lines.png", + "wallpapertype": 3 + }, + { + "category": "Space", + "description": "Spaceship on a joy ride 🚀", + "downloads": "12519", + "id": 537, + "image": "mMaCO5Dp", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1704961330-vector planet.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "A sunny beach day 🏖️", + "downloads": "9754", + "id": 536, + "image": "cnyDCeda", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1704961259-beach guard.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Happy New Year 🎆", + "downloads": "4631", + "id": 532, + "image": "PhMH24dz", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1704208922-happynewyear_2k.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Quack quack 🦆", + "downloads": "23614", + "id": 531, + "image": "blzMJ4Ip", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1704208911-duck_2k.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Cubes Glide on Breeze 🟨", + "downloads": "9265", + "id": 528, + "image": "PpxmrE8C", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1703667173-cube cylinder_2k.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Winter\u0027s Silent Whispers ☃️", + "downloads": "4833", + "id": 527, + "image": "MA8NXHL7", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1703667129-snow globe.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Retro vibes ⚡", + "downloads": "16840", + "id": 523, + "image": "LyfTNpZr", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1702654981-neon_lines_2k.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Seaside bliss framed in sunlight 🌊", + "downloads": "14632", + "id": 522, + "image": "xXNtEKmv", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1702654961-horizontal_landscape_2k.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Winter embrace with snowflakes as delicate as whispered dreams ❄️☃️", + "downloads": "10265", + "id": 513, + "image": "NMmZzpDI", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1701677478-colourful snowfall.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "A tapestry of seamless blending 🟥🟧🟨", + "downloads": "7989", + "id": 512, + "image": "bJs7kS5q", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1701677467-square expanition flip.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Planets doing its job 🌍", + "downloads": "16227", + "id": 425, + "image": "kifBrWvn", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1684046356-solar_system_orange_2k.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Dancing with the flow 🙄", + "downloads": "26572", + "id": 424, + "image": "P1h65qJA", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1684046241-red_black_2k_vbr2.png", + "wallpapertype": 3 + }, + { + "category": "Space", + "description": "Vroooom 🚀", + "downloads": "26702", + "id": 422, + "image": "9mWULPBx", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1683189916-rocket.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Nearing the end of day ⛵", + "downloads": "15541", + "id": 421, + "image": "GqeN0UxH", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1683189872-boatshadow_2k.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Trapped in unknown 💢 ", + "downloads": "13065", + "id": 419, + "image": "Qrvs6PAb", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "lineneon.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Fading ghost 👻", + "downloads": "29733", + "id": 418, + "image": "yiYvJB7c", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1682493720-movingghost_2k.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "A rainy night ☔", + "downloads": "68431", + "id": 416, + "image": "ZcCYk74p", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1681804057-rainingstreet.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Mirror reality 😎", + "downloads": "7271", + "id": 415, + "image": "rgALv9TE", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1681804030-flip.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Make a wish 💫", + "downloads": "31631", + "id": 413, + "image": "v48jd1uq", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1681201758-mountainskyview.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Frames of reality 🔮", + "downloads": "15110", + "id": 412, + "image": "XJK8uRe4", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1681201744-frame2k.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Linking links 🔗", + "downloads": "8785", + "id": 410, + "image": "0ugr2XTF", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1680509340-rubber.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "Cruising through the street 🚗", + "downloads": "19331", + "id": 409, + "image": "CegovyQJ", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1680509310-neoncity.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "I can wiggle wiggle 🌻🌵", + "downloads": "10645", + "id": 407, + "image": "4TERVbsO", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1679896707-cactus.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Silky waves 🌊", + "downloads": "16259", + "id": 406, + "image": "KG3R7iX4", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1679896671-waves.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Best part of the day - Evening 🌆", + "downloads": "9277", + "id": 403, + "image": "sMcSilt2", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1679204730-sunlightreflectionvbr1.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Expanding bubbles 🎈", + "downloads": "7193", + "id": 402, + "image": "OgYCR5WZ", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1679204714-bubble.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "You are already under my genjutsu 🥷🏻", + "downloads": "133342", + "id": 400, + "image": "I9rPTLMw", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1678429646-itachiuchiha.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Let it go 😉", + "downloads": "10826", + "id": 399, + "image": "okXRmlH7", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1678429628-letitgo.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Glitch ⚡", + "downloads": "9707", + "id": 397, + "image": "gvJl2drZ", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1677823065-synth.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Looping trios 😎", + "downloads": "6160", + "id": 396, + "image": "67SLDahN", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1677822985-twotripattern.png", + "wallpapertype": 3 + }, + { + "category": "Gaming", + "description": "Fallen hero 😃", + "downloads": "28919", + "id": 394, + "image": "D4dkOoLq", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1677218914-among us_2k.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Sailing the evening wind ⛵", + "downloads": "10105", + "id": 393, + "image": "oKUqdwa1", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1677218894-lighthouse boat.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Flying above the grass 🍃", + "downloads": "8682", + "id": 390, + "image": "HcKWT93r", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1676443822-hotairballoon.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Waves within waves 😁", + "downloads": "18588", + "id": 389, + "image": "R84zOhsM", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1676443809-circlestripes2K.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Gentleness of evening wind 🍃", + "downloads": "13770", + "id": 387, + "image": "o28DawGu", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1675674075-tricutreevalley.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "With me comes the tail ✈️", + "downloads": "33202", + "id": 386, + "image": "bMOCTl9N", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1675674061-planetail.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Yin and yang ☯", + "downloads": "7919", + "id": 384, + "image": "DYWXTiLx", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1674890254-yinyang2K.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Pulse of energy ⚡", + "downloads": "9623", + "id": 383, + "image": "Nh1ofe8P", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1674890229-wave2k.png", + "wallpapertype": 3 + }, + { + "category": "Space", + "description": "Am I on the right planet 🧑🏻‍🚀", + "downloads": "29524", + "id": 381, + "image": "iQW8dSPH", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1674109405-Astrounaut on planet_2k.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Waves contained in a traingle 📐", + "downloads": "8373", + "id": 380, + "image": "kzDQR9JP", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1674109401-gradientframewave_2k.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Northern lights ☁", + "downloads": "20410", + "id": 378, + "image": "MDuYI51V", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1673154571-lines.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Neon drops 🌟", + "downloads": "19901", + "id": 377, + "image": "b1vrFOlV", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1673154563-raindrops.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Breathing cubes 🟩", + "downloads": "17639", + "id": 375, + "image": "YGXbzLM1", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1672397960-cubesmerge.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Sprint through cyber tunnel ⚡", + "downloads": "14289", + "id": 374, + "image": "HsjFeWJv", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1672397952-tunnel2K.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Window of time 🪟", + "downloads": "17742", + "id": 372, + "image": "oPxUq89D", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1671781199-frame.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Christmas time ❄️", + "downloads": "26055", + "id": 371, + "image": "59PsapVJ", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1671781190-lightsetchristmas_2k .png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "The seeds of the sacred tree 🍃", + "downloads": "21113", + "id": 369, + "image": "q7WLCVaM", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1670919451-avatar0601-1200.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Boo boo 👻", + "downloads": "23431", + "id": 368, + "image": "2G49hE5K", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1670919440-pixelghost2k.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Line that divides dimension 🔮", + "downloads": "8405", + "id": 367, + "image": "OseuYg9c", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1670574738-flipbubbles2k.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Ripples 🌊", + "downloads": "12342", + "id": 366, + "image": "fy6ijzpL", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1670574723-speaker2k.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Energy orb ⚡", + "downloads": "25517", + "id": 352, + "image": "OloNzAQy", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1669881138-scifireactor.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Messing around with lines 🌈", + "downloads": "13971", + "id": 351, + "image": "ktlWo6YM", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1669881134-lineplay.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "Glitch in the matrix 💾", + "downloads": "37534", + "id": 350, + "image": "p3u7Osyn", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1669615907-matrix.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Colourful memories of old school 📼", + "downloads": "32147", + "id": 349, + "image": "HVKo2fx5", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1669615899-cassetterainbow.png", + "wallpapertype": 3 + }, + { + "category": "Space", + "description": "In search for life 🚀", + "downloads": "15434", + "id": 347, + "image": "zRWeQaAj", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1669098076-exoplanet.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Streaks through the cracks 🔦", + "downloads": "42678", + "id": 346, + "image": "2YdFqCme", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1669098067-bleedinglight.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Looking for the prey 🦅", + "downloads": "17104", + "id": 344, + "image": "ILohYjwu", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1668584410-treesabove.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Ocean planet 😁", + "downloads": "32764", + "id": 343, + "image": "ToXANS7D", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1668584406-planetinocean.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Wind and flowers 🌷", + "downloads": "9931", + "id": 341, + "image": "9HPnwGeM", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1668151041-flowerfield.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Light bars ⚡", + "downloads": "10833", + "id": 340, + "image": "AOLH63u2", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1668151038-spectrum.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Up up and away ✈", + "downloads": "17367", + "id": 339, + "image": "sxVPWklG", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1667900451-planewindow.png", + "wallpapertype": 3 + }, + { + "category": "Pixel", + "description": "Torii ⛩", + "downloads": "17351", + "id": 338, + "image": "VYeXZAd4", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1667900441-japanesearch.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Pebble waves 🌌", + "downloads": "16096", + "id": 333, + "image": "f0tcegFG", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1667557680-chips.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Cornering stripes 🏁", + "downloads": "13463", + "id": 332, + "image": "jvMzuYBS", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1667557670-turninglines.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "A day in city 🏙", + "downloads": "11885", + "id": 329, + "image": "uHbALW25", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1667146134-planeabove.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Pew pew 😁", + "downloads": "15250", + "id": 328, + "image": "bKT7ZB8v", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1667146129-pewgun.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Simple as a flower 🌼", + "downloads": "7734", + "id": 327, + "image": "luVyJaZX", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1666766421-flowerpot.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "The dead shall raise 💀", + "downloads": "26938", + "id": 326, + "image": "YBsEl3bd", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1666766418-walkingskeleton.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Eat drink and be scary 🎃", + "downloads": "21949", + "id": 324, + "image": "UXmzNlDI", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1666457699-cementry330.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Wormhole 🚀", + "downloads": "19846", + "id": 323, + "image": "g3SMjGI8", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1666357791-looper51.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "Show me where is the enemy ", + "downloads": "44975", + "id": 322, + "image": "25QVbcyG", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1666073442-erenyeager.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "✖️⭕", + "downloads": "20094", + "id": 321, + "image": "kfISWXG6", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1666073451-glitchface.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Love for RGB ⌨️", + "downloads": "39426", + "id": 320, + "image": "5ZVq6Prd", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1665764837-keys50.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Travel through time ⏳", + "downloads": "23381", + "id": 319, + "image": "lzmt7owB", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1665764832-rgbfinal.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Are we in a simulation 🤔", + "downloads": "9950", + "id": 318, + "image": "FQNd2aKp", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1665474502-cybercity.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Splitting halves ⚛️", + "downloads": "3033", + "id": 317, + "image": "FxKsChSA", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1665474490-toggle3.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Countryside 🏕", + "downloads": "22600", + "id": 306, + "image": "Pl1uckY0", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1665245461-nightgrass1.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Trying to expand 🤔", + "downloads": "8120", + "id": 305, + "image": "e8p9NE2q", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1665245449-criclebreathe.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "Any technique is worthless before my eyes ⚔️", + "downloads": "113532", + "id": 303, + "image": "o8O5Zjg9", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1664871083-itachiuchiha2.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Stretch some candy 🍬", + "downloads": "16610", + "id": 302, + "image": "QqugVMzt", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1664871075-candy.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Air drops 🪂", + "downloads": "22613", + "id": 301, + "image": "Bdq0uYwg", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1664526005-forestairdrop.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Bouncers ⭕", + "downloads": "8236", + "id": 300, + "image": "2PXEkfjJ", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1664525996-twoshadeball.png", + "wallpapertype": 3 + }, + { + "category": "Pixel", + "description": "Festival vibe 🎆", + "downloads": "12369", + "id": 299, + "image": "cDJIejZY", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1664170966-pixelfireworks.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Swirl 🌀", + "downloads": "14260", + "id": 298, + "image": "NdU7By6V", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1664170950-spriallines.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Trains are beautiful 🚄", + "downloads": "13239", + "id": 297, + "image": "cskeY8Fx", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1663832513-bridgetrain.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Magic below the blocks 🪄", + "downloads": "12364", + "id": 296, + "image": "m3i5XUIA", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1663832509-risingneon.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Make it count ⏳", + "downloads": "14671", + "id": 295, + "image": "KEUARZqg", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1663568574-makeitcount3.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Just floating around 🌊", + "downloads": "13852", + "id": 294, + "image": "1UWTpG87", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1663568542-jellyfish1.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Gradient strings 🪡", + "downloads": "10977", + "id": 293, + "image": "NiCIf7nO", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1663217492-gradientline.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "Way back home 🪟", + "downloads": "7507", + "id": 292, + "image": "DEBxzG9u", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1663217494-window.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Ring Planet 🌌", + "downloads": "47734", + "id": 285, + "image": "FrinSg37", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1662879807-saturn1.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Kinda spooky 🦇", + "downloads": "26097", + "id": 284, + "image": "i6GlZz4g", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1662879788-spookyforest.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Disco floor 💃🏻", + "downloads": "10471", + "id": 283, + "image": "4tyKUwEl", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1662621794-discovibe.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Buzzing bees 🐝", + "downloads": "9126", + "id": 282, + "image": "JBg1PslY", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1662621769-beehive.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "Golden Gate Bridge 🌉", + "downloads": "14313", + "id": 281, + "image": "Aio6auR2", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1662355278-goldengatebridge.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "I solemnly swear that I am up to no good 🪄", + "downloads": "9892", + "id": 280, + "image": "q07B9wFL", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1662355270-footprint.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Above the clouds 🛩️", + "downloads": "16277", + "id": 279, + "image": "qYZW1Rv0", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1662008358-planeabovewater.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Halftone 🪄", + "downloads": "6331", + "id": 278, + "image": "4HyjqJlt", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1662008355-Dots.png", + "wallpapertype": 3 + }, + { + "category": "Pixel", + "description": "Pixel warmth 🔥", + "downloads": "13832", + "id": 277, + "image": "hyzI7Pk3", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1661751428-pixelcampfire.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Push and Pull 🥸", + "downloads": "5337", + "id": 276, + "image": "PiAKybTX", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1661751415-pushline.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Meow 🐈", + "downloads": "16366", + "id": 273, + "image": "i0E3UoF9", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1661490668-sleepingcat.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Crystal dimension 🤩", + "downloads": "17247", + "id": 272, + "image": "yCWtPghR", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1661490666-animation81.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Hilltop holidays 🖖🏻", + "downloads": "5709", + "id": 271, + "image": "bC9oJ78l", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1660751887-Hillhouse.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "The maze 🫣", + "downloads": "13626", + "id": 270, + "image": "eYlUWwG3", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1660751880-patternrgb.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "Winter night ☃", + "downloads": "55895", + "id": 269, + "image": "rT350txs", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1660723718-snowapartment.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Minimal waves 🌊", + "downloads": "8365", + "id": 268, + "image": "jxsMPnZO", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1660723701-abstractwaves.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Weekend rides 🚙", + "downloads": "15007", + "id": 267, + "image": "2pHIefF3", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1660376766-sunsetride.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Entering the night 🌙", + "downloads": "6464", + "id": 266, + "image": "GrLxaBz5", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1660376731-lighthousevector.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Go with the flow ⛵", + "downloads": "15836", + "id": 265, + "image": "ZIj76vOl", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1660118394-redboat.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Strings of reality ⭕", + "downloads": "22984", + "id": 264, + "image": "aiVWKcY1", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1660118383-contourarray.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Nature heals 🌳", + "downloads": "19023", + "id": 263, + "image": "PjXMoci9", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1659866405-fallleaves.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Clash of opposites 🌈", + "downloads": "8520", + "id": 262, + "image": "N8A1wHLX", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1659866395-loopie.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "Wire\u0027s connecting people 👕👖", + "downloads": "11849", + "id": 259, + "image": "xRM4ArGk", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1659593345-hangingclothes.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Everything is energy ⚡", + "downloads": "35593", + "id": 258, + "image": "IN0nhgL4", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1659593329-circuit.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Waves of shades 🌊", + "downloads": "8988", + "id": 257, + "image": "qyIXY1ZG", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1659335310-colourgrid6.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "It\u0027s fading 🤞🏻", + "downloads": "6495", + "id": 256, + "image": "beVy1x6O", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1659335301-fadinglines1.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "Domain Expansion 🤞🏻", + "downloads": "55325", + "id": 255, + "image": "PiQtZJen", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1658994833-gojo1.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Face towards light 🌻", + "downloads": "13841", + "id": 254, + "image": "RHDuFAgb", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1658994666-sunflower.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Night brings fear 🏰", + "downloads": "28856", + "id": 253, + "image": "nAKjYWZ3", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1658655062-nightcatle.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "The path isn\u0027t a straight line, it\u0027s a spiral 🌀", + "downloads": "17420", + "id": 252, + "image": "qVJI5SN0", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1658649402-crcfluid.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Through the unknown 🤐", + "downloads": "19806", + "id": 251, + "image": "zLp2Vj4x", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1658385467-animation 670001-0120.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Endings are beautiful 🌇", + "downloads": "17405", + "id": 250, + "image": "NMy608Ya", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1658385460-sunset.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Glide through your dreams 🛩", + "downloads": "6136", + "id": 249, + "image": "EUqnwDWt", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1658134331-glider.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Strip\u0027s traffic 😉", + "downloads": "10830", + "id": 248, + "image": "kGB3yMqb", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1658134320-grid1.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "To honour the time machine - James Webb Telescope", + "downloads": "17217", + "id": 247, + "image": "n5cMUxgb", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1657812000-galaxy.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Life is a journey 🚗 ", + "downloads": "7788", + "id": 246, + "image": "yZvaUhFu", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1657811993-lifejourney.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "Comfort of home 🌃", + "downloads": "20284", + "id": 245, + "image": "BCT9fx3h", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1657517940-window scape new.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Home is where plants are🪴", + "downloads": "17135", + "id": 244, + "image": "5Vu7v1yp", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1657517928-leaves1.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Make a wish 🌠", + "downloads": "40387", + "id": 243, + "image": "cLVaypI2", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1657291661-shootingstar.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Flocking beams ⚡", + "downloads": "19099", + "id": 242, + "image": "578AbrmR", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1657291653-dots.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Raining colors 🌧", + "downloads": "34561", + "id": 241, + "image": "yWAg8i4Q", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1657031337-rainbowrain.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Looping loops ⭕", + "downloads": "5955", + "id": 240, + "image": "Oi8ofNPb", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1657031328-circle.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Cruising the unknown 🚀", + "downloads": "24491", + "id": 239, + "image": "AFY4hrK0", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1656773205-rocketnew.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Monolith of energy ⚡", + "downloads": "18018", + "id": 238, + "image": "nXOH7dPa", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1656773192-trianglewaves.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Blow 💨", + "downloads": "9642", + "id": 237, + "image": "YwJ2fH5V", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1656482859-paperwindmill.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Fusion 🌀", + "downloads": "25882", + "id": 236, + "image": "RQt2913o", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1656482849-Energyfield.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Land of dreams 🌳", + "downloads": "40565", + "id": 235, + "image": "jkobCr5V", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1656235975-butterflygreen.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Blazing through the tunnel ⚡", + "downloads": "39397", + "id": 234, + "image": "Fa8NqnjJ", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1656235972-circletunnel23.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Chilling through the countryside 🚙", + "downloads": "12497", + "id": 233, + "image": "rzTJdu4Q", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1655976665-countrydrive.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Shades of sun 🕶", + "downloads": "8436", + "id": 232, + "image": "Xwz4GZqr", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1655976648-colour_1.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Raining triangles ⚡️", + "downloads": "16841", + "id": 231, + "image": "Wg13hPZz", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1655713095-triangs.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "A day in the desert 🌵", + "downloads": "8885", + "id": 230, + "image": "CATQUy6K", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1655713087-materialdesert.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Nature has it\u0027s own secrets 🍃", + "downloads": "27997", + "id": 229, + "image": "NfUDOu0K", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1655452812-fantasyland.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Catch with the lines 🤐", + "downloads": "7333", + "id": 228, + "image": "UNgGb3f6", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1655452805-justlines.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "Stay Out Of My Territory - Heisenberg ⚗️", + "downloads": "28476", + "id": 227, + "image": "NbxPlFc3", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1655190766-breaking bad.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Old school 🎧", + "downloads": "26803", + "id": 225, + "image": "S6F4TnJ7", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1655189835-walkman.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "It\u0027s my turn 🔥", + "downloads": "92346", + "id": 224, + "image": "K6ySTF5k", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1654933736-gokuhair.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Being minimal 😉", + "downloads": "32791", + "id": 223, + "image": "h4Z5OQDq", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1654933732-snowfall.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Enjoy the smell of rain ☔", + "downloads": "12485", + "id": 222, + "image": "1VcGN9RO", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1654668060-rainvector.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Trying to connect 😉", + "downloads": "9309", + "id": 221, + "image": "ZUkGF4Ez", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1654668052-roundewave.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Spring is nature\u0027s way of saying let\u0027s party 🌄", + "downloads": "6956", + "id": 220, + "image": "LMBHkEXS", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1654413275-landscape.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Digital branches ⚡", + "downloads": "31536", + "id": 219, + "image": "wzT3YAxH", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1654413266-simdots.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "Beginning of the Hawkin\u0027s curse 🎃", + "downloads": "96580", + "id": 218, + "image": "VKpGv0RL", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1654161170-vecnahouse.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Summer waves 🌊", + "downloads": "6533", + "id": 217, + "image": "Q0HK57si", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1654161159-wavvve.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "Life is like a roller coaster, live it, be happy, enjoy life 🎢", + "downloads": "11891", + "id": 216, + "image": "tUuqKWn5", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1653896481-rollercoster40.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Dustin , Do you copy 😉", + "downloads": "15823", + "id": 215, + "image": "EBMK7NTF", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1653896478-walkietalkie.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Through the hurdles ⚡", + "downloads": "24404", + "id": 214, + "image": "wQ37vMgz", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1653546875-animation56.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Today is your day 😁", + "downloads": "19519", + "id": 213, + "image": "VnoQmB5a", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1653546861-today.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Rotary cards 🎴", + "downloads": "47420", + "id": 212, + "image": "a0TEy1IM", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1653291520-roundedsquare2.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "In one drop of water are found all the secrets of all the oceans", + "downloads": "16073", + "id": 211, + "image": "k6uprVsf", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1653291509-boattrip6.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Converging stripes ⭕", + "downloads": "7242", + "id": 210, + "image": "e1Evxh7K", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1653028917-cutcircle2.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Dropping frames 📐", + "downloads": "14824", + "id": 209, + "image": "9QDqL4BM", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1653028915-framerotate2.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Comfort of home 🏡", + "downloads": "50495", + "id": 208, + "image": "nG0Qs51U", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1652767860-livingroom.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Ice and fire 🔥❄️", + "downloads": "15892", + "id": 207, + "image": "eNWAYdob", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1652767839-zig.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Cozy summer 🏖️", + "downloads": "16156", + "id": 206, + "image": "zE9R6gSG", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1652337222-seawave.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Mirror dimension 🪄", + "downloads": "4103", + "id": 205, + "image": "Ukx7qj3K", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1652337215-cutsphere.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Recording the life 📼", + "downloads": "38594", + "id": 204, + "image": "fwPayG3u", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1652165587-record1.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Incursion 😉", + "downloads": "12058", + "id": 203, + "image": "5mMz2Xae", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1652165583-frames.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "Riding the town 🚙", + "downloads": "32298", + "id": 202, + "image": "t7c0Vnr9", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1652009046-town.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Break the rules 🤭", + "downloads": "39315", + "id": 201, + "image": "4k7pbWnN", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1652009042-inteldino.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Mountain of cards ⛰️", + "downloads": "21303", + "id": 200, + "image": "1OUHBt0A", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1651642619-mount.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Juicy Pine 🍍", + "downloads": "16425", + "id": 199, + "image": "uVXhD8zU", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1651642615-pineapple.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Warm beginning 🌄", + "downloads": "54617", + "id": 198, + "image": "6M4yxFB2", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1651467020-birdsflying.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Ripples ⭕", + "downloads": "62834", + "id": 197, + "image": "xtrPQmnY", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1651467012-drops.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Mining the coins 🪙", + "downloads": "19665", + "id": 196, + "image": "CeFq9Owm", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1651215776-mining.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Flipping cards 🎴", + "downloads": "21405", + "id": 195, + "image": "5mXc9s83", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1651215762-tilewave.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Blue Planet 🔵", + "downloads": "95474", + "id": 194, + "image": "osJuAmep", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1651049003-planet007.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Droplets 💧", + "downloads": "6104", + "id": 193, + "image": "TMiOn2da", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1651048971-droppattern.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Way back home 🚦", + "downloads": "21282", + "id": 192, + "image": "nCfxJUEd", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1650866841-traffic light.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Ghost Rider 🔥", + "downloads": "28949", + "id": 191, + "image": "agjLlwE3", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1650866838-skullnew.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "Wakeup call 🍵", + "downloads": "15116", + "id": 190, + "image": "5zsv48Oi", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1650692872-windownearsubway.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Tick Tock ⏰", + "downloads": "10522", + "id": 189, + "image": "EX9qN2Sp", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1650692865-ballpattern.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Where am I 🕵🏻‍♀️", + "downloads": "5186", + "id": 188, + "image": "VjDfLBgT", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1650437848-bushsub.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Never ending triangles 📐", + "downloads": "10538", + "id": 187, + "image": "ViDSUzfG", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1650437837-foldingtriangle.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Hexagonal waves ⚡", + "downloads": "24948", + "id": 186, + "image": "mVsNlo9a", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1650263214-hex0001-0300.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Home sweet home 🌎", + "downloads": "65003", + "id": 185, + "image": "SXkQLevp", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1650263209-solarsystem30.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "I remember every night 🌙", + "downloads": "43685", + "id": 184, + "image": "ZckCjNdM", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1650005692-circlingstartrail.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Chill 🥤", + "downloads": "5713", + "id": 183, + "image": "LXi2ztvh", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1650005674-chill.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "The wave of joy 🌊", + "downloads": "7106", + "id": 182, + "image": "nYb783FD", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1649835082-wave.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "The opposite pairs 😉", + "downloads": "11237", + "id": 181, + "image": "g4NZzoAl", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1649835076-dna.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "The Watcher ⚡", + "downloads": "15915", + "id": 180, + "image": "rcGDtH4i", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1649662069-animation 470001-0250.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "Banana 🍌", + "downloads": "30165", + "id": 179, + "image": "7f3Bsx60", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1649661826-minions.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Soothing of sea ⛵", + "downloads": "30550", + "id": 178, + "image": "3fabqR4C", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1649485172-sunset boat.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Glide with the cards 💜", + "downloads": "12076", + "id": 177, + "image": "JcHhSQiF", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1649485125-trianglewave.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Keep calm and play 🎧", + "downloads": "23149", + "id": 176, + "image": "Ve8GXgvF", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1649322136-cassette.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "Awakening the dragon 🔥", + "downloads": "24039", + "id": 175, + "image": "sLUpavix", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1649322130-dragonball.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "The Eighty\u0027s 🕺", + "downloads": "10381", + "id": 174, + "image": "UHF3y6E7", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1649137233-dotshigh.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Squares are on a trip 😉", + "downloads": "10223", + "id": 173, + "image": "fi49c06E", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1649137222-squares.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Journey through the color valley 🌈", + "downloads": "26208", + "id": 172, + "image": "xNAUw4vm", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1648970974-plane.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Rhythm of the circles 💜 ", + "downloads": "17511", + "id": 171, + "image": "582tpb6m", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1648711049-circlegrad.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "There\u0027s two sides for everything 😇", + "downloads": "12718", + "id": 170, + "image": "OqL53EQk", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1648711046-minimalsun.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Gamers paradise 🎮", + "downloads": "67120", + "id": 169, + "image": "ZNIgCsTj", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1648711035-pssyarray0.png", + "wallpapertype": 3 + }, + { + "category": "Material", + "description": "Excited cards 🧡", + "downloads": "11782", + "id": 168, + "image": "bN0WaRht", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1648711023-recarray.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Runaway lines 😉", + "downloads": "9402", + "id": 167, + "image": "GLZf5btI", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1648617302-squareill.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Where trekking ends ⛺", + "downloads": "18369", + "id": 166, + "image": "TslXeryf", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1648617295-vectorcamp.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Escaping the chores of life🧳", + "downloads": "72644", + "id": 165, + "image": "1b9Enzr8", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1648446795-van0001-0250.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Circling ⭕", + "downloads": "10382", + "id": 164, + "image": "M3w0tZxG", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1648446785-pluspattern.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Confused steps 🤭", + "downloads": "13653", + "id": 163, + "image": "Xi0J6UdY", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1648310198-contour.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Taking rest is also being productive 💤", + "downloads": "20668", + "id": 162, + "image": "M8qTZGFQ", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1648195234-restisproductive.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "I\u0027m in love with the grass 🌳", + "downloads": "16630", + "id": 161, + "image": "uHybICne", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1648112120-grasscutter0001-0310.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "The Eighty\u0027s Vibe 🕺 ", + "downloads": "16953", + "id": 160, + "image": "9hoTBQZL", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1648112112-animation380001-0120.png", + "wallpapertype": 3 + }, + { + "category": "Superheroes", + "description": "I think I\u0027m superman\u0027s favorite 💚", + "downloads": "8838", + "id": 159, + "image": "Oox1TRYe", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1647851269-supperman0001-0093.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Confused ghost 👻", + "downloads": "15853", + "id": 158, + "image": "joyRhH14", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1647851266-panghost.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Joy of smiley\u0027s 😉", + "downloads": "3987", + "id": 157, + "image": "m7hJcMwv", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1647760634-smiley.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Hide and seek with the cats 😸", + "downloads": "18341", + "id": 156, + "image": "BLck8Qrx", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1647760632-cats.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "The Resistance ski speeder 🔥", + "downloads": "33573", + "id": 155, + "image": "qm6kevX7", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1647590528-starwars0080-0240.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Gift from nature 🌊", + "downloads": "24805", + "id": 154, + "image": "opYn9biL", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1647590523-waterfall.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Rainbow effect 🌈", + "downloads": "29502", + "id": 153, + "image": "IrWp7Pok", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1647418463-circlingrainbowhigh.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Through the town road 🤠", + "downloads": "4135", + "id": 152, + "image": "Gvj8U5RM", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1647418455-cowbo45.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "There is something you have to protect ⚔️", + "downloads": "19655", + "id": 150, + "image": "9FzEXMxC", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1647246742-nezukobox.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Beats ⚡", + "downloads": "10892", + "id": 149, + "image": "cqWTe6jN", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1647246737-greenanim.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Countryside are always refreshing 🏡", + "downloads": "7561", + "id": 148, + "image": "dGAhZSgC", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1646986493-house 3.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "Chores of the city 🌇", + "downloads": "7860", + "id": 147, + "image": "prKe6Qwu", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1646986489-sidetrain.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Joy of celebration 🎉", + "downloads": "16140", + "id": 146, + "image": "L4VbOsYe", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1646986481-fireworkview.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "Feeling the calm 📻", + "downloads": "50154", + "id": 145, + "image": "KbaDizGu", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1646888235-windowview.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Through the warp tunnel 🚀", + "downloads": "19924", + "id": 144, + "image": "xVDSuvjo", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1646888230-animation390001-0120.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Winter cave 🪵", + "downloads": "5577", + "id": 143, + "image": "YfFaywoH", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1646725986-foresthouse.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Juicy slices 🍉", + "downloads": "5634", + "id": 142, + "image": "CUgLfE0M", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1646725977-watermelon.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Love for old 🎷", + "downloads": "22506", + "id": 141, + "image": "fshCMoKF", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1646500025-musictape.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Joy of baloons 🎈", + "downloads": "4514", + "id": 140, + "image": "4aNESDct", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1646500005-baloon.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Camping nights ⛺", + "downloads": "17785", + "id": 139, + "image": "YzMrhTdj", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1646306068-snowforest.png", + "wallpapertype": 3 + }, + { + "category": "Gaming", + "description": "Gamer\u0027s paradise 👨🏻‍💻", + "downloads": "28767", + "id": 138, + "image": "brocN6Da", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1646306064-pc.png", + "wallpapertype": 3 + }, + { + "category": "Superheroes", + "description": "Batmobile in Action 🦇", + "downloads": "26251", + "id": 137, + "image": "0oKr7TM4", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1646123484-batmobile.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Gateway to the metaverse ⚡️", + "downloads": "10402", + "id": 136, + "image": "ATgbnVti", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1646123475-animation33.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Trying to meet the ends 😁", + "downloads": "3460", + "id": 135, + "image": "E39sJtD8", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1646123470-tripattern.png", + "wallpapertype": 3 + }, + { + "category": "Superheroes", + "description": "On a date 🦇 🐱", + "downloads": "41699", + "id": 134, + "image": "sUMx4igS", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1645948957-thebatman.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Being retro 🕺", + "downloads": "5221", + "id": 133, + "image": "Y5EsZt9h", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645948953-animation330001-0120.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Beats 💓", + "downloads": "32496", + "id": 132, + "image": "UJN3sn7G", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1645948947-heartbeat.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Weekend life 🎣", + "downloads": "21075", + "id": 131, + "image": "UHGgV6xz", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645689678-fishingboat.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "Pokeball ❤️", + "downloads": "29725", + "id": 130, + "image": "gf98ksKa", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645689676-pokeball0001-0100.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Colour Blades 💚", + "downloads": "7661", + "id": 129, + "image": "byXhakCg", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645689669-yellowpanel.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Serene Night ✨", + "downloads": "23302", + "id": 128, + "image": "MG6JrH1F", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645601780-windmillill.png", + "wallpapertype": 3 + }, + { + "category": "Gaming", + "description": "Pac Man 🕹", + "downloads": "42164", + "id": 127, + "image": "wZWDOt1x", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645601772-pacman.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Cube of Wisdom ⚡", + "downloads": "15387", + "id": 126, + "image": "6nPkafpA", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645601756-icecube.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Run with the stripes 💜", + "downloads": "12677", + "id": 125, + "image": "54nkHS0T", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645515883-intercutline.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Cyber Planet ", + "downloads": "7650", + "id": 124, + "image": "FdBayDEC", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645515875-animation620001-0120.png", + "wallpapertype": 3 + }, + { + "category": "Gaming", + "description": "Love\u0027s clicking ⌨️", + "downloads": "51051", + "id": 123, + "image": "Kuj9oSd4", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645515864-key0001-0247.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Rings and Rings ✌🏻", + "downloads": "28938", + "id": 122, + "image": "NVcnSvTy", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1645515845-vectorgalaxy.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Vroom Vroom 🏎️", + "downloads": "7868", + "id": 121, + "image": "OCXNm04f", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645259201-car0001-0150.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Meow Meow 🐱", + "downloads": "7582", + "id": 120, + "image": "UauRwNgt", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645259197-catdoodles.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Core of the ancient magic 🔮", + "downloads": "8480", + "id": 119, + "image": "QHtIJZqr", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645259194-cubetemp0001-0250.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Curly curly 🖤", + "downloads": "2843", + "id": 118, + "image": "J0YFxAoq", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645173539-zigzag.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Solve the riddle 🔮", + "downloads": "5099", + "id": 117, + "image": "cxm8NBsl", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645173533-ancientartifact.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Just charging 🔋", + "downloads": "9093", + "id": 116, + "image": "6h5i7aTK", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645173517-justcharging.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Rainbow rain 🌈", + "downloads": "4098", + "id": 115, + "image": "A0xUfN6E", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645173469-rainbowcloud.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Imagination is important than knowledge 🔬", + "downloads": "7391", + "id": 114, + "image": "u0sL3bFq", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645087072-galaxyhouse.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Magic steps 🔮", + "downloads": "4093", + "id": 113, + "image": "FTQVdDNo", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645087070-arr0040-0119.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Dancing dots 💚", + "downloads": "2173", + "id": 112, + "image": "wb9c0oGx", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645000768-circlesplashpattern.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Train\u0027s coming 🚞", + "downloads": "9956", + "id": 111, + "image": "JcweovKf", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645000755-train0001-0250.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Follow the wave ⚡", + "downloads": "13076", + "id": 110, + "image": "E9LzS5PG", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645000748-Comp2dot.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Sprouting forest 🌳", + "downloads": "2845", + "id": 109, + "image": "qefFvO0a", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1644653266-colourtree.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Where are the humans 🛸", + "downloads": "14777", + "id": 108, + "image": "xtTe6CAl", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1644653255-ufo.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Hello anybody home 🚀", + "downloads": "27032", + "id": 107, + "image": "EmrYWiA1", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1644653245-blackhole.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Error ", + "downloads": "24550", + "id": 106, + "image": "cofEiJ9d", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1644653226-error.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Disco disco 🕺", + "downloads": "3723", + "id": 105, + "image": "0tExmCbu", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1644653213-animation 210001-0240.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Loving the queit life 🏡", + "downloads": "3643", + "id": 104, + "image": "Af0esPFS", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1644566689-hotair.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Sailing through the horizon ⛵", + "downloads": "7979", + "id": 103, + "image": "eBdwiH6f", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1644566665-oceanboat.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Lava lamp ☮️", + "downloads": "14879", + "id": 102, + "image": "l01wioFT", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1644566624-lavalamp.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Realm of cubes ▪️◻️◾◼️", + "downloads": "7134", + "id": 101, + "image": "hAe9R7wf", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1644566610-decube.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Waves 💜", + "downloads": "7413", + "id": 100, + "image": "MWjAhRZF", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1644566581-gradientwave.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Every action has a reaction 🤓", + "downloads": "16880", + "id": 99, + "image": "9kC2wZUn", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1644566566-pend.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Dots dots go away 😜", + "downloads": "5505", + "id": 98, + "image": "UoYrjhKc", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1644566535-dotarray.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Tik tok Tik tok ⏳", + "downloads": "3457", + "id": 97, + "image": "i3xABMhj", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1644566514-rotateballs.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "Feeling the rain 🌧️", + "downloads": "13316", + "id": 96, + "image": "H59OQqzb", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1644566465-girl in rain.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Camping folks ⛺", + "downloads": "13276", + "id": 84, + "image": "gYska4tH", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1643356780-camp fire.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Night sky ✨", + "downloads": "11100", + "id": 83, + "image": "xtVHQ5qX", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1643356776-night shy.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Creating memories in the snow, one angel at a time ☃️❄️", + "downloads": "1936", + "id": 705, + "image": "rX1J9fqj", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1733126052-snow angel_2k.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "Christmas time for snoopy ❄️☃️", + "downloads": "1220", + "id": 704, + "image": "85IPsh6E", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1733125861-snoopy house_2k.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "Roll into adventure with BB-8 💫", + "downloads": "1886", + "id": 700, + "image": "HDabQGWh", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1732175087-BB-8_2k.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Chasing the breeze ⛵", + "downloads": "1682", + "id": 699, + "image": "31HPOwuK", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1732175071-waving boat_2k.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Let\u0027s Bravo 💪🏻", + "downloads": "3553", + "id": 695, + "image": "x3rgHsu0", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1731314484-johnny bravo_2k.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Energy tiles ⚡", + "downloads": "1964", + "id": 694, + "image": "35VZSQ2q", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1731314477-cybersandwich_2k0001-0350.png", + "wallpapertype": 3 + }, + { + "category": "Superheroes", + "description": "From the shadows, I rise 🕷✨", + "downloads": "4665", + "id": 690, + "image": "7tphTLSA", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1730447376-spiderman noir_2k.png", + "wallpapertype": 3 + }, + { + "category": "Miscellaneous", + "description": "Under the watchful eye of the moon, she rides the night 🌕✨🧙‍♀️", + "downloads": "2033", + "id": 689, + "image": "l8rWAa52", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1730447262-witch night_2k.png", + "wallpapertype": 3 + }, + { + "category": "Space", + "description": "Moon 🌕", + "downloads": "5277", + "id": 685, + "image": "EDVQUOwk", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1729501659-moon_2k.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Boo want to be scary👻 ", + "downloads": "3210", + "id": 684, + "image": "PUW2EhR0", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1729501572-ghostwind_2k.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Someone\u0027s being cooked 🪦", + "downloads": "2618", + "id": 680, + "image": "eQTYlByI", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1728551180-graveyard_2k.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Woo hahaha 🎃🕯️", + "downloads": "2211", + "id": 679, + "image": "Wwu1pX5t", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1728551171-pumkin candle_2k.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Monsoon cocktail 🍸", + "downloads": "2692", + "id": 675, + "image": "XHRV2kop", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1727687143-cocktail_2k.png", + "wallpapertype": 3 + }, + { + "category": "Space", + "description": "The red planet 🌍", + "downloads": "3070", + "id": 674, + "image": "vufNpc9r", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1727687132-planet landscape_2k.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Ace Burner ♠️♥️♦️♣️", + "downloads": "7229", + "id": 670, + "image": "bHAg0sop", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1726732728-card on fire_2k.png", + "wallpapertype": 3 + }, + { + "category": "Cityscape", + "description": "Golden Gate Bridge 🌉", + "downloads": "4815", + "id": 669, + "image": "NBfadl9x", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1726732699-golden gate bridge view_2k.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "The core ⚡", + "downloads": "6344", + "id": 665, + "image": "si2RCIbU", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1725870751-hexogen_2k.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Radiate like flowers 🌼", + "downloads": "3406", + "id": 664, + "image": "K6zaDsGx", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1725870736-fadingflowers_2k.png", + "wallpapertype": 3 + }, + { + "category": "Movies", + "description": "Spider Glitch 🕸️", + "downloads": "11606", + "id": 660, + "image": "qducAoan", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1724917214-spiderlogoglitch_2k.png", + "wallpapertype": 3 + }, + { + "category": "Tech", + "description": "Give your device some power surge ⚡", + "downloads": "5455", + "id": 659, + "image": "Ob9d70IC", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1724917204-generator_2k.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "Autonomous Ultra Instinct 🔥", + "downloads": "20255", + "id": 655, + "image": "9f0Cepkb", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1724059272-gokuultrainstinct2k.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "⭕ pop out ⭕", + "downloads": "4045", + "id": 654, + "image": "Hogh0Jt3", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1724059263-cylinder2k0001-0250.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Wiggly wiggly 😁", + "downloads": "11687", + "id": 82, + "image": "ku28xKdm", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1643356768-deform.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Where\u0027s my mouse 🤔", + "downloads": "7843", + "id": 81, + "image": "ijQndh5H", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1643356755-old computer0001-0250.png", + "wallpapertype": 3 + }, + { + "category": "Dope", + "description": "Enter the metaverse⚡", + "downloads": "14561", + "id": 79, + "image": "pY1Fq7tw", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1643271285-animation 450001-0200.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Busy riding the sands 🌵", + "downloads": "11250", + "id": 78, + "image": "cM85T0jo", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1643010196-car0001-0247.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Atoms play 🔬", + "downloads": "3933", + "id": 77, + "image": "FgTs76uc", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1643010160-animation 250001-0120.png", + "wallpapertype": 3 + }, + { + "category": "Superheroes", + "description": "I am vengeance 🔥", + "downloads": "79041", + "id": 76, + "image": "lRNOhvxW", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1643010123-batman.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Vibe 🕺", + "downloads": "4625", + "id": 75, + "image": "86ixr5kA", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1643010117-vibe.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Warp drive through the vaccum ✨", + "downloads": "22782", + "id": 74, + "image": "tFNP0Ywm", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1643010114-erer.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Need a bucket to collect all these 🪣", + "downloads": "22076", + "id": 73, + "image": "FGPpaDgu", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642839034-playstation symbol0250-0499.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Fabric of reality 😉", + "downloads": "10565", + "id": 71, + "image": "jVHDdWh6", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642752256-dot 1.png", + "wallpapertype": 3 + }, + { + "category": "Nature", + "description": "Enjoying through the woods 🚗", + "downloads": "19355", + "id": 70, + "image": "4Oiby2ms", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642752242-night forest ride0001-0150.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Don\u0027t tell anyone about this base 🚀", + "downloads": "4460", + "id": 69, + "image": "clMvD7o4", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642752214-pyramid0001-0250.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Festival of light 🕯️", + "downloads": "11457", + "id": 68, + "image": "ABnsbwC3", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642750093-lanterns0118-1000.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Searching for glaciers ☹️", + "downloads": "7258", + "id": 67, + "image": "32yZIpDV", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642750069-boat ride.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "Rengoku🔥", + "downloads": "51805", + "id": 66, + "image": "IVLv624U", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642750053-rengoku.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Spiral of spectrum 🌈", + "downloads": "5468", + "id": 65, + "image": "u6lHZCQF", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642750022-circle0001-0200.png", + "wallpapertype": 3 + }, + { + "category": "Geometry", + "description": "Antigravity keeps me floating⚡", + "downloads": "4770", + "id": 64, + "image": "JKvqt5Pa", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642750008-dune0001-0150.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Through the pulses 🔮 .", + "downloads": "9721", + "id": 63, + "image": "CBy8i1kc", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642749980-worm hole0001-0120.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Booo Booo 👻", + "downloads": "79317", + "id": 62, + "image": "VflzaU4B", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642749968-ghost.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Countryside 🚜", + "downloads": "7608", + "id": 61, + "image": "N20IdgeG", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642749960-farmhouse0001-0250.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Be a percent better everyday 💚", + "downloads": "43680", + "id": 60, + "image": "EDLpF1YJ", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642668016-1better.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "WIndmill 🍃", + "downloads": "6871", + "id": 59, + "image": "AY4nRzhf", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642667421-windmill0001-0250.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "Founding Titan", + "downloads": "14549", + "id": 58, + "image": "SbVr2TeA", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642667392-Aot.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Ride by the river 🚗", + "downloads": "7984", + "id": 57, + "image": "gDf0iX2S", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642667356-night ride0001-0150.png", + "wallpapertype": 3 + }, + { + "category": "Superheroes", + "description": "God of thunder⚡", + "downloads": "30090", + "id": 56, + "image": "0TIqwLE7", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642667341-thor.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Exploring the deep waters 🌊", + "downloads": "8687", + "id": 55, + "image": "kfMaSvZ4", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642667334-sub0001-0250.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Cyber waves 💜", + "downloads": "6689", + "id": 54, + "image": "ZP4qMsQe", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642491028-shape10001-0120.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Hoping for Dr Strange to come 😉", + "downloads": "18501", + "id": 53, + "image": "VR4E6smB", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642491015-strange portal.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Have fun at the carnival 🎡", + "downloads": "13168", + "id": 52, + "image": "z4bn3Hlk", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642491005-carnival0001-0500.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Pink flower ", + "downloads": "7908", + "id": 51, + "image": "VPIEWTYB", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642490992-flower.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Feel the pulse 😊", + "downloads": "10718", + "id": 50, + "image": "41gcyMYN", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642490982-cube0001-0250.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Cat love 🐈", + "downloads": "9241", + "id": 49, + "image": "Om2nPfBg", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642490976-cat.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Have a good day 😎", + "downloads": "5768", + "id": 48, + "image": "Q0Ironk1", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642490971-coffee.png", + "wallpapertype": 3 + }, + { + "category": "Pattern", + "description": "Magic Flower 💙", + "downloads": "6247", + "id": 47, + "image": "T3YR9Wnf", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642490964-blue flower.png", + "wallpapertype": 3 + }, + { + "category": "Abstract", + "description": "Waveform 🖤", + "downloads": "15265", + "id": 46, + "image": "HpqY1Qxd", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642490957-shape0001-0120.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "Ultra Instinct 🔥", + "downloads": "70321", + "id": 45, + "image": "mV5S6Qko", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642490947-goku ultra.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Planet love 🌍", + "downloads": "16894", + "id": 44, + "image": "VZ6i51qI", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642490937-planet.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Loading ...... ", + "downloads": "13881", + "id": 43, + "image": "5kdBMGiW", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642490932-loading.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Color popping jet 🌈", + "downloads": "7164", + "id": 42, + "image": "iGXD8kwI", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642490923-jet.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Wriggly cosmos 🖤", + "downloads": "13123", + "id": 41, + "image": "xNFSWdyz", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642490906-dark hole0001-0240.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Swing with the lamp 🛋️", + "downloads": "11339", + "id": 40, + "image": "I0GAalQN", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642488646-hanging light.png", + "wallpapertype": 3 + }, + { + "category": "Amoled", + "description": "Mood for a rain 🌧️", + "downloads": "30615", + "id": 39, + "image": "Zs3BCXJl", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642486515-rain.png", + "wallpapertype": 3 + }, + { + "category": "Typography", + "description": "Think Big 💡", + "downloads": "9340", + "id": 38, + "image": "eOcINzdF", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642486479-think big.png", + "wallpapertype": 3 + }, + { + "category": "Anime", + "description": "The Saiyan Prince 🔥", + "downloads": "21458", + "id": 37, + "image": "ayb6ospZ", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642486467-vegeta.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Christmas eve ☃️", + "downloads": "18453", + "id": 36, + "image": "qO5rKNj9", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642486448-snow fall.png", + "wallpapertype": 3 + }, + { + "category": "Minimal", + "description": "Play with dino 🦕", + "downloads": "5122", + "id": 35, + "image": "xfMGgp1q", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642486428-0001-0125.png", + "wallpapertype": 3 + }, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { + "category": "Abstract", + "description": "Spiral of light 💙", + "downloads": "11455", + "id": 34, + "image": "GeYfZgVw", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642486424-rolling tube0001-0500.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Guider of the sea 🌊", + "downloads": "10444", + "id": 33, + "image": "qMXGWpEH", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642486388-lighthouse0001-0100.png", + "wallpapertype": 3 + }, + + { + "category": "Typography", + "description": "Always be yourself ❤️", + "downloads": "6754", + "id": 32, + "image": "ewJ0fYQr", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642486351-bee.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Climb the hill 💙", + "downloads": "7916", + "id": 31, + "image": "4ldD89Fn", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642486325-ropeway.png", + "wallpapertype": 3 + }, + + + { + "category": "Minimal", + "description": "Dance with the cactus 🌵", + "downloads": "6398", + "id": 30, + "image": "6BiDZEWA", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642486262-catcus.png", + "wallpapertype": 3 + }, + + + { + "category": "Amoled", + "description": "Ball of fire 🔥", + "downloads": "20861", + "id": 29, + "image": "gLiRYKEk", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642486187-geometryball0001-0250.png", + "wallpapertype": 3 + }, + { + "category": "Landscape", + "description": "Spooky 🎃", + "downloads": "87567", + "id": 25, + "image": "BHMsxl02", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1639590645-halloween2021.png", + "wallpapertype": 3 + } +] \ No newline at end of file diff --git a/app/src/main/assets/Shift.json b/app/src/main/assets/Shift.json new file mode 100644 index 0000000..f31b38d --- /dev/null +++ b/app/src/main/assets/Shift.json @@ -0,0 +1,1047 @@ +[ + { + "category": "Minimal", + "description": "Christmas tree brings warmth and joy 🎄❄️", + "downloads": "306", + "id": 708, + "image": "91FmL0Jl", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1733734622-christmas tree_2k.png", + "wallpapertype": 2 + }, + { + "category": "Miscellaneous", + "description": "Santa 🎅🏻", + "downloads": "260", + "id": 707, + "image": "ajNEZA8D", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1733734615-santa_2k.png", + "wallpapertype": 2 + }, + { + "category": "Superheroes", + "description": "I am Ironman 💪🏻", + "downloads": "1326", + "id": 703, + "image": "ICzHuLJP", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1732780381-ironman neon_2k.png", + "wallpapertype": 2 + }, + + { + "category": "Minimal", + "description": "Tower house 🗼", + "downloads": "591", + "id": 698, + "image": "xsjW8gvY", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1731915691-tower_2k.png", + "wallpapertype": 2 + }, + { + "category": "Nature", + "description": "Crayon Mountains Popping 🖍️", + "downloads": "674", + "id": 697, + "image": "t3mSRDCL", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1731915688-colour mountain_2k.png", + "wallpapertype": 2 + }, + { + "category": "Amoled", + "description": "Synth pyramid 📐", + "downloads": "1553", + "id": 693, + "image": "x38Pp6Vr", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1731050705-trineon_2k.png", + "wallpapertype": 2 + }, + { + "category": "Material", + "description": "Falling waves 🌊", + "downloads": "792", + "id": 692, + "image": "yYkH9Vq0", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1731050684-circle to layer_2k.png", + "wallpapertype": 2 + }, + { + "category": "Movies", + "description": "Darth Vader ⚡", + "downloads": "2206", + "id": 688, + "image": "ouPNjUaG", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1730105713-dark vader_2k.png", + "wallpapertype": 2 + }, + { + "category": "Minimal", + "description": "Boooo 👻", + "downloads": "1070", + "id": 687, + "image": "9uTM4ACd", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1730105705-Boo_2k.png", + "wallpapertype": 2 + }, + { + "category": "Miscellaneous", + "description": "Knock knock , Who is there ? 🧛", + "downloads": "1886", + "id": 683, + "image": "KO0uSwXC", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1729154624-opening door_2k.png", + "wallpapertype": 2 + }, + { + "category": "Miscellaneous", + "description": "Way to October vacation 🎃🏰 ", + "downloads": "889", + "id": 682, + "image": "JNEV0mit", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1729151449-haunted mansion_2k.png", + "wallpapertype": 2 + }, + { + "category": "Material", + "description": "Be precise as an arrow ▶️ ", + "downloads": "1534", + "id": 678, + "image": "L0bF283S", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1728292173-slidingtile_2k.png", + "wallpapertype": 2 + }, + { + "category": "Landscape", + "description": "Desert Shift 🌵☀️", + "downloads": "1361", + "id": 677, + "image": "S5dMltrq", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1728292118-desertdunes2K.png", + "wallpapertype": 2 + }, + { + "category": "Pattern", + "description": "The curves 😎", + "downloads": "2478", + "id": 673, + "image": "o6e9FsQv", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1727341664-curvedlines2k.png", + "wallpapertype": 2 + }, + { + "category": "Minimal", + "description": "Good old days 💾", + "downloads": "1559", + "id": 672, + "image": "lx845U6Q", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1727341650-pc2k.png", + "wallpapertype": 2 + }, + { + "category": "Superheroes", + "description": "Spidey zips down 🕸️", + "downloads": "3520", + "id": 668, + "image": "F8hIbuJ4", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1726475725-spidermanhanging2k.png", + "wallpapertype": 2 + }, + { + "category": "Pet", + "description": "Cutie Penguin 🐧", + "downloads": "1474", + "id": 667, + "image": "Tcntw8bH", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1726475712-penguinface2k.png", + "wallpapertype": 2 + }, + { + "category": "Anime", + "description": "⚡Thunder Breathing 1st form⚡", + "downloads": "3094", + "id": 663, + "image": "bAJ08nia", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1725522176-zenitsu_2k.png", + "wallpapertype": 2 + }, + { + "category": "Minimal", + "description": "Don a pair of Air Jordans 👟", + "downloads": "1921", + "id": 662, + "image": "OXSLmJtw", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1725522167-nike shoe_2k.png", + "wallpapertype": 2 + }, + { + "category": "Geometry", + "description": "Building blocks 🟪🟥", + "downloads": "1274", + "id": 658, + "image": "DmvYtg80", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1724667176-blocks2K.png", + "wallpapertype": 2 + }, + { + "category": "Material", + "description": "Pop and mix 🎉", + "downloads": "1549", + "id": 657, + "image": "7EmxM1jV", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1724667168-bubbles2K.png", + "wallpapertype": 2 + }, + { + "category": "Superheroes", + "description": "Wolverine ☠️", + "downloads": "4756", + "id": 653, + "image": "FYVlR1NU", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1723713273-wolverine2k.png", + "wallpapertype": 2 + }, + { + "category": "Material", + "description": "Jiggle Jiggle 🍬", + "downloads": "1994", + "id": 652, + "image": "LCc5pKIB", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1723713251-Gradientpalette2k.png", + "wallpapertype": 2 + }, + { + "category": "Minimal", + "description": "Any one can be a king 👑", + "downloads": "2395", + "id": 643, + "image": "fDpQxayu", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1722847957-chess2k.png", + "wallpapertype": 2 + }, + { + "category": "Pet", + "description": "Kitty gang 🐈🐾", + "downloads": "1439", + "id": 642, + "image": "MlpP4B0S", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1722847942-catpaw2K.png", + "wallpapertype": 2 + }, + { + "category": "Superheroes", + "description": "Deadpool and Wolverine 🔥", + "downloads": "6087", + "id": 638, + "image": "ncBUSZ2L", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1721896129-DeadpoolWolverine2K.png", + "wallpapertype": 2 + }, + { + "category": "Cityscape", + "description": "A new day begins 🪟", + "downloads": "2436", + "id": 637, + "image": "jIEJ9BA1", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1721896117-throughwindow1_2K.png", + "wallpapertype": 2 + }, + { + "category": "Minimal", + "description": "A summer morning 🏡", + "downloads": "2073", + "id": 633, + "image": "XFlIokSP", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1721032986-Dayflip2K.png", + "wallpapertype": 2 + }, + { + "category": "Space", + "description": "Saturn spins adorned with dazzling rings 🌌", + "downloads": "10756", + "id": 545, + "image": "H2aKjmDL", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1706514413-ringplanet_2k.png", + "wallpapertype": 2 + }, + { + "category": "Material", + "description": "Evolving circles ⭕", + "downloads": "7355", + "id": 544, + "image": "ZyDusM4P", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1706513923-circleblow_2k.png", + "wallpapertype": 2 + }, + { + "category": "Landscape", + "description": "Shifting Serenity Views 🏠", + "downloads": "2885", + "id": 540, + "image": "C8g7pe24", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1705651363-newlandscapehouse2k.png", + "wallpapertype": 2 + }, + { + "category": "Geometry", + "description": "Harmony unfolds 🟦", + "downloads": "5555", + "id": 539, + "image": "48YVaEuq", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1705651353-cuberotate2k.png", + "wallpapertype": 2 + }, + { + "category": "Nature", + "description": "Day switch ☀️🌙", + "downloads": "3386", + "id": 535, + "image": "8J7czLSB", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1704703062-window sunrise.png", + "wallpapertype": 2 + }, + { + "category": "Minimal", + "description": "Looping to position 💫", + "downloads": "3050", + "id": 534, + "image": "pvYL4hFO", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1704703054-expandingcircle.png", + "wallpapertype": 2 + }, + { + "category": "Landscape", + "description": "Once upon a time in the woods 🌳", + "downloads": "2961", + "id": 530, + "image": "hnseFk3Z", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1703947630-home_bush_2k.png", + "wallpapertype": 2 + }, + { + "category": "Material", + "description": "Popping up 🎈", + "downloads": "2338", + "id": 529, + "image": "WOXEH5D4", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1703947537-popping_colors_2k.png", + "wallpapertype": 2 + }, + { + "category": "Movies", + "description": "It\u0027s a warning 🦇", + "downloads": "9634", + "id": 525, + "image": "sZoI6gRf", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1702968393-bat signal.png", + "wallpapertype": 2 + }, + { + "category": "Material", + "description": "Shades shuffle fun begins 🎨", + "downloads": "2795", + "id": 524, + "image": "GeONUQ6J", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1702967787-circleshift.png", + "wallpapertype": 2 + }, + { + "category": "Pattern", + "description": "Feel the gentle shift 🍃", + "downloads": "4692", + "id": 521, + "image": "z9GA6cHW", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1702286051-cylinder2k.png", + "wallpapertype": 2 + }, + { + "category": "Material", + "description": "Rising sun ☀️", + "downloads": "2985", + "id": 520, + "image": "rwi1MSsY", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1702286038-raising sun.png", + "wallpapertype": 2 + }, + { + "category": "Amoled", + "description": "On Off 😎", + "downloads": "5914", + "id": 632, + "image": "QVtPCovm", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1721032969-onoff2K.png", + "wallpapertype": 2 + }, + { + "category": "Superheroes", + "description": "Hiding in the shadows 🦇", + "downloads": "7283", + "id": 621, + "image": "YXD8CmeA", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1720085732-batman_2k.png", + "wallpapertype": 2 + }, + { + "category": "Material", + "description": "Sticky notes 📒", + "downloads": "2103", + "id": 620, + "image": "YJD7LnCX", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1720085704-square2k.png", + "wallpapertype": 2 + }, + { + "category": "Amoled", + "description": "Get scared 🙀", + "downloads": "2846", + "id": 616, + "image": "rZLjIRhE", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1719215549-glitchskull2K.png", + "wallpapertype": 2 + }, + { + "category": "Landscape", + "description": "The switch 🌵", + "downloads": "1847", + "id": 615, + "image": "vD7QEWG1", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1719215546-desertdune2K.png", + "wallpapertype": 2 + }, + { + "category": "Superheroes", + "description": "Spidey sense ⚡", + "downloads": "9491", + "id": 611, + "image": "lgX9Ano5", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1718267939-spiderman_2k.png", + "wallpapertype": 2 + }, + { + "category": "Minimal", + "description": "Happy for the sunlight ☀️", + "downloads": "1836", + "id": 610, + "image": "tkKnUw0l", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1718267930-sunlight plant_2k.png", + "wallpapertype": 2 + }, + + + + + + + + + + + + + { + "category": "Minimal", + "description": "Morning brew ☕️", + "downloads": "5436", + "id": 576, + "image": "VUPXYARh", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1711962964-coffeecup2k.png", + "wallpapertype": 2 + }, + { + "category": "Geometry", + "description": "Shifting to place", + "downloads": "3785", + "id": 575, + "image": "58hJ1Nr6", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1711962940-cubes2k0001-0050.png", + "wallpapertype": 2 + }, + { + "category": "Space", + "description": "You never know what is on other side 🌌", + "downloads": "8644", + "id": 571, + "image": "7BbSo6rh", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1711087406-blackHole2K_new.png", + "wallpapertype": 2 + }, + { + "category": "Amoled", + "description": "Choose your card ♥️♣️♦️♠️", + "downloads": "7814", + "id": 570, + "image": "1KzDkET8", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1711087377-cards2K.png", + "wallpapertype": 2 + }, + { + "category": "Anime", + "description": "Feel pain, contemplate pain, accept pain, know pain 🍃", + "downloads": "15354", + "id": 566, + "image": "TDObkX4i", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1710142587-pain2k.png", + "wallpapertype": 2 + }, + { + "category": "Pattern", + "description": "Drops that freeze in time 💧", + "downloads": "2622", + "id": 565, + "image": "q04esM6p", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1710142568-cutlines2k.png", + "wallpapertype": 2 + }, + { + "category": "Minimal", + "description": "Rolling to destiny 🎱", + "downloads": "4790", + "id": 561, + "image": "qC4psWve", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1709273956-billiard2k.png", + "wallpapertype": 2 + }, + { + "category": "Amoled", + "description": "Petals jiggle in the breeze 🌸", + "downloads": "10406", + "id": 560, + "image": "bHiwXdo2", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1709273946-openflower2k.png", + "wallpapertype": 2 + }, + { + "category": "Minimal", + "description": "Day night shift ☀️🌕", + "downloads": "5157", + "id": 556, + "image": "Mlc9oRVH", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1708333651-sunturn.png", + "wallpapertype": 2 + }, + { + "category": "Typography", + "description": "Locked Unlocked 🔒🔓", + "downloads": "11009", + "id": 554, + "image": "Av4VI0qC", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1708332444-unlocked.png", + "wallpapertype": 2 + }, + { + "category": "Landscape", + "description": "Bright arid landscape 🌵", + "downloads": "3443", + "id": 550, + "image": "4aYWQKNS", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1707475758-desert2K.png", + "wallpapertype": 2 + }, + { + "category": "Geometry", + "description": "Rings align ⭕", + "downloads": "4777", + "id": 549, + "image": "pidgYrxB", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1707475745-loopsNew2K.png", + "wallpapertype": 2 + }, + + + + + + + { + "category": "Abstract", + "description": "Orange slices 🟠", + "downloads": "2433", + "id": 606, + "image": "1PtmB6il", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1717395427-orange circle_2k0001-0050.png", + "wallpapertype": 2 + }, + { + "category": "Pattern", + "description": "Falling stripes 🎨", + "downloads": "2070", + "id": 605, + "image": "tfs0AY7l", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1717395410-linerundown_2k.png", + "wallpapertype": 2 + }, + { + "category": "Anime", + "description": "Itadori x Sukuna 🔥", + "downloads": "8954", + "id": 601, + "image": "lrUWHFvP", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1716449636-itadoriandzukuna.png", + "wallpapertype": 2 + }, + { + "category": "Pattern", + "description": "Navigate the maze 🧩", + "downloads": "3419", + "id": 600, + "image": "DxkCl7iq", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1716449627-rectanglelines.png", + "wallpapertype": 2 + }, + { + "category": "Minimal", + "description": "Landscape shift 🖼️", + "downloads": "2727", + "id": 596, + "image": "KtN2sG5w", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1715584110-framezoom2k.png", + "wallpapertype": 2 + }, + { + "category": "Typography", + "description": "Good Vibes Only 😁", + "downloads": "2733", + "id": 595, + "image": "zO5ksKJV", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1715584105-goodvibeonly2k.png", + "wallpapertype": 2 + }, + { + "category": "Gaming", + "description": "Gameboy inside out 🪛", + "downloads": "6698", + "id": 591, + "image": "QjGb2vy5", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1714639479-gameboy_2k.png", + "wallpapertype": 2 + }, + { + "category": "Minimal", + "description": "3 Body Problem ☀️☀️☀️", + "downloads": "2845", + "id": 590, + "image": "zdQN8P3W", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1714639448-3 body problem_2k.png", + "wallpapertype": 2 + }, + { + "category": "Minimal", + "description": "Spring call 🌸", + "downloads": "3753", + "id": 586, + "image": "pL0kMy1C", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1713773909-flowerbranch.png", + "wallpapertype": 2 + }, + { + "category": "Amoled", + "description": "Glitch in existence 🪩", + "downloads": "6597", + "id": 585, + "image": "WeAF2qJm", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1713773884-glitch man0001-0035.png", + "wallpapertype": 2 + }, + { + "category": "Cityscape", + "description": "Pop into existence 🏘", + "downloads": "1301", + "id": 581, + "image": "6r81al3P", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1712997465-risingtown2k.png", + "wallpapertype": 2 + }, + { + "category": "Material", + "description": "Form the Palette 🎨", + "downloads": "2866", + "id": 580, + "image": "0sXSAFkj", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1712997453-linesmmove2k.png", + "wallpapertype": 2 + }, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { + "category": "Geometry", + "description": "Growing bubbles 🫧", + "downloads": "2656", + "id": 519, + "image": "WEf1JHFZ", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1702285284-growingbubble.png", + "wallpapertype": 2 + }, + + + + + + + + + + + + + + + + + + + + + + + + { + "category": "Material", + "description": "Sliding square ⏹", + "downloads": "5871", + "id": 518, + "image": "hOGIEMqX", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1702285263-sliding_square.png", + "wallpapertype": 2 + }, + + + + + + + + + + + + + + + + + + + + + + + { + "category": "Geometry", + "description": "Intertwined cubes ", + "downloads": "5396", + "id": 517, + "image": "Bc20n43T", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1702285251-roundedcube2k.png", + "wallpapertype": 2 + }, + { + "category": "Nature", + "description": "Let it bloom 💮", + "downloads": "3282", + "id": 516, + "image": "W1XC0yrb", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1702285229-flower2K.png", + "wallpapertype": 2 + }, + + + + + + + + + + + + + + + + { + "category": "Miscellaneous", + "description": "Swirl into the green void ", + "downloads": "5267", + "id": 515, + "image": "kPY95NQo", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1702285213-lays2K.png", + "wallpapertype": 2 + }, + { + "category": "Amoled", + "description": "Windows 7", + "downloads": "758", + "id": 702, + "image": "fGSUEenP", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1732780372-windows 7_2k.png", + "wallpapertype": 2 + }, + { + "category": "Abstract", + "description": "Wafer hues 🔴🟡", + "downloads": "3539", + "id": 514, + "image": "Sf1wL0E6", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1702285186-yellowlayer.png", + "wallpapertype": 2 + } +] \ No newline at end of file diff --git a/app/src/main/assets/trending.json b/app/src/main/assets/trending.json new file mode 100644 index 0000000..00fd70c --- /dev/null +++ b/app/src/main/assets/trending.json @@ -0,0 +1,4832 @@ +[ + + { + "category": "Movies", + "description": "Peanuts Snoopy ✈️", + "downloads": "21721", + "id": 479, + "image": "9X65KbOj", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1695799095-snoopy.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Ring Planet 🌌", + "downloads": "47734", + "id": 285, + "image": "FrinSg37", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1662879807-saturn1.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "Hiding in the shadows 🦇 Waiting to strike ⚡", + "downloads": "23746", + "id": 455, + "image": "wfUACS1t", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1690956632-batcave_2k.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "Stay on target 💫🛸", + "downloads": "20936", + "id": 496, + "image": "CoeM1An7", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1697521561-starfighter starwars_2k.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Dancing with the flow 🙄", + "downloads": "26572", + "id": 424, + "image": "P1h65qJA", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1684046241-red_black_2k_vbr2.png", + "wallpapertype": 0 + }, + { + "category": "Space", + "description": "Vroooom 🚀", + "downloads": "26702", + "id": 422, + "image": "9mWULPBx", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1683189916-rocket.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "Welcome to Arrakis ☀️", + "downloads": "17919", + "id": 563, + "image": "m31EhtRz", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1709535876-dune0001-0045.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Rise and grind 🍵", + "downloads": "17604", + "id": 572, + "image": "JOuItFm3", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1711352182-coffee_cup_2K.png", + "wallpapertype": 0 + }, + { + "category": "Retro", + "description": "Switch of an era 🎶", + "downloads": "21591", + "id": 582, + "image": "YKog49vH", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1713257189-ipod_2k.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Quack quack 🦆", + "downloads": "23616", + "id": 531, + "image": "blzMJ4Ip", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1704208911-duck_2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Never ending ☀️", + "downloads": "21092", + "id": 583, + "image": "rbA5MsC2", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1713257200-retro sun rally.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Streaks through the cracks 🔦", + "downloads": "42679", + "id": 346, + "image": "2YdFqCme", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1669098067-bleedinglight.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "It\u0027s my turn 🔥", + "downloads": "92347", + "id": 224, + "image": "K6ySTF5k", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1654933736-gokuhair.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Make a wish 💫", + "downloads": "31632", + "id": 413, + "image": "v48jd1uq", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1681201758-mountainskyview.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "Beginning of the Hawkin\u0027s curse 🎃", + "downloads": "96580", + "id": 218, + "image": "VKpGv0RL", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1654161170-vecnahouse.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "Show me where is the enemy ", + "downloads": "44977", + "id": 322, + "image": "25QVbcyG", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1666073442-erenyeager.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Fading ghost 👻", + "downloads": "29733", + "id": 418, + "image": "yiYvJB7c", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1682493720-movingghost_2k.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "Glitch in the matrix 💾", + "downloads": "37534", + "id": 350, + "image": "p3u7Osyn", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1669615907-matrix.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "With me comes the tail ✈️", + "downloads": "33202", + "id": 386, + "image": "bMOCTl9N", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1675674061-planetail.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "They glow 🌙", + "downloads": "19554", + "id": 552, + "image": "CkdnroBR", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1707727905-firefilebottle.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Pulses to infinity ♾️", + "downloads": "17887", + "id": 558, + "image": "B2mpiW7j", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1708590245-lineexpand360.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Love for RGB ⌨️", + "downloads": "39427", + "id": 320, + "image": "5ZVq6Prd", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1665764837-keys50.png", + "wallpapertype": 0 + }, + { + "category": "Gaming", + "description": "Fallen hero 😃", + "downloads": "28919", + "id": 394, + "image": "D4dkOoLq", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1677218914-among us_2k.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Neon Tunnel ⚡", + "downloads": "15158", + "id": 635, + "image": "hCUj7aN6", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1721293058-tunetunnel_2k0001-0300.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Loops like domino ♦️", + "downloads": "17722", + "id": 541, + "image": "QMpWG2bY", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1705999547-morf lines.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "Domain Expansion 🤞🏻", + "downloads": "55327", + "id": 255, + "image": "PiQtZJen", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1658994833-gojo1.png", + "wallpapertype": 0 + }, + { + "category": "Space", + "description": "Am I on the right planet 🧑🏻‍🚀", + "downloads": "29524", + "id": 381, + "image": "iQW8dSPH", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1674109405-Astrounaut on planet_2k.png", + "wallpapertype": 0 + }, + { + "category": "Retro", + "description": "Good old days 💻", + "downloads": "14702", + "id": 622, + "image": "N9KsFl3O", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1720429136-windowsxp2K.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "Charting the unknown one map at a time 🧭", + "downloads": "18324", + "id": 509, + "image": "Q0igIXVA", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1700978539-compass.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Colourful memories of old school 📼", + "downloads": "32147", + "id": 349, + "image": "HVKo2fx5", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1669615899-cassetterainbow.png", + "wallpapertype": 0 + }, + { + "category": "Miscellaneous", + "description": "Pop out Pop in ⚽", + "downloads": "16221", + "id": 567, + "image": "TZUgQRtJ", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1710404359-cylinderballs2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Ocean planet 😁", + "downloads": "32765", + "id": 343, + "image": "ToXANS7D", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1668584406-planetinocean.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Atoms surfed the waves of fun ⚛️", + "downloads": "16729", + "id": 546, + "image": "JaRcbEiC", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1706956200-wavedots_2k.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Harnessing the power ⚛️", + "downloads": "16134", + "id": 551, + "image": "DrNBnY6z", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1707727879-spherical2K.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Retro vibes ⚡", + "downloads": "16840", + "id": 523, + "image": "LyfTNpZr", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1702654981-neon_lines_2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Curved glass ✨", + "downloads": "14165", + "id": 602, + "image": "bnSzZRO0", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1716799592-rainbow_2k0001-0200.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Swirling into the hearts ➰", + "downloads": "20209", + "id": 448, + "image": "NWjAcdlJ", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1689838759-gradientloop2K.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Blue Planet 🔵", + "downloads": "95474", + "id": 194, + "image": "osJuAmep", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1651049003-planet007.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Red Radiance ⭕", + "downloads": "19173", + "id": 460, + "image": "D0ZKbEIl", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1692167428-energyfield2k.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Colors in a mesmerizing dance 🎨", + "downloads": "17455", + "id": 483, + "image": "4DHhiegM", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1696497611-gradlines2k.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Apple \u0027s Hello 👋🏻", + "downloads": "19111", + "id": 458, + "image": "HumJo4BE", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1691565388-hello2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "The pop waves 🌊", + "downloads": "20111", + "id": 445, + "image": "WgRq68CP", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1689149442-waves.png", + "wallpapertype": 0 + }, + { + "category": "Space", + "description": "Star gazing 💫", + "downloads": "13899", + "id": 593, + "image": "fN82DWoX", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1714984090-star gazing astronaut.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Sunlit meadows 🌲", + "downloads": "18514", + "id": 464, + "image": "1bjIgeUr", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1692776611-vectorbirdscenery.png", + "wallpapertype": 0 + }, + { + "category": "Retro", + "description": "Record Play Repeat 🎤", + "downloads": "14541", + "id": 568, + "image": "69vNVpUj", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1710404402-TeenageEngineering2K.png", + "wallpapertype": 0 + }, + { + "category": "Gaming", + "description": "Mario time 💥", + "downloads": "18024", + "id": 470, + "image": "0hzyAtom", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1694076946-supermario2K.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Pencil Pen and Rubber", + "downloads": "13329", + "id": 607, + "image": "BIZVzLhf", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1717667297-computerportal2k.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Quantum engine ⚡", + "downloads": "18174", + "id": 463, + "image": "LCYPha4j", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1692776605-cubeneon.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Lost in luminescence 🟩", + "downloads": "16625", + "id": 495, + "image": "mC6WLnhq", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1697521556-cyberally_2k.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Desert nights where stars write their own stories 🌵", + "downloads": "17040", + "id": 476, + "image": "3T8jLvog", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1695198738-pyramid star gaze.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Christmas time ❄️", + "downloads": "26055", + "id": 371, + "image": "59PsapVJ", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1671781190-lightsetchristmas_2k .png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "A feline farewell to daylight ☀️🐈", + "downloads": "12906", + "id": 598, + "image": "V7m6i1fw", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1715848167-cat_2k.png", + "wallpapertype": 0 + }, + { + "category": "Gaming", + "description": "Childhood memories 🕹️", + "downloads": "19855", + "id": 431, + "image": "jDKXMEw2", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1685514859-gameboy_2k.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "Spider Glitch 🕸️", + "downloads": "11607", + "id": 660, + "image": "qducAoan", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1724917214-spiderlogoglitch_2k.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Melting into the backdrops🔵", + "downloads": "13878", + "id": 557, + "image": "L3dv7UKW", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1708590234-layerlava.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Seaside bliss framed in sunlight 🌊", + "downloads": "14632", + "id": 522, + "image": "xXNtEKmv", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1702654961-horizontal_landscape_2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Energy orb ⚡", + "downloads": "25517", + "id": 352, + "image": "OloNzAQy", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1669881138-scifireactor.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Nostalgia meets sound 🎶", + "downloads": "15172", + "id": 498, + "image": "n9VhFq3s", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1698050834-twoshaderecordplayer2k.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "Soul of the street painted in rain drops", + "downloads": "12640", + "id": 578, + "image": "2qtG1ZMH", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1712388148-rainingsidewalk2k.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Rise against the wind 🪁", + "downloads": "11621", + "id": 613, + "image": "Rw3mt7SW", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1718609085-kitevalley2K.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "stripes 🔻", + "downloads": "18209", + "id": 433, + "image": "1FACemca", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1686295552-steplines2k.png", + "wallpapertype": 0 + }, + { + "category": "Superheroes", + "description": "This looks like a job for Superman 💪", + "downloads": "10964", + "id": 640, + "image": "EfkJFC2q", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1722262750-suoerman2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Edge lighting 🌈", + "downloads": "11309", + "id": 617, + "image": "3MqLDHgV", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1719476474-rgb frame.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Boo boo 👻", + "downloads": "23431", + "id": 368, + "image": "2G49hE5K", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1670919440-pixelghost2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "The dead shall raise 💀", + "downloads": "26938", + "id": 326, + "image": "YBsEl3bd", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1666766418-walkingskeleton.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Neon tunnel ⚡", + "downloads": "14192", + "id": 497, + "image": "kVy928fx", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1698050818-room2K.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "Cruising through the street 🚗", + "downloads": "19331", + "id": 409, + "image": "CegovyQJ", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1680509310-neoncity.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Decked boat dancing on ripples 🛶", + "downloads": "13655", + "id": 504, + "image": "OrfjM83b", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1700211939-boatreflection2k.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Every petal tells a story 🌸", + "downloads": "13810", + "id": 500, + "image": "rNv4fW6u", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1699344917-flowerbranch_2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Enter the neon-lit future where beats and bytes collide ⚡", + "downloads": "14666", + "id": 472, + "image": "7t3pUOLY", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1694590930-retrodot_2k.png", + "wallpapertype": 0 + }, + { + "category": "Space", + "description": "Spaceship on a joy ride 🚀", + "downloads": "12519", + "id": 537, + "image": "mMaCO5Dp", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1704961330-vector planet.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Still a long way to go 🚶🏻‍♀️", + "downloads": "11983", + "id": 547, + "image": "JTL6lDty", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1706956207-long way_2k.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Propelling the colors 🌈", + "downloads": "10949", + "id": 587, + "image": "lhvpF8Rx", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1714060447-propeller_2K.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Northern lights ☁", + "downloads": "20410", + "id": 378, + "image": "MDuYI51V", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1673154571-lines.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Magical Forest 🌙", + "downloads": "10444", + "id": 603, + "image": "3ZRN94cV", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1716827412-forestbrook2K.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "The seeds of the sacred tree 🍃", + "downloads": "21113", + "id": 369, + "image": "q7WLCVaM", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1670919451-avatar0601-1200.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Everything is energy ⚡", + "downloads": "35593", + "id": 258, + "image": "IN0nhgL4", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1659593329-circuit.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Neon drops 🌟", + "downloads": "19901", + "id": 377, + "image": "b1vrFOlV", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1673154563-raindrops.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Planets doing its job 🌍", + "downloads": "16227", + "id": 425, + "image": "kifBrWvn", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1684046356-solar_system_orange_2k.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Make a wish 🌠", + "downloads": "40387", + "id": 243, + "image": "cLVaypI2", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1657291661-shootingstar.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Waves within waves 😁", + "downloads": "18588", + "id": 389, + "image": "R84zOhsM", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1676443809-circlestripes2K.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Dream it do it 🦄", + "downloads": "12236", + "id": 503, + "image": "oGkTW15v", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1700212340-dream.png", + "wallpapertype": 0 + }, + { + "category": "Travel", + "description": "As the landscape unfolds outside the window 🚊", + "downloads": "14730", + "id": 440, + "image": "mqMsnKui", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1687675294-train doorwindow2k.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Era of gamers 🎮", + "downloads": "14820", + "id": 437, + "image": "bVjyp4hr", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1686986248-tv2k.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Be calm as koi 🐟", + "downloads": "9404", + "id": 618, + "image": "BeIJvh3T", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1719476480-koi fish.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Nearing the end of day ⛵", + "downloads": "15541", + "id": 421, + "image": "GqeN0UxH", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1683189872-boatshadow_2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Ripples ⭕", + "downloads": "62835", + "id": 197, + "image": "xtrPQmnY", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1651467012-drops.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Travel through time ⏳", + "downloads": "23381", + "id": 319, + "image": "lzmt7owB", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1665764832-rgbfinal.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Silky waves 🌊", + "downloads": "16259", + "id": 406, + "image": "KG3R7iX4", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1679896671-waves.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Land of dreams 🌳", + "downloads": "40565", + "id": 235, + "image": "jkobCr5V", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1656235975-butterflygreen.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Life a flying plane with ever changing backdrop colors ✈️", + "downloads": "11866", + "id": 481, + "image": "P8S2Gopf", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1696496990-planeexpand2K.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Keep smiling until it\u0027s clear 📷", + "downloads": "13533", + "id": 446, + "image": "7iG4Usoh", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "camerafocus2k7676.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Eat drink and be scary 🎃", + "downloads": "21949", + "id": 324, + "image": "UXmzNlDI", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1666457699-cementry330.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Kinda spooky 🦇", + "downloads": "26097", + "id": 284, + "image": "i6GlZz4g", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1662879788-spookyforest.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Blazing through the tunnel ⚡", + "downloads": "39397", + "id": 234, + "image": "Fa8NqnjJ", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1656235972-circletunnel23.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Breathing cubes 🟩", + "downloads": "17639", + "id": 375, + "image": "YGXbzLM1", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1672397960-cubesmerge.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Frames of reality 🔮", + "downloads": "15110", + "id": 412, + "image": "XJK8uRe4", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1681201744-frame2k.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Countryside 🏕", + "downloads": "22600", + "id": 306, + "image": "Pl1uckY0", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1665245461-nightgrass1.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Window of time 🪟", + "downloads": "17742", + "id": 372, + "image": "oPxUq89D", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1671781199-frame.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Sky shows the way ✨", + "downloads": "13406", + "id": 434, + "image": "Qirg9kAw", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1686295557-lighthouse2k.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Comfort of home 🏡", + "downloads": "50495", + "id": 208, + "image": "nG0Qs51U", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1652767860-livingroom.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Air drops 🪂", + "downloads": "22613", + "id": 301, + "image": "Bdq0uYwg", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1664526005-forestairdrop.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Winter embrace with snowflakes as delicate as whispered dreams ❄️☃️", + "downloads": "10265", + "id": 513, + "image": "NMmZzpDI", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1701677478-colourful snowfall.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Rotary cards 🎴", + "downloads": "47420", + "id": 212, + "image": "a0TEy1IM", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1653291520-roundedsquare2.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Analog warmth in a digital world 🎧", + "downloads": "8205", + "id": 623, + "image": "miEeOcTs", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1720429273-recordplayer2K.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "A sunny beach day 🏖️", + "downloads": "9754", + "id": 536, + "image": "cnyDCeda", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1704961259-beach guard.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Raining colors 🌧", + "downloads": "34561", + "id": 241, + "image": "yWAg8i4Q", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1657031337-rainbowrain.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Home sweet home 🌎", + "downloads": "65003", + "id": 185, + "image": "SXkQLevp", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1650263209-solarsystem30.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Warm beginning 🌄", + "downloads": "54617", + "id": 198, + "image": "6M4yxFB2", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1651467020-birdsflying.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Wormhole 🚀", + "downloads": "19846", + "id": 323, + "image": "g3SMjGI8", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1666357791-looper51.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Melodic Vibrating Wires 🎸", + "downloads": "11127", + "id": 467, + "image": "oVmTNSUe", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1693380422-guitar.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "✖️⭕", + "downloads": "20094", + "id": 321, + "image": "kfISWXG6", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1666073451-glitchface.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Sliding cards 🎴", + "downloads": "11580", + "id": 452, + "image": "QncwPgzG", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1690361489-jumping_shade_2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Ace Burner ♠️♥️♦️♣️", + "downloads": "7229", + "id": 670, + "image": "bHAg0sop", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1726732728-card on fire_2k.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Trapped in unknown 💢 ", + "downloads": "13065", + "id": 419, + "image": "Qrvs6PAb", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "lineneon.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Cubes Glide on Breeze 🟨", + "downloads": "9265", + "id": 528, + "image": "PpxmrE8C", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1703667173-cube cylinder_2k.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Night brings fear 🏰", + "downloads": "28856", + "id": 253, + "image": "nAKjYWZ3", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1658655062-nightcatle.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Looking for the prey 🦅", + "downloads": "17104", + "id": 344, + "image": "ILohYjwu", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1668584410-treesabove.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Up up and away ✈", + "downloads": "17367", + "id": 339, + "image": "sxVPWklG", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1667900451-planewindow.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Embracing the subtle artistry of shades 🟠🟡🟢🔵", + "downloads": "7843", + "id": 597, + "image": "GnYQwXOT", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1715848159-halfcircle_2k.png", + "wallpapertype": 0 + }, + { + "category": "Pixel", + "description": "Torii ⛩", + "downloads": "17351", + "id": 338, + "image": "VYeXZAd4", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1667900441-japanesearch.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Fusion 🌀", + "downloads": "11282", + "id": 439, + "image": "KAVzISrB", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1687675278-test2k.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Circles shift into places", + "downloads": "7883", + "id": 577, + "image": "rekDpLvG", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1712388120-move2k.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Flowing qubits 💡", + "downloads": "11363", + "id": 436, + "image": "72WQsAgc", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1686986110-dotlayer2k.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Gentle breezes and the turning of blades 🍃", + "downloads": "8983", + "id": 508, + "image": "ysKJIc51", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1700978311-windmill valley.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Gentleness of evening wind 🍃", + "downloads": "13770", + "id": 387, + "image": "o28DawGu", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1675674075-tricutreevalley.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Bridge through the mist 🌳", + "downloads": "6774", + "id": 645, + "image": "nFAQaw0h", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1723108025-forest waterfalls_2k.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Gradient Hue 🔴", + "downloads": "6912", + "id": 634, + "image": "5LFc76e2", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1721293053-gradient timerlinear_2k.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Sprint through cyber tunnel ⚡", + "downloads": "14289", + "id": 374, + "image": "HsjFeWJv", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1672397952-tunnel2K.png", + "wallpapertype": 0 + }, + { + "category": "Space", + "description": "In search for life 🚀", + "downloads": "15434", + "id": 347, + "image": "zRWeQaAj", + "pro": 99, + "resolution": "2160 x 3840", + "thumbnail": "1669098076-exoplanet.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Lines of music 🎸", + "downloads": "10193", + "id": 454, + "image": "fayjwWkG", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1690956236-two shade record player_2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Pinging for the enemies 🪖", + "downloads": "6701", + "id": 644, + "image": "FJLr4j6T", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1723108060-radar_2k.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Pebble waves 🌌", + "downloads": "16096", + "id": 333, + "image": "f0tcegFG", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1667557680-chips.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Sponge loops 🧽", + "downloads": "9122", + "id": 478, + "image": "vWLsGClJ", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1695799085-gradienttube_2k.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "A captivating view that holds our gaze refusing to let go 🏞️", + "downloads": "10129", + "id": 449, + "image": "akJXn52S", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1689839410-cloudvalley2K.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "The core ⚡", + "downloads": "6344", + "id": 665, + "image": "si2RCIbU", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1725870751-hexogen_2k.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Escaping the chores of life🧳", + "downloads": "72644", + "id": 165, + "image": "1b9Enzr8", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1648446795-van0001-0250.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Strings of reality ⭕", + "downloads": "22984", + "id": 264, + "image": "aiVWKcY1", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1660118383-contourarray.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Gamers paradise 🎮", + "downloads": "67122", + "id": 169, + "image": "ZNIgCsTj", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1648711035-pssyarray0.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Being minimal 😉", + "downloads": "32791", + "id": 223, + "image": "h4Z5OQDq", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1654933732-snowfall.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "A tapestry of seamless blending 🟥🟧🟨", + "downloads": "7989", + "id": 512, + "image": "bJs7kS5q", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1701677467-square expanition flip.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Messing around with lines 🌈", + "downloads": "13971", + "id": 351, + "image": "ktlWo6YM", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1669881134-lineplay.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Life\u0027s like a rolling ball on a track full of twists and turns ", + "downloads": "8669", + "id": 475, + "image": "D1NMe3so", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1695198716-rolling ball2K.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Pew pew 😁", + "downloads": "15250", + "id": 328, + "image": "bKT7ZB8v", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1667146129-pewgun.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Stretch some candy 🍬", + "downloads": "16610", + "id": 302, + "image": "QqugVMzt", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1664871075-candy.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Recording the life 📼", + "downloads": "38594", + "id": 204, + "image": "fwPayG3u", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1652165587-record1.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Gamer Zone ", + "downloads": "5937", + "id": 639, + "image": "jeavPVlk", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1722262736-gameover2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Break the rules 🤭", + "downloads": "39315", + "id": 201, + "image": "4k7pbWnN", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1652009042-inteldino.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "I can wiggle wiggle 🌻🌵", + "downloads": "10645", + "id": 407, + "image": "4TERVbsO", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1679896707-cactus.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Digital branches ⚡", + "downloads": "31536", + "id": 219, + "image": "wzT3YAxH", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1654413266-simdots.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "House\u0027s like a step 🪜", + "downloads": "6960", + "id": 542, + "image": "5Zv1adoC", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1705999571-merge houses.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Let it go 😉", + "downloads": "10826", + "id": 399, + "image": "okXRmlH7", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1678429628-letitgo.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Nature has it\u0027s own secrets 🍃", + "downloads": "27997", + "id": 229, + "image": "NfUDOu0K", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1655452812-fantasyland.png", + "wallpapertype": 0 + }, + { + "category": "Space", + "description": "Moon 🌕", + "downloads": "5279", + "id": 685, + "image": "EDVQUOwk", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1729501659-moon_2k.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "Stay Out Of My Territory - Heisenberg ⚗️", + "downloads": "28476", + "id": 227, + "image": "NbxPlFc3", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1655190766-breaking bad.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Fusion 🌀", + "downloads": "25882", + "id": 236, + "image": "RQt2913o", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1656482849-Energyfield.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Popping pops 🎉", + "downloads": "9486", + "id": 427, + "image": "xoP63fkn", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1684743824-stringingcolour_2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Ripples 🌊", + "downloads": "12342", + "id": 366, + "image": "fy6ijzpL", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1670574723-speaker2k.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Fourfold Path", + "downloads": "8218", + "id": 461, + "image": "VKy4mqPT", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1692167442-jlines2k.png", + "wallpapertype": 0 + }, + { + "category": "Tech", + "description": "Give your device some power surge ⚡", + "downloads": "5455", + "id": 659, + "image": "Ob9d70IC", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1724917204-generator_2k.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Rising blocks 🧱", + "downloads": "8798", + "id": 442, + "image": "rjLqdbJn", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1688456022-risingBlocks2K.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Cornering stripes 🏁", + "downloads": "13463", + "id": 332, + "image": "jvMzuYBS", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1667557670-turninglines.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Cruising the unknown 🚀", + "downloads": "24491", + "id": 239, + "image": "AFY4hrK0", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1656773205-rocketnew.png", + "wallpapertype": 0 + }, + { + "category": "Retro", + "description": "An inviting friend 🐈", + "downloads": "5581", + "id": 612, + "image": "3ToUh4n5", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1718609070-cattable2K.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Nature heals 🌳", + "downloads": "19023", + "id": 263, + "image": "PjXMoci9", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1659866405-fallleaves.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Old school 🎧", + "downloads": "26803", + "id": 225, + "image": "S6F4TnJ7", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1655189835-walkman.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Crystal dimension 🤩", + "downloads": "17247", + "id": 272, + "image": "yCWtPghR", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1661490666-animation81.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Sailing the evening wind ⛵", + "downloads": "10105", + "id": 393, + "image": "oKUqdwa1", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1677218894-lighthouse boat.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "I remember every night 🌙", + "downloads": "43686", + "id": 184, + "image": "ZckCjNdM", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1650005692-circlingstartrail.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "The Glitch", + "downloads": "5416", + "id": 608, + "image": "IQ432Vmq", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1717667347-cubes2kmain0001-0350.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Above the clouds 🛩️", + "downloads": "16277", + "id": 279, + "image": "qYZW1Rv0", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1662008358-planeabovewater.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Glitch ⚡", + "downloads": "9707", + "id": 397, + "image": "gvJl2drZ", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1677823065-synth.png", + "wallpapertype": 0 + }, + { + "category": "Superheroes", + "description": "From the shadows, I rise 🕷✨", + "downloads": "4666", + "id": 690, + "image": "7tphTLSA", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1730447376-spiderman noir_2k.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Make it count ⏳", + "downloads": "14671", + "id": 295, + "image": "KEUARZqg", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1663568574-makeitcount3.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Through the unknown 🤐", + "downloads": "19806", + "id": 251, + "image": "zLp2Vj4x", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1658385467-animation 670001-0120.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "Golden Gate Bridge 🌉", + "downloads": "4815", + "id": 669, + "image": "NBfadl9x", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1726732699-golden gate bridge view_2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Swirl 🌀", + "downloads": "14260", + "id": 298, + "image": "NdU7By6V", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1664170950-spriallines.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Best part of the day - Evening 🌆", + "downloads": "9277", + "id": 403, + "image": "sMcSilt2", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1679204730-sunlightreflectionvbr1.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Meow 🐈", + "downloads": "16366", + "id": 273, + "image": "i0E3UoF9", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1661490668-sleepingcat.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "Riding the town 🚙", + "downloads": "32298", + "id": 202, + "image": "t7c0Vnr9", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1652009046-town.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Linking links 🔗", + "downloads": "8785", + "id": 410, + "image": "0ugr2XTF", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1680509340-rubber.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "Comfort of home 🌃", + "downloads": "20284", + "id": 245, + "image": "BCT9fx3h", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1657517940-window scape new.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "A day in city 🏙", + "downloads": "11885", + "id": 329, + "image": "uHbALW25", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1667146134-planeabove.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Pulse of energy ⚡", + "downloads": "9623", + "id": 383, + "image": "Nh1ofe8P", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1674890229-wave2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Just floating around 🌊", + "downloads": "13852", + "id": 294, + "image": "1UWTpG87", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1663568542-jellyfish1.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Trains are beautiful 🚄", + "downloads": "13239", + "id": 297, + "image": "cskeY8Fx", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1663832513-bridgetrain.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "Golden Gate Bridge 🌉", + "downloads": "14313", + "id": 281, + "image": "Aio6auR2", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1662355278-goldengatebridge.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Light bars ⚡", + "downloads": "10833", + "id": 340, + "image": "AOLH63u2", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1668151038-spectrum.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Go with the flow ⛵", + "downloads": "15836", + "id": 265, + "image": "ZIj76vOl", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1660118394-redboat.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "The path isn\u0027t a straight line, it\u0027s a spiral 🌀", + "downloads": "17420", + "id": 252, + "image": "qVJI5SN0", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1658649402-crcfluid.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Flying above the grass 🍃", + "downloads": "8682", + "id": 390, + "image": "HcKWT93r", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1676443822-hotairballoon.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Flocking beams ⚡", + "downloads": "19099", + "id": 242, + "image": "578AbrmR", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1657291653-dots.png", + "wallpapertype": 0 + }, + { + "category": "Pixel", + "description": "Festival vibe 🎆", + "downloads": "12369", + "id": 299, + "image": "cDJIejZY", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1664170966-pixelfireworks.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Endings are beautiful 🌇", + "downloads": "17405", + "id": 250, + "image": "NMy608Ya", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1658385460-sunset.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Weekend rides 🚙", + "downloads": "15007", + "id": 267, + "image": "2pHIefF3", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1660376766-sunsetride.png", + "wallpapertype": 0 + }, + { + "category": "Pixel", + "description": "Pixel warmth 🔥", + "downloads": "13833", + "id": 277, + "image": "hyzI7Pk3", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1661751428-pixelcampfire.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Magic below the blocks 🪄", + "downloads": "12364", + "id": 296, + "image": "m3i5XUIA", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1663832509-risingneon.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Through the hurdles ⚡", + "downloads": "24404", + "id": 214, + "image": "wQ37vMgz", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1653546875-animation56.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Wind and flowers 🌷", + "downloads": "9931", + "id": 341, + "image": "9HPnwGeM", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1668151041-flowerfield.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "To honour the time machine - James Webb Telescope", + "downloads": "17217", + "id": 247, + "image": "n5cMUxgb", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1657812000-galaxy.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Wind\u0027s Caress 🌼", + "downloads": "6041", + "id": 466, + "image": "XAYWrv2H", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1693380406-flower.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Mirror reality 😎", + "downloads": "7271", + "id": 415, + "image": "rgALv9TE", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1681804030-flip.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "⭕ pop out ⭕", + "downloads": "4045", + "id": 654, + "image": "Hogh0Jt3", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1724059263-cylinder2k0001-0250.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Waves contained in a traingle 📐", + "downloads": "8373", + "id": 380, + "image": "kzDQR9JP", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1674109401-gradientframewave_2k.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Home is where plants are🪴", + "downloads": "17135", + "id": 244, + "image": "5Vu7v1yp", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1657517928-leaves1.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "The maze 🫣", + "downloads": "13626", + "id": 270, + "image": "eYlUWwG3", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1660751880-patternrgb.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Monolith of energy ⚡", + "downloads": "18018", + "id": 238, + "image": "nXOH7dPa", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1656773192-trianglewaves.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Yin and yang ☯", + "downloads": "7919", + "id": 384, + "image": "DYWXTiLx", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1674890254-yinyang2K.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Let\u0027s Bravo 💪🏻", + "downloads": "3554", + "id": 695, + "image": "x3rgHsu0", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1731314484-johnny bravo_2k.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Winter\u0027s Silent Whispers ☃️", + "downloads": "4833", + "id": 527, + "image": "MA8NXHL7", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1703667129-snow globe.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Expanding bubbles 🎈", + "downloads": "7193", + "id": 402, + "image": "OgYCR5WZ", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1679204714-bubble.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Line that divides dimension 🔮", + "downloads": "8405", + "id": 367, + "image": "OseuYg9c", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1670574738-flipbubbles2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Ghost Rider 🔥", + "downloads": "28949", + "id": 191, + "image": "agjLlwE3", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1650866838-skullnew.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Happy New Year 🎆", + "downloads": "4631", + "id": 532, + "image": "PhMH24dz", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1704208922-happynewyear_2k.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Are we in a simulation 🤔", + "downloads": "9950", + "id": 318, + "image": "FQNd2aKp", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1665474502-cybercity.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Gradient strings 🪡", + "downloads": "10977", + "id": 293, + "image": "NiCIf7nO", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1663217492-gradientline.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Face towards light 🌻", + "downloads": "13841", + "id": 254, + "image": "RHDuFAgb", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1658994666-sunflower.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Radiate like flowers 🌼", + "downloads": "3406", + "id": 664, + "image": "K6zaDsGx", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1725870736-fadingflowers_2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Raining triangles ⚡️", + "downloads": "16841", + "id": 231, + "image": "Wg13hPZz", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1655713095-triangs.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Boo want to be scary👻 ", + "downloads": "3210", + "id": 684, + "image": "PUW2EhR0", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1729501572-ghostwind_2k.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Disco floor 💃🏻", + "downloads": "10471", + "id": 283, + "image": "4tyKUwEl", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1662621794-discovibe.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Today is your day 😁", + "downloads": "19519", + "id": 213, + "image": "VnoQmB5a", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1653546861-today.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "Banana 🍌", + "downloads": "30165", + "id": 179, + "image": "7f3Bsx60", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1649661826-minions.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Soothing of sea ⛵", + "downloads": "30550", + "id": 178, + "image": "3fabqR4C", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1649485172-sunset boat.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Catch the toast 🍞", + "downloads": "5430", + "id": 430, + "image": "U0FJ38hC", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1685514843-bread toaster_2k.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "Wire\u0027s connecting people 👕👖", + "downloads": "11849", + "id": 259, + "image": "xRM4ArGk", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1659593345-hangingclothes.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "Feeling the calm 📻", + "downloads": "50154", + "id": 145, + "image": "KbaDizGu", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1646888235-windowview.png", + "wallpapertype": 0 + }, + { + "category": "Space", + "description": "The red planet 🌍", + "downloads": "3070", + "id": 674, + "image": "vufNpc9r", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1727687132-planet landscape_2k.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Looping trios 😎", + "downloads": "6160", + "id": 396, + "image": "67SLDahN", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1677822985-twotripattern.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "I solemnly swear that I am up to no good 🪄", + "downloads": "9892", + "id": 280, + "image": "q07B9wFL", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1662355270-footprint.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Mountain of cards ⛰️", + "downloads": "21303", + "id": 200, + "image": "1OUHBt0A", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1651642619-mount.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Simple as a flower 🌼", + "downloads": "7734", + "id": 327, + "image": "luVyJaZX", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1666766421-flowerpot.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Hexagonal waves ⚡", + "downloads": "24948", + "id": 186, + "image": "mVsNlo9a", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1650263214-hex0001-0300.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Trying to expand 🤔", + "downloads": "8120", + "id": 305, + "image": "e8p9NE2q", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1665245449-criclebreathe.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Flipping cards 🎴", + "downloads": "21405", + "id": 195, + "image": "5mXc9s83", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1651215762-tilewave.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Buzzing bees 🐝", + "downloads": "9126", + "id": 282, + "image": "JBg1PslY", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1662621769-beehive.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Bouncers ⭕", + "downloads": "8236", + "id": 300, + "image": "2PXEkfjJ", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1664525996-twoshadeball.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Monsoon cocktail 🍸", + "downloads": "2692", + "id": 675, + "image": "XHRV2kop", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1727687143-cocktail_2k.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Way back home 🚦", + "downloads": "21282", + "id": 192, + "image": "nCfxJUEd", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1650866841-traffic light.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Someone\u0027s being cooked 🪦", + "downloads": "2618", + "id": 680, + "image": "eQTYlByI", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1728551180-graveyard_2k.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Dustin , Do you copy 😉", + "downloads": "15823", + "id": 215, + "image": "EBMK7NTF", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1653896478-walkietalkie.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Mining the coins 🪙", + "downloads": "19665", + "id": 196, + "image": "CeFq9Owm", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1651215776-mining.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "In one drop of water are found all the secrets of all the oceans", + "downloads": "16073", + "id": 211, + "image": "k6uprVsf", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1653291509-boattrip6.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Strip\u0027s traffic 😉", + "downloads": "10830", + "id": 248, + "image": "kGB3yMqb", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1658134320-grid1.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Chilling through the countryside 🚙", + "downloads": "12497", + "id": 233, + "image": "rzTJdu4Q", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1655976665-countrydrive.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Journey through the color valley 🌈", + "downloads": "26208", + "id": 172, + "image": "xNAUw4vm", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1648970974-plane.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Cozy summer 🏖️", + "downloads": "16156", + "id": 206, + "image": "zE9R6gSG", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1652337222-seawave.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Ice and fire 🔥❄️", + "downloads": "15892", + "id": 207, + "image": "eNWAYdob", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1652767839-zig.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "The Resistance ski speeder 🔥", + "downloads": "33573", + "id": 155, + "image": "qm6kevX7", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1647590528-starwars0080-0240.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "Awakening the dragon 🔥", + "downloads": "24039", + "id": 175, + "image": "sLUpavix", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1649322130-dragonball.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "Way back home 🪟", + "downloads": "7507", + "id": 292, + "image": "DEBxzG9u", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1663217494-window.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Keep calm and play 🎧", + "downloads": "23149", + "id": 176, + "image": "Ve8GXgvF", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1649322136-cassette.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Minimal waves 🌊", + "downloads": "8365", + "id": 268, + "image": "jxsMPnZO", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1660723701-abstractwaves.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Dropping frames 📐", + "downloads": "14825", + "id": 209, + "image": "9QDqL4BM", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1653028915-framerotate2.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Waves of shades 🌊", + "downloads": "8988", + "id": 257, + "image": "qyIXY1ZG", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1659335310-colourgrid6.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Juicy Pine 🍍", + "downloads": "16425", + "id": 199, + "image": "uVXhD8zU", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1651642615-pineapple.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Enjoy the smell of rain ☔", + "downloads": "12485", + "id": 222, + "image": "1VcGN9RO", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1654668060-rainvector.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Clash of opposites 🌈", + "downloads": "8520", + "id": 262, + "image": "N8A1wHLX", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1659866395-loopie.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Woo hahaha 🎃🕯️", + "downloads": "2211", + "id": 679, + "image": "Wwu1pX5t", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1728551171-pumkin candle_2k.png", + "wallpapertype": 0 + }, + { + "category": "Miscellaneous", + "description": "Under the watchful eye of the moon, she rides the night 🌕✨🧙‍♀️", + "downloads": "2033", + "id": 689, + "image": "l8rWAa52", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1730447262-witch night_2k.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Creating memories in the snow, one angel at a time ☃️❄️", + "downloads": "1937", + "id": 705, + "image": "rX1J9fqj", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1733126052-snow angel_2k.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Rainbow effect 🌈", + "downloads": "29502", + "id": 153, + "image": "IrWp7Pok", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1647418463-circlingrainbowhigh.png", + "wallpapertype": 0 + }, + { + "category": "Superheroes", + "description": "On a date 🦇 🐱", + "downloads": "41699", + "id": 134, + "image": "sUMx4igS", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1645948957-thebatman.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Energy tiles ⚡", + "downloads": "1964", + "id": 694, + "image": "35VZSQ2q", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1731314477-cybersandwich_2k0001-0350.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Blow 💨", + "downloads": "9642", + "id": 237, + "image": "YwJ2fH5V", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1656482859-paperwindmill.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "Life is like a roller coaster, live it, be happy, enjoy life 🎢", + "downloads": "11891", + "id": 216, + "image": "tUuqKWn5", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1653896481-rollercoster40.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "Roll into adventure with BB-8 💫", + "downloads": "1886", + "id": 700, + "image": "HDabQGWh", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1732175087-BB-8_2k.png", + "wallpapertype": 0 + }, + { + "category": "Gaming", + "description": "Love\u0027s clicking ⌨️", + "downloads": "51051", + "id": 123, + "image": "Kuj9oSd4", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645515864-key0001-0247.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Halftone 🪄", + "downloads": "6331", + "id": 278, + "image": "4HyjqJlt", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1662008355-Dots.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "Wakeup call 🍵", + "downloads": "15116", + "id": 190, + "image": "5zsv48Oi", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1650692872-windownearsubway.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Life is a journey 🚗 ", + "downloads": "7788", + "id": 246, + "image": "yZvaUhFu", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1657811993-lifejourney.png", + "wallpapertype": 0 + }, + { + "category": "Gaming", + "description": "Pac Man 🕹", + "downloads": "42164", + "id": 127, + "image": "wZWDOt1x", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645601772-pacman.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Chasing the breeze ⛵", + "downloads": "1683", + "id": 699, + "image": "31HPOwuK", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1732175071-waving boat_2k.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Entering the night 🌙", + "downloads": "6464", + "id": 266, + "image": "GrLxaBz5", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1660376731-lighthousevector.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Gift from nature 🌊", + "downloads": "24805", + "id": 154, + "image": "opYn9biL", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1647590523-waterfall.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Incursion 😉", + "downloads": "12058", + "id": 203, + "image": "5mMz2Xae", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1652165583-frames.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "A day in the desert 🌵", + "downloads": "8885", + "id": 230, + "image": "CATQUy6K", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1655713087-materialdesert.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "The Watcher ⚡", + "downloads": "15915", + "id": 180, + "image": "rcGDtH4i", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1649662069-animation 470001-0250.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Shades of sun 🕶", + "downloads": "8436", + "id": 232, + "image": "Xwz4GZqr", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1655976648-colour_1.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Taking rest is also being productive 💤", + "downloads": "20668", + "id": 162, + "image": "M8qTZGFQ", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1648195234-restisproductive.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Trying to connect 😉", + "downloads": "9309", + "id": 221, + "image": "ZUkGF4Ez", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1654668052-roundewave.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "It\u0027s fading 🤞🏻", + "downloads": "6495", + "id": 256, + "image": "beVy1x6O", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1659335301-fadinglines1.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Rhythm of the circles 💜 ", + "downloads": "17511", + "id": 171, + "image": "582tpb6m", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1648711049-circlegrad.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Hilltop holidays 🖖🏻", + "downloads": "5709", + "id": 271, + "image": "bC9oJ78l", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1660751887-Hillhouse.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "You are already under my genjutsu 🥷🏻", + "downloads": "133346", + "id": 400, + "image": "I9rPTLMw", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1678429646-itachiuchiha.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "Itachi Uchiha 🔥", + "downloads": "47422", + "id": 573, + "image": "EuWIeJiO", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1711352204-itachi_moon_2K.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "Any technique is worthless before my eyes ⚔️", + "downloads": "113536", + "id": 303, + "image": "o8O5Zjg9", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1664871083-itachiuchiha2.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "A rainy night ☔", + "downloads": "68432", + "id": 416, + "image": "ZcCYk74p", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1681804057-rainingstreet.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Through the window night whispers its secrets 🪟", + "downloads": "31153", + "id": 592, + "image": "x1sAjaXT", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1714984080-outside window view.png", + "wallpapertype": 0 + }, + { + "category": "Space", + "description": "There\u0027s a way out 🌌", + "downloads": "40457", + "id": 443, + "image": "dgHwYSLM", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1688456077-bk2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Eternal hues dance in the void\u0027s embrace 🎗️", + "downloads": "32127", + "id": 501, + "image": "AH5k0P6g", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1699344949-gradstroke_2k.png", + "wallpapertype": 0 + }, + { + "category": "Retro", + "description": "Evening in the garage 🔧", + "downloads": "32082", + "id": 457, + "image": "irEbHd9Y", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1691565326-street2k.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "Autonomous Ultra Instinct 🔥", + "downloads": "20256", + "id": 655, + "image": "9f0Cepkb", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1724059272-gokuultrainstinct2k.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Thunder ⚡", + "downloads": "31019", + "id": 451, + "image": "iBepAVKk", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1690361455-lightning2K.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "EVE 💓", + "downloads": "22128", + "id": 588, + "image": "IgLHh1Sk", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1714060538-eve_2K.png", + "wallpapertype": 0 + }, + { + "category": "Space", + "description": "Imagination is the limit 🧑🏻‍🚀🎈", + "downloads": "28778", + "id": 469, + "image": "0DaVbFgs", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1694076934-flying astronaut.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "When in doubt nap it out - Snorlax\u0027s motto 💤", + "downloads": "23170", + "id": 473, + "image": "kDPZBVYW", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1694594155-snorlax.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "Winter night ☃", + "downloads": "55895", + "id": 269, + "image": "rT350txs", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1660723718-snowapartment.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "Beauty of late night snow ☃️", + "downloads": "27034", + "id": 428, + "image": "CA95YeWL", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1684743860-streetlight_2k.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Glimpse of parallel world 🌍", + "downloads": "18688", + "id": 562, + "image": "oVLnApSP", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1709535857-4 layer land.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Where trekking ends ⛺", + "downloads": "18369", + "id": 166, + "image": "TslXeryf", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1648617295-vectorcamp.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Push and Pull 🥸", + "downloads": "5337", + "id": 276, + "image": "PiAKybTX", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1661751415-pushline.png", + "wallpapertype": 0 + }, + { + "category": "Gaming", + "description": "Gamer\u0027s paradise 👨🏻‍💻", + "downloads": "28767", + "id": 138, + "image": "brocN6Da", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1646306064-pc.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Beats 💓", + "downloads": "32497", + "id": 132, + "image": "UJN3sn7G", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1645948947-heartbeat.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Glide through your dreams 🛩", + "downloads": "6136", + "id": 249, + "image": "EUqnwDWt", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1658134331-glider.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Catch with the lines 🤐", + "downloads": "7333", + "id": 228, + "image": "UNgGb3f6", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1655452805-justlines.png", + "wallpapertype": 0 + }, + { + "category": "Superheroes", + "description": "Batmobile in Action 🦇", + "downloads": "26251", + "id": 137, + "image": "0oKr7TM4", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1646123484-batmobile.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Hide and seek with the cats 😸", + "downloads": "18342", + "id": 156, + "image": "BLck8Qrx", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1647760632-cats.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "Pokeball ❤️", + "downloads": "29725", + "id": 130, + "image": "gf98ksKa", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645689676-pokeball0001-0100.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "The Eighty\u0027s Vibe 🕺 ", + "downloads": "16953", + "id": 160, + "image": "9hoTBQZL", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1648112112-animation380001-0120.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "I\u0027m in love with the grass 🌳", + "downloads": "16630", + "id": 161, + "image": "uHybICne", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1648112120-grasscutter0001-0310.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "There is something you have to protect ⚔️", + "downloads": "19655", + "id": 150, + "image": "9FzEXMxC", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1647246742-nezukobox.png", + "wallpapertype": 0 + }, + { + "category": "Movies", + "description": "Christmas time for snoopy ❄️☃️", + "downloads": "1221", + "id": 704, + "image": "85IPsh6E", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1733125861-snoopy house_2k.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Looping loops ⭕", + "downloads": "5955", + "id": 240, + "image": "Oi8ofNPb", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1657031328-circle.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Tick Tock ⏰", + "downloads": "10522", + "id": 189, + "image": "EX9qN2Sp", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1650692865-ballpattern.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Love for old 🎷", + "downloads": "22506", + "id": 141, + "image": "fshCMoKF", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1646500025-musictape.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Never ending triangles 📐", + "downloads": "10538", + "id": 187, + "image": "ViDSUzfG", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1650437837-foldingtriangle.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Glide with the cards 💜", + "downloads": "12076", + "id": 177, + "image": "JcHhSQiF", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1649485125-trianglewave.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Spring is nature\u0027s way of saying let\u0027s party 🌄", + "downloads": "6956", + "id": 220, + "image": "LMBHkEXS", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1654413275-landscape.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "The opposite pairs 😉", + "downloads": "11237", + "id": 181, + "image": "g4NZzoAl", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1649835076-dna.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Confused ghost 👻", + "downloads": "15853", + "id": 158, + "image": "joyRhH14", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1647851266-panghost.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Through the warp tunnel 🚀", + "downloads": "19924", + "id": 144, + "image": "xVDSuvjo", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1646888230-animation390001-0120.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "There\u0027s two sides for everything 😇", + "downloads": "12718", + "id": 170, + "image": "OqL53EQk", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1648711046-minimalsun.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Converging stripes ⭕", + "downloads": "7242", + "id": 210, + "image": "e1Evxh7K", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1653028917-cutcircle2.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Confused steps 🤭", + "downloads": "13653", + "id": 163, + "image": "Xi0J6UdY", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1648310198-contour.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Summer waves 🌊", + "downloads": "6533", + "id": 217, + "image": "Q0HK57si", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1654161159-wavvve.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Rings and Rings ✌🏻", + "downloads": "28938", + "id": 122, + "image": "NVcnSvTy", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1645515845-vectorgalaxy.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Splitting halves ⚛️", + "downloads": "3033", + "id": 317, + "image": "FxKsChSA", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1665474490-toggle3.png", + "wallpapertype": 0 + }, + { + "category": "Material", + "description": "Excited cards 🧡", + "downloads": "11782", + "id": 168, + "image": "bN0WaRht", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1648711023-recarray.png", + "wallpapertype": 0 + }, + { + "category": "Superheroes", + "description": "I am vengeance 🔥", + "downloads": "79041", + "id": 76, + "image": "lRNOhvxW", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1643010123-batman.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "The Eighty\u0027s 🕺", + "downloads": "10381", + "id": 174, + "image": "UHF3y6E7", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1649137233-dotshigh.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Joy of celebration 🎉", + "downloads": "16140", + "id": 146, + "image": "L4VbOsYe", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1646986481-fireworkview.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Serene Night ✨", + "downloads": "23302", + "id": 128, + "image": "MG6JrH1F", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645601780-windmillill.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Squares are on a trip 😉", + "downloads": "10223", + "id": 173, + "image": "fi49c06E", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1649137222-squares.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Weekend life 🎣", + "downloads": "21075", + "id": 131, + "image": "UHGgV6xz", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645689678-fishingboat.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Camping nights ⛺", + "downloads": "17785", + "id": 139, + "image": "YzMrhTdj", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1646306068-snowforest.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Circling ⭕", + "downloads": "10382", + "id": 164, + "image": "M3w0tZxG", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1648446785-pluspattern.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Runaway lines 😉", + "downloads": "9402", + "id": 167, + "image": "GLZf5btI", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1648617302-squareill.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "The wave of joy 🌊", + "downloads": "7106", + "id": 182, + "image": "nYb783FD", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1649835082-wave.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Droplets 💧", + "downloads": "6104", + "id": 193, + "image": "TMiOn2da", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1651048971-droppattern.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Beats ⚡", + "downloads": "10892", + "id": 149, + "image": "cqWTe6jN", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1647246737-greenanim.png", + "wallpapertype": 0 + }, + { + "category": "Superheroes", + "description": "I think I\u0027m superman\u0027s favorite 💚", + "downloads": "8838", + "id": 159, + "image": "Oox1TRYe", + "pro": 10, + "resolution": "2160 x 3840", + "thumbnail": "1647851269-supperman0001-0093.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Hello anybody home 🚀", + "downloads": "27032", + "id": 107, + "image": "EmrYWiA1", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1644653245-blackhole.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Chill 🥤", + "downloads": "5713", + "id": 183, + "image": "LXi2ztvh", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1650005674-chill.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Cube of Wisdom ⚡", + "downloads": "15387", + "id": 126, + "image": "6nPkafpA", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645601756-icecube.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Where am I 🕵🏻‍♀️", + "downloads": "5186", + "id": 188, + "image": "VjDfLBgT", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1650437848-bushsub.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Mirror dimension 🪄", + "downloads": "4103", + "id": 205, + "image": "Ukx7qj3K", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1652337215-cutsphere.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Error ", + "downloads": "24550", + "id": 106, + "image": "cofEiJ9d", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1644653226-error.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Booo Booo 👻", + "downloads": "79317", + "id": 62, + "image": "VflzaU4B", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642749968-ghost.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Gateway to the metaverse ⚡️", + "downloads": "10402", + "id": 136, + "image": "ATgbnVti", + "pro": 7, + "resolution": "2160 x 3840", + "thumbnail": "1646123475-animation33.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Run with the stripes 💜", + "downloads": "12677", + "id": 125, + "image": "54nkHS0T", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645515883-intercutline.png", + "wallpapertype": 0 + }, + { + "category": "Cityscape", + "description": "Chores of the city 🌇", + "downloads": "7860", + "id": 147, + "image": "prKe6Qwu", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1646986489-sidetrain.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Countryside are always refreshing 🏡", + "downloads": "7561", + "id": 148, + "image": "dGAhZSgC", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1646986493-house 3.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "Rengoku🔥", + "downloads": "51807", + "id": 66, + "image": "IVLv624U", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642750053-rengoku.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Where are the humans 🛸", + "downloads": "14777", + "id": 108, + "image": "xtTe6CAl", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1644653255-ufo.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Follow the wave ⚡", + "downloads": "13076", + "id": 110, + "image": "E9LzS5PG", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645000748-Comp2dot.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Colour Blades 💚", + "downloads": "7661", + "id": 129, + "image": "byXhakCg", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645689669-yellowpanel.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Every action has a reaction 🤓", + "downloads": "16880", + "id": 99, + "image": "9kC2wZUn", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1644566566-pend.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Winter cave 🪵", + "downloads": "5577", + "id": 143, + "image": "YfFaywoH", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1646725986-foresthouse.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Juicy slices 🍉", + "downloads": "5634", + "id": 142, + "image": "CUgLfE0M", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1646725977-watermelon.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Lava lamp ☮️", + "downloads": "14879", + "id": 102, + "image": "l01wioFT", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1644566624-lavalamp.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Cyber Planet ", + "downloads": "7650", + "id": 124, + "image": "FdBayDEC", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645515875-animation620001-0120.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Joy of smiley\u0027s 😉", + "downloads": "3987", + "id": 157, + "image": "m7hJcMwv", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1647760634-smiley.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Core of the ancient magic 🔮", + "downloads": "8480", + "id": 119, + "image": "QHtIJZqr", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645259194-cubetemp0001-0250.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Just charging 🔋", + "downloads": "9093", + "id": 116, + "image": "6h5i7aTK", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645173517-justcharging.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Vroom Vroom 🏎️", + "downloads": "7868", + "id": 121, + "image": "OCXNm04f", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645259201-car0001-0150.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Through the town road 🤠", + "downloads": "4135", + "id": 152, + "image": "Gvj8U5RM", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1647418455-cowbo45.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Train\u0027s coming 🚞", + "downloads": "9956", + "id": 111, + "image": "JcweovKf", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645000755-train0001-0250.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Warp drive through the vaccum ✨", + "downloads": "22782", + "id": 74, + "image": "tFNP0Ywm", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1643010114-erer.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Meow Meow 🐱", + "downloads": "7582", + "id": 120, + "image": "UauRwNgt", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645259197-catdoodles.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Be a percent better everyday 💚", + "downloads": "43680", + "id": 60, + "image": "EDLpF1YJ", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642668016-1better.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Need a bucket to collect all these 🪣", + "downloads": "22076", + "id": 73, + "image": "FGPpaDgu", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642839034-playstation symbol0250-0499.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Being retro 🕺", + "downloads": "5221", + "id": 133, + "image": "Y5EsZt9h", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645948953-animation330001-0120.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Joy of baloons 🎈", + "downloads": "4514", + "id": 140, + "image": "4aNESDct", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1646500005-baloon.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "Feeling the rain 🌧️", + "downloads": "13316", + "id": 96, + "image": "H59OQqzb", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1644566465-girl in rain.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Imagination is important than knowledge 🔬", + "downloads": "7391", + "id": 114, + "image": "u0sL3bFq", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645087072-galaxyhouse.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Camping folks ⛺", + "downloads": "13276", + "id": 84, + "image": "gYska4tH", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1643356780-camp fire.png", + "wallpapertype": 0 + }, + { + "category": "Dope", + "description": "Enter the metaverse⚡", + "downloads": "14561", + "id": 79, + "image": "pY1Fq7tw", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1643271285-animation 450001-0200.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Enjoying through the woods 🚗", + "downloads": "19355", + "id": 70, + "image": "4Oiby2ms", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642752242-night forest ride0001-0150.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Wiggly wiggly 😁", + "downloads": "11687", + "id": 82, + "image": "ku28xKdm", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1643356768-deform.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Night sky ✨", + "downloads": "11100", + "id": 83, + "image": "xtVHQ5qX", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1643356776-night shy.png", + "wallpapertype": 0 + }, + { + "category": "Nature", + "description": "Sailing through the horizon ⛵", + "downloads": "7979", + "id": 103, + "image": "eBdwiH6f", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1644566665-oceanboat.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Trying to meet the ends 😁", + "downloads": "3460", + "id": 135, + "image": "E39sJtD8", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1646123470-tripattern.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Solve the riddle 🔮", + "downloads": "5099", + "id": 117, + "image": "cxm8NBsl", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645173533-ancientartifact.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Busy riding the sands 🌵", + "downloads": "11250", + "id": 78, + "image": "cM85T0jo", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1643010196-car0001-0247.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Waves 💜", + "downloads": "7413", + "id": 100, + "image": "MWjAhRZF", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1644566581-gradientwave.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Realm of cubes ▪️◻️◾◼️", + "downloads": "7134", + "id": 101, + "image": "hAe9R7wf", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1644566610-decube.png", + "wallpapertype": 0 + }, + { + "category": "Superheroes", + "description": "God of thunder⚡", + "downloads": "30090", + "id": 56, + "image": "0TIqwLE7", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642667341-thor.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "Ultra Instinct 🔥", + "downloads": "70321", + "id": 45, + "image": "mV5S6Qko", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642490947-goku ultra.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Rainbow rain 🌈", + "downloads": "4098", + "id": 115, + "image": "A0xUfN6E", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645173469-rainbowcloud.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Magic steps 🔮", + "downloads": "4093", + "id": 113, + "image": "FTQVdDNo", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645087070-arr0040-0119.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Where\u0027s my mouse 🤔", + "downloads": "7843", + "id": 81, + "image": "ijQndh5H", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1643356755-old computer0001-0250.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Fabric of reality 😉", + "downloads": "10566", + "id": 71, + "image": "jVHDdWh6", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642752256-dot 1.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Festival of light 🕯️", + "downloads": "11457", + "id": 68, + "image": "ABnsbwC3", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642750093-lanterns0118-1000.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Dots dots go away 😜", + "downloads": "5505", + "id": 98, + "image": "UoYrjhKc", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1644566535-dotarray.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Curly curly 🖤", + "downloads": "2843", + "id": 118, + "image": "J0YFxAoq", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1645173539-zigzag.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Disco disco 🕺", + "downloads": "3723", + "id": 105, + "image": "0tExmCbu", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1644653213-animation 210001-0240.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Loving the queit life 🏡", + "downloads": "3643", + "id": 104, + "image": "Af0esPFS", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1644566689-hotair.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "Founding Titan", + "downloads": "14549", + "id": 58, + "image": "SbVr2TeA", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642667392-Aot.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Sprouting forest 🌳", + "downloads": "2845", + "id": 109, + "image": "qefFvO0a", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1644653266-colourtree.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Hoping for Dr Strange to come 😉", + "downloads": "18502", + "id": 53, + "image": "VR4E6smB", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642491015-strange portal.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Through the pulses 🔮 .", + "downloads": "9721", + "id": 63, + "image": "CBy8i1kc", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642749980-worm hole0001-0120.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Searching for glaciers ☹️", + "downloads": "7258", + "id": 67, + "image": "32yZIpDV", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642750069-boat ride.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Tik tok Tik tok ⏳", + "downloads": "3457", + "id": 97, + "image": "i3xABMhj", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1644566514-rotateballs.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Dancing dots 💚", + "downloads": "2173", + "id": 112, + "image": "wb9c0oGx", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1645000768-circlesplashpattern.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Vibe 🕺", + "downloads": "4625", + "id": 75, + "image": "86ixr5kA", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1643010117-vibe.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Atoms play 🔬", + "downloads": "3934", + "id": 77, + "image": "FgTs76uc", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1643010160-animation 250001-0120.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Countryside 🚜", + "downloads": "7608", + "id": 61, + "image": "N20IdgeG", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642749960-farmhouse0001-0250.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Have fun at the carnival 🎡", + "downloads": "13168", + "id": 52, + "image": "z4bn3Hlk", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642491005-carnival0001-0500.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Spiral of spectrum 🌈", + "downloads": "5468", + "id": 65, + "image": "u6lHZCQF", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642750022-circle0001-0200.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Don\u0027t tell anyone about this base 🚀", + "downloads": "4460", + "id": 69, + "image": "clMvD7o4", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642752214-pyramid0001-0250.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Ride by the river 🚗", + "downloads": "7984", + "id": 57, + "image": "gDf0iX2S", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642667356-night ride0001-0150.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "WIndmill 🍃", + "downloads": "6871", + "id": 59, + "image": "AY4nRzhf", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642667421-windmill0001-0250.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Exploring the deep waters 🌊", + "downloads": "8687", + "id": 55, + "image": "kfMaSvZ4", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642667334-sub0001-0250.png", + "wallpapertype": 0 + }, + { + "category": "Geometry", + "description": "Antigravity keeps me floating⚡", + "downloads": "4770", + "id": 64, + "image": "JKvqt5Pa", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642750008-dune0001-0150.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Feel the pulse 😊", + "downloads": "10718", + "id": 50, + "image": "41gcyMYN", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642490982-cube0001-0250.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Waveform 🖤", + "downloads": "15265", + "id": 46, + "image": "HpqY1Qxd", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642490957-shape0001-0120.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Planet love 🌍", + "downloads": "16894", + "id": 44, + "image": "VZ6i51qI", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642490937-planet.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Cyber waves 💜", + "downloads": "6689", + "id": 54, + "image": "ZP4qMsQe", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642491028-shape10001-0120.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Mood for a rain 🌧️", + "downloads": "30616", + "id": 39, + "image": "Zs3BCXJl", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642486515-rain.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Pink flower ", + "downloads": "7908", + "id": 51, + "image": "VPIEWTYB", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642490992-flower.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Cat love 🐈", + "downloads": "9241", + "id": 49, + "image": "Om2nPfBg", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642490976-cat.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Loading ...... ", + "downloads": "13881", + "id": 43, + "image": "5kdBMGiW", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642490932-loading.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Wriggly cosmos 🖤", + "downloads": "13123", + "id": 41, + "image": "xNFSWdyz", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642490906-dark hole0001-0240.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Have a good day 😎", + "downloads": "5768", + "id": 48, + "image": "Q0Ironk1", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642490971-coffee.png", + "wallpapertype": 0 + }, + { + "category": "Pattern", + "description": "Magic Flower 💙", + "downloads": "6247", + "id": 47, + "image": "T3YR9Wnf", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642490964-blue flower.png", + "wallpapertype": 0 + }, + { + "category": "Anime", + "description": "The Saiyan Prince 🔥", + "downloads": "21458", + "id": 37, + "image": "ayb6ospZ", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642486467-vegeta.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Swing with the lamp 🛋️", + "downloads": "11339", + "id": 40, + "image": "I0GAalQN", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1642488646-hanging light.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Color popping jet 🌈", + "downloads": "7164", + "id": 42, + "image": "iGXD8kwI", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642490923-jet.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Christmas eve ☃️", + "downloads": "18453", + "id": 36, + "image": "qO5rKNj9", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642486448-snow fall.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Think Big 💡", + "downloads": "9340", + "id": 38, + "image": "eOcINzdF", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642486479-think big.png", + "wallpapertype": 0 + }, + { + "category": "Abstract", + "description": "Spiral of light 💙", + "downloads": "11455", + "id": 34, + "image": "GeYfZgVw", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642486424-rolling tube0001-0500.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Guider of the sea 🌊", + "downloads": "10444", + "id": 33, + "image": "qMXGWpEH", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642486388-lighthouse0001-0100.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Play with dino 🦕", + "downloads": "5122", + "id": 35, + "image": "xfMGgp1q", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642486428-0001-0125.png", + "wallpapertype": 0 + }, + { + "category": "Typography", + "description": "Always be yourself ❤️", + "downloads": "6754", + "id": 32, + "image": "ewJ0fYQr", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642486351-bee.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Spooky 🎃", + "downloads": "87567", + "id": 25, + "image": "BHMsxl02", + "pro": 5, + "resolution": "2160 x 3840", + "thumbnail": "1639590645-halloween2021.png", + "wallpapertype": 0 + }, + { + "category": "Landscape", + "description": "Climb the hill 💙", + "downloads": "7916", + "id": 31, + "image": "4ldD89Fn", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642486325-ropeway.png", + "wallpapertype": 0 + }, + { + "category": "Amoled", + "description": "Ball of fire 🔥", + "downloads": "20861", + "id": 29, + "image": "gLiRYKEk", + "pro": 0, + "resolution": "2160 x 3840", + "thumbnail": "1642486187-geometryball0001-0250.png", + "wallpapertype": 0 + }, + { + "category": "Minimal", + "description": "Dance with the cactus 🌵", + "downloads": "6398", + "id": 30, + "image": "6BiDZEWA", + "pro": 3, + "resolution": "2160 x 3840", + "thumbnail": "1642486262-catcus.png", + "wallpapertype": 0 + } +] \ No newline at end of file diff --git a/app/src/main/java/com/live/flowlivewallpaper/MyApplication.java b/app/src/main/java/com/live/flowlivewallpaper/MyApplication.java new file mode 100644 index 0000000..83a9444 --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/MyApplication.java @@ -0,0 +1,60 @@ +package com.live.flowlivewallpaper; + +import android.app.Application; +import android.content.Context; +import android.content.SharedPreferences; + +import com.live.flowlivewallpaper.data.dao.FlowEntityDao; +import com.live.flowlivewallpaper.data.database.AppDatabase; +import com.live.flowlivewallpaper.data.entity.FlowEntity; +import com.live.flowlivewallpaper.data.repository.FlowRepository; +import com.live.flowlivewallpaper.util.JsonUtil; + +import java.util.ArrayList; +import java.util.List; + +public class MyApplication extends Application { + public static MyApplication application; + public static final int DB_VERSION = 1; + public static final String DB_NAME = "cool_database"; + private static final String PREF_NAME = "app_preferences"; + private static final String KEY_INIT = "is_initialized"; + + @Override + public void onCreate() { + super.onCreate(); + + application = this; + + SharedPreferences sharedPreferences = getSharedPreferences(PREF_NAME, MODE_PRIVATE); + boolean isDatabaseInitialized = sharedPreferences.getBoolean(KEY_INIT, false); + + if (!isDatabaseInitialized) { + initDatabase(); + sharedPreferences.edit().putBoolean(KEY_INIT, true).apply(); + } + } + + public static Context getContext() { + return application.getApplicationContext(); + } + + private void initDatabase() { + FlowEntityDao flowEntityDao = AppDatabase.getInstance(getContext()).flowEntityDao(); + FlowRepository flowRepository = new FlowRepository(flowEntityDao); + + String[] jsonFiles = {"trending.json", "Explore.json", "Shift.json"}; + + List allFlowEntities = new ArrayList<>(); + for (String jsonFile : jsonFiles) { + List flowEntities = JsonUtil.parseJson(getContext(), jsonFile); + if (!flowEntities.isEmpty()) { + allFlowEntities.addAll(flowEntities); + } + } + + if (!allFlowEntities.isEmpty()) { + flowRepository.insertAll(allFlowEntities); + } + } +} diff --git a/app/src/main/java/com/live/flowlivewallpaper/data/dao/FlowEntityDao.java b/app/src/main/java/com/live/flowlivewallpaper/data/dao/FlowEntityDao.java new file mode 100644 index 0000000..b5665f4 --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/data/dao/FlowEntityDao.java @@ -0,0 +1,35 @@ +package com.live.flowlivewallpaper.data.dao; + +import androidx.lifecycle.LiveData; +import androidx.room.Dao; +import androidx.room.Insert; +import androidx.room.Query; +import androidx.room.Update; + +import com.live.flowlivewallpaper.data.entity.FlowEntity; + +import java.util.List; + +@Dao +public interface FlowEntityDao { + @Insert + void insertAll(List coolEntity); + + @Update + void update(FlowEntity coolEntity); + + @Query("SELECT * FROM flowentity WHERE wallpaperType = 0") + LiveData> getTrendingList(); + + @Query("SELECT * FROM flowentity WHERE wallpaperType = 3") + LiveData> getExploreList(); + + @Query("SELECT * FROM flowentity WHERE wallpaperType = 2") + LiveData> getShiftList(); + + @Query("SELECT * FROM flowentity WHERE isFavorite = 1") + LiveData> getFavoriteList(); + + @Query("SELECT * FROM flowentity WHERE wallpaperType = :type AND flowId = :flowId") + LiveData getLike(int type,int flowId); +} diff --git a/app/src/main/java/com/live/flowlivewallpaper/data/database/AppDatabase.java b/app/src/main/java/com/live/flowlivewallpaper/data/database/AppDatabase.java new file mode 100644 index 0000000..ecc403b --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/data/database/AppDatabase.java @@ -0,0 +1,32 @@ +package com.live.flowlivewallpaper.data.database; + +import android.content.Context; + +import androidx.room.Database; +import androidx.room.Room; +import androidx.room.RoomDatabase; + +import com.live.flowlivewallpaper.MyApplication; +import com.live.flowlivewallpaper.data.dao.FlowEntityDao; +import com.live.flowlivewallpaper.data.entity.FlowEntity; + +@Database(entities = {FlowEntity.class}, version = MyApplication.DB_VERSION, exportSchema = false) +public abstract class AppDatabase extends RoomDatabase { + + public abstract FlowEntityDao flowEntityDao(); + + private static volatile AppDatabase INSTANCE; + + public static AppDatabase getInstance(Context context) { + if (INSTANCE == null) { + synchronized (AppDatabase.class) { + if (INSTANCE == null) { + INSTANCE = Room.databaseBuilder(context.getApplicationContext(), + AppDatabase.class, MyApplication.DB_NAME) + .build(); + } + } + } + return INSTANCE; + } +} diff --git a/app/src/main/java/com/live/flowlivewallpaper/data/entity/FlowEntity.java b/app/src/main/java/com/live/flowlivewallpaper/data/entity/FlowEntity.java new file mode 100644 index 0000000..e2dbbf9 --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/data/entity/FlowEntity.java @@ -0,0 +1,134 @@ +package com.live.flowlivewallpaper.data.entity; + +import androidx.room.Entity; +import androidx.room.PrimaryKey; + +import java.io.Serializable; + +@Entity +public class FlowEntity implements Serializable { + + @PrimaryKey(autoGenerate = true) + private int id; + private String category; + private String description; + private int downloads; + private int flowId; + private String image; + private int pro; + private String resolution; + private String thumbnail; + private int wallpaperType; + private String wallpaperPath; + private boolean isFavorite; + + public FlowEntity(String category, String description, int downloads, int flowId, String image, int pro, String resolution, String thumbnail, int wallpaperType, String wallpaperPath, boolean isFavorite) { + this.category = category; + this.description = description; + this.downloads = downloads; + this.flowId = flowId; + this.image = image; + this.pro = pro; + this.resolution = resolution; + this.thumbnail = thumbnail; + this.wallpaperType = wallpaperType; + this.wallpaperPath = wallpaperPath; + this.isFavorite = isFavorite; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public int getDownloads() { + return downloads; + } + + public void setDownloads(int downloads) { + this.downloads = downloads; + } + + public int getFlowId() { + return flowId; + } + + public void setFlowId(int flowId) { + this.flowId = flowId; + } + + public String getImage() { + return image; + } + + public void setImage(String image) { + this.image = image; + } + + public int getPro() { + return pro; + } + + public void setPro(int pro) { + this.pro = pro; + } + + public String getResolution() { + return resolution; + } + + public void setResolution(String resolution) { + this.resolution = resolution; + } + + public String getThumbnail() { + return thumbnail; + } + + public void setThumbnail(String thumbnail) { + this.thumbnail = thumbnail; + } + + public int getWallpaperType() { + return wallpaperType; + } + + public void setWallpaperType(int wallpaperType) { + this.wallpaperType = wallpaperType; + } + + public String getWallpaperPath() { + return wallpaperPath; + } + + public void setWallpaperPath(String wallpaperPath) { + this.wallpaperPath = wallpaperPath; + } + + public boolean isFavorite() { + return isFavorite; + } + + public void setFavorite(boolean favorite) { + isFavorite = favorite; + } +} diff --git a/app/src/main/java/com/live/flowlivewallpaper/data/repository/FlowRepository.java b/app/src/main/java/com/live/flowlivewallpaper/data/repository/FlowRepository.java new file mode 100644 index 0000000..b155a15 --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/data/repository/FlowRepository.java @@ -0,0 +1,49 @@ + +package com.live.flowlivewallpaper.data.repository; + +import androidx.lifecycle.LiveData; + +import com.live.flowlivewallpaper.data.dao.FlowEntityDao; +import com.live.flowlivewallpaper.data.entity.FlowEntity; + +import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +public class FlowRepository { + private final FlowEntityDao flowEntityDao; + private final ExecutorService executorService; + + public FlowRepository(FlowEntityDao flowEntityDao) { + this.flowEntityDao = flowEntityDao; + this.executorService = Executors.newSingleThreadExecutor(); + } + + public void insertAll(List flowEntities) { + executorService.execute(() -> flowEntityDao.insertAll(flowEntities)); + } + + public void update(FlowEntity flowEntity) { + executorService.execute(() -> flowEntityDao.update(flowEntity)); + } + + public LiveData> getTrendingList() { + return flowEntityDao.getTrendingList(); + } + + public LiveData> getExploreList() { + return flowEntityDao.getExploreList(); + } + + public LiveData> getShiftList() { + return flowEntityDao.getShiftList(); + } + + public LiveData> getFavoriteList() { + return flowEntityDao.getFavoriteList(); + } + + public LiveData getLike(int type,int id) { + return flowEntityDao.getLike(type,id); + } +} diff --git a/app/src/main/java/com/live/flowlivewallpaper/service/LiveService.java b/app/src/main/java/com/live/flowlivewallpaper/service/LiveService.java new file mode 100644 index 0000000..76bf10c --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/service/LiveService.java @@ -0,0 +1,98 @@ +package com.live.flowlivewallpaper.service; + +import android.content.Context; +import android.content.SharedPreferences; +import android.net.Uri; +import android.service.wallpaper.WallpaperService; +import android.util.Log; +import android.view.SurfaceHolder; +import com.google.android.exoplayer2.C; +import com.google.android.exoplayer2.ExoPlayer; +import com.google.android.exoplayer2.MediaItem; +import com.google.android.exoplayer2.source.ProgressiveMediaSource; +import com.google.android.exoplayer2.upstream.DefaultDataSource; +import java.io.File; + +public class LiveService extends WallpaperService { + + @Override + public Engine onCreateEngine() { + return new VideoEngine(); + } + + private class VideoEngine extends Engine { + private ExoPlayer exoPlayer; + + @Override + public void onCreate(SurfaceHolder surfaceHolder) { + super.onCreate(surfaceHolder); + initExoPlayer(); + } + + private void initExoPlayer() { + exoPlayer = new ExoPlayer.Builder(LiveService.this).build(); + exoPlayer.setRepeatMode(ExoPlayer.REPEAT_MODE_ALL); + update(); + } + + @Override + public void onSurfaceCreated(SurfaceHolder holder) { + super.onSurfaceCreated(holder); + if (holder != null && exoPlayer != null) { + exoPlayer.setVideoSurface(holder.getSurface()); + exoPlayer.setVideoScalingMode(C.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING); + } + } + + @Override + public void onVisibilityChanged(boolean visible) { + super.onVisibilityChanged(visible); + if (exoPlayer != null) { + if (visible) { + update(); + exoPlayer.play(); + } else { + exoPlayer.pause(); + } + } + } + + @Override + public void onSurfaceDestroyed(SurfaceHolder holder) { + super.onSurfaceDestroyed(holder); + if (exoPlayer != null) { + exoPlayer.release(); + exoPlayer = null; + } + } + + @Override + public void onDestroy() { + super.onDestroy(); + if (exoPlayer != null) { + exoPlayer.release(); + exoPlayer = null; + } + } + + private void update() { + Uri uri = getVideoUrl(LiveService.this); + if (uri != null && exoPlayer != null) { + MediaItem mediaItem = MediaItem.fromUri(uri); + ProgressiveMediaSource mediaSource = new ProgressiveMediaSource.Factory( + new DefaultDataSource.Factory(LiveService.this)) + .createMediaSource(mediaItem); + exoPlayer.setMediaSource(mediaSource); + exoPlayer.prepare(); + exoPlayer.setPlayWhenReady(true); + } + } + + private Uri getVideoUrl(Context context) { + SharedPreferences prefs = context.getSharedPreferences("WallpaperPrefs", MODE_PRIVATE); + String path = prefs.getString("video_path", ""); + File file = new File(path); + return (file.isFile() && file.exists()) ? Uri.fromFile(file) : null; + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/live/flowlivewallpaper/ui/activity/LiveActivity.java b/app/src/main/java/com/live/flowlivewallpaper/ui/activity/LiveActivity.java new file mode 100644 index 0000000..b7f9d7b --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/ui/activity/LiveActivity.java @@ -0,0 +1,165 @@ +package com.live.flowlivewallpaper.ui.activity; + +import android.app.WallpaperManager; +import android.content.ComponentName; +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.util.Log; +import android.view.View; + +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 androidx.lifecycle.ViewModelProvider; + +import com.live.flowlivewallpaper.R; +import com.live.flowlivewallpaper.data.entity.FlowEntity; +import com.live.flowlivewallpaper.databinding.ActivityLiveBinding; +import com.live.flowlivewallpaper.service.LiveService; +import com.live.flowlivewallpaper.ui.viewmodel.FlowViewModel; +import com.live.flowlivewallpaper.util.WallpaperDownloader; + +import java.io.File; +import java.util.Objects; + +public class LiveActivity extends AppCompatActivity { + private ActivityLiveBinding binding; + private FlowEntity flowEntity; + private FlowViewModel flowViewModel; + private int flowId; + private String image; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + binding = ActivityLiveBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + + initData(); + initEvent(); + } + + private void initData() { + flowEntity = (FlowEntity) getIntent().getSerializableExtra("flowEntity"); + if (flowEntity != null) { + flowId = flowEntity.getFlowId(); + image = flowEntity.getImage(); + } else { + finish(); + } + + showProgress(); + + flowViewModel = new ViewModelProvider(this).get(FlowViewModel.class); + + String quality; + if (flowEntity.getWallpaperType() == 2) { + quality = "ViewShiftLive"; + } else { + quality = "ViewLive"; + } + + if (Objects.equals(flowEntity.getWallpaperPath(), "")) { + WallpaperDownloader.downloadMp4FileAsync(this, flowId, image, quality, new WallpaperDownloader.OnDownloadCompleteListener() { + @Override + public void onSuccess(File file) { + flowEntity.setWallpaperPath(file.getAbsolutePath()); + flowViewModel.update(flowEntity); + loadVideoSuccess(); + hideProgress(); + } + + @Override + public void onFailure(Exception e) { + Log.d("onFailure", e.getMessage()); + Log.d("onFailure", flowId + " " + image); + hideProgress(); + } + + }); + } else { + loadVideoSuccess(); + hideProgress(); + } + + loadFavorite(); + } + + private void initEvent() { + binding.back.setOnClickListener(v -> finish()); + + binding.like.setOnClickListener(v -> { + boolean newStatus = !flowEntity.isFavorite(); + flowEntity.setFavorite(newStatus); + flowViewModel.update(flowEntity); + }); + + binding.setWallpaperButton.setOnClickListener(v -> setLiveWallpaper()); + } + + private void loadVideoSuccess() { + if (binding != null && flowEntity.getWallpaperPath() != null) { + File videoFile = new File(flowEntity.getWallpaperPath()); + if (videoFile.exists()) { + binding.videoView.setVideoPath(flowEntity.getWallpaperPath()); + Log.d("VideoPath", flowEntity.getWallpaperPath()); + binding.videoView.start(); + binding.videoView.setOnPreparedListener(mp -> mp.setLooping(true)); + } + } + } + + private void setLiveWallpaper() { + SharedPreferences prefs = getSharedPreferences("WallpaperPrefs", MODE_PRIVATE); + prefs.edit().putString("video_path", flowEntity.getWallpaperPath()).apply(); + + Intent intent = new Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER); + intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, + new ComponentName(this, LiveService.class)); + startActivity(intent); + finish(); + } + + private void loadFavorite() { + flowViewModel.getLike(flowEntity.getWallpaperType(), flowEntity.getFlowId()).observe(this, wallpaper -> setLike()); + } + + private void setLike() { + binding.like.setImageResource( + flowEntity.isFavorite() ? R.drawable.like : R.drawable.dislike + ); + } + + private void hideProgress() { + binding.progressBar.setVisibility(View.GONE); + binding.view.setVisibility(View.GONE); + } + + private void showProgress() { + binding.progressBar.setVisibility(View.VISIBLE); + binding.view.setVisibility(View.VISIBLE); + } + + @Override + protected void onResume() { + super.onResume(); + if (flowEntity != null && flowEntity.getWallpaperPath() != null && !flowEntity.getWallpaperPath().isEmpty()) { + loadVideoSuccess(); + } + } + + @Override + protected void onDestroy() { + super.onDestroy(); + binding = null; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/live/flowlivewallpaper/ui/activity/MainActivity.java b/app/src/main/java/com/live/flowlivewallpaper/ui/activity/MainActivity.java new file mode 100644 index 0000000..bbef6ad --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/ui/activity/MainActivity.java @@ -0,0 +1,138 @@ +package com.live.flowlivewallpaper.ui.activity; + +import android.os.Bundle; +import android.view.LayoutInflater; + +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.ContextCompat; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; +import androidx.fragment.app.Fragment; + +import com.google.android.material.tabs.TabLayout; +import com.google.android.material.tabs.TabLayoutMediator; +import com.live.flowlivewallpaper.R; +import com.live.flowlivewallpaper.databinding.ActivityMainBinding; +import com.live.flowlivewallpaper.databinding.MainTabCustomBinding; +import com.live.flowlivewallpaper.ui.adapter.MainAdapter; +import com.live.flowlivewallpaper.ui.fragment.ExploreFragment; +import com.live.flowlivewallpaper.ui.fragment.FavoriteFragment; +import com.live.flowlivewallpaper.ui.fragment.ShiftFragment; +import com.live.flowlivewallpaper.ui.fragment.TrendingFragment; + +import java.util.ArrayList; +import java.util.List; + +public class MainActivity extends AppCompatActivity { + private ActivityMainBinding binding; + private final List fragmentList = new ArrayList<>(); + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + binding = ActivityMainBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + + initData(); + initEvent(); + } + + private void initData() { + fragmentList.add(new TrendingFragment()); + fragmentList.add(new ExploreFragment()); + fragmentList.add(new ShiftFragment()); + fragmentList.add(new FavoriteFragment()); + + MainAdapter adapter = new MainAdapter(this, fragmentList); + binding.mainViewpager2.setAdapter(adapter); + } + + private void initEvent() { + new TabLayoutMediator(binding.mainTabLayout, binding.mainViewpager2, (tab, position) -> { + MainTabCustomBinding mainTabCustomBinding = MainTabCustomBinding.inflate(LayoutInflater.from(this)); + tab.setCustomView(mainTabCustomBinding.getRoot()); + setTab(mainTabCustomBinding, position); + }).attach(); + + binding.mainTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { + @Override + public void onTabSelected(TabLayout.Tab tab) { + updateTab(tab, true); + } + + @Override + public void onTabUnselected(TabLayout.Tab tab) { + updateTab(tab, false); + } + + @Override + public void onTabReselected(TabLayout.Tab tab) { + } + + private void updateTab(TabLayout.Tab tab, boolean isSelected) { + if (tab.getCustomView() != null) { + MainTabCustomBinding mainTabCustomBinding = MainTabCustomBinding.bind(tab.getCustomView()); + + int iconResId = getIconResource(tab.getPosition(), isSelected); + mainTabCustomBinding.image.setImageResource(iconResId); + + int textColor = isSelected ? R.color.black : R.color.gray; + mainTabCustomBinding.text.setTextColor(ContextCompat.getColor(MainActivity.this, textColor)); + } + } + }); + } + + private void setTab(MainTabCustomBinding mainTabCustomBinding, int position) { + int iconResId = getIconResource(position, false); + int textColorResId = R.color.gray; + + switch (position) { + case 1: + mainTabCustomBinding.text.setText("Explore"); + break; + case 2: + mainTabCustomBinding.text.setText("Shift"); + break; + case 3: + mainTabCustomBinding.text.setText("Favorite"); + break; + default: + mainTabCustomBinding.text.setText("Trending"); + iconResId = R.drawable.trending; + textColorResId = R.color.black; + break; + } + + mainTabCustomBinding.image.setImageResource(iconResId); + mainTabCustomBinding.text.setTextColor(ContextCompat.getColor(this, textColorResId)); + } + + private int getIconResource(int position, boolean isSelected) { + switch (position) { + case 1: + return isSelected ? R.drawable.explore : R.drawable.un_explore; + case 2: + return isSelected ? R.drawable.shift : R.drawable.un_shift; + case 3: + return isSelected ? R.drawable.favorite : R.drawable.un_favorite; + default: + return isSelected ? R.drawable.trending : R.drawable.un_trending; + } + } + + @Override + protected void onDestroy() { + super.onDestroy(); + binding = null; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/live/flowlivewallpaper/ui/activity/SplashActivity.java b/app/src/main/java/com/live/flowlivewallpaper/ui/activity/SplashActivity.java new file mode 100644 index 0000000..7ec36bc --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/ui/activity/SplashActivity.java @@ -0,0 +1,74 @@ +package com.live.flowlivewallpaper.ui.activity; + +import android.content.Intent; +import android.os.Bundle; +import android.os.CountDownTimer; + +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.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.live.flowlivewallpaper.R; +import com.live.flowlivewallpaper.databinding.ActivitySplashBinding; + +public class SplashActivity extends AppCompatActivity { + private ActivitySplashBinding binding; + private static final long TOTAL_TIME = 3000; + private CountDownTimer countDownTimer; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + EdgeToEdge.enable(this); + + binding = ActivitySplashBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + + Glide.with(this) + .load(R.mipmap.ic_launcher) + .transform(new RoundedCorners(16)) + .into(binding.splashImage); + + countDownTimer = new CountDownTimer(TOTAL_TIME, 100) { + @Override + public void onTick(long millisUntilFinished) { + int percentage = (int) (100 - (float) millisUntilFinished / TOTAL_TIME * 100); + binding.progressBar.setProgress(percentage); + } + + @Override + public void onFinish() { + startMain(); + } + }; + + countDownTimer.start(); + } + + private void startMain() { + binding.progressBar.setProgress(100); + + Intent intent = new Intent(SplashActivity.this, MainActivity.class); + startActivity(intent); + finish(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + if (countDownTimer != null) { + countDownTimer.cancel(); + } + binding = null; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/live/flowlivewallpaper/ui/adapter/FlowAdapter.java b/app/src/main/java/com/live/flowlivewallpaper/ui/adapter/FlowAdapter.java new file mode 100644 index 0000000..23b7142 --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/ui/adapter/FlowAdapter.java @@ -0,0 +1,118 @@ +package com.live.flowlivewallpaper.ui.adapter; + +import android.app.Activity; +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.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.live.flowlivewallpaper.R; +import com.live.flowlivewallpaper.data.entity.FlowEntity; +import com.live.flowlivewallpaper.ui.activity.LiveActivity; +import com.live.flowlivewallpaper.ui.viewmodel.FlowViewModel; + +import java.util.List; + +public class FlowAdapter extends RecyclerView.Adapter { + private final FlowViewModel flowViewModel; + private final Context context; + private List flowEntities; + private final Activity activity; + + public FlowAdapter(FlowViewModel flowViewModel, Context context, List flowEntities, Activity activity) { + this.flowViewModel = flowViewModel; + this.context = context; + this.flowEntities = flowEntities; + this.activity = activity; + } + + public void updateData(List newWallpaperEntries) { + this.flowEntities = newWallpaperEntries; + notifyDataSetChanged(); + } + + @NonNull + @Override + public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View view = LayoutInflater.from(context).inflate(R.layout.item_flow, parent, false); + return new ViewHolder(view); + } + + @Override + public void onBindViewHolder(ViewHolder holder, int position) { + FlowEntity flowEntity = flowEntities.get(position); + holder.bind(flowEntity); + int randomHeight = (position % 2 == 0) ? 800 : 1000; + ViewGroup.LayoutParams params = holder.itemView.getLayoutParams(); + params.height = randomHeight; + holder.itemView.setLayoutParams(params); + } + + @Override + public int getItemCount() { + return flowEntities.size(); + } + + public class ViewHolder extends RecyclerView.ViewHolder { + private final ImageView imageView; + private final ImageView favorite; + + public ViewHolder(View itemView) { + super(itemView); + imageView = itemView.findViewById(R.id.item_image_view); + favorite = itemView.findViewById(R.id.item_like); + } + + public void bind(FlowEntity flowEntity) { + String imagePath ="https://neutrolabgames.com/LiveLoop/CpanelPix/VideoThumb/" + flowEntity.getThumbnail(); + Log.d("imagePath", imagePath); + loadImage(imagePath); + setClickListeners(flowEntity); + setFavoriteButton(flowEntity); + } + + private void loadImage(String imagePath) { + Glide.with(context) + .load(imagePath) + .transform(new RoundedCorners(32)) + .error(R.mipmap.placeholder) + .placeholder(R.mipmap.placeholder) + .into(imageView); + } + + private void setFavoriteButton(FlowEntity flowEntity) { + favorite.setImageResource(flowEntity.isFavorite() ? R.drawable.like : R.drawable.dislike); + } + + private void setClickListeners(FlowEntity flowEntity) { + imageView.setOnClickListener(view -> { + Intent intent; + intent = new Intent(activity, LiveActivity.class); + intent.putExtra("flowEntity", flowEntity); + activity.startActivity(intent); + }); + + favorite.setOnClickListener(view -> toggleFavorite(flowEntity)); + } + + private void toggleFavorite(FlowEntity flowEntity) { + boolean newStatus = !flowEntity.isFavorite(); + flowEntity.setFavorite(newStatus); + updateImageInDatabase(flowEntity); + notifyItemChanged(getAdapterPosition()); + } + + private void updateImageInDatabase(FlowEntity flowEntity) { + flowViewModel.update(flowEntity); + } + } +} diff --git a/app/src/main/java/com/live/flowlivewallpaper/ui/adapter/MainAdapter.java b/app/src/main/java/com/live/flowlivewallpaper/ui/adapter/MainAdapter.java new file mode 100644 index 0000000..8267df9 --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/ui/adapter/MainAdapter.java @@ -0,0 +1,29 @@ +package com.live.flowlivewallpaper.ui.adapter; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; +import androidx.viewpager2.adapter.FragmentStateAdapter; + +import java.util.ArrayList; +import java.util.List; + +public class MainAdapter extends FragmentStateAdapter { + private final List fragmentList = new ArrayList<>(); + + public MainAdapter(@NonNull FragmentActivity fragmentActivity, List fragmentList) { + super(fragmentActivity); + this.fragmentList.addAll(fragmentList); + } + + @NonNull + @Override + public Fragment createFragment(int position) { + return fragmentList.get(position); + } + + @Override + public int getItemCount() { + return fragmentList.size(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/live/flowlivewallpaper/ui/fragment/ExploreFragment.java b/app/src/main/java/com/live/flowlivewallpaper/ui/fragment/ExploreFragment.java new file mode 100644 index 0000000..8cb8872 --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/ui/fragment/ExploreFragment.java @@ -0,0 +1,69 @@ +package com.live.flowlivewallpaper.ui.fragment; + +import android.os.Bundle; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; +import androidx.recyclerview.widget.StaggeredGridLayoutManager; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.live.flowlivewallpaper.data.entity.FlowEntity; +import com.live.flowlivewallpaper.databinding.FragmentExploreBinding; +import com.live.flowlivewallpaper.ui.adapter.FlowAdapter; +import com.live.flowlivewallpaper.ui.viewmodel.FlowViewModel; +import com.live.flowlivewallpaper.util.ItemDecoration; + +import java.util.ArrayList; +import java.util.List; + +public class ExploreFragment extends Fragment { + private FragmentExploreBinding binding; + private FlowViewModel flowViewModel; + private FlowAdapter adapter; + + @Override + public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + binding = FragmentExploreBinding.inflate(inflater, container, false); + initData(); + initEvent(); + return binding.getRoot(); + } + + private void initData() { + flowViewModel = new ViewModelProvider(this).get(FlowViewModel.class); + + binding.recyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)); + + adapter = new FlowAdapter(flowViewModel, requireContext(), new ArrayList<>(), requireActivity()); + binding.recyclerView.setAdapter(adapter); + + binding.recyclerView.addItemDecoration(new ItemDecoration(20, 15, 20)); + } + + private void initEvent() { + loadExploreList(); + } + + private void loadExploreList() { + flowViewModel + .getExploreList() + .observe(getViewLifecycleOwner(), new Observer>() { + @Override + public void onChanged(List flowEntities) { + adapter.updateData(flowEntities); + } + }); + } + + @Override + public void onDestroy() { + super.onDestroy(); + binding = null; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/live/flowlivewallpaper/ui/fragment/FavoriteFragment.java b/app/src/main/java/com/live/flowlivewallpaper/ui/fragment/FavoriteFragment.java new file mode 100644 index 0000000..f21fad8 --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/ui/fragment/FavoriteFragment.java @@ -0,0 +1,74 @@ +package com.live.flowlivewallpaper.ui.fragment; + +import android.os.Bundle; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; +import androidx.recyclerview.widget.StaggeredGridLayoutManager; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.live.flowlivewallpaper.data.entity.FlowEntity; +import com.live.flowlivewallpaper.databinding.FragmentFavoriteBinding; +import com.live.flowlivewallpaper.ui.adapter.FlowAdapter; +import com.live.flowlivewallpaper.ui.viewmodel.FlowViewModel; +import com.live.flowlivewallpaper.util.ItemDecoration; + +import java.util.ArrayList; +import java.util.List; + +public class FavoriteFragment extends Fragment { + private FragmentFavoriteBinding binding; + private FlowViewModel flowViewModel; + private FlowAdapter adapter; + + @Override + public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + binding = FragmentFavoriteBinding.inflate(inflater, container, false); + initData(); + initEvent(); + return binding.getRoot(); + } + + private void initData() { + flowViewModel = new ViewModelProvider(this).get(FlowViewModel.class); + + binding.recyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)); + + adapter = new FlowAdapter(flowViewModel, requireContext(), new ArrayList<>(), requireActivity()); + binding.recyclerView.setAdapter(adapter); + + binding.recyclerView.addItemDecoration(new ItemDecoration(20, 15, 20)); + } + + private void initEvent() { + loadFavoriteList(); + } + + private void loadFavoriteList() { + flowViewModel + .getFavoriteList() + .observe(getViewLifecycleOwner(), new Observer>() { + @Override + public void onChanged(List flowEntities) { + if (flowEntities.isEmpty()) { + binding.text.setVisibility(View.VISIBLE); + } else { + binding.text.setVisibility(View.GONE); + } + adapter.updateData(flowEntities); + } + }); + } + + @Override + public void onDestroy() { + super.onDestroy(); + binding = null; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/live/flowlivewallpaper/ui/fragment/ShiftFragment.java b/app/src/main/java/com/live/flowlivewallpaper/ui/fragment/ShiftFragment.java new file mode 100644 index 0000000..890edef --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/ui/fragment/ShiftFragment.java @@ -0,0 +1,69 @@ +package com.live.flowlivewallpaper.ui.fragment; + +import android.os.Bundle; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; +import androidx.recyclerview.widget.StaggeredGridLayoutManager; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.live.flowlivewallpaper.data.entity.FlowEntity; +import com.live.flowlivewallpaper.databinding.FragmentShiftBinding; +import com.live.flowlivewallpaper.ui.adapter.FlowAdapter; +import com.live.flowlivewallpaper.ui.viewmodel.FlowViewModel; +import com.live.flowlivewallpaper.util.ItemDecoration; + +import java.util.ArrayList; +import java.util.List; + +public class ShiftFragment extends Fragment { + private FragmentShiftBinding binding; + private FlowViewModel flowViewModel; + private FlowAdapter adapter; + + @Override + public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + binding = FragmentShiftBinding.inflate(inflater, container, false); + initData(); + initEvent(); + return binding.getRoot(); + } + + private void initData() { + flowViewModel = new ViewModelProvider(this).get(FlowViewModel.class); + + binding.recyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)); + + adapter = new FlowAdapter(flowViewModel, requireContext(), new ArrayList<>(), requireActivity()); + binding.recyclerView.setAdapter(adapter); + + binding.recyclerView.addItemDecoration(new ItemDecoration(20, 15, 20)); + } + + private void initEvent() { + loadShiftList(); + } + + private void loadShiftList() { + flowViewModel + .getShiftList() + .observe(getViewLifecycleOwner(), new Observer>() { + @Override + public void onChanged(List flowEntities) { + adapter.updateData(flowEntities); + } + }); + } + + @Override + public void onDestroy() { + super.onDestroy(); + binding = null; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/live/flowlivewallpaper/ui/fragment/TrendingFragment.java b/app/src/main/java/com/live/flowlivewallpaper/ui/fragment/TrendingFragment.java new file mode 100644 index 0000000..d45d993 --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/ui/fragment/TrendingFragment.java @@ -0,0 +1,70 @@ +package com.live.flowlivewallpaper.ui.fragment; + +import android.os.Bundle; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; +import androidx.recyclerview.widget.StaggeredGridLayoutManager; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.live.flowlivewallpaper.data.entity.FlowEntity; +import com.live.flowlivewallpaper.databinding.FragmentTrendingBinding; +import com.live.flowlivewallpaper.ui.adapter.FlowAdapter; +import com.live.flowlivewallpaper.ui.viewmodel.FlowViewModel; +import com.live.flowlivewallpaper.util.ItemDecoration; + +import java.util.ArrayList; +import java.util.List; + + +public class TrendingFragment extends Fragment { + private FragmentTrendingBinding binding; + private FlowViewModel flowViewModel; + private FlowAdapter adapter; + + @Override + public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + binding = FragmentTrendingBinding.inflate(inflater, container, false); + initData(); + initEvent(); + return binding.getRoot(); + } + + private void initData() { + flowViewModel = new ViewModelProvider(this).get(FlowViewModel.class); + + binding.recyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)); + + adapter = new FlowAdapter(flowViewModel, requireContext(), new ArrayList<>(), requireActivity()); + binding.recyclerView.setAdapter(adapter); + + binding.recyclerView.addItemDecoration(new ItemDecoration(20, 15, 20)); + } + + private void initEvent() { + loadTrendingList(); + } + + private void loadTrendingList() { + flowViewModel + .getTrendingList() + .observe(getViewLifecycleOwner(), new Observer>() { + @Override + public void onChanged(List flowEntities) { + adapter.updateData(flowEntities); + } + }); + } + + @Override + public void onDestroy() { + super.onDestroy(); + binding = null; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/live/flowlivewallpaper/ui/viewmodel/FlowViewModel.java b/app/src/main/java/com/live/flowlivewallpaper/ui/viewmodel/FlowViewModel.java new file mode 100644 index 0000000..b2bf63f --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/ui/viewmodel/FlowViewModel.java @@ -0,0 +1,48 @@ +package com.live.flowlivewallpaper.ui.viewmodel; + +import android.app.Application; + +import androidx.annotation.NonNull; +import androidx.lifecycle.AndroidViewModel; +import androidx.lifecycle.LiveData; + +import com.live.flowlivewallpaper.data.dao.FlowEntityDao; +import com.live.flowlivewallpaper.data.database.AppDatabase; +import com.live.flowlivewallpaper.data.entity.FlowEntity; +import com.live.flowlivewallpaper.data.repository.FlowRepository; + +import java.util.List; + +public class FlowViewModel extends AndroidViewModel { + private final FlowRepository flowRepository; + + public FlowViewModel(@NonNull Application application) { + super(application); + FlowEntityDao flowEntityDao = AppDatabase.getInstance(application).flowEntityDao(); + flowRepository = new FlowRepository(flowEntityDao); + } + + public void update(FlowEntity flowEntity) { + this.flowRepository.update(flowEntity); + } + + public LiveData> getTrendingList() { + return flowRepository.getTrendingList(); + } + + public LiveData> getExploreList() { + return flowRepository.getExploreList(); + } + + public LiveData> getShiftList() { + return flowRepository.getShiftList(); + } + + public LiveData> getFavoriteList() { + return flowRepository.getFavoriteList(); + } + + public LiveData getLike(int type,int id) { + return flowRepository.getLike(type,id); + } +} diff --git a/app/src/main/java/com/live/flowlivewallpaper/util/ItemDecoration.java b/app/src/main/java/com/live/flowlivewallpaper/util/ItemDecoration.java new file mode 100644 index 0000000..621fcb7 --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/util/ItemDecoration.java @@ -0,0 +1,74 @@ +package com.live.flowlivewallpaper.util; + +import android.graphics.Rect; +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.StaggeredGridLayoutManager; + +import com.live.flowlivewallpaper.MyApplication; + +public class ItemDecoration extends RecyclerView.ItemDecoration { + private final int v; + private final int h; + private final int ex; + + public ItemDecoration(int v, int h, int ex) { + this.v = Math.round(dpToPx(v)); + this.h = Math.round(dpToPx(h)); + this.ex = Math.round(dpToPx(ex)); + } + + @Override + public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) { + super.getItemOffsets(outRect, view, parent, state); + int spanCount = 1; + int spanSize = 1; + int spanIndex = 0; + + int childAdapterPosition = parent.getChildAdapterPosition(view); + RecyclerView.LayoutManager layoutManager = parent.getLayoutManager(); + if (layoutManager instanceof StaggeredGridLayoutManager) { + StaggeredGridLayoutManager staggeredGridLayoutManager = (StaggeredGridLayoutManager) layoutManager; + StaggeredGridLayoutManager.LayoutParams layoutParams = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams(); + spanCount = staggeredGridLayoutManager.getSpanCount(); + if (layoutParams.isFullSpan()) { + spanSize = spanCount; + } + spanIndex = layoutParams.getSpanIndex(); + } else if (layoutManager instanceof GridLayoutManager) { + GridLayoutManager gridLayoutManager = (GridLayoutManager) layoutManager; + GridLayoutManager.LayoutParams layoutParams = (GridLayoutManager.LayoutParams) view.getLayoutParams(); + spanCount = gridLayoutManager.getSpanCount(); + spanSize = gridLayoutManager.getSpanSizeLookup().getSpanSize(childAdapterPosition); + spanIndex = layoutParams.getSpanIndex(); + } else if (layoutManager instanceof LinearLayoutManager) { + outRect.left = v; + outRect.right = v; + outRect.bottom = h; + } + + if (spanSize == spanCount) { + outRect.left = v + ex; + outRect.right = v + ex; + + } else { + int itemAllSpacing = (v * (spanCount + 1) + ex * 2) / spanCount; + int left = v * (spanIndex + 1) - itemAllSpacing * spanIndex + ex; + int right = itemAllSpacing - left; + outRect.left = left; + outRect.right = right; + + } + outRect.bottom = h; + + } + + public static float dpToPx(float dpValue) { + float density = MyApplication.getContext().getResources().getDisplayMetrics().density; + return density * dpValue + 0.5f; + } +} diff --git a/app/src/main/java/com/live/flowlivewallpaper/util/JsonUtil.java b/app/src/main/java/com/live/flowlivewallpaper/util/JsonUtil.java new file mode 100644 index 0000000..cc802e5 --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/util/JsonUtil.java @@ -0,0 +1,65 @@ +package com.live.flowlivewallpaper.util; + +import android.content.Context; + +import com.live.flowlivewallpaper.data.entity.FlowEntity; + +import org.json.JSONArray; +import org.json.JSONObject; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.List; + +public class JsonUtil { + private static String loadJSONFromAsset(Context context, String fileName) { + StringBuilder jsonString = new StringBuilder(); + try { + BufferedReader reader = new BufferedReader(new InputStreamReader( + context.getAssets().open(fileName))); + String line; + while ((line = reader.readLine()) != null) { + jsonString.append(line); + } + reader.close(); + } catch (IOException e) { + e.printStackTrace(); + } + return jsonString.toString(); + } + + public static List parseJson(Context context, String fileName) { + List flowEntityList = new ArrayList<>(); + try { + String jsonString = loadJSONFromAsset(context, fileName); + if (jsonString.isEmpty()) { + throw new IllegalArgumentException("JSON file is empty or invalid."); + } + + JSONArray jsonArray = new JSONArray(jsonString); + + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject categoryObject = jsonArray.getJSONObject(i); + + String category = categoryObject.getString("category"); + String description = categoryObject.getString("description"); + int downloads = categoryObject.getInt("downloads"); + int id = categoryObject.getInt("id"); + String image = categoryObject.getString("image"); + int pro = categoryObject.getInt("pro"); + String resolution = categoryObject.getString("resolution"); + String thumbnail = categoryObject.getString("thumbnail"); + int wallpapertype = categoryObject.getInt("wallpapertype"); + + flowEntityList.add(new FlowEntity(category, description, downloads, id, image, pro, resolution, thumbnail, wallpapertype,"",false)); + } + + } catch (Exception e) { + e.printStackTrace(); + } + + return flowEntityList; + } +} diff --git a/app/src/main/java/com/live/flowlivewallpaper/util/WallpaperDownloader.java b/app/src/main/java/com/live/flowlivewallpaper/util/WallpaperDownloader.java new file mode 100644 index 0000000..db0af60 --- /dev/null +++ b/app/src/main/java/com/live/flowlivewallpaper/util/WallpaperDownloader.java @@ -0,0 +1,110 @@ +package com.live.flowlivewallpaper.util; + +import android.content.Context; +import android.os.Environment; + +import androidx.annotation.NonNull; + +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.FormBody; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.concurrent.TimeUnit; + +import android.content.Context; +import android.os.Environment; +import android.os.Handler; +import android.os.Looper; +import android.util.Log; + +import androidx.annotation.NonNull; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.concurrent.TimeUnit; + +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.FormBody; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; + +public class WallpaperDownloader { + private static final String SERVER_URL = "https://neutrolabgames.com/LiveLoop/AppData/jmywall.php"; + private static final OkHttpClient client = new OkHttpClient.Builder() + .connectTimeout(30, TimeUnit.SECONDS) + .readTimeout(60, TimeUnit.SECONDS) + .writeTimeout(60, TimeUnit.SECONDS) + .build(); + private static final Handler mainHandler = new Handler(Looper.getMainLooper()); + + public static void downloadMp4FileAsync(Context context, int pi, String image,String quality, OnDownloadCompleteListener listener) { + RequestBody requestBody = new FormBody.Builder() + .add("pi", String.valueOf(pi)) + .add("medium", "5eV6snEwfY7Yv6Ub") + .add("alpha", image) + .add("version", "DL8") + .add("quality", quality) + .build(); + + Request request = new Request.Builder() + .url(SERVER_URL) + .post(requestBody) + .build(); + + client.newCall(request).enqueue(new Callback() { + @Override + public void onFailure(@NonNull Call call, @NonNull IOException e) { + mainHandler.post(() -> listener.onFailure(e)); + } + + @Override + public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException { + if (!response.isSuccessful()) { + mainHandler.post(() -> listener.onFailure(new IOException("Download failure: " + response.code()))); + return; + } + + if (response.body() == null) { + mainHandler.post(() -> listener.onFailure(new IOException("The response body is empty"))); + return; + } + + String fileName = "wallpaper_" + System.currentTimeMillis() + pi + image + ".mp4"; + File dir = context.getExternalFilesDir(Environment.DIRECTORY_MOVIES); + File file = new File(dir, fileName); + + try (InputStream inputStream = response.body().byteStream(); + FileOutputStream outputStream = new FileOutputStream(file)) { + byte[] buffer = new byte[8192]; + int bytesRead; + + while ((bytesRead = inputStream.read(buffer)) != -1) { + outputStream.write(buffer, 0, bytesRead); + } + mainHandler.post(() -> listener.onSuccess(file)); + } catch (IOException e) { + mainHandler.post(() -> listener.onFailure(e)); + } + } + }); + } + + public interface OnDownloadCompleteListener { + void onSuccess(File file); + + void onFailure(Exception e); + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/back.xml b/app/src/main/res/drawable/back.xml new file mode 100644 index 0000000..a3e211d --- /dev/null +++ b/app/src/main/res/drawable/back.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/dislike.xml b/app/src/main/res/drawable/dislike.xml new file mode 100644 index 0000000..a2a2718 --- /dev/null +++ b/app/src/main/res/drawable/dislike.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/explore.xml b/app/src/main/res/drawable/explore.xml new file mode 100644 index 0000000..d504195 --- /dev/null +++ b/app/src/main/res/drawable/explore.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/favorite.xml b/app/src/main/res/drawable/favorite.xml new file mode 100644 index 0000000..707828f --- /dev/null +++ b/app/src/main/res/drawable/favorite.xml @@ -0,0 +1,9 @@ + + + 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/like.xml b/app/src/main/res/drawable/like.xml new file mode 100644 index 0000000..62da064 --- /dev/null +++ b/app/src/main/res/drawable/like.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/rounded_rectangle_gradient.xml b/app/src/main/res/drawable/rounded_rectangle_gradient.xml new file mode 100644 index 0000000..53f6958 --- /dev/null +++ b/app/src/main/res/drawable/rounded_rectangle_gradient.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/seek_bar_color.xml b/app/src/main/res/drawable/seek_bar_color.xml new file mode 100644 index 0000000..f8e5913 --- /dev/null +++ b/app/src/main/res/drawable/seek_bar_color.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/shift.xml b/app/src/main/res/drawable/shift.xml new file mode 100644 index 0000000..eb28159 --- /dev/null +++ b/app/src/main/res/drawable/shift.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/trending.xml b/app/src/main/res/drawable/trending.xml new file mode 100644 index 0000000..3d90733 --- /dev/null +++ b/app/src/main/res/drawable/trending.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/un_explore.xml b/app/src/main/res/drawable/un_explore.xml new file mode 100644 index 0000000..b495e88 --- /dev/null +++ b/app/src/main/res/drawable/un_explore.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/un_favorite.xml b/app/src/main/res/drawable/un_favorite.xml new file mode 100644 index 0000000..8c1bf88 --- /dev/null +++ b/app/src/main/res/drawable/un_favorite.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/un_shift.xml b/app/src/main/res/drawable/un_shift.xml new file mode 100644 index 0000000..633abcd --- /dev/null +++ b/app/src/main/res/drawable/un_shift.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/un_trending.xml b/app/src/main/res/drawable/un_trending.xml new file mode 100644 index 0000000..e49b085 --- /dev/null +++ b/app/src/main/res/drawable/un_trending.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_live.xml b/app/src/main/res/layout/activity_live.xml new file mode 100644 index 0000000..c095ffa --- /dev/null +++ b/app/src/main/res/layout/activity_live.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + \ 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..c93e97c --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,28 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_splash.xml b/app/src/main/res/layout/activity_splash.xml new file mode 100644 index 0000000..8f3d518 --- /dev/null +++ b/app/src/main/res/layout/activity_splash.xml @@ -0,0 +1,48 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_explore.xml b/app/src/main/res/layout/fragment_explore.xml new file mode 100644 index 0000000..54996de --- /dev/null +++ b/app/src/main/res/layout/fragment_explore.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_favorite.xml b/app/src/main/res/layout/fragment_favorite.xml new file mode 100644 index 0000000..aef384f --- /dev/null +++ b/app/src/main/res/layout/fragment_favorite.xml @@ -0,0 +1,29 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_shift.xml b/app/src/main/res/layout/fragment_shift.xml new file mode 100644 index 0000000..eacf918 --- /dev/null +++ b/app/src/main/res/layout/fragment_shift.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_trending.xml b/app/src/main/res/layout/fragment_trending.xml new file mode 100644 index 0000000..a43e123 --- /dev/null +++ b/app/src/main/res/layout/fragment_trending.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_flow.xml b/app/src/main/res/layout/item_flow.xml new file mode 100644 index 0000000..4042c34 --- /dev/null +++ b/app/src/main/res/layout/item_flow.xml @@ -0,0 +1,22 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/main_tab_custom.xml b/app/src/main/res/layout/main_tab_custom.xml new file mode 100644 index 0000000..a98365b --- /dev/null +++ b/app/src/main/res/layout/main_tab_custom.xml @@ -0,0 +1,31 @@ + + + + + + + + + \ 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/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..285f15878ad305616ed1fedc18a639eab9535c9c GIT binary patch literal 4256 zcmV;R5MS?!P) zBcepEEeSk8h=4#)JOF|q4uT*6;v^0d1aV^lVsS5aW@l%oXVv-tdv<``*#)qRL8?L) zrs`k4*y-#0_4j?oacw;wS70m#NJ54d>?k~qAl5M z%mJ>S3bm2)XAZCNY+#Y5v=k9aeC>D{?<;n_ePA zc32pOA$xm!znyAxPEWG(L(`GDJq#<7_YQKuYfrRFEW|b0*VlKDwr&K_SL^3)eZ<&( z5COfQof2)a5d!*zwr&K_*WR1Bc;q|UG5J*Fm|*!J=_&2F_)xzpySuwTrL7wRv@Lkz z=y$c_^6AKN!SX@U)7lB~TBMYK3TW$w06jf=B=Dcw3HeOqgkbp~=^5>$cy8&0?CR<| zMq4)o=s(7e1pW&-=vl-o%gxsFdXfC0epar$fH#8#V<&tek6Yng*<0+mnUyGj0=yRj`kzOo*5GnEp=((|v13$r`>P4JB zS^Ci{dYL?9b}7Scc*vv(%ggaQavwtKr+DYB|7!FL`9Z8+)?0&ssiTc8gSaLfj$M;4 z>7^O<^VN&`=i*9m*cL=eU0mfVR z&1kuN&!~|<)6Xhxhu+2ComNnVB4M30TNPAq+kCW5KO_D-QsNKL4}-@7KSct?WP~a= zpzZL4^7t(kF7rv_UI8#~Jy#6~KixLvg?KNZOvqzqi+nwL9^rLfmc_f(yBHuJi?yuT z&w4^z@v>Ix571A7Cj;9N_uKU^geo_n!?6ab!KjEGlLat}hI;Fy>Y!0COU#?HD&8** zfY1`AthEM|XT2W1AiqE^q9+n|6E4x^@!PTh5PySR@D058_P3f|jh+)f)6V(>v@Lil zz)8KXpBJjkQ@=H;RPr?u8fRgc_x)P>1%L!%O>z+JnX?$8Z$vN3x1trY2EZ)jq|{wc z2go*S967BnqpxgwBYIxErk(Q#=#^kmfD`?Neo?405B(B4V|J_6?h#XR7jllbPA)ox zqWU3^GZ$M4EXJFIdPffACpAFqBHy(oUJUGN9!)!^yC zThUAMExkghG7k~Rs8~>8@(Dt~`#x8_jYDHOyoWjL5_Y|}qm}CWGI%792^~n@ze1f| zfYykRRV@2g2LiPpWnpmEu?WC4Yc^9y}BH z4UF3vtr9HrQFVMkg+L7^>wTB6evfUw13TIkgwk$&=6CO?t$$L5a0$*=AI2Kx1kOo3 zMtp`O@9o2@oko?|sbBU7=&j({!0#}T-O*~nGFNf(w~%*uxZ`BK?>C~o##Nk$>e9Ze z!6Gos+7M=A2xopKwD(Zg+up0)Mzz?jU-1X%Z2;oxy%VhwEOXHwTsTXSoOylV>K2%7 z8Fe;G=Mhp&%-rP&=PnZTAsj2b^|A?zDBjVl{Q=rB`93!@nRR{xa zxePD5I{|s?`PJUoRV4mad0T{(ml6^~@FTM+qwZ?j6RQ(@qP6}2?V3Cv*oVpNHR=S* zwX`3JvL2^kdd&j7Cz6P%ou?4Dac^BeDgc=4)`$$_PUoJ1c#Jp*&+*n>OMoo)M(g|m z+6_Pl;1&CgtAgcPI*nZ8+{_JG67Q0|DhDOxIb0dMb@LH-tB;U?i_A{hj$A|d+^GnN zq6cx;^0r$~`(yQDfAp$9K!2FL5cnTV@Q_h2SgxiIASPu_{4%Zx{Emk=uI>$METeud z;uWRPY?pN~o`*krBl}}+-_=R13(|5vkw4>(e}tDDGjGV!_)YbD5qG5}+~1gAc-Z90 zxxpGz{T@YsMS#cq7|%j%=k0Sn9R{GoegW+Rprd9347es(uB8qUR4W|B!SIT82VvGJ zN9;KTsRFn8)ViM_nVyQb;o{kib5g%-6=QNh%qWAo8?hgP;Xhh-h;bYMdsUm%J_w5; z+>ZN~cP_c;h}j^H7}xv(dVjJ!@JI7HR;)p=TuY~rJjcbnGK^4od*{y*G?s=B+p~bT zfRpc%$|L;YEQ;NZb=iiW`Ta1$={k%rgD0KD73E{IF=MQvc&nXjAX9J_FFT*(*SPMvv0p%e$;vy8}E=+)-B~NOyGoZ4xYib#qfe6)H~s6zm^ICrvu?gIOF!b z>cd+nS7DywQ{%cnK+U1vKoAp|6A=;S*#?I4d=p6+az3FUG0!QZYpgy10jzjqh6>|N z*opdZc#NqqY7xT-k*17#>xun$3Fl|m1%&KH>t;rsd{h{36vtye0S$yk1Dwo)(8N+Q zZ!qpDo|b7acNhYjL2hY<@#o+jpJ4(;DLM@xR{?1$;rvU*kUcFgSzYje=Cpd*^m+US zl76q8ME;@|a-1rw2V*p4)XhhjqbS@QK$-$X4c#gyCc(~J%hX#;K8nBC9usQ&udATmzR=`7=kG`iS2#?Ap4N}S~B|cstj;BMg{U;C173#XzCI^m&3c+#~IXv zM9Jm=iX;K)2oc_~xV^3ba=pm$AjjZ1L|9{3@k*;*p0%1XbkS;+P2!HcYfr%I76Cq* zglz(lF7F}t-LZr6y0{GwYsqNu)g_F>x;wDW)i%!`o1`&QCj5ViV&#ALkL~_pF1$7qz-;0nn?;p@S2Ada40HiGsm~GHl5|S4X zHDup|(Jk;Add}wPG9b2yJ~;pn97EEdz(I5hi!qY~w73SKJE zzz(4JG8`sX{@o*n;3-YMbqQWmi=@u}1`vWHfIkjElK>P_VYMhZX98ME&Np?g#>!kb z6Hr(+vyG_Q*B;llbky8%CplWeLR*9y(bp>i59D6|a z*(30tG1cD~67mE9O##rf3n;P0APzVu7DVQtTp2yZb={R&%Zn_8z=EuW(N|$~i`^x=>^^wK0M0x^O1<`7z_<2%+F0H9$28cPDYmlGgou1-o&bM+6XFEkLKL9-cvA_@=(b^xUftRR_b zxrkQ<2N2;+B&Luj7FAzv2&DEw@o&~4h&%9_UU<)~Wk91@0L=ixFI(V|yfEYzwK?#iTYqizy(SH|(4^wYD~i&%1!+1jTj{1rgv znt<3R?_BgC0&=}*^<0#ktB48;;CD)dmdU35XJi0yvUua3y2;R6EXg$UJ;2zWMN_9i?p?^ zt?lbx4y!)W`46st2L0X0$Vi6}Lc)^-Rvx)%o(Y@VJ`ayPVe_6Q)UJRFps9p2suEU7 z2|Xl*aLC#ofCMHl07<}$RDZk=%#(AkpKQHJ}2L6_&H{c{y#tjjegPAQq)2 zbjG!WSrR7FDiK@ph4?t z(OQxd7A~(Ab~Ov$6rYx}<{Z8cOT#jxg?<=T;c!^CwzhUZ@x&AVLK}DP+?jiLr9O{8 z{`jAx_{}+8G%M#9=HqaK@ zMB5&F?6JQ{w>rP)p+_Hm^e<8VE%cAjH=%Fc=b{a?H&Ebn_5Cc`khCTDq@2e?+7E)Zo~>u=*?R7a=YIh&NAoIL@%+&M0000HFhk_?o_;0@tz?1I+l+Y#Q*;RVC?(ud`_cU-~n|AX-b`JHrOIqn(-t&rOg-o`#C zh0LPxmbOAEb;zHTu!R3LDh1QO zZTf-|lJNUxi-PpcbRjw3n~n-pG;$+dIF6eqM5+L();B2O2tQ~|p{PlpNcvDbd1l%c zLtXn%lu(3!aNK!V#+HNn_D3lp z2%l+hK-nsj|Bi9;V*WIcQRTt5j90A<=am+cc`J zTYIN|PsYAhJ|=&h*4wI4ebv-C=Be#u>}%m;a{IGmJDU`0snWS&$9zdrT(z8#{OZ_Y zxwJx!ZClUi%YJjD6Xz@OP8{ieyJB=tn?>zaI-4JN;rr`JQbb%y5h2O-?_V@7pG_+y z(lqAsqYr!NyVb0C^|uclHaeecG)Sz;WV?rtoqOdAAN{j%?Uo%owya(F&qps@Id|Of zo@~Y-(YmfB+chv^%*3g4k3R0WqvuYUIA+8^SGJ{2Bl$X&X&v02>+0$4?di(34{pt* zG=f#yMs@Y|b&=HyH3k4yP&goF2LJ#tBLJNNDo6lG06r}ghC-pC4Q*=x3;|+W04zte zAl>l4kzUBQFYF(E`KJy?ZXd1tnfbH+Z~SMmA21KokJNs#eqcXWKUIC>{TuoKe^vhF z);H)o`t9j~`$h1D`#bxe@E`oE`cM9w(@)5Bp8BNukIwM>wZHfd0S;5bcXA*5KT3bj zc&_~`&{z7u{Et!Z_k78H75gXf4g8<_ul!H$eVspPeU3j&&Au=2R*Zp#M9$9s;fqwgzfiX=E_?BwVcfx3tG9Q-+<5fw z%Hs64z)@Q*%s3_Xd5>S4dg$s>@rN^ixeVj*tqu3ZV)biDcFf&l?lGwsa zWj3rvK}?43c{IruV2L`hUU0t^MemAn3U~x3$4mFDxj=Byowu^Q+#wKRPrWywLjIAp z9*n}eQ9-gZmnd9Y0WHtwi2sn6n~?i#n9VN1B*074_VbZZ=WrpkMYr{RsI ztM_8X1)J*DZejxkjOTRJ&a*lrvMKBQURNP#K)a5wIitfu(CFYV4FT?LUB$jVwJSZz zNBFTWg->Yk0j&h3e*a5>B=-xM7dE`IuOQna!u$OoxLlE;WdrNlN)1 z7**de7-hZ!(%_ZllHBLg`Ir#|t>2$*xVOZ-ADZKTN?{(NUeLU9GbuG-+Axf*AZ-P1 z0ZZ*fx+ck4{XtFsbcc%GRStht@q!m*ImssGwuK+P@%gEK!f5dHymg<9nSCXsB6 zQ*{<`%^bxB($Z@5286^-A(tR;r+p7B%^%$N5h%lb*Vlz-?DL9x;!j<5>~kmXP$E}m zQV|7uv4SwFs0jUervsxVUm>&9Y3DBIzc1XW|CUZrUdb<&{@D5yuLe%Xniw^x&{A2s z0q1+owDSfc3Gs?ht;3jw49c#mmrViUfX-yvc_B*wY|Lo7; zGh!t2R#BHx{1wFXReX*~`NS-LpSX z#TV*miO^~B9PF%O0huw!1Zv>^d0G3$^8dsC6VI!$oKDKiXdJt{mGkyA`+Gwd4D-^1qtNTUK)`N*=NTG-6}=5k6suNfdLt*dt8D| z%H#$k)z#ZRcf|zDWB|pn<3+7Nz>?WW9WdkO5(a^m+D4WRJ9{wc>Y}IN)2Kbgn;_O? zGqdr&9~|$Y0tP=N(k7^Eu;iO*w+f%W`20BNo)=Xa@M_)+o$4LXJyiw{F?a633SC{B zl~9FH%?^Rm*LVz`lkULs)%idDX^O)SxQol(3jDRyBVR!7d`;ar+D7do)jQ}m`g$TevUD5@?*P8)voa?kEe@_hl{_h8j&5eB-5FrYW&*FHVt$ z$kRF9Nstj%KRzpjdd_9wO=4zO8ritN*NPk_9avYrsF(!4))tm{Ga#OY z(r{0buexOzu7+rw8E08Gxd`LTOID{*AC1m*6Nw@osfB%0oBF5sf<~wH1kL;sd zo)k6^VyRFU`)dt*iX^9&QtWbo6yE8XXH?`ztvpiOLgI3R+=MOBQ9=rMVgi<*CU%+d1PQQ0a1U=&b0vkF207%xU0ssI2 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/placeholder.png b/app/src/main/res/mipmap-hdpi/placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..3072aa858e48734a720ad68adb0943fab1ee8595 GIT binary patch literal 48406 zcmcG$2V9fewl5lbldcr$AfnO}AfZdQAgHMH5;{^6ngj@hUIalz0R==wMHe8bARxUX z9ScobK%@zT9$Io|Tx+kh-#vSubKZUL`im02%rfSfqyEQ;iI+``SecJALm&{=^XK%h zLLk)OEj5IZ9{kwEeBA>-n9%1e{UHz*ZpvRO$fF!S2!#2&$2E%pi%Z68PAG3Vq%+FV zMGoVQ2BRSm4Q&h>>E!7WAnNGi=Ha6$zFJ)`F6!Z|DQ>QON#PP&&&A#2T!^2GS%}Fs zrw~skRcCQ+El~}O8d$*FB>*Xk@%HlZSHozE|6W%Oyr(>t7Z?3KB*0TsT!*rusKuqr zqIxJl7g1F?1z9Hr1qD&Ks+=NR(FqE7l@Wz1K%w#q2zf;nSw)1J0#r>2Ci>SOaj>1A zv#Z)weZ#*t1HWmCy9WfI)#T-af`a6NU~(uwH+e->RaJQfs5}%Z3r5KL2m1sdF|t1X z68~61-^Jg_&jTIcf$|ZhtcY|(1qNt}15*DygE#u`Wqthr;uGMQJO+uDSCmtroay&K zXQ#i%p#%NAesAvVB=6$o;_c!S;19+s{yi43>C&aYhyTlEy}kb)?H^!p3sCge+5Y8d z|7*c$7x}9${-{7dCl`ZTU`L665au6n)#X1}^FNplhW|Yo?T!jS`Mab34HN$U_-|IA z)%5&akO3&aYbcc0Kd$-mKUNWiD#zApi4VRW$__HD!hW$6%DRhimYEJJi`p%@yV6 zjRY+A@J711$fJGSe(!ealG=G6{{Wsb~oQH?AnyM=js_N+ED(mE|=pyT= zssxioDkD{76&#%uRS-&0WvGJkKj!PBoB}D=PnrLxDmbH@z#4z^O-&K$=%k_yb(M8i zfI7*-5lSwys;+ys<^7EB4JMAqW`h49?A>lcM0VTcn+he!f%mOJLlmKt}gg5 z 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 ryuwPsx4ajTt=Z~00000NkvXXu0mjfiYXEF literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a99a4824fe2d5272450e695aee1b548e97fca66d GIT binary patch literal 2578 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..62b611da081676d42f6c3f78a2c91e7bcedddedb GIT binary patch literal 1772 zcmVQj4N+cqN`nQhxvX7dAV-`K|Ub$-q+H-5I?Tx0g9jWxd@A|?POE8`3b8fO$T))xP* z(X?&brZw({`)WU&rdAs1iTa0x6F@PIxJ&&L|dpySV!ID|iUhjCcKz(@mE z!x@~W#3H<)4Ae(4eQJRk`Iz3<1)6^m)0b_4_TRZ+cz#eD3f8V;2r-1fE!F}W zEi0MEkTTx}8i1{`l_6vo0(Vuh0HD$I4SjZ=?^?k82R51bC)2D_{y8mi_?X^=U?2|F{Vr7s!k(AZC$O#ZMyavHhlQ7 zUR~QXuH~#o#>(b$u4?s~HLF*3IcF7023AlwAYudn0FV~|odGH^05AYPEfR)8p`i{n zwg3zPVp{+wOsxKc>)(pMupKF!Y2HoUqQ3|Yu|8lwR=?5zZuhG6J?H`bSNk_wPoM{u zSL{c@pY7+c2kck>`^q1^^gR0QB7Y?KUD{vz-uVX~;V-rW)PDcI)$_UjgVV?S?=oLR zf4}zz{#*R_{LkiJ#0RdQLNC^2Vp%JPEUvG9ra2BVZ92(p9h7Ka@!yf9(lj#}>+|u* z;^_?KWdzkM`6gqPo9;;r6&JEa)}R3X{(CWv?NvgLeOTq$cZXqf7|sPImi-7cS8DCN zGf;DVt3Am`>hH3{4-WzH43Ftx)SofNe^-#|0HdCo<+8Qs!}TZP{HH8~z5n`ExcHuT zDL1m&|DVpIy=xsLO>8k92HcmfSKhflQ0H~9=^-{#!I1g(;+44xw~=* zxvNz35vfsQE)@)Zsp*6_GjYD};Squ83<_?^SbALb{a`j<0Gn%6JY!zhp=Fg}Ga2|8 z52e1WU%^L1}15Ex0fF$e@eCT(()_P zvV?CA%#Sy08_U6VPt4EtmVQraWJX` zh=N|WQ>LgrvF~R&qOfB$!%D3cGv?;Xh_z$z7k&s4N)$WYf*k=|*jCEkO19{h_(%W4 zPuOqbCw`SeAX*R}UUsbVsgtuG?xs(#Ikx9`JZoQFz0n*7ZG@Fv@kZk`gzO$HoA9kN z8U5{-yY zvV{`&WKU2$mZeoBmiJrEdzUZAv1sRxpePdg1)F*X^Y)zp^Y*R;;z~vOv-z&)&G)JQ{m!C9cmziu1^nHA z`#`0c>@PnQ9CJKgC5NjJD8HM3|KC(g5nnCq$n0Gsu_DXk36@ql%npEye|?%RmG)

FJ$wK}0tWNB{uH;AM~i literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c9dae9c2b7ba4540a97a1b7f9b0e2184123c23b4 GIT binary patch literal 5582 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

pJ?43g`Lxh`d>+*75g-E4&A=4gl8UCWtnJ%6xQA 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..9287f5083623b375139afb391af71cc533a7dd37 GIT binary patch literal 5914 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeNn 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

;rRsnX>7EVf|S0XjR-}W+wp+BF1Xx&}A7MJO00h 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..9126ae37cbc3587421d6889eadd1d91fbf1994d4 GIT binary patch literal 7778 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

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s literal 0 HcmV?d00001 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..5f800e2 --- /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..782d438 --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ + + + #FF000000 + #FFFFFFFF + #9C979D + \ 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..68f3cc9 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,6 @@ + + Flow Live Wallpaper + + Hello blank fragment + You haven\'t added any favorites yet💖 + \ 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..33fa9ea --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,9 @@ + + + + +