commit d463263098292a81c615cd7ca14908ce42d4e1b2 Author: zhouzhijia Date: Mon Aug 12 11:05:59 2024 +0800 接Top on1.0.2(3) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d55b9da --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties +.idea/ +.safedk/ +app/release/funnyprank_v1.0.2(3)_07_23_18_23-release.apk +app/release/funnyprank_v1.0.2(3)_07_23_18_24-release.aab 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..d720c32 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,88 @@ +import java.util.Date +import java.text.SimpleDateFormat + +plugins { + id("com.android.application") + id("org.jetbrains.kotlin.android") + id("kotlin-kapt") + id("com.google.gms.google-services") + id("com.google.firebase.crashlytics") + id("applovin-quality-service") +} + +applovin { + apiKey = + "wTpFhhS7Z9n1ayO2cp39GdFQdU8xzJMM0VeBvp4t5xhwBxCNU7eZz0_1_ixpZvxGTH0eFqFg5NmAheFBwr6pGD" +} + +val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date()) +android { + namespace = "com.fun.funnyprank" + compileSdk = 34 + + defaultConfig { + applicationId = "com.fun.funnyprank" + minSdk = 23 + targetSdk = 34 + versionCode = 3 + versionName = "1.0.2" + setProperty( + "archivesBaseName", + "funnyprank_v" + versionName + "(${versionCode})_$timestamp" + ) + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isShrinkResources = true + isMinifyEnabled = true + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + buildFeatures { + viewBinding = true + } +} + +dependencies { + + implementation("androidx.appcompat:appcompat:1.7.0") + implementation("com.google.android.material:material:1.12.0") + implementation("androidx.constraintlayout:constraintlayout:2.1.4") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.2.1") + androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1") + + implementation("com.github.bumptech.glide:glide:4.16.0") + val room_version = "2.6.1" + implementation("androidx.room:room-runtime:$room_version") + annotationProcessor("androidx.room:room-compiler:$room_version") + kapt("androidx.room:room-compiler:$room_version") + implementation("androidx.room:room-ktx:$room_version") + implementation("androidx.room:room-rxjava2:$room_version") + implementation("androidx.room:room-rxjava3:$room_version") + implementation("androidx.room:room-guava:$room_version") + testImplementation("androidx.room:room-testing:$room_version") + implementation("androidx.room:room-paging:$room_version") + + + + implementation(platform("com.google.firebase:firebase-bom:33.1.1")) + implementation("com.google.firebase:firebase-crashlytics") + implementation("com.google.firebase:firebase-analytics") + + implementation("com.applovin:applovin-sdk:+") + implementation("com.applovin.mediation:vungle-adapter:+") + implementation("com.applovin.mediation:mintegral-adapter:+") + implementation("com.applovin.mediation:bytedance-adapter:+") + implementation("com.applovin.mediation:unityads-adapter:+") + +} \ No newline at end of file diff --git a/app/funprank.jks b/app/funprank.jks new file mode 100644 index 0000000..5cef8b4 Binary files /dev/null and b/app/funprank.jks differ diff --git a/app/funpranktest.jks b/app/funpranktest.jks new file mode 100644 index 0000000..e98b503 Binary files /dev/null and b/app/funpranktest.jks differ diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..fbeeefa --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "793962193813", + "project_id": "funny-prank-fart-air-horn", + "storage_bucket": "funny-prank-fart-air-horn.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:793962193813:android:f0f42ab0c4bccedeedcc9c", + "android_client_info": { + "package_name": "com.fun.funnyprank" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyDDvLoh4ktx5yWaGz-6xojRo9mSDC5XhvQ" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..4a503a1 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,32 @@ +# 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.fun.funnyprank.FunnyPrankSkin{ + public static final java.lang.String DB_Name; + public static final int DB_Version; + } + -keepclassmembers class *{ + @androidx.room.Query ; + } + + -keep class com.fun.funnyprank.data.MydataBase { *; } + -keep class com.fun.funnyprank.data.LikeDAO { *; } + -keep class com.fun.funnyprank.data.LikeData { *; } \ No newline at end of file diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json new file mode 100644 index 0000000..041a556 --- /dev/null +++ b/app/release/output-metadata.json @@ -0,0 +1,20 @@ +{ + "version": 3, + "artifactType": { + "type": "APK", + "kind": "Directory" + }, + "applicationId": "com.fun.funnyprank", + "variantName": "release", + "elements": [ + { + "type": "SINGLE", + "filters": [], + "attributes": [], + "versionCode": 3, + "versionName": "1.0.2", + "outputFile": "funnyprank_v1.0.2(3)_07_23_18_23-release.apk" + } + ], + "elementType": "File" +} \ No newline at end of file diff --git a/app/src/androidTest/java/com/fun/funnyprank/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/fun/funnyprank/ExampleInstrumentedTest.java new file mode 100644 index 0000000..9d6506e --- /dev/null +++ b/app/src/androidTest/java/com/fun/funnyprank/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.fun.funnyprank; + +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.fun.funnyprank", 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..c20d363 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/KavoonRegular-Dp7E.ttf b/app/src/main/assets/KavoonRegular-Dp7E.ttf new file mode 100644 index 0000000..38e63d5 Binary files /dev/null and b/app/src/main/assets/KavoonRegular-Dp7E.ttf differ diff --git a/app/src/main/assets/prank.json b/app/src/main/assets/prank.json new file mode 100644 index 0000000..a1348e6 --- /dev/null +++ b/app/src/main/assets/prank.json @@ -0,0 +1,3390 @@ +[ + { + "categoryId": "625f83491fea07887e619063", + "categoryName": "Airhorn", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/3807ddc86891d2f6994cebcc82773f20.png", + "list": [ + { + "title": "Airhorn 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f6f15687ea2f414192c0b473714985fb.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7111dbef323985fa5ce40cc001efc06b.png" + }, + { + "title": "Airhorn 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/3e4d4574dc0ca65457ed1635d8d8a35f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7111dbef323985fa5ce40cc001efc06b.png" + }, + { + "title": "Airhorn 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4d62db79c5ce22e4af02a728df11fea3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7111dbef323985fa5ce40cc001efc06b.png" + }, + { + "title": "Airhorn 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/18423e3b40a7abe5b13fef44a090279d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7111dbef323985fa5ce40cc001efc06b.png" + }, + { + "title": "Airhorn 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a1bdfca1db5913e0889320d039db069d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7111dbef323985fa5ce40cc001efc06b.png" + }, + { + "title": "Airhorn 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b188a56dd6f4d96081dbdc55c9d8189e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7111dbef323985fa5ce40cc001efc06b.png" + }, + { + "title": "Airhorn 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/dd803e0943de2f23e345f7a333ef50f0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7111dbef323985fa5ce40cc001efc06b.png" + }, + { + "title": "Airhorn 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c7a498cd8ebe972a0d9d290967b0c217.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7111dbef323985fa5ce40cc001efc06b.png" + }, + { + "title": "Airhorn 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7247df90396f71742a19b17cd4b44007.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7111dbef323985fa5ce40cc001efc06b.png" + }, + { + "title": "Airhorn 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b234c324d5ad721eb8d0ee8eb2ca6586.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7111dbef323985fa5ce40cc001efc06b.png" + }, + { + "title": "Airhorn 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/afc85b998457d1401bc942538c834dd4.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7111dbef323985fa5ce40cc001efc06b.png" + }, + { + "title": "Airhorn 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/890fd4c730bf1d22cd47074c9f3f2024.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7111dbef323985fa5ce40cc001efc06b.png" + }, + { + "title": "Airhorn 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a5f49085cfd96acf9af9ae3b0d40d767.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7111dbef323985fa5ce40cc001efc06b.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e619069", + "categoryName": "Fart Sound", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/9a338a79cd2cd19fe9cd33ef789a5508.png", + "list": [ + { + "title": "Fart Sound 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/fd670b056455266357f2a9da86027f92.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5b57dca5528a8b918f2e0ccbfa3ad7f8.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5ee055b13bf0b80f3b327f88bbc3a342.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/671e5a10b64b37afe8d782d2c2b61111.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e00eaeafb7dfd572371a74c7c67774b9.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/25915fb137e5a205d893b84302bd97ea.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9576b7c63248788024ac421dfe6549ec.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7c6a693b6554482cf03fbe7e8d89b0f7.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/841a885f366574f6cff1d4965b0cea54.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/37afe86493a5f5a31c6c18cdc476b530.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4bf94832c6a6ff55053a96327ee22e8e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7608e95747aa442b7135b79e7abc6791.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/edb1357822ad7266389e4e6bc558c515.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1230e6751807de13cec5821ed232971b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/02b7143a9c8b4d49155a4af7e14002c6.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/39b42fcebac74d4a68887c413107de32.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + }, + { + "title": "Fart Sound 17", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a5645abdfe28fcf5a4bfb1a091511ee0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d13c716cd8627cbb385fbddf58c6f9f.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e61906b", + "categoryName": "Hair Clipper", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/01e97185a794005a5cd5a8ca6903d68d.png", + "list": [ + { + "title": "Hair Clipper 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/df05f0cb432e9c3fddcc505d37bdc596.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e40b8da118eb07fbd3c6de7fa6749e39.png" + }, + { + "title": "Hair Clipper 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ae5266af93d2af046777529549da69a2.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e40b8da118eb07fbd3c6de7fa6749e39.png" + }, + { + "title": "Hair Clipper 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/df5e55461640aa6326bd1f27bc961abb.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e40b8da118eb07fbd3c6de7fa6749e39.png" + }, + { + "title": "Hair Clipper 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ad5285afce500ae8b05d104cd70c16e0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e40b8da118eb07fbd3c6de7fa6749e39.png" + }, + { + "title": "Hair Clipper 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/173c711dda00a1a683a3e64cb73a01a5.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e40b8da118eb07fbd3c6de7fa6749e39.png" + }, + { + "title": "Hair Clipper 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7ac57b43913e8077e5e9db31426194fe.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e40b8da118eb07fbd3c6de7fa6749e39.png" + }, + { + "title": "Hair Clipper 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a3248ae7e08e69d499dbd50f99a39b22.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e40b8da118eb07fbd3c6de7fa6749e39.png" + }, + { + "title": "Hair Clipper 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2d43e87e8d312bc0174814dacf15a2bc.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e40b8da118eb07fbd3c6de7fa6749e39.png" + }, + { + "title": "Hair Clipper 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/48828fd5b702259e0bb4a31cb38c002d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e40b8da118eb07fbd3c6de7fa6749e39.png" + }, + { + "title": "Hair Clipper 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/64a3a3936d9083c3fb0cb8af63b62db1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e40b8da118eb07fbd3c6de7fa6749e39.png" + }, + { + "title": "Hair Clipper 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f4d989eca3644062185bd21f0a7eac98.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e40b8da118eb07fbd3c6de7fa6749e39.png" + }, + { + "title": "Hair Clipper 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/76de9aeaa070bc2bb6010270ef7c91ef.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e40b8da118eb07fbd3c6de7fa6749e39.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e619065", + "categoryName": "Breaking", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/253556740e135a243df384d2bc216757.png", + "list": [ + { + "title": "Breaking 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d5e25e6c6f9bd1316067910ae3f07f96.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5f3bc85e0c23dcb07546b098c3964da7.png" + }, + { + "title": "Breaking 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/777effb7b006cc507c54df2d3ae97956.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5f3bc85e0c23dcb07546b098c3964da7.png" + }, + { + "title": "Breaking 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/12200195df885df378ab7097e3d5e8b5.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5f3bc85e0c23dcb07546b098c3964da7.png" + }, + { + "title": "Breaking 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9512b4aa0bcf477b8b1ee9de6a50428b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5f3bc85e0c23dcb07546b098c3964da7.png" + }, + { + "title": "Breaking 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/61bd13d8cbb5150a7a477bd28d70a4e3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5f3bc85e0c23dcb07546b098c3964da7.png" + }, + { + "title": "Breaking 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c1d49295a8bd5d84fe7c1ce9e84e09fb.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5f3bc85e0c23dcb07546b098c3964da7.png" + }, + { + "title": "Breaking 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9c34aa3d5c4d338958c71a25ca27f687.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5f3bc85e0c23dcb07546b098c3964da7.png" + }, + { + "title": "Breaking 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/3b3c248b515e8c3a95114e43ff5a4d1a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5f3bc85e0c23dcb07546b098c3964da7.png" + }, + { + "title": "Breaking 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e0f0d1f6a131699cbfd25c00192af3cd.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5f3bc85e0c23dcb07546b098c3964da7.png" + }, + { + "title": "Breaking 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/95ea3be095fd6794270ed7dc5adf0da3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5f3bc85e0c23dcb07546b098c3964da7.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e619066", + "categoryName": "Burp", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/c515c437f6ed4f62906fc002cc0db056.png", + "list": [ + { + "title": "Burp 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2b0a79866b3ff7f526be74f9ece5fa0c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/13119b2bafba96a97062cf0070ac2edd.png" + }, + { + "title": "Burp 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/240512d87919eca52e158ca1c394f52a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/13119b2bafba96a97062cf0070ac2edd.png" + }, + { + "title": "Burp 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/72bb5de165e71bfd9f718070ea610ca0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/13119b2bafba96a97062cf0070ac2edd.png" + }, + { + "title": "Burp 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c1531b085072be1f0707aa86b90d3efe.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/13119b2bafba96a97062cf0070ac2edd.png" + }, + { + "title": "Burp 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1a2796d86150bf0588f570da12450d62.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/13119b2bafba96a97062cf0070ac2edd.png" + }, + { + "title": "Burp 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/73e22e498d75b1ef991b927b1ce60ab6.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/13119b2bafba96a97062cf0070ac2edd.png" + }, + { + "title": "Burp 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ffa51c717f144800474472cca3856658.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/13119b2bafba96a97062cf0070ac2edd.png" + }, + { + "title": "Burp 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/56ae2848fa2cf163fc2fbd454699bc8c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/13119b2bafba96a97062cf0070ac2edd.png" + }, + { + "title": "Burp 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/be6771406a30e73aa62bb02157d6c402.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/13119b2bafba96a97062cf0070ac2edd.png" + }, + { + "title": "Burp 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/de622186e8b2b35ae43097db2bb20b45.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/13119b2bafba96a97062cf0070ac2edd.png" + }, + { + "title": "Burp 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7014be86f0fe5c09b796e65340e6df47.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/13119b2bafba96a97062cf0070ac2edd.png" + }, + { + "title": "Burp 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/24c6df56ea75d4cbd467a7352d3faeb1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/13119b2bafba96a97062cf0070ac2edd.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e619067", + "categoryName": "Car", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/052d4199504f4fcb97b7cc9e07401c54.png", + "list": [ + { + "title": "Car 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0619759e8da1730d7ccaa0431221b072.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18af2d20fca7882d644ac1745a63ea6d.png" + }, + { + "title": "Car 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e5b05a82fab3e76d3d3a150ea7c524e0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18af2d20fca7882d644ac1745a63ea6d.png" + }, + { + "title": "Car 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6ab888f3cd83e13da07fa38ecd586e82.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18af2d20fca7882d644ac1745a63ea6d.png" + }, + { + "title": "Car 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/43e740a0298fcb564abaebd3ae888f09.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18af2d20fca7882d644ac1745a63ea6d.png" + }, + { + "title": "Car 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6b72963c235449841157ff07d3110651.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18af2d20fca7882d644ac1745a63ea6d.png" + }, + { + "title": "Car 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9f32990305af872e1cd04316ea4dcc92.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18af2d20fca7882d644ac1745a63ea6d.png" + }, + { + "title": "Car 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6445a57d610fe55393f63409a383e62c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18af2d20fca7882d644ac1745a63ea6d.png" + }, + { + "title": "Car 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4adf39e09c07a08f9fa2e03108db395e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18af2d20fca7882d644ac1745a63ea6d.png" + }, + { + "title": "Car 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a2ad7ce685cc1baf74e7425c5ba4eb28.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18af2d20fca7882d644ac1745a63ea6d.png" + }, + { + "title": "Car 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/298d731cc3b0f698088227385549ffa3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18af2d20fca7882d644ac1745a63ea6d.png" + }, + { + "title": "Car 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f1696474e6482b97d58b2dc577c8d474.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18af2d20fca7882d644ac1745a63ea6d.png" + }, + { + "title": "Car 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a98205a6a5a837813a0161446baacadb.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18af2d20fca7882d644ac1745a63ea6d.png" + }, + { + "title": "Car 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ec59ac304495a098c3930ca4cf5f376f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18af2d20fca7882d644ac1745a63ea6d.png" + }, + { + "title": "Car 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a089153bbbaf1d0ea6b71fe94f02eb18.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18af2d20fca7882d644ac1745a63ea6d.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e619068", + "categoryName": "Door Bell", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/382fcff17bbe80ad45aed28c9d1ae26e.png", + "list": [ + { + "title": "Door Bell 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/038780ebadb3249009710b1781b24871.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f337efcb0e67418bc4f40c67d9914b3d.png" + }, + { + "title": "Door Bell 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e96b5d06eebb2d6001a17293942e4f83.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f337efcb0e67418bc4f40c67d9914b3d.png" + }, + { + "title": "Door Bell 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/93a1fb12fbfd65419677c380cd1ceac3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f337efcb0e67418bc4f40c67d9914b3d.png" + }, + { + "title": "Door Bell 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e926d86a2b234756af495542f020a4e1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f337efcb0e67418bc4f40c67d9914b3d.png" + }, + { + "title": "Door Bell 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c7e489164f640e750671868b8d5cf177.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f337efcb0e67418bc4f40c67d9914b3d.png" + }, + { + "title": "Door Bell 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5bc2eeab953d604d4400ceaad1ac4809.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f337efcb0e67418bc4f40c67d9914b3d.png" + }, + { + "title": "Door Bell 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9de866aeb7da2605341c3c69a3b1ee46.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f337efcb0e67418bc4f40c67d9914b3d.png" + }, + { + "title": "Door Bell 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8005cab6c5e7c0f64e243fd0960712ba.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f337efcb0e67418bc4f40c67d9914b3d.png" + }, + { + "title": "Door Bell 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2a7ded6caaa4d0e601d8066bd5cab926.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f337efcb0e67418bc4f40c67d9914b3d.png" + }, + { + "title": "Door Bell 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0f4ec6a3a7844c3843f5013fd236cb03.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f337efcb0e67418bc4f40c67d9914b3d.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e61906a", + "categoryName": "Gun", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/e7500deb0a551a15118c87e5cddd8fe0.png", + "list": [ + { + "title": "Gun 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1b70d7932349c66053c18170fc34c483.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0b502b9482b4983cea9d0016222eb151.png" + }, + { + "title": "Gun 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e41bcaab807dce68e4fdf0c8ad3050bd.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0b502b9482b4983cea9d0016222eb151.png" + }, + { + "title": "Gun 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/3adc00280653c1f3801ca604447e1ac2.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0b502b9482b4983cea9d0016222eb151.png" + }, + { + "title": "Gun 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/10bf11c673df6ad35e2c0091c0274b75.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0b502b9482b4983cea9d0016222eb151.png" + }, + { + "title": "Gun 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9ae299c7048214c816051d89b64e73e0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0b502b9482b4983cea9d0016222eb151.png" + }, + { + "title": "Gun 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/06eb4dad128dc0b38fd9a894e330d18e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0b502b9482b4983cea9d0016222eb151.png" + }, + { + "title": "Gun 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/eca3917ea4bb05de3738e6d56992e068.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0b502b9482b4983cea9d0016222eb151.png" + }, + { + "title": "Gun 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6b6a94f60770a0eed81e2a6cceac990e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0b502b9482b4983cea9d0016222eb151.png" + }, + { + "title": "Gun 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8217ef2b02efcc620a7693609e763272.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0b502b9482b4983cea9d0016222eb151.png" + }, + { + "title": "Gun 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7ff1c0b254f99647bc15b8d0257c77e1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0b502b9482b4983cea9d0016222eb151.png" + }, + { + "title": "Gun 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/54d7e3165add3b311cc52e42e2ac358e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0b502b9482b4983cea9d0016222eb151.png" + }, + { + "title": "Gun 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/fab9360f83cd2adedbccf863eef4c00e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0b502b9482b4983cea9d0016222eb151.png" + }, + { + "title": "Gun 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8aa3109b806dd3af5a19e01cd92eedd7.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0b502b9482b4983cea9d0016222eb151.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e61906c", + "categoryName": "Laughing", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/f5f20f7b929d1895646fa53a11b6e713.png", + "list": [ + { + "title": "Laughing & Clapping 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/53976e14d9dcd04d66a2231dbefa2d25.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d2660175f92e9d66c5ea2438c998f96b.png" + }, + { + "title": "Laughing & Clapping 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/bf5865743949d55a2e60f76e54f406f3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d2660175f92e9d66c5ea2438c998f96b.png" + }, + { + "title": "Laughing & Clapping 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d4b7ac581f1e29e91873fb444bf4a650.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d2660175f92e9d66c5ea2438c998f96b.png" + }, + { + "title": "Laughing & Clapping 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d2d86df37a19d3ba49ee576c9827507e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d2660175f92e9d66c5ea2438c998f96b.png" + }, + { + "title": "Laughing & Clapping 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4b0ad3c4370ef58c65eda79c4ed5da77.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d2660175f92e9d66c5ea2438c998f96b.png" + }, + { + "title": "Laughing & Clapping 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8ef8e563cbf9fd21d2d692f15e5872fa.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d2660175f92e9d66c5ea2438c998f96b.png" + }, + { + "title": "Laughing & Clapping 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/25e598b57e0b8b1c3577bc79a1f46d8d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d2660175f92e9d66c5ea2438c998f96b.png" + }, + { + "title": "Laughing & Clapping 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/3a890019e262b16ee4347cc8a813992e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d2660175f92e9d66c5ea2438c998f96b.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e61906d", + "categoryName": "Man Cough", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/5ca252ff3bf4df8997dea29778a7b5a2.png", + "list": [ + { + "title": "Man Cough 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a8e5b8919a9d48dc554478ea8f1c4439.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0c1d0ccc9575b1bfcb90709eaca2d87c.png" + }, + { + "title": "Man Cough 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6e70e991809ed445964e664e7aaa9712.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0c1d0ccc9575b1bfcb90709eaca2d87c.png" + }, + { + "title": "Man Cough 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/488555f76ecd73f81fba44ce79735e6a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0c1d0ccc9575b1bfcb90709eaca2d87c.png" + }, + { + "title": "Man Cough 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5a9bb0bf2c45728baaed0802ffcc3785.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0c1d0ccc9575b1bfcb90709eaca2d87c.png" + }, + { + "title": "Man Cough 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/83a38883a26c16352c5ecdc75e895016.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0c1d0ccc9575b1bfcb90709eaca2d87c.png" + }, + { + "title": "Man Cough 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/53ca05546106e9dc029d15791c479c0b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0c1d0ccc9575b1bfcb90709eaca2d87c.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e61906e", + "categoryName": "Man Sneeze", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/3ab4be4f087c6105283b1fce000219d8.png", + "list": [ + { + "title": "Man Sneeze 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/da8ecb9ac9aeed016f19995362a52dda.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/abd829a1371fed85427195644bdecc50.png" + }, + { + "title": "Man Sneeze 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a0283a7c16693263d16dceb903d72876.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/abd829a1371fed85427195644bdecc50.png" + }, + { + "title": "Man Sneeze 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2d89cf3b56a45040b6a3dd772ddb5ca0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/abd829a1371fed85427195644bdecc50.png" + }, + { + "title": "Man Sneeze 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9d8cc900cd41b19bf110fc305e1ca23a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/abd829a1371fed85427195644bdecc50.png" + }, + { + "title": "Man Sneeze 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/3063a0e734865ffb985ddccbfb6d8f2a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/abd829a1371fed85427195644bdecc50.png" + }, + { + "title": "Man Sneeze 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/3fe129338e5f251b86ad1e462b3a02be.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/abd829a1371fed85427195644bdecc50.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e61906f", + "categoryName": "Police", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/337c43b1284f89cd5fb01ba72b70bbe0.png", + "list": [ + { + "title": "Police 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/00758055f21c7c847eb17111fbd4fde1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b14f740e38a3027b0e07809ea3cd9e6a.png" + }, + { + "title": "Police 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/62fd647b38f9085b04388302ec6be903.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b14f740e38a3027b0e07809ea3cd9e6a.png" + }, + { + "title": "Police 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6c1b0258ee9d8d1a8944fade13d299b9.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b14f740e38a3027b0e07809ea3cd9e6a.png" + }, + { + "title": "Police 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/709c8dd0669775acff861c3833f1380f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b14f740e38a3027b0e07809ea3cd9e6a.png" + }, + { + "title": "Police 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2c0bafc776d3513f4cd84e30581673c6.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b14f740e38a3027b0e07809ea3cd9e6a.png" + }, + { + "title": "Police 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/949fd589e776f0f497755b36b20725be.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b14f740e38a3027b0e07809ea3cd9e6a.png" + } + ] + }, + { + "categoryId": "64b617f06d7b94ebbe2a20fa", + "categoryName": "Siren Head", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/66f62ff246444e7f216b3e3145436ba2.png", + "list": [ + { + "title": "Siren Head 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f1c48bfe7199564a4f65cd366e5bbee1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/71d4d9da20e9c77932ef1f8e360528b9.png" + }, + { + "title": "Siren Head 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/dd95a7600e0183928a90c9454125b9da.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d0f866a2c593c3d673a5b7c3c5ff65a3.png" + }, + { + "title": "Siren Head 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/717fee29f9cb3771f40eb611fa68ddb7.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/bc39a8d7dc21405b4c9d90bcd4bb763d.png" + }, + { + "title": "Siren Head 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4055968c7925dc385780e5085e87e668.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/11c95a75b76c58e0b7fe948619bf90d5.png" + }, + { + "title": "Siren Head 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7740dcc10a55fd19a9f535117267d167.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c3532129a7e0c7a90ff1d7f5c840a588.png" + }, + { + "title": "Siren Head 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9cee309d020b9057d3e3817f7bd3c9f6.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/57662e423e3572d248fe25c18e297571.png" + }, + { + "title": "Siren Head 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/76142b5831d017ae2a79bf6f21701848.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1e2c6f0f9a02a7f16f101d2641dafdfc.png" + }, + { + "title": "Siren Head 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ea514c12f3c2d600acc25764294d0e36.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6336d43fda0f23102ed71ab253efd223.png" + }, + { + "title": "Siren Head 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e9b29fb3222e26f98f513495aa94b07f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d1c6f6b2a9954b1c86d9653a6176d3e1.png" + }, + { + "title": "Siren Head 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c67c90fd97b0ff58b663b88b25f5d9c6.mp3", + "preUrl": "https://prank-sound-abi.pranksound.com/icons/icon-sounds/SIREN HEAD/Horror toilet head.png" + }, + { + "title": "Siren Head 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5bf293da0ae9defb3ff22f2633c4e8a7.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/40ae0ffc0d72ff35a667c252c57bc21b.png" + }, + { + "title": "Siren Head 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/3e514f44b1a924784e70516f5c14676b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/484c5a84e39b4cf8a89eaf6c0ce33058.png" + }, + { + "title": "Siren Head 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f2d6521b93cb4708c90bc7411e3efe8d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/4ad530a9cd082b6718fc6b0c6314e117.png" + }, + { + "title": "Siren Head 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b783ff32874fab37c529674008d094de.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/8daffdde57d1f112a0c8fa085e5dd342.png" + }, + { + "title": "Siren Head 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/39ea5814f83dad94fa03813765cd7be2.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/312a7a167f65006ae12a9c0835381a32.png" + }, + { + "title": "Siren Head 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/50ab76c335620fc019b3456ebd998dde.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/25fb210025fef2caf179b6e674132beb.png" + }, + { + "title": "Siren Head 17", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0d24bfb2863ecd141bf531f8c10f4825.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b16a10b771a10c6de7bbe6fc788ad29e.png" + }, + { + "title": "Siren Head 18", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7a5c47c0a3eee16839d5152cc2534b9a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/641a2ca25cab24bc625bf357ca068cf9.png" + }, + { + "title": "Siren Head 19", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0ecdb52645d0183434c4adf54c5aa1c2.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/cc034d34f4b651dee403836573953798.png" + }, + { + "title": "Siren Head 20", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/cf4a85cff1bca293fc70ca99413ba3a3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1ea8ed30ad14f35b8c5414248e71168c.png" + }, + { + "title": "Siren Head 21", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/46b35ad55405ec55ab660f45ab342135.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/bda071bed3d6a2f27b451a0e23529cb8.png" + }, + { + "title": "Siren Head 22", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/98e6b123b0e4b8626be248d9570a0893.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d47035746f6540a7050a6401adabcd5d.png" + }, + { + "title": "Siren Head 23", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f86502f566001ba59633f9e4b436a120.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/20d0f271ccb54260e6fd787e337d54d9.png" + }, + { + "title": "Siren Head 24", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ca9deeed39c238efa15039fc6c504249.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6b85ae163ea1702b837e6cef65f4e72d.png" + }, + { + "title": "Siren Head 25", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a11ad1489c9bdcd019f424de3757ceb2.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/40291b6f6ce00d1e5870cf49b2deb169.png" + }, + { + "title": "Siren Head 26", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2f18cb66ae66f52db7e5f7f7d720614b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/3fa55b1e54a5e3a0e8b5aba438989ebf.png" + }, + { + "title": "Siren Head 27", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/dd392b80f13294931fd3cba97837c1b4.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c1be056dabc3a43ed1e2fd6dd11e1186.png" + }, + { + "title": "Siren Head 28", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1794f5474e0eecc863dcfbe37e7799ea.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6af3cd32bcb76a0f9f31aef2697b65be.png" + }, + { + "title": "Siren Head 29", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/caff07c26ba52bbb40d0f6e9375d5117.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e184c7165caae221ba6dd2ed4f14e4da.png" + }, + { + "title": "Siren Head 30", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/feb2a49dc93e4c615e564658550562a4.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/a4cd82ea68f707cb87681545786fe1fd.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e619070", + "categoryName": "Scary", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/6278fe84a68fcd4460cdd386c6e416a9.png", + "list": [ + { + "title": "Scary 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/528d36e86c6c907fcd269dfb11d36e7f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + }, + { + "title": "Scary 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/017425f1d43d5d5a2ddb30d5c98b833e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + }, + { + "title": "Scary 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6d4cad59de5cde890f3ad91fc97a01bf.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + }, + { + "title": "Scary 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/81bd6eccee3776b9f0739c844900589f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + }, + { + "title": "Scary 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/10e36b4a6be36d66da6e8a412fe2dc38.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + }, + { + "title": "Scary 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/03be97cf98b8fdfe2bfc6192ca38e295.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + }, + { + "title": "Scary 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2c234ea6d1714c5f921a11a0cb04b959.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + }, + { + "title": "Scary 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e0f85cd581a950931ccd70c0a8f18284.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + }, + { + "title": "Scary 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/eec0a36a322ba705914de17be1844902.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + }, + { + "title": "Scary 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c9b387e84b03367983b8c5956c027fd3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + }, + { + "title": "Scary 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/81950f0fe7a87a8d919f90f6c7a126ac.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + }, + { + "title": "Scary 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b490c3b6de2845d27f785cc038651a7d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + }, + { + "title": "Scary 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/54faf2f18d3aa3fdd1cf6288280dee33.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + }, + { + "title": "Scary 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ffae2d80b33be19ce3ed46b71fa2e89c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + }, + { + "title": "Scary 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/32469294894ddb9e7f0d0470944c96ef.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/45dd88855533ed768453de20d00e24d2.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e619071", + "categoryName": "Toilet Flushing", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/33b7620ad25844786a8fc223527f5ef6.png", + "list": [ + { + "title": "Toilet Flushing 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4869b8d235565ae0dcfb417730fadfd3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/cb67455649424c9e527ffb8cbe1d4720.png" + }, + { + "title": "Toilet Flushing 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/75fbdd7d378d68bcf9c5265c416d2ea7.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/cb67455649424c9e527ffb8cbe1d4720.png" + }, + { + "title": "Toilet Flushing 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/05b018ec588b59a7ae6aeacffebd090c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/cb67455649424c9e527ffb8cbe1d4720.png" + }, + { + "title": "Toilet Flushing 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d99d871d2b71c2748a4b50a9e412a003.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/cb67455649424c9e527ffb8cbe1d4720.png" + }, + { + "title": "Toilet Flushing 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/569d98c887e4713a8f2ab75d94335471.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/cb67455649424c9e527ffb8cbe1d4720.png" + }, + { + "title": "Toilet Flushing 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0d784187286cbdad0b86906b0ecf468c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/cb67455649424c9e527ffb8cbe1d4720.png" + }, + { + "title": "Toilet Flushing 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2b83531021f3adfe140576edaa6ae64a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/cb67455649424c9e527ffb8cbe1d4720.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e619072", + "categoryName": "Woman Cough", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/f2bdfbc0e64c5fc58d2cfb97807760b4.png", + "list": [ + { + "title": "Woman Cough 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f7752eaa1925eae9f35baa413473d947.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5cdfcb21202fd7c0758fd4358ab5388c.png" + }, + { + "title": "Woman Cough 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d12628bab0220fec1f2adfcd11059eee.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5cdfcb21202fd7c0758fd4358ab5388c.png" + }, + { + "title": "Woman Cough 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d328c92c428b9deb701e5ce62e29c3aa.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5cdfcb21202fd7c0758fd4358ab5388c.png" + }, + { + "title": "Woman Cough 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4924914999fdedb0b8805dd3bb351c1c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5cdfcb21202fd7c0758fd4358ab5388c.png" + }, + { + "title": "Woman Cough 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2bc4822253cec9bea5b1ebc58d864bf5.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5cdfcb21202fd7c0758fd4358ab5388c.png" + }, + { + "title": "Woman Cough 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1f76eff7125e748fe8cbbe9a75bbf065.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5cdfcb21202fd7c0758fd4358ab5388c.png" + } + ] + }, + { + "categoryId": "625f83491fea07887e619073", + "categoryName": "Woman Sneeze", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/53ff3c33cb2978848ad158f5f503f44f.png", + "list": [ + { + "title": "Woman Sneeze 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5e3372221ee2d524c09ea1453241f2ec.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b9d608c945508adf3af63dd897b87962.png" + }, + { + "title": "Woman Sneeze 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/aa62d571978100034f075aa0e6fdfac1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b9d608c945508adf3af63dd897b87962.png" + }, + { + "title": "Woman Sneeze 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e0cfbb8a8a73b8204faa50c83928c602.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b9d608c945508adf3af63dd897b87962.png" + }, + { + "title": "Woman Sneeze 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/29f9bc8ea11b407997a732036867b690.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b9d608c945508adf3af63dd897b87962.png" + }, + { + "title": "Woman Sneeze 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6ee013abc51374d888d692cbc3dd0113.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b9d608c945508adf3af63dd897b87962.png" + }, + { + "title": "Woman Sneeze 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6d114f02275389c9e2804742e03589f8.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b9d608c945508adf3af63dd897b87962.png" + } + ] + }, + { + "categoryId": "6260b076d7ddc35b5bd96175", + "categoryName": "Fart Song", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/597048640f9327fdf80a9b8c57d1875d.png", + "list": [ + { + "title": "Fart Song 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7f57e37ad26c9340e9f2c4e9513ad16b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2a6fd612ee2d23f205720be5a47b8f0d.png" + }, + { + "title": "Fart Song 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d48603d0f885f0bfb92908dff279fc74.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2a6fd612ee2d23f205720be5a47b8f0d.png" + }, + { + "title": "Fart Song 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a0c91808e3c3f82dde9c4f0c213c277b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2a6fd612ee2d23f205720be5a47b8f0d.png" + }, + { + "title": "Fart Song 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a6402c906f706a2d8ca90623ae25959d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2a6fd612ee2d23f205720be5a47b8f0d.png" + }, + { + "title": "Fart Song 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6e076b6f5cc6b28206855438f5ae1ae8.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2a6fd612ee2d23f205720be5a47b8f0d.png" + }, + { + "title": "Fart Song 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/fe8e179b2cbee41df3307fe986f6c5c3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2a6fd612ee2d23f205720be5a47b8f0d.png" + }, + { + "title": "Fart Song 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/12ffa7d48d8d09603cdd083c35011f07.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2a6fd612ee2d23f205720be5a47b8f0d.png" + }, + { + "title": "Fart Song 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1c57006820d6f0c33bfd98da3876aea6.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2a6fd612ee2d23f205720be5a47b8f0d.png" + }, + { + "title": "Fart Song 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/dca2cd758468a24b069c8fbcf1c58822.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2a6fd612ee2d23f205720be5a47b8f0d.png" + }, + { + "title": "Fart Song 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7197d999f98a8dac6c1db1b1b102bbaa.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2a6fd612ee2d23f205720be5a47b8f0d.png" + }, + { + "title": "Fart Song 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/02d51fe34d1ea224e21a6e81d82d6b34.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2a6fd612ee2d23f205720be5a47b8f0d.png" + }, + { + "title": "Fart Song 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/03f3ae3aad6de892fab252ab1105de9f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2a6fd612ee2d23f205720be5a47b8f0d.png" + } + ] + }, + { + "categoryId": "62be51874d4edd56b588d54d", + "categoryName": "Hair Dryer", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/0cbc3e7ca3f59e483987ada3bf66092b.png", + "list": [ + { + "title": "Hair Dryer 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ab62180a31684ba85e6ae1ba49969105.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d923a0b99a094f3aa46706d7f4a1adcb.png" + }, + { + "title": "Hair Dryer 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2ccabf9031bcfa21d48551e79fc83415.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d923a0b99a094f3aa46706d7f4a1adcb.png" + }, + { + "title": "Hair Dryer 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2c646ee341779cb9c6cbd333fa32d964.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d923a0b99a094f3aa46706d7f4a1adcb.png" + }, + { + "title": "Hair Dryer 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/877dc85a9dfa2fb89a50d14ff78555c4.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d923a0b99a094f3aa46706d7f4a1adcb.png" + }, + { + "title": "Hair Dryer 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/41e6c807cbc7a5121bd85e20c51e2dcf.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d923a0b99a094f3aa46706d7f4a1adcb.png" + }, + { + "title": "Hair Dryer 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0bcfafc6a6cee193b81dc776ee8978a5.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d923a0b99a094f3aa46706d7f4a1adcb.png" + }, + { + "title": "Hair Dryer 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0bc4403a27bd81be77ca974858880814.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d923a0b99a094f3aa46706d7f4a1adcb.png" + }, + { + "title": "Hair Dryer 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7fb10282eaf2abd213e5b0748c249c3f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d923a0b99a094f3aa46706d7f4a1adcb.png" + }, + { + "title": "Hair Dryer 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8fd15fe2cd50c03de4e2e9099b64b605.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d923a0b99a094f3aa46706d7f4a1adcb.png" + }, + { + "title": "Hair Dryer 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e43c49428ea8d722e3f899fa751db5a4.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d923a0b99a094f3aa46706d7f4a1adcb.png" + } + ] + }, + { + "categoryId": "62be51cc4d4edd56b588d54e", + "categoryName": "Scissors", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/b5d48ccbd106fbd1d7c626f91727fa10.png", + "list": [ + { + "title": "Scissors 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/383b87e66571b7d1d61e26559e78c1af.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ad58f8cfd6ddf45319b2c74c5ec3e338.png" + }, + { + "title": "Scissors 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f097fbde71b2d02a5fa7d82c80b2178f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ad58f8cfd6ddf45319b2c74c5ec3e338.png" + }, + { + "title": "Scissors 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/fb3004acf9a716bc01811fe575fc8fa4.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ad58f8cfd6ddf45319b2c74c5ec3e338.png" + }, + { + "title": "Scissors 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/010f00d576f839b749ea679de5071304.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ad58f8cfd6ddf45319b2c74c5ec3e338.png" + }, + { + "title": "Scissors 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2ec031ff389789dad863624fbe0daa84.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ad58f8cfd6ddf45319b2c74c5ec3e338.png" + }, + { + "title": "Scissors 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1720a6fffea45b1e85960c0e2882e533.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ad58f8cfd6ddf45319b2c74c5ec3e338.png" + }, + { + "title": "Scissors 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9b4263d5ad2bae68cb5bec90119b1677.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ad58f8cfd6ddf45319b2c74c5ec3e338.png" + }, + { + "title": "Scissors 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1a58702466094a2e8f22c357cd6651b7.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ad58f8cfd6ddf45319b2c74c5ec3e338.png" + }, + { + "title": "Scissors 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/534eff4250e113d0b9c9c160f83e7daa.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ad58f8cfd6ddf45319b2c74c5ec3e338.png" + }, + { + "title": "Scissors 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/fd206198f0d10bafd81909ffb1948f7b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ad58f8cfd6ddf45319b2c74c5ec3e338.png" + } + ] + }, + { + "categoryId": "62be51f84d4edd56b588d54f", + "categoryName": "Stun Gun", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/6dbc249836ba3c26eaea8a65246ba007.png", + "list": [ + { + "title": "Stun Gun 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/36714df03c6662fe87bf66775b79e290.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/93ca289c09f6940321e6649e36f1b4b8.png" + }, + { + "title": "Stun Gun 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5ea760c046e892a87572f6ff4b574b21.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/93ca289c09f6940321e6649e36f1b4b8.png" + }, + { + "title": "Stun Gun 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/3c445de6e2182f8bd84dc2013e0c92c6.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/93ca289c09f6940321e6649e36f1b4b8.png" + }, + { + "title": "Stun Gun 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/efb342b94e6705a542bf81b897884891.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/93ca289c09f6940321e6649e36f1b4b8.png" + }, + { + "title": "Stun Gun 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/217cb15dd95d75de47be5ecc25903bc9.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/93ca289c09f6940321e6649e36f1b4b8.png" + }, + { + "title": "Stun Gun 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/3c57ac18cda86a1c64497c5bf71a5df9.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/93ca289c09f6940321e6649e36f1b4b8.png" + }, + { + "title": "Stun Gun 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/71804861ad4c4b9a87cc55233cab13f1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/93ca289c09f6940321e6649e36f1b4b8.png" + }, + { + "title": "Stun Gun 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/14e0f7d9d2e90455332dbf1fc48f164b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/93ca289c09f6940321e6649e36f1b4b8.png" + }, + { + "title": "Stun Gun 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/86525c1bb7cd3a5c32b8f75d1d246ca1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/93ca289c09f6940321e6649e36f1b4b8.png" + }, + { + "title": "Stun Gun 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b30e4e8b2f568e68fafe97f020f9cc03.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/93ca289c09f6940321e6649e36f1b4b8.png" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d803", + "categoryName": "Business & Office", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/310d539f09087c633febe6bb47dcbe9d.png", + "list": [ + { + "title": "Business & Office 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/dac34a1833dbc36e5485c9ad605186f9.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f285409f669ec89b073aa32da7c689b5.png" + }, + { + "title": "Business & Office 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/30986c5ed073a225c4f2ecc4e18df94e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d3d198ec14f12000e8000e1e7ca3c2b2.png" + }, + { + "title": "Business & Office 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/15bb74cacee7e2e6774b0486f6f119fd.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/4d4295326110cbc8970c2d5b045fdddc.png" + }, + { + "title": "Business & Office 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/71248827a62bdc2e09f40ac4dafbdddc.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7f79dd59ee84130d97935a6809ee8932.png" + }, + { + "title": "Business & Office 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/de4c54a2e4734ce622e6c0650bee4e29.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0e2bdbf65f930c724f177379cf6e1433.png" + }, + { + "title": "Business & Office 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f7ca6b14b56ea73b369b6bae7c4e4e2c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/4d04e30956a94b46a0ff3f6f3679c668.png" + }, + { + "title": "Business & Office 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/89e347a79b3bdc50302fc921702bb656.wav", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ebf9fc1c3f19a38b04e48051190e98b9.png" + }, + { + "title": "Business & Office 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4b8b9230ad1c31f315d98c04005b9007.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c2812f24bfc3e17940bd5e8dba2c384d.png" + }, + { + "title": "Business & Office 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/711b2bf9ef1f12f325a1e4a06b67e71a.wav", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/97d22c85cd7c616d6fa304cc24a2d4d2.png" + }, + { + "title": "Business & Office 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b9a2ba10a8c49185f81e9a098b7d8e9e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/a3b2eee907c7e17e2153d0278e844565.png" + }, + { + "title": "Business & Office 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4dad8196b944eb9d7f4aa5ba9fafb1ea.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/02f87fce069b516fabc7cee0b8042380.png" + }, + { + "title": "Business & Office 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4de94407c7b019b4f28e7e47aeaba821.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7170defe4afbac8f2e3adc1c7786efe7.png" + }, + { + "title": "Business & Office 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/75d78fdb2025ffe47867d0c66f940c1d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/17b3e93b2eeff9b952012cf2d77ede26.png" + }, + { + "title": "Business & Office 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9cccbb6715861dedc1d5d788a315cd91.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/baa5002f8777087d433be6c3e27f6407.png" + }, + { + "title": "Business & Office 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/804f1003e1a900f0ed58fa855f6b74f5.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/17e051287b5c7d6d2871d169f84b0120.png" + }, + { + "title": "Business & Office 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/dc19db1639480a2837bb8fb2e815f3d1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/29a072366d8a98a411d8b6e979c4ead9.png" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d804", + "categoryName": "Doors", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/fc4acd4d2f4c93c94c65fa122e4bf945.png", + "list": [ + { + "title": "Doors 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5dd61ae1dcaf73548d6fa3b46630c94f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7eb41be957ec7d8b0ecd7584221cbd43.png" + }, + { + "title": "Doors 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/72a49b6da900a94ee9bbf81ea97eebcc.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/abbdcebf90efbfa947b8b65deef8bbf0.png" + }, + { + "title": "Doors 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b532a5815df6aa83d42eee075b7fd0cb.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7a9b205da4fd1cbaee96251bcc72723d.png" + }, + { + "title": "Doors 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/61c804feb9791b324240794466bbecfb.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b2748764ffb0b3f6adee8bec72bc23a7.png" + }, + { + "title": "Doors 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8196950a7900e1dc7f89e16d884532f7.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/dceaa1d13a61589b26d1984dc43aa935.png" + }, + { + "title": "Doors 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/467373a534d5828b3cfc40e7e15f4c29.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/97e82065e38da733e3873be883680045.png" + }, + { + "title": "Doors 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4d6021931f2cc965b8f4618518519825.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/870c966054eb8e5c8599c87760edf1a0.png" + }, + { + "title": "Doors 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/bc1b8cad303726345b57d53875eb3829.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/87732e14f894bffe1e1037cfec2ab1bd.png" + }, + { + "title": "Doors 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/969d1046fb8e89b08d489ac649710389.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f623e0b8b10afef6a1d5803cdc71c4e5.png" + }, + { + "title": "Doors 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/253cd4367452afe514185d206c880da6.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1d903b54414d65351897d1d3bc5931d1.png" + }, + { + "title": "Doors 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/484faca48a560a2735e5f263c269dd85.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d526bec2aba09fcc2ef2ffc3d4be162d.png" + }, + { + "title": "Doors 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/fdfadf1f67a7f0fe84fc8fe415b3e780.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/8fcbebdf66ce047de184cbe06a033add.png" + }, + { + "title": "Doors 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4256003d4e427cad1a9d6c91e124c70e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9c1013485295e5f6d7e187b8dbf18d72.png" + }, + { + "title": "Doors 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/53b4d94372e6ad1f00e2588c4a2e6d5a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b1f8e3b5c189c6722080cbfa8e339324.png" + }, + { + "title": "Doors 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/976b47bbd63271953dbaa1571af18b33.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e2b7ee1365748dbe029e397b5552a2d2.png" + }, + { + "title": "Doors 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/faea69992fb7827e14d58cbc11b48e5c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0996dfe242956c469972c799d5c29838.png" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d80a", + "categoryName": "Tools", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/b52b8ff860d9faa3f1ebfcce9674146a.png", + "list": [ + { + "title": "Tools 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8ecd92c12f58b998a1995b1165fedb2f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/61bac61bf374b774bada2f2ff2a4c5a9.png" + }, + { + "title": "Tools 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c6b83c50a9ffa835f85a33fbd5456378.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/8236f1eb51b7c1664bc12576904c20dd.png" + }, + { + "title": "Tools 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f87a533bd42391c05919cf42217d0881.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d5dc76bec49925af9eddfae717771d21.png" + }, + { + "title": "Tools 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b60bab2e7a6aa07a1ea7a8cfadb9eb2a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c230585234a87c66eb77d14d409f314f.png" + }, + { + "title": "Tools 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/749997c97f26bbd68d126063a73e020d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d33fc684d1b061c48198a9fe06a6a435.png" + }, + { + "title": "Tools 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7ac292b1e7e08aa9deac5336c98672c8.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ebd488945e45cb8f9bc4fab61777226f.png" + }, + { + "title": "Tools 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d24fa096945aad87e4e7e826b951cb47.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/87758a660d803d1993163a6174337e86.png" + }, + { + "title": "Tools 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/44d2fa94e973155b6eafc2ebd98a48b5.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/31099ab082cf0c33257ba55b6f158d2d.png" + }, + { + "title": "Tools 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/3d2bb144b89a0f17694976d7c0752fbf.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/bf4f23309c1e286ac774bd7ea905fec2.png" + }, + { + "title": "Tools 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5ca71e456e6fc165ce80670096441054.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/313943eb3bca880b256eb60817bbe794.png" + }, + { + "title": "Tools 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9f6568788aafed3a4e94666556e063a3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/03448a48e39357ff4cb0e5353eb2d84b.png" + }, + { + "title": "Tools 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d598154f78de11d670556446024fe75c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e8e2c49b654cac07f1b9aa435e94a4fd.png" + }, + { + "title": "Tools 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/74e4fb931e8b23db2429b0540206b735.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/4874e00bba3ccdc19fdce2caaa42abe5.png" + }, + { + "title": "Tools 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8bc825c756c4bc3c650638f00906d8a2.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c3fbde9b26562ebf3dfa26663caf905e.png" + }, + { + "title": "Tools 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/637463e2cb3b2dc56857803be51e740b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d7236b203518ad4d663a77cfe9605797.png" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd33", + "categoryName": "Blowing Nose", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/10ae4d6081899ea2e9a669d984803af1.png", + "list": [ + { + "title": "Blowing Nose 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c21ee72ff053b9af5446a144f3a8f5d9.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/3d852de32ef2cee953cc0052c5434d7c.png" + }, + { + "title": "Blowing Nose 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d8bc2062013cf3898ba22339e05f8937.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/815a8c9f75c08462e5056293b4ac03d6.png" + }, + { + "title": "Blowing Nose 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/738053f0fd11e2e78ebc6982a0ce8d94.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5230615041ab079bc44b5ab4651689ac.png" + }, + { + "title": "Blowing Nose 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8b39b3c764aa9f24d793ef7ca9b47766.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5db6a01b77d6bec1e77e27ed0250538d.png" + }, + { + "title": "Blowing Nose 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1dec038dcf27e131f378152b6cca19aa.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c1f25a36e5be3f5e89548ca2df68ec7d.png" + }, + { + "title": "Blowing Nose 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e3ca312da6ccf6c045cf54a3053ec64d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2c70c41bf20ab79c047ab83eb073c7f1.png" + }, + { + "title": "Blowing Nose 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d27f5ee9a14e7abb8647df98bdf78d6d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/615db5ca94702e352df5fe7160405987.png" + }, + { + "title": "Blowing Nose 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f8b89b279b92dcc07fdd21c57b274939.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/335130a491ceb6544dc06030a9099b72.png" + }, + { + "title": "Blowing Nose 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/524df318fb89468b47ecdd24fee0abb3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/cb3589f2bcc4de916b93f1d645bd609c.png" + }, + { + "title": "Blowing Nose 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/85df353b75274d23379db28c793bcda2.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/071640b3fbc881af55fc345aefbcfb8f.png" + }, + { + "title": "Blowing Nose 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/3323d20bae58fba6564d20dddbf54344.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d64135b9fc82bdf24691ba3cd0d219fe.png" + }, + { + "title": "Blowing Nose 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/fec8cf2ef7810aa77c535d30deb424a9.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/be6f421cd6252c727d0849b0485872c7.png" + }, + { + "title": "Blowing Nose 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/181b424184ee04268e010b2d57fc7b3c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e535a74ddb58cd6061b3d12bec3d8108.png" + }, + { + "title": "Blowing Nose 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8e408532f99f796ca6ef4ddb2536ccb2.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6200c6c8db8192e6adf9870e6fb3d66c.png" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd34", + "categoryName": "Boom", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/5b1491b8aaf758881c67c8c2b558c2dc.png", + "list": [ + { + "title": "Boom 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5306947bccc61b844e2e6727b457379a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/82c5ab1a9f451de342f3f09216e1fbee.png" + }, + { + "title": "Boom 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1b3cc658778a2341f0d6552f7f4f5962.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1974c458e5f8872ad86b965695d2099b.png" + }, + { + "title": "Boom 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f86bc4ffc1eaabd2981caee1f0e99340.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6bae28d8c8769199edafe4131b300fc0.png" + }, + { + "title": "Boom 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/289af25a549128d5283adad2beba9bab.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c9f3f6a9ffda61356fe9eaba57bbd4f6.png" + }, + { + "title": "Boom 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/479ebd96e9487ff97aab59db83ae7d8a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/a6c2da6f9026bd769cd0839c9e63120a.png" + }, + { + "title": "Boom 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/edb83ff1f94ba7ed4022c9592372f717.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/30312fa0068c7d5b2eb5be68373e2ac9.png" + }, + { + "title": "Boom 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/bee0244d6a055138352e20fc9e657fd1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f7de1f306d8688582603f28d3f1d2b5b.png" + }, + { + "title": "Boom 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9aa4c5eea7cb1df76482151cfec7143b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/500c164ef2359970562876e7be6f3a69.png" + }, + { + "title": "Boom 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1d1a8d15f3bd34210b32a15fc01e357e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/05af0a4257212c0d05a428bd12f702ea.png" + }, + { + "title": "Boom 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/26979e70465520b90166a19db093b678.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6ad99a9bc42d9200f5e62a62fdaf263a.png" + }, + { + "title": "Boom 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5c5581b9ef71e552db551b817c6face0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/056e4e4bcedc33a049702bf2136ce246.png" + }, + { + "title": "Boom 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2ceff4497dd839813c8180e5b1e85daf.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d3ff691c62a65fddd11b1971001387e.png" + }, + { + "title": "Boom 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5a01d5adf7cda433c436825285c476c3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2f36ab0b9b3c8d2f3ac825d4cf98ca40.png" + }, + { + "title": "Boom 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/68d1372b68af614f0d8a13088c5f997e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5d5f6d6ef003d5ac9aa219cf5e457f1d.png" + }, + { + "title": "Boom 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/319b39b164ee36a13d42add262409225.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b1e1e983e25f064323fffa945987ee39.png" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd35", + "categoryName": "Clocking", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/e3541e200135977e948a25f3fa3cf9ae.png", + "list": [ + { + "title": "Clocking 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/032d4c70e10ccc9a058784834525abf0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/455bb3313b0fbe49583f8d08342d7be9.png" + }, + { + "title": "Clocking 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0ebcd92a879c0747ca396b7056fc0d77.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0072b82cbe704d382d94163e8a4d7ea5.png" + }, + { + "title": "Clocking 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6c3b8867d8dc5ddae8f6f4dfae2e161c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d1b160240044e24c4d70c1e6e9c13a08.png" + }, + { + "title": "Clocking 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/22a5efd130ecc59ae5b572e411383215.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/54708a377b13ca9220c98d67bb2b05b3.png" + }, + { + "title": "Clocking 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/83d7123a865e59111c8e21c9e84d6f7d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/952339c7f8b628c0076aa67d3a91fe3c.png" + }, + { + "title": "Clocking 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5a6bae02f1218a65bce425a394d359bd.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c810ed9b81a8d117e976595a79545a1f.png" + }, + { + "title": "Clocking 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d6364d7a241e6229efd69025f64ef4af.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1222c2c9548466ded15941e3ec870cff.png" + }, + { + "title": "Clocking 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ffeefb8ac458b79227bd16321bf6141d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ed63edf33b1729c9bda6b3d4cbaa6e95.png" + }, + { + "title": "Clocking 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/62120a53252484f25d5d137f1e414925.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1fe48f5bc261f2bc56bb74960af59fb0.png" + }, + { + "title": "Clocking 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/072cbbb01d6067011cd5661676c15bec.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/3f1ac1219fbaee5a369325654a4236f3.png" + }, + { + "title": "Clocking 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/35267eb03b6c63b878287ea0a58b465d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f0b356181df23e939e48fd0dbfbde77c.png" + }, + { + "title": "Clocking 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b6bd31db371b35e3e0413b7a1bcaa526.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2679e3065f4b7b1c53706bdbce5db3b7.png" + }, + { + "title": "Clocking 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/657cf0b4daad0b890dad532224eff264.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/58aa57c5a6a2145ef55a91eed36d94bb.png" + }, + { + "title": "Clocking 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e6ec30d7e2328312cec2f81aa4ee8cfd.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/09af64443514248717d999cd3de025a1.png" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd36", + "categoryName": "Fun Anime", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/aaeefafde067a8a581e092da1bded504.png", + "list": [ + { + "title": "Fun Anime 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/82e23478a39727b64319ea9a24305c44.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e531963223deb322b6c1cd82ca35e592.png" + }, + { + "title": "Fun Anime 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4c96810a77998e69fc26c7db700943ba.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/564ed41ed1c50939f678c6ce1615a6e6.png" + }, + { + "title": "Fun Anime 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/abb51fb03ffff3df365a52e1a7909a6e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/4ad9020fbea3aa257808155ab0126d4b.png" + }, + { + "title": "Fun Anime 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e19805327c2fef5e45d7980907e1bff3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7689e7a20fad1560264d4958ca171bb6.png" + }, + { + "title": "Fun Anime 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c581f4a448d6e3a2664400409dd7f1d5.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f957d27cdfed60da55a6c8f19e77d3ad.png" + }, + { + "title": "Fun Anime 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c6768509557bfa64aabf3a50ebec11a2.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/476fa332cc8aa7d52fdee4e7f09b9efe.png" + }, + { + "title": "Fun Anime 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/bc839deec4b513f5ff140d6f10399a82.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/eb251b99ea2a75bd894bba66b06eefa7.png" + }, + { + "title": "Fun Anime 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f39bc98cd9378aae577317073a83a292.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ef6b03b866a7403d1b866e844d2ea0e7.png" + }, + { + "title": "Fun Anime 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d53fc0ae81afeac96df388f6a46b596d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/78a92bcb099672e7410382f5ffb96ebb.png" + }, + { + "title": "Fun Anime 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0623826682a9e23342ad643442901586.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/dd7baccea4b5f4ec1034ccbf409d0255.png" + }, + { + "title": "Fun Anime 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f871f8a0248e4c72ec23eabe1c5a1c26.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1b74cfe553a4100f6a2880face866a9b.png" + }, + { + "title": "Fun Anime 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c3c889815549d64a75e8fd4dfbd19ad1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/95486a7e21e90c104089d0ead67d1b4a.png" + }, + { + "title": "Fun Anime 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1a5f1250826de847860c616847abadc5.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/99eae612ce6f2c0bfb88124494e365ce.png" + }, + { + "title": "Fun Anime 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1d891ffebbdb80288e29e01a0ef3ff06.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f1e484fa2f68496eb14e884a7f1b5193.png" + }, + { + "title": "Fun Anime 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9e6efaa721456378dc7f2fd9a4b80431.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/fa29b5549d0dc2922ab022daf74d0618.png" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd37", + "categoryName": "Gurgting", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/47f677ab3d76036aeeb7d883143acc35.png", + "list": [ + { + "title": "Gurgting 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e83587c797c63bda5ba0ba6e9661c10e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/92ebcaceca2f01bc0c5b17685260fab5.png" + }, + { + "title": "Gurgting 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/54a2ae6b7b3a6dade1fb653bee78d725.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c4bd65ec05dc758a167089ccc70dbc99.png" + }, + { + "title": "Gurgting 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d79da14a8674221c299c546ae5279a0e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/67ff60b6706cba7005666ea00b42a567.png" + }, + { + "title": "Gurgting 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7231f3e4c77dfe4e187ce9567a91a396.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/188336dc146d580464df78f639840322.png" + }, + { + "title": "Gurgting 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9ab0294593e0d91ad4898bed9ac7d07c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/81c9fc90426a5f09550aefaebec609ec.png" + }, + { + "title": "Gurgting 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d92ab4e402006c717d2661db13197f09.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/47f677ab3d76036aeeb7d883143acc35.png" + }, + { + "title": "Gurgting 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9d70e3f7bb5972e369376e594a3a187b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/51b2150f404124ca10d97e4a6810e912.png" + }, + { + "title": "Gurgting 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d30ad11811d29696445ab82646c8948c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/db6626e843b7e7be6fd3b8fab03bb3c6.png" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd38", + "categoryName": "Snoring", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/90513d7237ab90669be0049f8a093fac.png", + "list": [ + { + "title": "Snoring 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d997397b7b670deb5eb3db3e5a0d116b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/71a53b72f1fc60996f118ab40bf7b743.png" + }, + { + "title": "Snoring 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7c5ec7e1aa8dc82d9a65cebd3ccc2f2d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/32d9f31db6f6c4f3cf91bb53c2a329ad.png" + }, + { + "title": "Snoring 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ddcc94754a778ff7eb96a6d4723e6537.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1e3ecb4ef600dacaa302349b4c47c8bc.png" + }, + { + "title": "Snoring 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9dd4fda080ab2c3a8fce79d2bc53477f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/4b402486f7c161195d2a59d63710df01.png" + }, + { + "title": "Snoring 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6557e92d1ae88b26aa3fa12297fb57d7.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e1c1ac226e6bd3fdc0b347dc88d83554.png" + }, + { + "title": "Snoring 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2743eabb2a90c80fdd88521b1d20af58.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/a65b43dafc79ddb0e20db297e479b02f.png" + }, + { + "title": "Snoring 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/727733ca746f831e9ddd2a54d9cb747c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/cfa2e6cbfa5790163388f2532672ad29.png" + }, + { + "title": "Snoring 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4d37ebc5baa7f6dac1d35b5795e017b8.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6081e93fecf535ad88645553308fe912.png" + }, + { + "title": "Snoring 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5814b09bb3eea1ae7529c922de188b8c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2b922803e5f21b96548c103b2cf36481.png" + }, + { + "title": "Snoring 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/58270fc0616e08a132642f291a655f87.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c768c8dd29f9d69024b09b1b99b9b0a4.png" + }, + { + "title": "Snoring 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f10bccfc57aec1dac59868d5c3510765.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/210933cae9708dd88bb4e74939a3fc50.png" + }, + { + "title": "Snoring 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6a00470a867d76515fd0e319c2e7d2b1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7b6b47f6dcde9f9183e4d25208fef6ff.png" + }, + { + "title": "Snoring 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8dac9187468e2968e732716ef459da70.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5a750988a6584326de4c0060ceedee62.png" + }, + { + "title": "Snoring 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/fc973109aa07c0795d7739caee934c3c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6cdbd0f5c65ff9e1821e72238f848c4b.png" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d805", + "categoryName": "Meme sound 1", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/3f20b20d6eb55d2c150bfdaab3146d5b.png", + "list": [ + { + "title": "Meme sound 1 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4cd17db699d08db7a00410aa44cfdae6.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/4e54a92c280899133f5748cfcb9ad94f.jpg" + }, + { + "title": "Meme sound 1 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6f4f5d8793fefd662d605051e882e308.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6ce34decfb7d58cf510ab82dc78aa5b5.jpg" + }, + { + "title": "Meme sound 1 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/83dd4438485bc75d1c2512d211c29e94.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/508463f2dffc6aadc6d97f0dbf0e0f54.jpg" + }, + { + "title": "Meme sound 1 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f72c46ffaa2eb922a5d3862154e4d7da.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/768f3032a5b4d5f108d38315021369b7.jpg" + }, + { + "title": "Meme sound 1 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/49f4f9589e5bc7fccb5025c3bbbf6370.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5145b39e4f37e5e7b19b3eb044da4ca6.jpg" + }, + { + "title": "Meme sound 1 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b70fb22c26fd2b3ede119ed8211c87cb.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/674b7013980d4de4a298d29cf4a453bd.jpg" + }, + { + "title": "Meme sound 1 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/14893595f107aa2400451448d4657dce.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6201f052d753abc2a69ad0c2193b0021.jpg" + }, + { + "title": "Meme sound 1 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e707fa24de58599a20208974a6104205.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b839257eb37854499a4e40d51cbd6aa2.jpg" + }, + { + "title": "Meme sound 1 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/85eeb4bfb625a5925f4c93a981bbcdec.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9bb5966682457978dd2b13141d1c565b.jpg" + }, + { + "title": "Meme sound 1 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b483172e127951c58db64d47c9446a84.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/881be3402237e08c78e9afd5702ffc0d.jpg" + }, + { + "title": "Meme sound 1 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/cb1a3597611e266d9567e407e89c5805.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6b569aafac50aa1065d82218effbdd09.jpg" + }, + { + "title": "Meme sound 1 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f6a2966af445835d771d208c656f75e3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/4882cb64aa7f02fccaa771bd3132f320.jpg" + }, + { + "title": "Meme sound 1 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6812b5abf6e98ef65f8b9061baf3a0b3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/4780f9b372215392caf39459ce3b499f.jpg" + }, + { + "title": "Meme sound 1 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0afec4a83197261ea8c28ecae784b726.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f30debf012bb78a8f80f81884471cec7.jpg" + }, + { + "title": "Meme sound 1 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/86cdd28d82081e0d76c4f6091e830792.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/8c1f4b8d2d50d2720531d5ce10f8feb1.jpg" + }, + { + "title": "Meme sound 1 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/3651d0108fcb04f43cbdb3923f773c54.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9f1b1cb0b619a9e2ab06df6109a98d36.jpg" + }, + { + "title": "Meme sound 1 17", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ad0f4afbbba444f44adca6c8f4ef0b1b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c3ef842c2e46738780d099c66764f7e0.jpg" + }, + { + "title": "Meme sound 1 18", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a1350b1481b1cc8a7e6c9a97c929eb91.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/dcf787322d2f21f06d472ee29f575c42.jpg" + }, + { + "title": "Meme sound 1 19", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5192333458fb60fe9c5234d2f322f32b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/42b905a9bc320ae65ae0e8129bd793d0.jpg" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d806", + "categoryName": "Meme sound 2", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/4ce8347fa345ab501c9f3af2f10b2f72.png", + "list": [ + { + "title": "Meme sound 2 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d3aba7a2f9224139f1b28b72d3afbf61.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/4c9ef927a9222babeb120236f86d8703.jpg" + }, + { + "title": "Meme sound 2 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/371d5e520c35b9d1d85f1422f3107e06.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/22eeccfd81d0c1250e815d1b7cfaeed0.jpg" + }, + { + "title": "Meme sound 2 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9220b4f67e33bc6d9065f0044a5f7540.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9122797892df0cbc618c8f82951f26e1.jpg" + }, + { + "title": "Meme sound 2 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/00f68bdb9de929d4388975d2bb522e52.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/41039b3970942cb52a11ab1b00b1b82b.jpg" + }, + { + "title": "Meme sound 2 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/43b262159fd2c422679e0b069b19fd02.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9e1031d234f6e41034fac222a1bd736d.jpg" + }, + { + "title": "Meme sound 2 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e8984bcbb510fb580b743e63f5302f25.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/8f3f247d3761aad7a8ae1258891b015c.jpg" + }, + { + "title": "Meme sound 2 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/da87964537c41e74dd79877fa0477f5a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/13bcf55c08382797c5e3692f91fb183f.jpg" + }, + { + "title": "Meme sound 2 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9583852f8b38ff95c31362abd1b971eb.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9b1ba9e18d100d573ec8eb4460537dd6.jpg" + }, + { + "title": "Meme sound 2 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/321cf948ef4521b6d25bb4760c183c73.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/be20800a7b112260564585eb30d4e158.jpg" + }, + { + "title": "Meme sound 2 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/cdefab3966d462745c1734a6b4c8d6bc.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2a5d76c4c4485fbe8148c4d1d366fd74.jpg" + }, + { + "title": "Meme sound 2 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4b3c0d029aaf8d89b144dad3282b3919.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c480137f6e71f38cafcdd03440c69901.jpg" + }, + { + "title": "Meme sound 2 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f15b37e84d953464b92053417e4ca579.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e9f831f381978012560e046ce68c69d9.jpg" + }, + { + "title": "Meme sound 2 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/cfe4de2e2c7bc52bf4c6abce869c0e21.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/da5173be065c93376a8d51d6de963183.jpg" + }, + { + "title": "Meme sound 2 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f0dfb8bbdcced07296c6245995cb7a76.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e9aa4066c75f80de11ad4df4f80849d5.jpg" + }, + { + "title": "Meme sound 2 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9a36ed578c106c63a5554b4d76429f57.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/211df0d52a525b827d6c188eefbf634a.jpg" + }, + { + "title": "Meme sound 2 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/84498bb4dc3030de465e10d280f7e409.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2e13fe9fee06d9048d1b92f37e392602.jpg" + }, + { + "title": "Meme sound 2 17", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c38d6a583c7e23f8b054851e4b6fa37e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/3ec03e51b2a71153a7af4a0e2e947e97.jpg" + }, + { + "title": "Meme sound 2 18", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/833b37c1be0d7e45e02df03782045bc4.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0e80619eb10ab775ec48616ab695d597.jpg" + }, + { + "title": "Meme sound 2 19", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2f5d347f0a8938e727d7b67e604810e9.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/22645a92d965b54f0635924c7dd7a047.jpg" + }, + { + "title": "Meme sound 2 20", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c3a2d9d4e3ef4ebea19dbfb172176c74.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/8b31f0bf6ca513ab5e90d37ec710aa3b.jpg" + }, + { + "title": "Meme sound 2 21", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0dc955a722a13654b1f9f4cd0f19fadc.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/4fb6bf4fed2964f6ee424d9e5ad06ade.jpg" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d807", + "categoryName": "Meme sound 3", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/991f4d7e0b8ce3ca9ebc5f9e7f5cf68f.png", + "list": [ + { + "title": "Meme sound 3 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a927e26b9e9b0f0d734249f42a43ca0e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/000a7d3d6afda260f4f60f8dcc9d3819.jpg" + }, + { + "title": "Meme sound 3 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2c270e44c922586edb6d2aa4538ed485.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/fcd952d3919aae04fb61f1fd7754c96c.jpg" + }, + { + "title": "Meme sound 3 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/921b2c1bbc72295b480c3191f864c56d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b17746bbf7adad92b3903361864464e1.jpg" + }, + { + "title": "Meme sound 3 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4a376e86dfd73ae191757a9ee4e3336f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/3f08146406c3ec54a260b36d99b70213.jpg" + }, + { + "title": "Meme sound 3 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c8fc4acb5ed591f485a4c05dbe47d196.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/281cd3eb809510959f769a92cbef14bf.jpg" + }, + { + "title": "Meme sound 3 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1d09fa4e130a83895110bacf9936bc08.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7a3c9d99c62804210d83a46c2ef483d9.jpg" + }, + { + "title": "Meme sound 3 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4f1e59550b0740b5121509f0ca14c53b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/faa047812fea681a7ca99c41eb26af0c.jpg" + }, + { + "title": "Meme sound 3 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/009a7f043aeb65538abb6e0b851161fc.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d65babaa76e14d9936aedf26aad3eb0e.jpg" + }, + { + "title": "Meme sound 3 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c42f9de360823efa5f282cdaa8dcdfb2.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6a048ae07699d2b920be0ef461e2cb1f.jpg" + }, + { + "title": "Meme sound 3 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/95fc6616ee24aa28012b08a26f22aa8a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/bd39e5ae04c6f513d98d7ef7ab5e6fce.jpg" + }, + { + "title": "Meme sound 3 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/14082ceb9f18ced4335183efea0ec8a5.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e2c63eade56ee2d0e1ba41eb151e3114.jpg" + }, + { + "title": "Meme sound 3 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/79b6d68b0964b18b1ffd7a18d62f07c6.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1a45d50ab697bbbd06d4d5dcee2e676b.jpg" + }, + { + "title": "Meme sound 3 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/763faab8987cb8ed00313ec3e91b705d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c27dbdd362cdb5e6f892cb3902be7f21.jpg" + }, + { + "title": "Meme sound 3 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/956727fb2bfebb355f10c8b9076cf36d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/93731efe64afad808776b97c0aacbf5c.jpg" + }, + { + "title": "Meme sound 3 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/66713b1c3d8306d0ff6b3f553b36c56c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/79d5d5fe3ab51fcbda216fd2b16c3caf.jpg" + }, + { + "title": "Meme sound 3 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d78e9acea8e9855870f169b399dd4ad9.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1ffb2974cfbebc108780ef6c09d114ba.jpg" + }, + { + "title": "Meme sound 3 17", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/69de8ea564a97aedc05ea3de558e21f1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/060c0d5afba0eb61f48ab6ae3d1cfa94.jpg" + }, + { + "title": "Meme sound 3 18", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5c6d26321b4885f77dc57071d6e26f00.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b23b98c3514f214578f6ec5cd810047e.jpg" + }, + { + "title": "Meme sound 3 19", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/adb8153b33811cc86661adfba3b02a36.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/370af28996b90fb6998f0173e8e9d34a.jpg" + }, + { + "title": "Meme sound 3 20", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9e63caaf95df5b1f01d6b5648c3824af.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7ebeaf99e3cc7df5442227efc7e1453c.jpg" + } + ] + }, + { + "categoryId": "636b8e5415831ec42fc7d808", + "categoryName": "Meme sound 4", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/9050e970de5939d5358be1e58cc139d6.png", + "list": [ + { + "title": "Meme sound 4 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7a649f4231c33e3afbc1c22474d06048.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5a47376faeef054e9aa4ea61ce14b427.jpg" + }, + { + "title": "Meme sound 4 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/bee98ad260c5a66823d7a09bd5a423e2.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/bfdda888e4d95a7223c861ffde959898.jpg" + }, + { + "title": "Meme sound 4 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ee49eb67378e93ec563d1f715dd5ac04.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/72146479be8c97cd6f92589d378f1ff8.jpg" + }, + { + "title": "Meme sound 4 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6b267b5aa6e0e7e2683509618fc70c8e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/55a85177ed6c1f6797aa53bb56261c46.jpg" + }, + { + "title": "Meme sound 4 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/28e3bb6e134f0c4ed50c79b46dc7d3e8.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/50d1c9bb32c01cf6c4eb4d1718a89555.jpg" + }, + { + "title": "Meme sound 4 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/40922d865af722072a2930634ee3deb4.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/022b3ad8abb7d4f7c9ce7e581f3eae35.jpg" + }, + { + "title": "Meme sound 4 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5a67630338114fa5e6549add918255d0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1d7113c73fde73c318f3056d10194fac.jpg" + }, + { + "title": "Meme sound 4 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c7a574daa8527fbdefa8711ee432a760.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6ff4d677150bbade9299359a612bd0a8.jpg" + }, + { + "title": "Meme sound 4 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/062e1014a3ce5f793bdfa6926d366782.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/02da4270d96b090050c6f5d12e7a3b92.jpg" + }, + { + "title": "Meme sound 4 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/97921af860a1b8a4608c93eaf698d7b5.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/bcfeb56c90258f205bb7c138e39e6686.jpg" + }, + { + "title": "Meme sound 4 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/87bc2c2f0549adccfcb7efd60f08d5c3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ed9baa1d9e965163768e63dca828b7d8.jpg" + }, + { + "title": "Meme sound 4 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1fde554f6df05257c47c60c52b152a1d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/70db7c9770c5a6d7f2d4e0997c754baa.jpg" + }, + { + "title": "Meme sound 4 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/eed5df84833eb3fc0f88040e6d935f68.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/3225f4c4434e4df454211d831a38dbe8.jpg" + }, + { + "title": "Meme sound 4 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/33ab611bf307198983cb5bad90271f69.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/de2b05ba8d73bd08e8521591ca535610.jpg" + }, + { + "title": "Meme sound 4 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/39ebde0e167962507a6cc0a1b2b0a43e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5f3c1b6225474f24e03b3cbffe09bad9.jpg" + }, + { + "title": "Meme sound 4 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/fce825de32f3e45a25c2723bf77886a9.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/25c365d77f0840c49fb062b65bb828c0.jpg" + }, + { + "title": "Meme sound 4 17", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c7b605aace3b5857014eb16397b73d9c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/a52864c67d2614a08b0a97a618e1959e.jpg" + }, + { + "title": "Meme sound 4 18", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c874245574d11fd62aa751f40094d8c8.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/36ea58b8c21f4ac9fd9543d3bc5b9e47.jpg" + }, + { + "title": "Meme sound 4 19", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ec2d800276d384e791916cb70259120d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0e705cd5fa0a17f71d77a8e37ef8647a.jpg" + } + ] + }, + { + "categoryId": "636dc88cf512f266a311768d", + "categoryName": "Meme sound 6", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/e6936b3979a284fc32cfade30c6bf4b7.png", + "list": [ + { + "title": "Meme sound 6 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/329971602548f5fdda85ddfcf4d4750e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0868668e6ac9aac537aa5d748ec59120.jpg" + }, + { + "title": "Meme sound 6 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0d44d826d2e1aaa96b6bc8b7efbcfec3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e59535a07a4f3c49864dc7292952a2d0.jpg" + }, + { + "title": "Meme sound 6 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/675d7aa8adfbbd77a3907014a92a0350.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/486fac53d977b93150890e6a412b8e58.jpg" + }, + { + "title": "Meme sound 6 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/bcf2fd56c6bc1e99d7816bbb653afda1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/695cf4294618c4f44d5a4ed24b962884.jpg" + }, + { + "title": "Meme sound 6 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f2313c970059bd82560b912e3e796cf3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e80f216e9be298a7ac73169403b71ee1.jpg" + }, + { + "title": "Meme sound 6 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f33fab082b968a9f1b7655fac27cccd8.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7aa63ab3392d0e172a6dbc8653e39fad.jpg" + }, + { + "title": "Meme sound 6 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/19b13cbe8aa919b7a659c67112a32677.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/09e3e8716641ba9685e6a2f668ab7392.jpg" + }, + { + "title": "Meme sound 6 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/320da723c98724cbd2e16278655040f6.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6c2c1bc64c3c3e7c42a8a6531bef4e8b.jpg" + }, + { + "title": "Meme sound 6 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/bd99b8121af03eb7ff7c656c1b17bf82.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/08660c22eb77ab2eed9720bf0f62dbab.jpg" + }, + { + "title": "Meme sound 6 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d0081e4584ec2544ce12b321b2c76e5a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0766f75be34db4fe4c365dbcd6484d2d.jpg" + }, + { + "title": "Meme sound 6 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/11bf03ddedc8132b325bacf036587433.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f494ceb2062cd947a3ee9fee5f7a98c8.jpg" + }, + { + "title": "Meme sound 6 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b3403a619232ac76a6d7fae3792c6c64.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/caf286fc28088eff04869ffc55ff670e.jpg" + }, + { + "title": "Meme sound 6 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0509a6574615013c1b1b5e159762ff7a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/627b28437b4b2580161128213a8ca0c2.jpg" + }, + { + "title": "Meme sound 6 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/21db05bf5ecae4ddefd79ca45f571043.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/05b4c395a970af05cfcb12ca7b9e7a39.jpg" + }, + { + "title": "Meme sound 6 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5048c14e0b0fb6fa3d7f8cb3f20fe3a3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/304a9f457796f1d6efc947b98e239e06.jpg" + }, + { + "title": "Meme sound 6 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/14a7721964d399fb1ff14046aaa8a05f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/24b920a2609777defbccd5a672dbcb42.jpg" + }, + { + "title": "Meme sound 6 17", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c669a98436b196ee02aa9feec12157a4.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/dc58e5c0f632283ea4c47f2d7d48dcd0.jpg" + }, + { + "title": "Meme sound 6 18", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c3a78fe4c0cbcd409ad96f544b78eabc.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/465ccef137a5cd239a6203853cc7b84c.jpg" + }, + { + "title": "Meme sound 6 19", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b0abaf45811bcaf63a2cc72f9eb3bf6f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9161ad4d1a4f2863ca5b9224d4ea5eac.jpg" + }, + { + "title": "Meme sound 6 20", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f11e6556bf48d1d24b8ff040020e6f43.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b9a7ab2203e7a458eb00ae06a5be7090.jpg" + }, + { + "title": "Meme sound 6 21", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/dd972b4b9493dcd5f7670c2ebb8bcdf7.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/58d469e7ea485dd84ea9daa1148002ea.jpg" + }, + { + "title": "Meme sound 6 22", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b0e4fa13785f91d52a0620196081a13f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/228c8e61babff3a1cbd9fb9b0223fb13.jpg" + }, + { + "title": "Meme sound 6 23", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/cfda72d5b5f3c130831d75d7e000782e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2a2217e353c80547fa5155b31758860d.jpg" + }, + { + "title": "Meme sound 6 24", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b31fc1bfcda231ba0cabbe7aa393e05f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/02dc8c61d8bcdd4aa5d3c6345e1419c7.jpg" + }, + { + "title": "Meme sound 6 25", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b470760f4647f924418cbc65790277ae.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/15f0f8521da1aea52878d45b712e6a39.jpg" + }, + { + "title": "Meme sound 6 26", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5fb1770c6a9d95453dd4055c08c7aee0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0a7d2e597715db7a9577ac21686c576b.jpg" + }, + { + "title": "Meme sound 6 27", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a401d8a439641e01380944f5e9479631.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f313c74f55856f223f46df7081e3599e.jpg" + }, + { + "title": "Meme sound 6 28", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7b3691ddd8b7003f94dad485575f29c8.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/48975447ad46b8b2df53a8fb47476009.jpg" + }, + { + "title": "Meme sound 6 29", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/41131b267c4cf1e66935d8a89f829380.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/654621faf8e63ef7e10b7064f3d721fb.jpg" + }, + { + "title": "Meme sound 6 30", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/06130956631b9114acc5689507ad13dd.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/8065992bf5d7b1c65ecc3a6439f85c00.jpg" + }, + { + "title": "Meme sound 6 31", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8d4b16a2bb5c7923b990aad974d366de.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/195afbf628564ea641adb7942bfe3bf6.jpg" + }, + { + "title": "Meme sound 6 32", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/dbda8c77a6ca41482982f5e9e0eadfc8.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1c0227a8c0449471e9bcba1f69316199.jpg" + }, + { + "title": "Meme sound 6 33", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7176264d231269074b8b9534f1feb9bb.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2912730820f802440298c5e5a8162eee.jpg" + }, + { + "title": "Meme sound 6 34", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/672a2686241722ee369fbbaf168af90b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/a74204ad259b2709176bd5dbb9daccc5.jpg" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd47", + "categoryName": "Anime meme", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/e3b711902ebeab5aa59ba28c0d8239e5.png", + "list": [ + { + "title": "Anime meme 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a7107c3791c029153b6447df5bbdbf93.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c072fdee79639ad62037e5ce65293953.png" + }, + { + "title": "Anime meme 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c44b237dc9bf64e745ebb11f279cfdf8.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/8dcb4de77e8d9647cf238f7b794b8bf1.png" + }, + { + "title": "Anime meme 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2056dbf4ed3fb5e869ff64325a242570.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5e189c0b758d1a3d50c1b181976098ba.png" + }, + { + "title": "Anime meme 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b22b46a0e6c64e42daace075aa58159a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/a6bbe5e5dfa3aa803463fe640e1149eb.png" + }, + { + "title": "Anime meme 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5f0e00363737b68c8e6469355fe0887d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b34bea898b6fa4937a8f76537828d79f.png" + }, + { + "title": "Anime meme 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ca3fc9fed78a2f4b9c4f1ff4a1b65b1e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/3c1dceb38be61d063008b964f12d158d.png" + }, + { + "title": "Anime meme 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/181ffe52f8e7525b19196dc0eafbc6c0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/144bf1628d8649f985ff73aa7722b5aa.png" + }, + { + "title": "Anime meme 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/84defddcf3327f93c63f142e7ab37908.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6caa05b728c8a180cbcf5a1086761d24.png" + }, + { + "title": "Anime meme 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/065c97cdfa10eca952c862c561477e74.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/dba1d239bc0dda7d1d52d6537ba2b7b7.png" + }, + { + "title": "Anime meme 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b2f1a1f221a0ffa1986ef5ea109f3bd1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d0cefe5b4b205290c1958e5550f88075.png" + }, + { + "title": "Anime meme 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/388a0f22fcab6261338b897a67cf18db.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f5cf1d7bce8c0ab1243a94e6004054c9.png" + }, + { + "title": "Anime meme 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/342ac706dd55e3d12fd56cda4f9a7d1a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/95c662aac956e395f1bdcdc0e0bbdf26.png" + }, + { + "title": "Anime meme 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0aeafdd0a4f706c5fb3f36f659ad1601.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d501f4d7bde34fbcaedb06520d876963.png" + }, + { + "title": "Anime meme 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6f90dd5e43fb8d486830a97914d485db.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/65fe1c01b27186bd437633529baf5ee1.png" + }, + { + "title": "Anime meme 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a0a4d785b7b1f3f30dc7bad4625e9b19.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e8dbec69a3906d4afcdd2e094a641e38.png" + }, + { + "title": "Anime meme 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5f057a0ef2f0d38436b17e6c0886e668.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/85c3f3ea2c28848336409c979be0fa64.png" + }, + { + "title": "Anime meme 17", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e06141603a431b19d9ae9af19badac64.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/56097d4a5ac7cd104d8c0d396db60c9c.png" + }, + { + "title": "Anime meme 18", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/114001c35080918434c4b982555d12f5.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/91cc168e4b2769ed530aa937be13378b.png" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd49", + "categoryName": "Laughing meme", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/423099070cc5c92aaec95c5d7c090307.png", + "list": [ + { + "title": "Laughing meme 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b4cb447b860354cec570325a11f71a8d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/01536a53628daacf6062406e99e31fbc.png" + }, + { + "title": "Laughing meme 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0c2431340568d80e58aba6a07c41425f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/7936b296c7f9c7e76ca6d9e2e8c5af28.png" + }, + { + "title": "Laughing meme 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/92c8b2e7b99aaf7ee7c0e3f0948cd83b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/3f34fb2705784bbd15253d6cc5ed8df0.png" + }, + { + "title": "Laughing meme 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4c02f87b34ea2d082c1993a678d64d55.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/35baba3942bf6801f9ee7a7b753910d4.png" + }, + { + "title": "Laughing meme 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6691d33ad9c4f61805c12f2fff1ca912.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9edc9040260b40e4a56e702fadb0b8b5.png" + }, + { + "title": "Laughing meme 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1c7c99b1a63fb03a4ca4b68329ee814a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/bcb252e4c0518a4f65ccc83daea498d1.png" + }, + { + "title": "Laughing meme 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/23c8a8ba802b6e66f4141d2fcaf53d0d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/05cbb8d81900840e62789a617795942f.png" + }, + { + "title": "Laughing meme 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5474a770d53fba645d462e4377ea87c8.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/dad70f170d826bb985905dafa70a9291.png" + }, + { + "title": "Laughing meme 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f94aba6f1c0c8d93c2f6b1d928b27e12.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d94b52a7f791c078e2fad9abd0271e0b.png" + }, + { + "title": "Laughing meme 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0807dda5995ecb102c45622a45501cce.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/70c9bd2a1cec4ec53f10679f992edc86.png" + }, + { + "title": "Laughing meme 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0a7eaf35fa6aaaf62aa3f128fab8f04f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c227353b580998e4681d094d3dec78c6.png" + }, + { + "title": "Laughing meme 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9d2ea6b802b104c5fe2868c257cbfe31.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b551c5055a4efe19ecf521afeb953c6f.png" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd50", + "categoryName": "Video effect", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/f30322429a15f99fafac651af6601a1e.png", + "list": [ + { + "title": "Video effect 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/be127a651be21c9d9543551427930e65.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/fb11cf86c9b4317187b2f8d20e813a52.png" + }, + { + "title": "Video effect 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/3fbba72e271c7e245f95be440ae89502.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/affec1cd3b1acf3534f2b1dd54b6e11f.png" + }, + { + "title": "Video effect 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b1ce43dedf92ecf79663f064198d05c8.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e4efb19584a4c6df9292df3d171d96ed.png" + }, + { + "title": "Video effect 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/65003244adcad85bc4f866435208d856.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/55dfa8097e3554f3ff921d4bae1c6360.png" + }, + { + "title": "Video effect 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/242ebe659af90fbb24b35a3de82c86d6.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ae2cfb2a5f2c291e5adc3ec1a6b86fd3.png" + }, + { + "title": "Video effect 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/cb8152a74bb4571725157bf40c8be677.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/776aace8ed0f04dd9957a6f3edd83925.png" + }, + { + "title": "Video effect 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/cbdc15cf69a945d0598dd8ac78325c5f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5f490886e570a860b89dfd7e26e4b7bc.png" + }, + { + "title": "Video effect 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/380b993ecadff751c64a0fb622de439a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d3f15a89bfcfa46acdad754ca8b2d736.png" + }, + { + "title": "Video effect 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f76c37498bb9fca60563d8b2a67653c6.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/be0edab4d77cb56d90db71b7a7d7fec8.png" + }, + { + "title": "Video effect 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/bc09237302c352a08446a7cb194d076d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f033ac2536cf4a0a341e2c00029afec6.png" + }, + { + "title": "Video effect 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a5f431d51547344c66ccdae1eebad93f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e5bb75fff945bac8b3c4070b831fb8bd.png" + }, + { + "title": "Video effect 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/789cdce4f59c71ef84c32cac4896f00e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/82295cecfe039e891067bba2b9012fe3.png" + }, + { + "title": "Video effect 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/fd865eaaaa48796b89e054b112be0774.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/66c604a7978a5390701e1aaadf5b26a7.png" + }, + { + "title": "Video effect 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ae1f54af64ee5cc1e145b3096604b7b4.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/566156ee20f5dd4825eee2b29ebef57c.png" + }, + { + "title": "Video effect 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/382871ca218f1384a012850e610bd0f5.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d982297cd7148a9a8201a7e5db52e2dd.png" + }, + { + "title": "Video effect 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7e22a15803c6c18ba1020fb7a12c2ac9.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/176f813f19d83391cc3a94714b3c33e3.png" + }, + { + "title": "Video effect 17", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f3e9cec93ce50e08a61324017e53474b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/cb6fb89351ea96dad75fe012977e9a8d.png" + }, + { + "title": "Video effect 18", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e49c5b23079f42061fc13bc0ec2d96c2.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/609557bbd566aaee85787039d827a8e6.png" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd40", + "categoryName": "Church Bell", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/2b0b47180f68099bd4e3f20f2738a553.png", + "list": [ + { + "title": "Church Bell 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/264749515174f71fc385edc3c58f6dc6.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/bd3dbeb14c909851c9d55a0522ffeb02.png" + }, + { + "title": "Church Bell 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/43663417104a737de0ad75058b3d7dd7.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/00d1bf22be137338977a68288c1e39e3.png" + }, + { + "title": "Church Bell 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9905c68f7a6fac7d90d5075d12462f59.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f16b1bcf9bb12fc1773d7574d6e19198.png" + }, + { + "title": "Church Bell 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8be3c1a2dbd6ba2b8baa1ea3cdf48590.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6b2aa96e01e20f0fbfd9d3ad4b1d48da.png" + }, + { + "title": "Church Bell 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4b2cac435ff33013e4a8c6bb5be6408c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d7da9541816f730c7cbd5173e81072a4.png" + }, + { + "title": "Church Bell 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/debe07c42709ac424a015405ab9876c0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/66aaded545b6bee1925c9736c7533ed4.png" + }, + { + "title": "Church Bell 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/849a9ab93006b3a6fbd462a38deca497.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/bf37e5bb7c3c17e6814082204cbe49a2.png" + }, + { + "title": "Church Bell 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/4e4459bd7dc3e50e4fcbd256a49f9e7d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/85d18158e371a44acffd83307945accc.png" + }, + { + "title": "Church Bell 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/57480a9f7da1e52f9aefe12dab66578e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/25a96e9ee7e5e2c1969caf290a7091df.png" + }, + { + "title": "Church Bell 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6176ef1954a68a705732987d08895bbc.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/09dad424c8103bb12dd2027ff035efb0.png" + }, + { + "title": "Church Bell 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/362939d0d5d7139a5c64b1cf6c52016a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/cb702949346a19dbc4af662a21cd9dc5.png" + }, + { + "title": "Church Bell 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/21dff1513a841b9761bc972e4bdd45af.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/631574c422eae411794dfc0963fdb7d5.png" + }, + { + "title": "Church Bell 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/0e83c42bd8d0e7c22dc35db0f6a4a13e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d8bf12721c58819f5429ec3a68f3cc21.png" + }, + { + "title": "Church Bell 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6cfb5ecbb898054a1964aedb6894d926.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1ff22218aebe79a5294a8e86215062f7.png" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd41", + "categoryName": "Countdown", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/642d3042f0e7ae829988ee296750471a.png", + "list": [ + { + "title": "Countdown 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8e96c19766b1caf938430a8e52669166.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9f958c3d3b9860146e686764ac8753bf.png" + }, + { + "title": "Countdown 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a34b3921bba77d4f73e04be79d943f5c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ea9c7eb239739a3062364a1d165f7e9a.png" + }, + { + "title": "Countdown 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/648afb631b170c87b26e01a994455755.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f350711bd7c0f4baafaf5e7fdaab9d15.png" + }, + { + "title": "Countdown 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/bfba411ca5c2bb25be7a2f45dc6560c9.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0186fc0e9badd77dc78db70ee05c3d25.png" + }, + { + "title": "Countdown 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f32b6e6ee555ad5c6d29de13aa8062e1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/66609a323dbb9b10968349ff4991d14e.png" + }, + { + "title": "Countdown 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/bfdb88d6fddd25d7bbcb3ea2a8a8f93d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0bf572557b5c37bb2663e1e1ea3d7460.png" + }, + { + "title": "Countdown 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/74307f33d3a9132eab490aa5fe245b58.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/18169f46046cb22f46df892f1b477833.png" + }, + { + "title": "Countdown 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d1c880a46262ca737f937d1bd0c44b0d.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/4cacbebf5bbd02920e3fa2d65362602b.png" + }, + { + "title": "Countdown 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1b1661b9a9b7dc08a06d3005edd9a8f6.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e8ba21dcacea89733e6b6beb5118d4d9.png" + }, + { + "title": "Countdown 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ed6c479005e741530a98285e4dd52f25.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1cd88a6ee029f88c9474ae47bd5ab121.png" + }, + { + "title": "Countdown 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b155ee94a60c1c02e1423055b2f8868c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/af040a95410239510ef6625203a3d2fc.png" + }, + { + "title": "Countdown 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/be45cfdcfeb775190645512f8b70cd91.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ec33ecf4b90fffedabeeb14ab677f3cf.png" + }, + { + "title": "Countdown 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/38a8289a4ff2e85f3ce6ddce251290ae.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/1fdee0d8661cf9db1e6a16158e1e1852.png" + }, + { + "title": "Countdown 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e37a733ed877f58b5eecf80a9215aadb.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d6e289cbfa828447f45c10a3740c3b41.png" + }, + { + "title": "Countdown 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a30c962da761aeca851a464cc9303ef1.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/258a9bc9932fa59771faec37ace6a33f.png" + }, + { + "title": "Countdown 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/a9ea0774cd8c96b392a17258a2bbf705.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/a7cab5fb8188a2b8fd64d9bf59657d31.png" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd42", + "categoryName": "Cuckoo Clock", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/775a7b80f8844b2a2e5a90f2602fd38d.png", + "list": [ + { + "title": "Cuckoo Clock 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2d72953021e40478613543328c3648c3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/a4997b34c82a13cf22489b7aaa0933ce.png" + }, + { + "title": "Cuckoo Clock 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e9cb9ee25a3516b755fb47f887366b11.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d7ceda54d1692aae5e25ef66443c1818.png" + }, + { + "title": "Cuckoo Clock 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d595ccd6c056e78b1eaee3b9019c890f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5c1e5ee795a2ee958e09447ecf6b8c6e.png" + }, + { + "title": "Cuckoo Clock 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/10995e06b7d24db64d3aba867ffaba2e.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c6023c9fe9af4392fa513fe2708784f5.png" + }, + { + "title": "Cuckoo Clock 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/99fd437069f69508827b2dd41ba8dec0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/fa25c9faa262645d4d850a10470a0afa.png" + }, + { + "title": "Cuckoo Clock 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/fbb86e27c1416edbc7a1226e4ab2268b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c8ca42c2854fcad0a70bdb9e2237a8b7.png" + }, + { + "title": "Cuckoo Clock 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/147922945f4fa1cdb66c32abd83edf18.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/49f1f56e8d3e8e7897fc687e664c1bf7.png" + }, + { + "title": "Cuckoo Clock 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f741ff8869dd5e7ec39e5ad0b49c4ef7.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f9793aa7a75f9f434b4259ef5a4712f0.png" + }, + { + "title": "Cuckoo Clock 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/150335b877eb085d49b4a7b1a9ecadde.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9702bb79ea0e23a0b15a9e1dc9db0600.png" + }, + { + "title": "Cuckoo Clock 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1909035da699032a078fc26c6b67a9c3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e9cfc34fc92a17f31972ee70f21d995b.png" + }, + { + "title": "Cuckoo Clock 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/fd6f7a636fc65371decc3264aefa5879.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ae3c8718eae870a97b7c51ab656a83b9.png" + }, + { + "title": "Cuckoo Clock 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c4c297c6360a20c88c868294948491a3.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5645e427f83984febc9a2fd28339e7ea.png" + }, + { + "title": "Cuckoo Clock 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b7fa02d14bf1eb70f41c70cd735577a7.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/197e7e101cae3c78e15b57425beadda8.png" + }, + { + "title": "Cuckoo Clock 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/38c67d23b9fff4afd8e8af826185ce62.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/518ca81123ae1db5f5ffc8720c99f403.png" + }, + { + "title": "Cuckoo Clock 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c13c7b3a9a157213eb19dfea09a5e215.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/aacf5c3db406eb6a41ff620c614adfdb.png" + }, + { + "title": "Cuckoo Clock 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/357ebc6e99afbb7edb2b0b6abf28aec0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9b82da41fedb4b98dd4c779264f283c4.png" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd43", + "categoryName": "Fireworks", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/f01dfac6dd9c7745ab80f274edaf7d34.png", + "list": [ + { + "title": "Fireworks 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/07bcb57943a460ff2a0b04eb093b0f3c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/b3943f642ac8b72992ffcf2b88bc6b7c.png" + }, + { + "title": "Fireworks 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b4bf8204e68f6b48377e6dcaf409bb72.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/8f416e70b65f2138b67d677fb4fa615f.png" + }, + { + "title": "Fireworks 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5c8cebcedd1c6ed92a42e8c9135be2fe.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/eb900055ce55cbbcdade84d7fc130a09.png" + }, + { + "title": "Fireworks 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/24b2a5b37cb8136b59880f627498c848.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/8959fe87989b632fc85b8d1670a54814.png" + }, + { + "title": "Fireworks 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/071ae6eacc2497bfdb87e6960255e618.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e63ac1c1ff794746fbc8c4078be1c910.png" + }, + { + "title": "Fireworks 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5a224b247ea78a0834dff359203f6802.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6ff3515f2df9c687c14ee550a88aaacc.png" + }, + { + "title": "Fireworks 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e18a5052b273aad4a24baebacdb286e0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f698e862d47dac00773f66006c925b9f.png" + }, + { + "title": "Fireworks 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/44944e44f9a3c1fe1995174054b688eb.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9a80eb9887a449f5ac1816bec6dcd86d.png" + }, + { + "title": "Fireworks 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1e42b4d2061e93f0afda40089fa5fdca.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/3702ce81c81d4a7c3c7add0b32bae7f2.png" + }, + { + "title": "Fireworks 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7c182881bba27610cdad7273559c4aae.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/77c476c59a372832171e0392883e4073.png" + }, + { + "title": "Fireworks 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/1fbb65c58fe5373133445f41d7a22c27.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/dfe6a09c757abe7c61feaddcc70bdd42.png" + }, + { + "title": "Fireworks 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c4d4e05d5b361119350487b0be3247c2.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/4a5504bfc38f9aa7f9e48526fd569df4.png" + }, + { + "title": "Fireworks 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9fec8e8f803ccc8ae2d142d759ac6968.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/bb64c6f4b11f53feafe12503da099c04.png" + } + ] + }, + { + "categoryId": "636dc40571a30811c821fd39", + "categoryName": "Champagne", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/23948c0777b58ea43ae231c3adb830c6.png", + "list": [ + { + "title": "Champagne 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/e1cbcd284222ce6099da03810cc1c6b0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/0cab054498349416ba07520ddb5d6ca8.png" + }, + { + "title": "Champagne 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/01082a26035998ab2a833d775e48af71.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/f27a32a5a84b4d7bbdee2735bb54ab8b.png" + }, + { + "title": "Champagne 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/3866cb7d6614d2139e78a19b234d7b14.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/8597fa7bce4191a8c3282b67632cae44.png" + }, + { + "title": "Champagne 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c26a6128efc5c4187fbd81e1acf0ab08.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/ae7b094815cd0b714a97c56e0e5c4dad.png" + }, + { + "title": "Champagne 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5657320f06928bc20961043becc95e18.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/3c59aebc7c52aa99d8814411c8c7cc68.png" + }, + { + "title": "Champagne 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/ff80172109053f601b406d552178c3ff.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e689358c959b4cd68310070d0bfc5ec5.png" + }, + { + "title": "Champagne 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/cc8338bc8f1a6b5d20f92c59f7a26bb0.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/96aaa4ce44bf3ad7b73a606f1f9e19ad.png" + }, + { + "title": "Champagne 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/bebfc0f8702a4dd30d78a7907af7b93a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/579a09d3b30518b86f7dd67f0cbc05c0.png" + }, + { + "title": "Champagne 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/02cfaa37687cd6d759aed04a03028742.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9d8514f45a8e8ca845fbb16704cfb436.png" + }, + { + "title": "Champagne 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/100eb5628b04d4689843daa8d966ff60.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/400b4f4877f7216d549ec90ee137665b.png" + }, + { + "title": "Champagne 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/bbd5249f29ac098a21617918683c03cf.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/65a46b2626b4f28244ac3c654c89abb7.png" + }, + { + "title": "Champagne 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5518b7be45e8566d65ce10848b919284.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/931633fcd7fc1d817a4dd0f9d1873f1b.png" + }, + { + "title": "Champagne 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/7ef9b5fa25e5254a8fd8920f35255457.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/87b431000db60cb3c6aeeed1bb5487d8.png" + }, + { + "title": "Champagne 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/baad4340a6c42843d12556996100f05c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/fe2daef6052258c1b95d45aa649235d9.png" + }, + { + "title": "Champagne 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/89140a8c836648822b52ccd22de8df75.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/10b245d728e59cdf88b73dbb35997bc7.png" + }, + { + "title": "Champagne 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c0a788938294d31469f1e929960f5abd.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/814007103cf43c6a1034f2ff72415659.png" + } + ] + }, + { + "categoryId": "634e0d283a35295ff1e9d782", + "categoryName": "Halloween", + "categoryUrl": "https://resource-sg-public.lux-ad.com/prank/346541dfd63bb11359fecb4913bbbf13.png", + "list": [ + { + "title": "Halloween 1", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/addaa62eb812fc77b8c9c62f4a10c87c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5eab6b3a9c261f0248c63b3b96dcd7f4.png" + }, + { + "title": "Halloween 2", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8dd4ab99f8fa228c05ddd8c36a1fb8ed.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/10de3be681254f26de6351c2ed683ea9.png" + }, + { + "title": "Halloween 3", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/54f1373123ee2d3c6eafcfd0ee1534fb.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/6a500627588ec7c8133cd2e8737a29ef.png" + }, + { + "title": "Halloween 4", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d9639d6b964952898e925057737f179b.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/80c18bc4d370f912d4ba7e99ac389df7.png" + }, + { + "title": "Halloween 5", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/d1fb6ceaa60e105425a016d809f72fcc.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/e3a9a9aed7c1391218e743a61bee052a.png" + }, + { + "title": "Halloween 6", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/bcbc8fbaf653b3f8388ff25211015a18.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/5ac0c7f0469c99417fd12ae7e3fa07af.png" + }, + { + "title": "Halloween 7", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/2adbaf76aad03b5b59e338e7c547e65c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/df60f70ad97c86c77c828605dc106555.png" + }, + { + "title": "Halloween 8", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/8885f6857e6e3aebc8cc0b9aedbe2e88.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/82153ac03f55b18e9d3a57650b86702d.png" + }, + { + "title": "Halloween 9", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/5548a044a4b88dde27d7edbe0fd45a28.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/d430f6bdf723e5c7dfe50f4567aefb88.png" + }, + { + "title": "Halloween 10", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/99a1127659c975822d7f0eff052c54b8.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/2b96582702253e5d88230621d9806ffd.png" + }, + { + "title": "Halloween 11", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/b1f2bd4a4bab0c825367680b8f14580c.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/22eea4ddc2396a8459f8a82cc2fa41a7.png" + }, + { + "title": "Halloween 12", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/00b800fbf34a148d2906aa01306e632f.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/02abab22836fea046ee1b121843aa1c4.png" + }, + { + "title": "Halloween 13", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/407c2a04c6ba9eabffb2d48812676075.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/000d1d7c0026ddb269192cc8a3ed8a36.png" + }, + { + "title": "Halloween 14", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/c0545680e4d81d2040f8ab5be1036221.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/c4d236b50c018013b856d0d6f813f431.png" + }, + { + "title": "Halloween 15", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/40901854f4cf27e3f95e1c5e681d4e94.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/cfc812c4fa5879dc044dbf57848ec829.png" + }, + { + "title": "Halloween 16", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/6acca311c1d0e69f0243a60ee966c763.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/9733f998ea9d592c09cf23dbc9da4218.png" + }, + { + "title": "Halloween 17", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/09f13252d1db5a6b5294527c275fc9a7.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/32d4680f4d064475e6ca4424829d9fd6.png" + }, + { + "title": "Halloween 18", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/9b80fc87cab236dccfdeaabe4770eb50.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/92ab558d70e01ff40d3b12ff27acc6b1.png" + }, + { + "title": "Halloween 19", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/f3dfe8797d1a13a88f9544d3fdc54425.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/300e9423f50ff7b81b7de33d847733d6.png" + }, + { + "title": "Halloween 20", + "mp3Url": "https://resource-sg-public.lux-ad.com/prank/44b966562ddc9d0a5ed2604bf8eac39a.mp3", + "preUrl": "https://resource-sg-public.lux-ad.com/prank/8e3f389ba05c4785961e9abd8a6809bf.png" + } + ] + } +] diff --git a/app/src/main/java/com/fun/funnyprank/FunnyPrankSkin.java b/app/src/main/java/com/fun/funnyprank/FunnyPrankSkin.java new file mode 100644 index 0000000..0676f58 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/FunnyPrankSkin.java @@ -0,0 +1,102 @@ +package com.fun.funnyprank; + +import android.app.Application; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.util.Log; + + +import androidx.localbroadcastmanager.content.LocalBroadcastManager; + +import com.applovin.sdk.AppLovinMediationProvider; +import com.applovin.sdk.AppLovinSdk; +import com.applovin.sdk.AppLovinSdkConfiguration; +import com.applovin.sdk.AppLovinSdkInitializationConfiguration; +import com.fun.funnyprank.data.LikeData; +import com.fun.funnyprank.data.Mydata; +import com.fun.funnyprank.data.MydataBase; +import com.fun.funnyprank.tools.Mytools; + +import java.util.ArrayList; +import java.util.List; + +public class FunnyPrankSkin extends Application { + public static final String DB_Name = "like_database"; + public static final String Table_Name = "like_table"; + public static final int DB_Version = 1; + public static FunnyPrankSkin app; + private static Context context; + public static List myDataArrayList; + private static boolean isinsert; + private static final String PREFS_NAME = "MyPrefs"; + private static final String KEY_IS_INSERTED = "isinserted"; + public static final String AD_BROADCAST = "on_success_action"; + private static final String MAX_SDK = "6GTFERcq2m3KHo37uityeCg0kfcqx3iT31OJG_a5weBmXsslFg5NuR8mlBXEqZ3ExDdXIl16PTMg0442tdRaJs"; + public static Boolean initSDK = false; + + @Override + public void onCreate() { + super.onCreate(); + app = this; + initSDk(); + + + context = getApplicationContext(); + List myData = Mytools.parseJsonToList("prank.json"); + myDataArrayList = myData; + SharedPreferences prefs = getSharedPreferences(PREFS_NAME, MODE_PRIVATE); + isinsert = prefs.getBoolean(KEY_IS_INSERTED, false); + if (!isinsert) { + Mytools.runIO(new Runnable() { + @Override + public void run() { + MydataBase.getInstance().likeDao().insertAll(getOtherdata()); + isinsert = true; + SharedPreferences.Editor editor = prefs.edit(); + editor.putBoolean(KEY_IS_INSERTED, isinsert); + editor.apply(); + } + }); + } + } + + private void initSDk() { + + AppLovinSdkInitializationConfiguration initConfig = AppLovinSdkInitializationConfiguration.builder(MAX_SDK, this) + .setMediationProvider(AppLovinMediationProvider.MAX) + .build(); + AppLovinSdk.getInstance(this).initialize(initConfig, new AppLovinSdk.SdkInitializationListener() { + @Override + public void onSdkInitialized(final AppLovinSdkConfiguration sdkConfig) { + initSDK = true; + Log.e("zzj", "------------initSDk--------success"); + LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent(AD_BROADCAST)); + } + }); + AppLovinSdk.getInstance(this).getSettings().setVerboseLogging(true); + } + + public static Context getAppContext() { + return context; + } + + public static List getMyDataArrayList() { + + return myDataArrayList; + } + + public static List getOtherdata() { + List mydata = FunnyPrankSkin.getMyDataArrayList(); + List newlist = new ArrayList<>(); + for (Mydata myDataItem : mydata) { + List dataList = myDataItem.getList(); + for (LikeData otherdata : dataList) { + newlist.add(otherdata); + } + } + + return newlist; + } + +} diff --git a/app/src/main/java/com/fun/funnyprank/activity/ListActivity.java b/app/src/main/java/com/fun/funnyprank/activity/ListActivity.java new file mode 100644 index 0000000..614ca0c --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/activity/ListActivity.java @@ -0,0 +1,106 @@ +package com.fun.funnyprank.activity; + +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.recyclerview.widget.GridLayoutManager; + +import android.annotation.SuppressLint; +import android.content.Intent; +import android.os.Bundle; +import android.util.Log; +import android.view.View; + +import com.applovin.mediation.MaxAd; +import com.applovin.mediation.ads.MaxInterstitialAd; +import com.fun.funnyprank.FunnyPrankSkin; +import com.fun.funnyprank.R; +import com.fun.funnyprank.adapter.ListAdapter; +import com.fun.funnyprank.data.LikeData; +import com.fun.funnyprank.data.MydataBase; +import com.fun.funnyprank.data.StaticValue; +import com.fun.funnyprank.databinding.ActivityListBinding; +import com.fun.funnyprank.tools.Adcallback; +import com.fun.funnyprank.tools.Mytools; + +import java.util.ArrayList; +import java.util.List; + +public class ListActivity extends AppCompatActivity { + ActivityListBinding binding; + private List dataList = new ArrayList<>(); + private String name; + private int color; + private static List adsList; + + @SuppressLint("MissingInflatedId") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding = ActivityListBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + + EdgeToEdge.enable(this); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.activity_list), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + + adsList = Mytools.getAllAd(); + + Intent intent = getIntent(); + name = intent.getStringExtra(StaticValue.KEY_CategoryName); + color = intent.getIntExtra(StaticValue.KEY_Color, 0); + Mytools.runIO(new Runnable() { + @Override + public void run() { + dataList = MydataBase.getInstance().likeDao().getlist(name); + runOnUiThread(new Runnable() { + @Override + public void run() { + binding.prewListRv.setAdapter(new ListAdapter(ListActivity.this, dataList, color)); + binding.prewListRv.setLayoutManager(new GridLayoutManager(ListActivity.this, 2)); + } + }); + } + }); + binding.prewListTitle.setText(name); + binding.back.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + showAd(); + } + }); + } + + + private void showAd() { + MaxInterstitialAd cachedAd = Mytools.onCache(adsList); + + if (cachedAd == null) { + finish(); + } else { + Mytools.setCallBcak(cachedAd, new Adcallback() { + @Override + public void onShowFail(MaxAd ad) { + finish(); + } + + @Override + public void onAdHidden() { + finish(); + } + }); + cachedAd.showAd(this); + } + } + + @Override + public void onBackPressed() { + super.onBackPressed(); + showAd(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/fun/funnyprank/activity/MainActivity.java b/app/src/main/java/com/fun/funnyprank/activity/MainActivity.java new file mode 100644 index 0000000..a4c287c --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/activity/MainActivity.java @@ -0,0 +1,95 @@ +package com.fun.funnyprank.activity; + +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.viewpager.widget.ViewPager; + +import android.annotation.SuppressLint; +import android.os.Bundle; +import android.view.View; + +import com.fun.funnyprank.R; +import com.fun.funnyprank.adapter.PageAdapter; +import com.fun.funnyprank.databinding.ActivityMainBinding; +import com.google.android.material.tabs.TabLayout; + +public class MainActivity extends AppCompatActivity { + ActivityMainBinding binding; + @SuppressLint("MissingInflatedId") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding = ActivityMainBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + + EdgeToEdge.enable(this); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.activity_main), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + + initView(); + setmainTabIcons(binding.mainTabLayout); + } + + private void initView() { + PageAdapter pageAdapter =new PageAdapter(getSupportFragmentManager()); + binding.mainViewpager.setAdapter(pageAdapter); + binding.mainTabLayout.setupWithViewPager(binding.mainViewpager); + binding.mainViewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + + } + + @Override + public void onPageSelected(int position) { + setTabIcons(position); + } + + @Override + public void onPageScrollStateChanged(int state) { + + } + }); + + } + private void setTabIcons(final int position) { + for (int i = 0; i < binding.mainTabLayout.getTabCount(); i++) { + final TabLayout.Tab tab = binding.mainTabLayout.getTabAt(i); + if (tab != null) { + switch (i) { + case 0: + tab.setIcon(position == 0 ? R.drawable.main_check : R.drawable.main_uncheck); + break; + case 1: + tab.setIcon(position == 0 ? R.drawable.like_uncheck : R.drawable.like_check); + break; + default: + break; + } + } + } + } + private void setmainTabIcons(TabLayout tabLayout) { + for (int i = 0; i < tabLayout.getTabCount(); i++) { + TabLayout.Tab tab = tabLayout.getTabAt(i); + if (tab != null) { + switch (i) { + case 0: + tab.setIcon(R.drawable.main_check); + break; + case 1: + tab.setIcon(R.drawable.like_uncheck); + break; + default: + break; + } + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/fun/funnyprank/activity/PrewActivity.java b/app/src/main/java/com/fun/funnyprank/activity/PrewActivity.java new file mode 100644 index 0000000..9ecc37b --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/activity/PrewActivity.java @@ -0,0 +1,330 @@ +package com.fun.funnyprank.activity; + +import androidx.activity.EdgeToEdge; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.SwitchCompat; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; +import android.media.AudioAttributes; +import android.media.AudioManager; +import android.media.MediaPlayer; +import android.net.Uri; +import android.os.Bundle; +import android.view.View; +import android.widget.CompoundButton; +import android.widget.SeekBar; + +import com.applovin.mediation.MaxAd; +import com.applovin.mediation.ads.MaxInterstitialAd; +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.target.CustomTarget; +import com.bumptech.glide.request.transition.Transition; +import com.fun.funnyprank.R; +import com.fun.funnyprank.data.LikeData; +import com.fun.funnyprank.data.MydataBase; +import com.fun.funnyprank.data.StaticValue; +import com.fun.funnyprank.databinding.ActivityPrewBinding; +import com.fun.funnyprank.tools.Adcallback; +import com.fun.funnyprank.tools.Mytools; +import com.fun.funnyprank.tools.SeekBarBroadCast; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +public class PrewActivity extends AppCompatActivity { + ActivityPrewBinding binding; + private String name; + private AudioManager audioManager; + private MediaPlayer mediaPlayer; + private LikeData data; + private final Boolean[] islike = {false}; + private Boolean isplayer = false; + private Boolean isloop = false; + private SeekBar seekBar; + private static List adsList; + @SuppressLint("MissingInflatedId") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding = ActivityPrewBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + + EdgeToEdge.enable(this); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.activity_pre), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + + adsList = Mytools.getAllAd(); + + + initData(); + initEvent(); + hidemenu(); + audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); + seekBar.setMax(audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)); + seekBar.setProgress(audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)); + if (audioManager.getStreamVolume(AudioManager.STREAM_MUSIC) == 0) { + binding.volumeleft.setBackgroundResource(R.drawable.icon_sound_none); + } else { + binding.volumeleft.setBackgroundResource(R.drawable.icon_sound_low); + } + SeekBarBroadCast seekBarBroadCast = new SeekBarBroadCast(audioManager, seekBar); + IntentFilter filter = new IntentFilter(); + filter.addAction("android.media.VOLUME_CHANGED_ACTION"); + registerReceiver(seekBarBroadCast, filter); + } + + private void initEvent() { + binding.preBack.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + binding.preLike.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + checkLike(); + } + }); + binding.prePlay.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + try { + playprank(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }); + binding.loop.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + isloop = isChecked; + if (mediaPlayer != null) { + mediaPlayer.setLooping(isloop); + } + } + }); + binding.volumeleft.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + int a = binding.seekbar.getProgress(); + + binding.seekbar.setProgress(a - 10); + } + }); + binding.volumeright.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + int a = binding.seekbar.getProgress(); + + binding.seekbar.setProgress(a + 10); + } + }); + seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { + @Override + public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { + audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0); + if (audioManager.getStreamVolume(AudioManager.STREAM_MUSIC) == 0) { + binding.volumeleft.setBackgroundResource(R.drawable.icon_sound_none); + } else { + binding.volumeleft.setBackgroundResource(R.drawable.icon_sound_low); + } + } + + @Override + public void onStartTrackingTouch(SeekBar seekBar) { + + } + + @Override + public void onStopTrackingTouch(SeekBar seekBar) { + + } + }); + } + private void showAd() throws IOException { + MaxInterstitialAd cachedAd = Mytools.onCache(adsList); + + if (cachedAd == null) { + starprank(); + } else { + Mytools.setCallBcak(cachedAd, new Adcallback() { + @Override + public void onShowFail(MaxAd ad) { + try { + starprank(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public void onAdHidden() { + try { + starprank(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }); + cachedAd.showAd(this); + } + } + private void playprank() throws IOException { + if (!isplayer) { + showAd(); + } else { + stopprank(); + } + } + + private void stopprank() { + isplayer = false; + binding.prePlay.setBackgroundResource(R.drawable.icon_play); + if (mediaPlayer != null) { + mediaPlayer.release(); + mediaPlayer = null; + } + } + + private void starprank() throws IOException { + isplayer = true; + binding.prePlay.setBackgroundResource(R.drawable.icon_pause); + mediaPlayer = new MediaPlayer(); + mediaPlayer.setAudioAttributes( + new AudioAttributes.Builder() + .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC) + .setUsage(AudioAttributes.USAGE_MEDIA) + .build()); + mediaPlayer.setDataSource(getApplicationContext(), Uri.parse(data.getMp3Url())); + mediaPlayer.setOnPreparedListener(mp -> { + if (isloop) { + mediaPlayer.setLooping(true); + + } + mediaPlayer.start(); + }); + mediaPlayer.setOnCompletionListener(mp -> { + if (isloop) { + binding.prePlay.setBackgroundResource(R.drawable.icon_pause); + } else { + binding.prePlay.setBackgroundResource(R.drawable.icon_play); + isplayer = true; + } + }); + mediaPlayer.prepareAsync(); + } + + private void checkLike() { + if (!islike[0]) { + binding.preLike.setBackgroundResource(R.drawable.icon_liek_check); + islike[0] = true; + data.setLike(true); + Mytools.runIO(new Runnable() { + @Override + public void run() { + MydataBase.getInstance().likeDao().update(data); + } + }); + } else { + binding.preLike.setBackgroundResource(R.drawable.icon_liek_uncheck); + islike[0] = false; + data.setLike(false); + Mytools.runIO(new Runnable() { + @Override + public void run() { + MydataBase.getInstance().likeDao().update(data); + } + }); + } + } + + private void initData() { + seekBar = findViewById(R.id.seekbar); + Intent intent = getIntent(); + name = intent.getStringExtra(StaticValue.KEY_TITLE); + Mytools.runIO(new Runnable() { + @Override + public void run() { + List existingData = MydataBase.getInstance().likeDao().getliketitle(name); + if (!existingData.isEmpty()) { + data = existingData.get(0); + islike[0] = data.getLike(); + if (islike[0]) { + binding.preLike.setBackgroundResource(R.drawable.icon_liek_check); + } else { + binding.preLike.setBackgroundResource(R.drawable.icon_liek_uncheck); + } + binding.preTitle.setText(data.getTitle()); + Glide.with(PrewActivity.this) + .asBitmap() + .load(data.getPreUrl()) + .placeholder(R.mipmap.icon_logo) + .into(new CustomTarget() { + @Override + public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition transition) { + binding.preImage.setImageBitmap(resource); + showmenu(); + } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + + } + }); + } + } + }); + + + } + + private void hidemenu() { + binding.loop.setVisibility(View.GONE); + binding.preLoopText.setVisibility(View.GONE); + binding.preLike.setVisibility(View.GONE); + binding.volumeleft.setVisibility(View.GONE); + binding.volumeright.setVisibility(View.GONE); + binding.seekbar.setVisibility(View.GONE); + binding.prePlay.setVisibility(View.GONE); + binding.prePg.setVisibility(View.VISIBLE); + binding.preCons.setVisibility(View.GONE); + } + + private void showmenu() { + binding.loop.setVisibility(View.VISIBLE); + binding.preLoopText.setVisibility(View.VISIBLE); + binding.preLike.setVisibility(View.VISIBLE); + binding.volumeleft.setVisibility(View.VISIBLE); + binding.volumeright.setVisibility(View.VISIBLE); + binding.seekbar.setVisibility(View.VISIBLE); + binding.prePlay.setVisibility(View.VISIBLE); + binding.prePg.setVisibility(View.GONE); + binding.preCons.setVisibility(View.VISIBLE); + } + + @Override + protected void onStop() { + super.onStop(); + if (mediaPlayer != null) { + mediaPlayer.release(); + isplayer = false; + binding.prePlay.setBackgroundResource(R.drawable.icon_play); + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/fun/funnyprank/activity/SplashActivity.java b/app/src/main/java/com/fun/funnyprank/activity/SplashActivity.java new file mode 100644 index 0000000..4112939 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/activity/SplashActivity.java @@ -0,0 +1,119 @@ +package com.fun.funnyprank.activity; + +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.localbroadcastmanager.content.LocalBroadcastManager; + +import android.annotation.SuppressLint; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.Bundle; +import android.os.CountDownTimer; +import android.util.Log; + +import com.applovin.mediation.MaxAd; +import com.applovin.mediation.ads.MaxInterstitialAd; +import com.applovin.sdk.AppLovinSdk; +import com.fun.funnyprank.FunnyPrankSkin; +import com.fun.funnyprank.R; +import com.fun.funnyprank.tools.Adcallback; +import com.fun.funnyprank.tools.Mytools; + +import java.util.List; + +public class SplashActivity extends AppCompatActivity { + private CountDownTimer countDownTimer; + + private static List adsList; + public static boolean isAlreadyShow = false; + + @SuppressLint("MissingInflatedId") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_splash); + EdgeToEdge.enable(this); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.activity_splash), (v, insets) -> { + Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + + countDownTimer = new CountDownTimer(11000, 100) { + @Override + public void onTick(long l) { + if (!isAlreadyShow) { + showAdOrStartView(false); + } + } + + @Override + public void onFinish() { + if (!isAlreadyShow) { + showAdOrStartView(true); + } + } + }; + registerBroadcastReceiver(); + } + + private void showAdOrStartView(boolean go) { + MaxInterstitialAd cachedAd = Mytools.onCache(adsList); + if (cachedAd == null) { + isAlreadyShow = false; + if (go) { + starMainactivity(); + } + } else { + isAlreadyShow = true; + Mytools.setCallBcak(cachedAd, new Adcallback() { + @Override + public void onShowFail(MaxAd ad) { + isAlreadyShow = false; + + } + + @Override + public void onAdHidden() { + isAlreadyShow = true; + starMainactivity(); + } + }); + cachedAd.showAd(); + } + } + + private void registerBroadcastReceiver() { + if (!FunnyPrankSkin.initSDK) { + BroadcastReceiver receiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { +// AppLovinSdk.getInstance( SplashActivity.this ).showMediationDebugger(); + Log.e("zzj", "------------loadAndStartAd--------success"); + loadAndStartAd(); + } + }; + + LocalBroadcastManager.getInstance(this).registerReceiver(receiver, new IntentFilter(FunnyPrankSkin.AD_BROADCAST)); + } else { + Log.e("zzj", "------------loadAndStartAd--------fail"); + loadAndStartAd(); + } + } + + private void loadAndStartAd() { + adsList = Mytools.getAllAd(); + countDownTimer.start(); + } + + private void starMainactivity() { + Intent intent = new Intent(SplashActivity.this, MainActivity.class); + startActivity(intent); + finish(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/fun/funnyprank/adapter/LikeAdapter.java b/app/src/main/java/com/fun/funnyprank/adapter/LikeAdapter.java new file mode 100644 index 0000000..4b0f19f --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/adapter/LikeAdapter.java @@ -0,0 +1,148 @@ +package com.fun.funnyprank.adapter; + +import android.app.Activity; +import android.content.Intent; +import android.graphics.drawable.Drawable; +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.constraintlayout.widget.ConstraintLayout; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.fun.funnyprank.R; +import com.fun.funnyprank.activity.PrewActivity; +import com.fun.funnyprank.data.LikeData; +import com.fun.funnyprank.data.StaticValue; +import com.fun.funnyprank.databinding.LikeListBinding; + +import java.util.List; + +public class LikeAdapter extends RecyclerView.Adapter { + private final LayoutInflater minflater; + private List mlist; + private int currentIndex = 0; + private int listIndex = 0; + + public LikeAdapter(Activity activity, List list) { + minflater = LayoutInflater.from(activity); + mlist = list; + } + + @NonNull + @Override + public LikeAdapter.LikeVH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + LikeListBinding binding = LikeListBinding.inflate(minflater, parent, false); + return new LikeVH(binding); + } + + @Override + public void onBindViewHolder(@NonNull LikeAdapter.LikeVH holder, int position) { + LikeData likeData = mlist.get(position); + Glide.with(minflater.getContext()) + .load(likeData.getPreUrl()) + .placeholder(R.mipmap.icon_logo) + .into(holder.getImage()); + holder.getText().setText(likeData.getTitle()); + + if (position == getItemCount() - 1) { + holder.getView().setVisibility(View.VISIBLE); + } else { + holder.getView().setVisibility(View.GONE); + } + + Drawable[] randomcolor = { + ContextCompat.getDrawable(minflater.getContext(), R.drawable.like_background_1), + ContextCompat.getDrawable(minflater.getContext(), R.drawable.like_background_2), + ContextCompat.getDrawable(minflater.getContext(), R.drawable.like_background_3), + ContextCompat.getDrawable(minflater.getContext(), R.drawable.like_background_4), + }; + Drawable[] likelistcons = { + ContextCompat.getDrawable(minflater.getContext(), R.mipmap.like_pg_1), + ContextCompat.getDrawable(minflater.getContext(), R.mipmap.like_pg_2), + }; + Drawable drawable = Randomcolor(randomcolor); + Drawable likelist = listbg(likelistcons); + + holder.getLikecons().setBackground(drawable); + holder.getLikelistcons().setBackground(likelist); + + holder.getLikecons().setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(minflater.getContext(), PrewActivity.class); + intent.putExtra(StaticValue.KEY_TITLE, likeData.getTitle()); + minflater.getContext().startActivity(intent); + } + }); + } + + private Drawable listbg(Drawable[] colors) { + + if (listIndex >= colors.length) { + listIndex = 0; + } + Drawable nextColor = colors[listIndex]; + listIndex++; + return nextColor; + + } + + private Drawable Randomcolor(Drawable[] colors) { + + if (currentIndex >= colors.length) { + currentIndex = 0; + } + Drawable nextColor = colors[currentIndex]; + currentIndex++; + return nextColor; + + } + + @Override + public int getItemCount() { + return mlist.size(); + } + + public class LikeVH extends RecyclerView.ViewHolder { + private ConstraintLayout likecons, likelistcons; + private TextView text; + private ImageView image; + private View view; + + public LikeVH(@NonNull LikeListBinding binding) { + super(binding.getRoot()); + likecons = binding.likeConsList; + likelistcons = binding.likeConsListBg; + text = binding.likeText; + image = binding.likeImage; + view = binding.likeView; + } + + public TextView getText() { + return text; + } + + public View getView() { + return view; + } + + public ImageView getImage() { + return image; + } + + public ConstraintLayout getLikecons() { + return likecons; + } + + public ConstraintLayout getLikelistcons() { + return likelistcons; + } + + } +} diff --git a/app/src/main/java/com/fun/funnyprank/adapter/ListAdapter.java b/app/src/main/java/com/fun/funnyprank/adapter/ListAdapter.java new file mode 100644 index 0000000..9c5bb20 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/adapter/ListAdapter.java @@ -0,0 +1,106 @@ +package com.fun.funnyprank.adapter; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.graphics.PorterDuff; +import android.graphics.drawable.Drawable; +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.constraintlayout.widget.ConstraintLayout; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.fun.funnyprank.R; +import com.fun.funnyprank.activity.PrewActivity; +import com.fun.funnyprank.data.LikeData; +import com.fun.funnyprank.data.StaticValue; +import com.fun.funnyprank.databinding.PreRvItemBinding; + + +import java.util.List; + +public class ListAdapter extends RecyclerView.Adapter { + private List otherdataList; + private final LayoutInflater mInflater; + private int mcolor; + public ListAdapter(Activity activity, List list,int color) { + mInflater = LayoutInflater.from(activity); + otherdataList = list; + mcolor = color; + } + + @NonNull + @Override + public ListAdapter.PreVH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + PreRvItemBinding binding = PreRvItemBinding.inflate(mInflater, parent, false); + return new PreVH(binding); + } + + @Override + public void onBindViewHolder(@NonNull ListAdapter.PreVH holder, int position) { + LikeData otherdata = otherdataList.get(position); + Glide.with(mInflater.getContext()) + .load(otherdata.getPreUrl()) + .placeholder(R.mipmap.icon_logo) + .into(holder.getImageViewThumb()); + holder.getTextView().setText(otherdata.getTitle()); + Drawable backgroundDrawable = ContextCompat.getDrawable(mInflater.getContext(), R.drawable.mainlist_bg); + if (backgroundDrawable != null) { + backgroundDrawable.setColorFilter(mcolor, PorterDuff.Mode.SRC_ATOP); + holder.getListcons().setBackground(backgroundDrawable); + } + holder.getConstraintLayout().setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(mInflater.getContext(), PrewActivity.class); + intent.putExtra(StaticValue.KEY_TITLE, otherdata.getTitle()); + mInflater.getContext().startActivity(intent); + } + }); + } + + @Override + public int getItemCount() { + return otherdataList.size(); + } + + public class PreVH extends RecyclerView.ViewHolder { + PreRvItemBinding binding; + private ImageView imageViewThumb; + private ConstraintLayout constraintLayout,listcons; + private TextView textView; + + public TextView getTextView() { + return textView; + } + + public ConstraintLayout getListcons() { + return listcons; + } + + public PreVH(@NonNull PreRvItemBinding binding) { + super(binding.getRoot()); + imageViewThumb = binding.listItemImage; + constraintLayout = binding.listCons; + textView = binding.listItemText; + listcons = binding.listItemCons; + + } + + public ConstraintLayout getConstraintLayout() { + return constraintLayout; + } + + public ImageView getImageViewThumb() { + return imageViewThumb; + } + + } +} diff --git a/app/src/main/java/com/fun/funnyprank/adapter/PageAdapter.java b/app/src/main/java/com/fun/funnyprank/adapter/PageAdapter.java new file mode 100644 index 0000000..822ac16 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/adapter/PageAdapter.java @@ -0,0 +1,33 @@ +package com.fun.funnyprank.adapter; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentPagerAdapter; + +import com.fun.funnyprank.fragment.LikeFragment; +import com.fun.funnyprank.fragment.MainFragment; + +import java.util.ArrayList; +import java.util.List; + +public class PageAdapter extends FragmentPagerAdapter { + private List fragmentList = new ArrayList<>(); + + public PageAdapter(@NonNull FragmentManager fm) { + super(fm); + fragmentList.add(new MainFragment()); + fragmentList.add(new LikeFragment()); + } + + @NonNull + @Override + public Fragment getItem(int position) { + return fragmentList.get(position); + } + + @Override + public int getCount() { + return fragmentList.size(); + } +} diff --git a/app/src/main/java/com/fun/funnyprank/adapter/ThumAdapter.java b/app/src/main/java/com/fun/funnyprank/adapter/ThumAdapter.java new file mode 100644 index 0000000..594412a --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/adapter/ThumAdapter.java @@ -0,0 +1,140 @@ +package com.fun.funnyprank.adapter; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.graphics.PorterDuff; +import android.graphics.drawable.Drawable; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.fun.funnyprank.R; +import com.fun.funnyprank.activity.ListActivity; +import com.fun.funnyprank.data.LikeData; +import com.fun.funnyprank.data.Mydata; +import com.fun.funnyprank.data.StaticValue; +import com.fun.funnyprank.databinding.MainRvItemBinding; + + +import java.util.List; +import java.util.Random; + +public class ThumAdapter extends RecyclerView.Adapter { + private List myDataList; + + private final LayoutInflater mInflater; + + private int currentIndex = 0; + + public ThumAdapter(Activity activity, List list) { + myDataList = list; + mInflater = LayoutInflater.from(activity); + } + + @NonNull + @Override + public ThumVH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + MainRvItemBinding binding = MainRvItemBinding.inflate(mInflater, parent, false); + return new ThumVH(binding); + } + + @Override + public void onBindViewHolder(@NonNull ThumVH holder, int position) { + Mydata myData = myDataList.get(position); + if (position == getItemCount() - 1) { + holder.getView().setVisibility(View.VISIBLE); + } else if (position == getItemCount()-2){ + holder.getView().setVisibility(View.VISIBLE); + }else { + holder.getView().setVisibility(View.GONE); + } + Glide.with(mInflater.getContext()) + .load(myData.getCategoryUrl()) + .placeholder(R.mipmap.icon_logo) + .into(holder.getImageViewThumb()); + holder.getTextView().setText(myData.getCategoryName()); + + int[] randomcolor = { + ContextCompat.getColor(mInflater.getContext(), R.color.color_1), + ContextCompat.getColor(mInflater.getContext(), R.color.color_2), + ContextCompat.getColor(mInflater.getContext(), R.color.color_3), + ContextCompat.getColor(mInflater.getContext(), R.color.color_4), + ContextCompat.getColor(mInflater.getContext(), R.color.color_5), + ContextCompat.getColor(mInflater.getContext(), R.color.color_6), + ContextCompat.getColor(mInflater.getContext(), R.color.color_7), + ContextCompat.getColor(mInflater.getContext(), R.color.color_8), + ContextCompat.getColor(mInflater.getContext(), R.color.color_9), + }; + int randomColor = Randomcolor(randomcolor); + Drawable backgroundDrawable1 = ContextCompat.getDrawable(mInflater.getContext(), R.drawable.mainlist_bg); + if (backgroundDrawable1 != null) { + backgroundDrawable1.setColorFilter(randomColor, PorterDuff.Mode.SRC_ATOP); + holder.getMainlistcons().setBackground(backgroundDrawable1); + } + holder.getConstraintLayout().setOnClickListener(v -> { + Intent intent = new Intent(mInflater.getContext(), ListActivity.class); + intent.putExtra(StaticValue.KEY_CategoryName, myData.getCategoryName()); + intent.putExtra(StaticValue.KEY_Color, randomColor); + mInflater.getContext().startActivity(intent); + }); + } + + private int Randomcolor(int[] colors) { + + if (currentIndex >= colors.length) { + currentIndex = 0; + } + int nextColor = colors[currentIndex]; + currentIndex++; + return nextColor; + + } + + @Override + public int getItemCount() { + return myDataList.size(); + } + + public class ThumVH extends RecyclerView.ViewHolder { + + private ImageView imageViewThumb; + private ConstraintLayout constraintLayout, mainlistcons; + public ConstraintLayout getMainlistcons() { + return mainlistcons; + } + private TextView textView; + private View view; + public ThumVH(@NonNull MainRvItemBinding binding) { + super(binding.getRoot()); + imageViewThumb = binding.mainRvImage; + constraintLayout = binding.cons; + mainlistcons = binding.mainListCons; + textView = binding.mainRvText; + view = binding.view; + } + + public ConstraintLayout getConstraintLayout() { + return constraintLayout; + } + + public ImageView getImageViewThumb() { + return imageViewThumb; + } + public View getView() { + return view; + } + public TextView getTextView() { + return textView; + } + } +} diff --git a/app/src/main/java/com/fun/funnyprank/data/LikeDAO.java b/app/src/main/java/com/fun/funnyprank/data/LikeDAO.java new file mode 100644 index 0000000..875e2c7 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/data/LikeDAO.java @@ -0,0 +1,28 @@ +package com.fun.funnyprank.data; + +import androidx.room.Dao; +import androidx.room.Insert; +import androidx.room.Query; +import androidx.room.Update; + +import java.util.List; + +@Dao +public interface LikeDAO { + @Query("SELECT * FROM like_table") + List getAll(); + + @Query("select * from like_table where islike =:islike ") + List getLikedata(boolean islike); + + @Query("select * from like_table where title =:title ") + List getliketitle(String title); + @Query("select * from like_table where categoryname =:name ") + List getlist(String name); + + @Insert + void insertAll(List likeDataList); + + @Update + void update(LikeData likeData); +} diff --git a/app/src/main/java/com/fun/funnyprank/data/LikeData.java b/app/src/main/java/com/fun/funnyprank/data/LikeData.java new file mode 100644 index 0000000..9be7975 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/data/LikeData.java @@ -0,0 +1,71 @@ +package com.fun.funnyprank.data; + +import androidx.room.Entity; +import androidx.room.PrimaryKey; + +import com.fun.funnyprank.FunnyPrankSkin; + + +@Entity(tableName = FunnyPrankSkin.Table_Name) +public class LikeData { + @PrimaryKey(autoGenerate = true) + public int id; + public String categoryname; + + public String title; + + public String mp3Url; + + public String preUrl; + + public Boolean islike ; + public String categoryUrl; + + public String getCategoryUrl() { + return categoryUrl; + } + + public void setCategoryUrl(String categoryUrl) { + this.categoryUrl = categoryUrl; + } + + public String getCategoryname() { + return categoryname; + } + + public void setCategoryname(String categoryname) { + this.categoryname = categoryname; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getMp3Url() { + return mp3Url; + } + + public void setMp3Url(String mp3Url) { + this.mp3Url = mp3Url; + } + + public String getPreUrl() { + return preUrl; + } + + public void setPreUrl(String preUrl) { + this.preUrl = preUrl; + } + + public Boolean getLike() { + return islike; + } + + public void setLike(Boolean like) { + this.islike = like; + } +} diff --git a/app/src/main/java/com/fun/funnyprank/data/Mydata.java b/app/src/main/java/com/fun/funnyprank/data/Mydata.java new file mode 100644 index 0000000..e047ac7 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/data/Mydata.java @@ -0,0 +1,37 @@ +package com.fun.funnyprank.data; + +import java.util.ArrayList; +import java.util.List; + +public class Mydata { + + private String categoryName; + private String categoryUrl; + private List list = new ArrayList<>(); + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getCategoryUrl() { + return categoryUrl; + } + + public void setCategoryUrl(String categoryUrl) { + this.categoryUrl = categoryUrl; + } + +} diff --git a/app/src/main/java/com/fun/funnyprank/data/MydataBase.java b/app/src/main/java/com/fun/funnyprank/data/MydataBase.java new file mode 100644 index 0000000..da3c400 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/data/MydataBase.java @@ -0,0 +1,27 @@ +package com.fun.funnyprank.data; + +import androidx.room.Database; +import androidx.room.Room; +import androidx.room.RoomDatabase; + +import com.fun.funnyprank.FunnyPrankSkin; + +@Database(entities = {LikeData.class}, version = FunnyPrankSkin.DB_Version,exportSchema = false) +public abstract class MydataBase extends RoomDatabase { + public abstract LikeDAO likeDao(); + + private static MydataBase INSTANCE; + + public static MydataBase getInstance() { + if (INSTANCE == null) { + synchronized (MydataBase.class) { + if (INSTANCE == null) { + INSTANCE = Room.databaseBuilder(FunnyPrankSkin.getAppContext(), MydataBase.class, FunnyPrankSkin.DB_Name).build(); + } + } + } + return INSTANCE; + } + + +} diff --git a/app/src/main/java/com/fun/funnyprank/data/StaticValue.java b/app/src/main/java/com/fun/funnyprank/data/StaticValue.java new file mode 100644 index 0000000..4febcf0 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/data/StaticValue.java @@ -0,0 +1,11 @@ +package com.fun.funnyprank.data; + +public class StaticValue { + + public static String KEY_CategoryName = "key_CategoryName"; + public static String KEY_TITLE = "key_title"; + public static String KEY_Color = "key_color"; + public static String KEY_MP3URL = "key_mp3url"; + public static String KEY_PREURL = "KEY_preurl"; + public static String KEY_LIKE = "KEY_like"; +} diff --git a/app/src/main/java/com/fun/funnyprank/fragment/LikeFragment.java b/app/src/main/java/com/fun/funnyprank/fragment/LikeFragment.java new file mode 100644 index 0000000..1c54a8d --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/fragment/LikeFragment.java @@ -0,0 +1,70 @@ +package com.fun.funnyprank.fragment; + +import android.app.Activity; +import android.os.Bundle; + +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.fun.funnyprank.R; +import com.fun.funnyprank.adapter.LikeAdapter; + +import com.fun.funnyprank.data.LikeData; +import com.fun.funnyprank.data.MydataBase; +import com.fun.funnyprank.databinding.FragmentLikeBinding; +import com.fun.funnyprank.tools.Mytools; + +import java.util.ArrayList; +import java.util.List; + + +public class LikeFragment extends Fragment { + + FragmentLikeBinding binding; + private List list = new ArrayList<>(); + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + binding = FragmentLikeBinding.inflate(inflater, container, false); + initData(); + + return binding.getRoot(); + } + + private void initData() { + Mytools.runIO(new Runnable() { + @Override + public void run() { + list = MydataBase.getInstance().likeDao().getLikedata(true); + requireActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + if (list.isEmpty()) { + binding.likeHintText.setVisibility(View.VISIBLE); + binding.likeHintImage.setVisibility(View.VISIBLE); + binding.likeRv.setVisibility(View.GONE); + } else { + binding.likeRv.setVisibility(View.VISIBLE); + binding.likeHintText.setVisibility(View.GONE); + binding.likeHintImage.setVisibility(View.GONE); + binding.likeRv.setAdapter(new LikeAdapter(requireActivity(), list)); + binding.likeRv.setLayoutManager(new LinearLayoutManager(requireContext())); + } + } + }); + } + }); + } + + @Override + public void onResume() { + super.onResume(); + initData(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/fun/funnyprank/fragment/MainFragment.java b/app/src/main/java/com/fun/funnyprank/fragment/MainFragment.java new file mode 100644 index 0000000..9c885b4 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/fragment/MainFragment.java @@ -0,0 +1,32 @@ +package com.fun.funnyprank.fragment; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.GridLayoutManager; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.fun.funnyprank.FunnyPrankSkin; +import com.fun.funnyprank.adapter.ThumAdapter; +import com.fun.funnyprank.databinding.FragmentMainBinding; +import com.fun.funnyprank.tools.SpaceItem; + +public class MainFragment extends Fragment { + + FragmentMainBinding bind; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + bind = FragmentMainBinding.inflate(inflater, container, false); + SpaceItem spaceItem = new SpaceItem(12, 20, 12); + bind.marinRv.setAdapter(new ThumAdapter(requireActivity(), FunnyPrankSkin.getMyDataArrayList())); + bind.marinRv.setLayoutManager(new GridLayoutManager(requireContext(),2)); + bind.marinRv.addItemDecoration(spaceItem); + return bind.getRoot(); + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/fun/funnyprank/tools/Adcallback.java b/app/src/main/java/com/fun/funnyprank/tools/Adcallback.java new file mode 100644 index 0000000..8ec1be3 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/tools/Adcallback.java @@ -0,0 +1,8 @@ +package com.fun.funnyprank.tools; + +import com.applovin.mediation.MaxAd; + +public interface Adcallback { + void onShowFail(MaxAd ad); + void onAdHidden( ); +} diff --git a/app/src/main/java/com/fun/funnyprank/tools/MytextView.java b/app/src/main/java/com/fun/funnyprank/tools/MytextView.java new file mode 100644 index 0000000..9b5ca16 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/tools/MytextView.java @@ -0,0 +1,77 @@ +package com.fun.funnyprank.tools; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.Typeface; +import android.text.TextPaint; +import android.util.AttributeSet; +import android.widget.TextView; + +import androidx.annotation.Nullable; + +@SuppressLint("AppCompatCustomView") +public class MytextView extends TextView { + private Paint borderPaint; + public MytextView(Context context) { + super(context); + init(); + } + + public MytextView(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + init(); + } + + public MytextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + public MytextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + init(); + } + + private void init() { + setTypeface(Typeface.createFromAsset(getContext().getAssets(), "KavoonRegular-Dp7E.ttf")); +// borderPaint = new Paint(); +// borderPaint.setStyle(Paint.Style.STROKE); +// borderPaint.setStrokeWidth(dpToPx(2)); // 设置边框宽度为2dp +// borderPaint.setColor(getResources().getColor(android.R.color.black)); + } +// @Override +// protected void onDraw(Canvas canvas) { +// super.onDraw(canvas); +// +// +// TextPaint textPaint = getPaint(); +// String text = getText().toString(); +// Rect textBounds = new Rect(); +// textPaint.getTextBounds(text, 0, text.length(), textBounds); +// +// // 计算文本的实际宽度和高度 +// float textWidth = textPaint.measureText(text); +// float textHeight = textBounds.height(); +// +// // 计算边框的矩形 +// float startX = (getWidth() - textWidth) / 2 - dpToPx(2); // 减去2dp的外边距 +// float startY = (getHeight() - textHeight) / 2 - dpToPx(2); // 减去2dp的外边距 +// float endX = startX + textWidth + 2 * dpToPx(2); // 加上4dp的边框宽度 +// float endY = startY + textHeight + 2 * dpToPx(2); // 加上4dp的边框宽度 +// +// // 绘制文本 +// super.onDraw(canvas); +// +// // 绘制边框 +// canvas.drawRect(startX, startY, endX, endY, borderPaint); +// } +// +// // Helper 方法:将 dp 转换为像素 +// private int dpToPx(int dp) { +// float density = getContext().getResources().getDisplayMetrics().density; +// return Math.round(dp * density); +// } +} diff --git a/app/src/main/java/com/fun/funnyprank/tools/Mytools.java b/app/src/main/java/com/fun/funnyprank/tools/Mytools.java new file mode 100644 index 0000000..d845cc0 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/tools/Mytools.java @@ -0,0 +1,167 @@ +package com.fun.funnyprank.tools; + +import android.content.Context; +import android.content.res.AssetManager; +import android.util.Log; + + +import androidx.annotation.NonNull; + +import com.applovin.mediation.MaxAd; +import com.applovin.mediation.MaxAdListener; +import com.applovin.mediation.MaxError; +import com.applovin.mediation.ads.MaxInterstitialAd; +import com.fun.funnyprank.FunnyPrankSkin; +import com.fun.funnyprank.data.LikeData; +import com.fun.funnyprank.data.Mydata; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +public class Mytools { + private static ExecutorService executorService; + + private static ArrayList adArrayList; + private static final String one_AD = "9a30e00e3adce356"; + private static final String two_Ad = "8f3d0596a7b8f113"; + private static final String three_ad = "64e321a4bc6cc03d"; + + public static void setCallBcak(MaxInterstitialAd ad, Adcallback adcallback) { + ad.setListener(new MaxAdListener() { + @Override + public void onAdLoaded(@NonNull MaxAd maxAd) { + + } + + @Override + public void onAdDisplayed(@NonNull MaxAd maxAd) { + + } + + @Override + public void onAdHidden(@NonNull MaxAd maxAd) { + adcallback.onAdHidden(); + + } + + @Override + public void onAdClicked(@NonNull MaxAd maxAd) { + + } + + @Override + public void onAdLoadFailed(@NonNull String s, @NonNull MaxError maxError) { + Log.e("zzj","-----------onAdLoadFailed------"+maxError); + } + + @Override + public void onAdDisplayFailed(@NonNull MaxAd maxAd, @NonNull MaxError maxError) { + adcallback.onShowFail(maxAd); + Log.e("zzj","-----------onAdDisplayFailed------"+maxError); + } + }); + } + + public static MaxInterstitialAd onCache(List list) { + Collections.shuffle(list); + for (MaxInterstitialAd ad : list) { + if (ad.isReady()) { + return ad; + } + } + return null; + } + + public static List getAllAd() { + if (adArrayList == null) { + adArrayList = new ArrayList<>(); + adArrayList.add(createAd(one_AD, FunnyPrankSkin.app)); + adArrayList.add(createAd(two_Ad, FunnyPrankSkin.app)); + adArrayList.add(createAd(three_ad, FunnyPrankSkin.app)); + } + for (MaxInterstitialAd ad : adArrayList) { + if (!ad.isReady()) { + ad.loadAd(); + } + } + return adArrayList; + } + + private static MaxInterstitialAd createAd(String adUnitId, Context context) { + MaxInterstitialAd ad = new MaxInterstitialAd(adUnitId, context); + return ad; + } + + + + public static void runIO(Runnable task) { + getExecutorService().execute(task); + } + + private static ExecutorService getExecutorService() { + if (executorService == null) { + executorService = Executors.newSingleThreadExecutor(); + } + return executorService; + } + + private static JSONArray loadJSONFromAsset(String filename) { + String json; + try { + AssetManager assetManager = FunnyPrankSkin.getAppContext().getAssets(); + InputStream inputStream = assetManager.open(filename); + int size = inputStream.available(); + byte[] buffer = new byte[size]; + inputStream.read(buffer); + inputStream.close(); + json = new String(buffer, StandardCharsets.UTF_8); + return new JSONArray(json); + } catch (IOException | JSONException e) { + e.printStackTrace(); + return null; + } + } + + + public static List parseJsonToList(String filename) { + List dataList = new ArrayList<>(); + try { + JSONArray jsonObject = loadJSONFromAsset(filename); + for (int a = 0; a < jsonObject.length(); a++) { + JSONObject list = jsonObject.getJSONObject(a); + Mydata myData = new Mydata(); + List likeDataList = new ArrayList<>(); + myData.setCategoryName(list.getString("categoryName")); + myData.setCategoryUrl(list.getString("categoryUrl")); + JSONArray classArray = list.getJSONArray("list"); + for (int i = 0; i < classArray.length(); i++) { + JSONObject item = classArray.getJSONObject(i); + LikeData likeData = new LikeData(); + likeData.setLike(false); + likeData.setCategoryname(myData.getCategoryName()); + likeData.setTitle(item.getString("title")); + likeData.setMp3Url(item.getString("mp3Url")); + likeData.setPreUrl(item.getString("preUrl")); + likeDataList.add(likeData); + } + myData.setList(likeDataList); + dataList.add(myData); + } + + } catch (JSONException e) { + e.printStackTrace(); + } + + return dataList; + } +} diff --git a/app/src/main/java/com/fun/funnyprank/tools/SeekBarBroadCast.java b/app/src/main/java/com/fun/funnyprank/tools/SeekBarBroadCast.java new file mode 100644 index 0000000..1d56ac4 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/tools/SeekBarBroadCast.java @@ -0,0 +1,23 @@ +package com.fun.funnyprank.tools; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.media.AudioManager; +import android.widget.SeekBar; + +public class SeekBarBroadCast extends BroadcastReceiver { + private AudioManager myaudioManager; + private SeekBar myseekBar; + public SeekBarBroadCast(AudioManager audioManager, SeekBar seekBar){ + myaudioManager = audioManager; + myseekBar = seekBar; + } + @Override + public void onReceive(Context context, Intent intent) { + if (intent.getAction().equals("android.media.VOLUME_CHANGED_ACTION")){ + int currentVolume = myaudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); + myseekBar.setProgress(currentVolume); + } + } +} diff --git a/app/src/main/java/com/fun/funnyprank/tools/SpaceItem.java b/app/src/main/java/com/fun/funnyprank/tools/SpaceItem.java new file mode 100644 index 0000000..5f23282 --- /dev/null +++ b/app/src/main/java/com/fun/funnyprank/tools/SpaceItem.java @@ -0,0 +1,56 @@ +package com.fun.funnyprank.tools; + +import android.graphics.Rect; +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +public class SpaceItem extends RecyclerView.ItemDecoration { + private int ex_space = 0; + private int v_space = 0; + private int h_space = 0; + + @Override + public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) { + + int position = parent.getChildAdapterPosition(view); + int spanSize = 1; + int spanIndex = 0; + int spanCount = 1; + + RecyclerView.LayoutManager layoutManager = parent.getLayoutManager(); + + if (layoutManager instanceof GridLayoutManager) { + GridLayoutManager layoutManager1 = (GridLayoutManager) layoutManager; + GridLayoutManager.LayoutParams layoutParams = (GridLayoutManager.LayoutParams) view.getLayoutParams(); + spanCount = layoutManager1.getSpanCount(); + spanSize = layoutManager1.getSpanSizeLookup().getSpanSize(position); + spanIndex = layoutParams.getSpanIndex(); + + } + + + if (spanSize == spanCount) { + outRect.left = v_space + ex_space; + outRect.right = v_space + ex_space; + outRect.bottom = h_space; + } else { + int itemAllSpacing = (v_space * (spanCount + 1) + ex_space * 2) / spanCount; + int left = v_space * (spanIndex + 1) - itemAllSpacing * spanIndex + ex_space; + int right = itemAllSpacing - left; + outRect.left = left; + outRect.right = right; + outRect.bottom = h_space; + } + + } + + public SpaceItem(int v_space, int h_space, int ex_space) { + this.ex_space = ex_space; + this.h_space = h_space; + this.v_space = v_space; + + } +} diff --git a/app/src/main/res/drawable/bg_like.xml b/app/src/main/res/drawable/bg_like.xml new file mode 100644 index 0000000..1b65539 --- /dev/null +++ b/app/src/main/res/drawable/bg_like.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/app/src/main/res/drawable/bg_main.xml b/app/src/main/res/drawable/bg_main.xml new file mode 100644 index 0000000..da35a7a --- /dev/null +++ b/app/src/main/res/drawable/bg_main.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/app/src/main/res/drawable/butoon_tablayout.xml b/app/src/main/res/drawable/butoon_tablayout.xml new file mode 100644 index 0000000..79af193 --- /dev/null +++ b/app/src/main/res/drawable/butoon_tablayout.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/icon_back.xml b/app/src/main/res/drawable/icon_back.xml new file mode 100644 index 0000000..3414db9 --- /dev/null +++ b/app/src/main/res/drawable/icon_back.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/icon_back_bg.xml b/app/src/main/res/drawable/icon_back_bg.xml new file mode 100644 index 0000000..75bb19a --- /dev/null +++ b/app/src/main/res/drawable/icon_back_bg.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/icon_liek_check.xml b/app/src/main/res/drawable/icon_liek_check.xml new file mode 100644 index 0000000..17d7dfc --- /dev/null +++ b/app/src/main/res/drawable/icon_liek_check.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/icon_liek_hint.xml b/app/src/main/res/drawable/icon_liek_hint.xml new file mode 100644 index 0000000..3026a55 --- /dev/null +++ b/app/src/main/res/drawable/icon_liek_hint.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/app/src/main/res/drawable/icon_liek_uncheck.xml b/app/src/main/res/drawable/icon_liek_uncheck.xml new file mode 100644 index 0000000..56211c5 --- /dev/null +++ b/app/src/main/res/drawable/icon_liek_uncheck.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/icon_main_title.xml b/app/src/main/res/drawable/icon_main_title.xml new file mode 100644 index 0000000..114e156 --- /dev/null +++ b/app/src/main/res/drawable/icon_main_title.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/app/src/main/res/drawable/icon_pause.xml b/app/src/main/res/drawable/icon_pause.xml new file mode 100644 index 0000000..e8e40e5 --- /dev/null +++ b/app/src/main/res/drawable/icon_pause.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/icon_play.xml b/app/src/main/res/drawable/icon_play.xml new file mode 100644 index 0000000..7565008 --- /dev/null +++ b/app/src/main/res/drawable/icon_play.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/icon_pre_bg.xml b/app/src/main/res/drawable/icon_pre_bg.xml new file mode 100644 index 0000000..99caea2 --- /dev/null +++ b/app/src/main/res/drawable/icon_pre_bg.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/app/src/main/res/drawable/icon_pre_video.xml b/app/src/main/res/drawable/icon_pre_video.xml new file mode 100644 index 0000000..5d0f6b1 --- /dev/null +++ b/app/src/main/res/drawable/icon_pre_video.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/icon_sound_height.xml b/app/src/main/res/drawable/icon_sound_height.xml new file mode 100644 index 0000000..d2b50dc --- /dev/null +++ b/app/src/main/res/drawable/icon_sound_height.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/icon_sound_low.xml b/app/src/main/res/drawable/icon_sound_low.xml new file mode 100644 index 0000000..30c498f --- /dev/null +++ b/app/src/main/res/drawable/icon_sound_low.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/icon_sound_none.xml b/app/src/main/res/drawable/icon_sound_none.xml new file mode 100644 index 0000000..9ce2ba2 --- /dev/null +++ b/app/src/main/res/drawable/icon_sound_none.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/liek_list_background.xml b/app/src/main/res/drawable/liek_list_background.xml new file mode 100644 index 0000000..9b1d8c9 --- /dev/null +++ b/app/src/main/res/drawable/liek_list_background.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/like_background_1.xml b/app/src/main/res/drawable/like_background_1.xml new file mode 100644 index 0000000..edcc98a --- /dev/null +++ b/app/src/main/res/drawable/like_background_1.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/like_background_2.xml b/app/src/main/res/drawable/like_background_2.xml new file mode 100644 index 0000000..53d1b1b --- /dev/null +++ b/app/src/main/res/drawable/like_background_2.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/like_background_3.xml b/app/src/main/res/drawable/like_background_3.xml new file mode 100644 index 0000000..5f7c435 --- /dev/null +++ b/app/src/main/res/drawable/like_background_3.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/like_background_4.xml b/app/src/main/res/drawable/like_background_4.xml new file mode 100644 index 0000000..d563d57 --- /dev/null +++ b/app/src/main/res/drawable/like_background_4.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/like_check.xml b/app/src/main/res/drawable/like_check.xml new file mode 100644 index 0000000..2f11a2f --- /dev/null +++ b/app/src/main/res/drawable/like_check.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/like_uncheck.xml b/app/src/main/res/drawable/like_uncheck.xml new file mode 100644 index 0000000..7dc4648 --- /dev/null +++ b/app/src/main/res/drawable/like_uncheck.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/list_background.xml b/app/src/main/res/drawable/list_background.xml new file mode 100644 index 0000000..17ca5ff --- /dev/null +++ b/app/src/main/res/drawable/list_background.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/main_check.xml b/app/src/main/res/drawable/main_check.xml new file mode 100644 index 0000000..6115939 --- /dev/null +++ b/app/src/main/res/drawable/main_check.xml @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/app/src/main/res/drawable/main_uncheck.xml b/app/src/main/res/drawable/main_uncheck.xml new file mode 100644 index 0000000..223770c --- /dev/null +++ b/app/src/main/res/drawable/main_uncheck.xml @@ -0,0 +1,22 @@ + + + + + + diff --git a/app/src/main/res/drawable/mainlist_background.xml b/app/src/main/res/drawable/mainlist_background.xml new file mode 100644 index 0000000..9b1d8c9 --- /dev/null +++ b/app/src/main/res/drawable/mainlist_background.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/mainlist_bg.xml b/app/src/main/res/drawable/mainlist_bg.xml new file mode 100644 index 0000000..73025c8 --- /dev/null +++ b/app/src/main/res/drawable/mainlist_bg.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/seek_bar_thumb.xml b/app/src/main/res/drawable/seek_bar_thumb.xml new file mode 100644 index 0000000..67307da --- /dev/null +++ b/app/src/main/res/drawable/seek_bar_thumb.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/seekbar_style.xml b/app/src/main/res/drawable/seekbar_style.xml new file mode 100644 index 0000000..0700a15 --- /dev/null +++ b/app/src/main/res/drawable/seekbar_style.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_select.xml b/app/src/main/res/drawable/switch_select.xml new file mode 100644 index 0000000..a6cdc6d --- /dev/null +++ b/app/src/main/res/drawable/switch_select.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_selector.xml b/app/src/main/res/drawable/switch_selector.xml new file mode 100644 index 0000000..ce7e31f --- /dev/null +++ b/app/src/main/res/drawable/switch_selector.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/switch_unselect.xml b/app/src/main/res/drawable/switch_unselect.xml new file mode 100644 index 0000000..bb3b461 --- /dev/null +++ b/app/src/main/res/drawable/switch_unselect.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/thumb_sw.xml b/app/src/main/res/drawable/thumb_sw.xml new file mode 100644 index 0000000..61e12f4 --- /dev/null +++ b/app/src/main/res/drawable/thumb_sw.xml @@ -0,0 +1,16 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_list.xml b/app/src/main/res/layout/activity_list.xml new file mode 100644 index 0000000..365e616 --- /dev/null +++ b/app/src/main/res/layout/activity_list.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + \ 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..a0dc364 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_prew.xml b/app/src/main/res/layout/activity_prew.xml new file mode 100644 index 0000000..d4c7adb --- /dev/null +++ b/app/src/main/res/layout/activity_prew.xml @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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..e1cdbee --- /dev/null +++ b/app/src/main/res/layout/activity_splash.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_like.xml b/app/src/main/res/layout/fragment_like.xml new file mode 100644 index 0000000..ef171b1 --- /dev/null +++ b/app/src/main/res/layout/fragment_like.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml new file mode 100644 index 0000000..17ab152 --- /dev/null +++ b/app/src/main/res/layout/fragment_main.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/like_list.xml b/app/src/main/res/layout/like_list.xml new file mode 100644 index 0000000..62659ab --- /dev/null +++ b/app/src/main/res/layout/like_list.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/main_rv_item.xml b/app/src/main/res/layout/main_rv_item.xml new file mode 100644 index 0000000..7a0313b --- /dev/null +++ b/app/src/main/res/layout/main_rv_item.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/pre_rv_item.xml b/app/src/main/res/layout/pre_rv_item.xml new file mode 100644 index 0000000..2832c7e --- /dev/null +++ b/app/src/main/res/layout/pre_rv_item.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000..c209e78 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000..b2dfe3d Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000..4f0f1d6 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000..62b611d Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000..948a307 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..1b9a695 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp new file mode 100644 index 0000000..28d4b77 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..9287f50 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/bg_like.png b/app/src/main/res/mipmap-xxxhdpi/bg_like.png new file mode 100644 index 0000000..5b48a02 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/bg_like.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/bg_main.png b/app/src/main/res/mipmap-xxxhdpi/bg_main.png new file mode 100644 index 0000000..b9627cb Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/bg_main.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_logo.png b/app/src/main/res/mipmap-xxxhdpi/icon_logo.png new file mode 100644 index 0000000..3800d3e Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/icon_logo.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/like_hint.png b/app/src/main/res/mipmap-xxxhdpi/like_hint.png new file mode 100644 index 0000000..8736b18 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/like_hint.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/like_pg_1.png b/app/src/main/res/mipmap-xxxhdpi/like_pg_1.png new file mode 100644 index 0000000..1a7c891 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/like_pg_1.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/like_pg_2.png b/app/src/main/res/mipmap-xxxhdpi/like_pg_2.png new file mode 100644 index 0000000..6040af5 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/like_pg_2.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/main_title_logo.png b/app/src/main/res/mipmap-xxxhdpi/main_title_logo.png new file mode 100644 index 0000000..32c2615 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/main_title_logo.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/pre_video.png b/app/src/main/res/mipmap-xxxhdpi/pre_video.png new file mode 100644 index 0000000..ae15c19 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/pre_video.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/pre_video_bg.png b/app/src/main/res/mipmap-xxxhdpi/pre_video_bg.png new file mode 100644 index 0000000..6ce9a9d Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/pre_video_bg.png differ diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..70b7eea --- /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..2ad4327 --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,27 @@ + + + #FF000000 + #FFFFFFFF + #FFC000 + #FE5FBC + #D290FF + #F9E45A + #BBE5FF + #FFA24B + #64EEE9 + #9CD801 + #FFBDBF + #C6FFA3 + #E8C7FF + #D290FF + #CDFFFD + #63EDE8 + #FFDFB9 + #FFA24B + #FFBDE4 + #FD5FBC + #F8EA51 + #E4F5FF + #494747 + #FFE900 + \ 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..c302a02 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,7 @@ + + Funny Prank + SOUND + Loop + My favorite + At present, there is nothing \n you like Go to the homepage \n and take a look + \ 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..7dccafb --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/backup_rules.xml b/app/src/main/res/xml/backup_rules.xml new file mode 100644 index 0000000..fa0f996 --- /dev/null +++ b/app/src/main/res/xml/backup_rules.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/data_extraction_rules.xml b/app/src/main/res/xml/data_extraction_rules.xml new file mode 100644 index 0000000..9ee9997 --- /dev/null +++ b/app/src/main/res/xml/data_extraction_rules.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/test/java/com/fun/funnyprank/ExampleUnitTest.java b/app/src/test/java/com/fun/funnyprank/ExampleUnitTest.java new file mode 100644 index 0000000..a3223d8 --- /dev/null +++ b/app/src/test/java/com/fun/funnyprank/ExampleUnitTest.java @@ -0,0 +1,17 @@ +package com.fun.funnyprank; + +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see Testing documentation + */ +public class ExampleUnitTest { + @Test + public void addition_isCorrect() { + assertEquals(4, 2 + 2); + } +} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..b9ea2a2 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,12 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +plugins { + id("com.android.application") version "8.1.3" apply false + id("org.jetbrains.kotlin.android") version "1.9.0" apply false + id("com.google.gms.google-services") version "4.3.15" apply false + id ("com.google.firebase.crashlytics") version "2.9.2" apply false +} +buildscript{ + dependencies{ + classpath("com.applovin.quality:AppLovinQualityServiceGradlePlugin:+") + } +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..3e927b1 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,21 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Enables namespacing of each library's R class so that its R class includes only the +# resources declared in the library itself and none from the library's dependencies, +# thereby reducing the size of the R class for that library +android.nonTransitiveRClass=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..e708b1c Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..dd0d173 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Tue Jul 02 09:48:05 CST 2024 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..4f906e0 --- /dev/null +++ b/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..7288251 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,21 @@ +pluginManagement { + repositories { + google() + mavenCentral() + gradlePluginPortal() + maven { url = uri("https://artifacts.applovin.com/android") } + } +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + maven { url = uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") } + maven { url = uri("https://artifact.bytedance.com/repository/pangle") } + } +} + +rootProject.name = "Funny Prank" +include(":app") + \ No newline at end of file