commit f89ed84fb2230941009a067f15df9eb4fa908ef0 Author: litingting Date: Mon Nov 10 10:44:58 2025 +0800 V1.1(2) max diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..76597f1 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,116 @@ +import java.text.SimpleDateFormat +import java.util.Date + +plugins { + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) + id("kotlin-kapt") + id("kotlin-parcelize") + id("com.google.gms.google-services") + id("com.google.firebase.crashlytics") + id("applovin-quality-service") +} +applovin { + apiKey = "BZDQbDZMA_vHnf2beVZtUdTM4e_7yAGWognV5U_oPzbJD8Pfr54orKJFNRCVscsx1Hdx3ZR_Rbb8DHH8wHbAvw" +} +android { + val timeStamp: String = SimpleDateFormat("MM_dd_HH_mm").format(Date()) + namespace = "com.apps.sketchmaster" + compileSdk = 35 + + defaultConfig { + applicationId = "com.apps.sketchmaster" + minSdk = 24 + targetSdk = 35 + versionCode = 2 + versionName = "1.1" + setProperty( + "archivesBaseName", + "Sketch Master_V" + versionName + "(${versionCode})_$timeStamp" + ) + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isMinifyEnabled = true + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + buildFeatures{ + viewBinding=true + } + kotlinOptions { + jvmTarget = "11" + } +} + +dependencies { + + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) + implementation(libs.material) + implementation(libs.androidx.activity) + implementation(libs.androidx.constraintlayout) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.junit) + androidTestImplementation(libs.androidx.espresso.core) + // Room components + implementation(libs.androidx.room.runtime) + kapt(libs.androidx.room.compiler) + //noinspection GradleDependency + implementation(libs.androidx.room.ktx) + + // Lifecycle components + implementation(libs.androidx.lifecycle.viewmodel.ktx) + //noinspection GradleDependency + implementation(libs.androidx.lifecycle.livedata.ktx) + + // Activity KTX (for ViewModel) + //noinspection GradleDependency + implementation(libs.androidx.activity.ktx) + + // Glide + implementation(libs.glide) + implementation(libs.androidsvg) + + // CameraX 相关依赖 (最新稳定版) + implementation(libs.androidx.camera.core) + implementation(libs.androidx.camera.camera2) + implementation(libs.androidx.camera.lifecycle) + implementation(libs.androidx.camera.view) + implementation(libs.androidx.camera.extensions) + + implementation(files("libs/UpLoadLibrary_07_03_11_54-release.aar")) + implementation(files("libs/MaxLibrary_08_08_15_08-release.aar")) + + + implementation(platform("com.google.firebase:firebase-bom:33.7.0")) + implementation("com.google.firebase:firebase-crashlytics") + implementation("com.google.firebase:firebase-analytics") + implementation("com.google.firebase:firebase-config") + + implementation ("com.squareup.okhttp3:okhttp:4.12.0") + implementation("com.squareup.okhttp3:logging-interceptor:4.12.0") + + //Max(BIGO Ads、Chartboost、DT Exchange、InMobi、ironSource、Liftoff Monetize、Mintegral、Pangle) + implementation("com.applovin:applovin-sdk:+") + implementation("com.applovin.mediation:bigoads-adapter:+") + implementation("com.applovin.mediation:chartboost-adapter:+") + implementation("com.google.android.gms:play-services-base:16.1.0") + implementation("com.applovin.mediation:fyber-adapter:+") + implementation("com.applovin.mediation:inmobi-adapter:+") + implementation("com.squareup.picasso:picasso:2.8") + implementation("androidx.recyclerview:recyclerview:1.1.0") + implementation("com.applovin.mediation:ironsource-adapter:+") + implementation("com.applovin.mediation:vungle-adapter:+") + implementation("com.applovin.mediation:mintegral-adapter:+") + implementation("com.applovin.mediation:bytedance-adapter:+") +} \ No newline at end of file diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..0109124 --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "751074193027", + "project_id": "sketch-master-9f917", + "storage_bucket": "sketch-master-9f917.firebasestorage.app" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:751074193027:android:4183c3717dff0d59d735b6", + "android_client_info": { + "package_name": "com.apps.sketchmaster" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyCdsZ677J8g3SEy376qKPoR-xMOljicZJQ" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/app/libs/MaxLibrary_08_08_15_08-release.aar b/app/libs/MaxLibrary_08_08_15_08-release.aar new file mode 100644 index 0000000..c2ce202 Binary files /dev/null and b/app/libs/MaxLibrary_08_08_15_08-release.aar differ diff --git a/app/libs/UpLoadLibrary_07_03_11_54-release.aar b/app/libs/UpLoadLibrary_07_03_11_54-release.aar new file mode 100644 index 0000000..5a50672 Binary files /dev/null and b/app/libs/UpLoadLibrary_07_03_11_54-release.aar differ diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# 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 \ No newline at end of file diff --git a/app/src/androidTest/java/com/apps/sketchmaster/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/apps/sketchmaster/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..864b471 --- /dev/null +++ b/app/src/androidTest/java/com/apps/sketchmaster/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.apps.sketchmaster + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.apps.sketchmaster", appContext.packageName) + } +} \ 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..83a2307 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/arimo.ttf b/app/src/main/assets/arimo.ttf new file mode 100644 index 0000000..c14e0a4 Binary files /dev/null and b/app/src/main/assets/arimo.ttf differ diff --git a/app/src/main/assets/local_Aesthetic/1.svg b/app/src/main/assets/local_Aesthetic/1.svg new file mode 100644 index 0000000..d84a3de --- /dev/null +++ b/app/src/main/assets/local_Aesthetic/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Aesthetic/2.svg b/app/src/main/assets/local_Aesthetic/2.svg new file mode 100644 index 0000000..4de87b1 --- /dev/null +++ b/app/src/main/assets/local_Aesthetic/2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Aesthetic/3.svg b/app/src/main/assets/local_Aesthetic/3.svg new file mode 100644 index 0000000..f6ff239 --- /dev/null +++ b/app/src/main/assets/local_Aesthetic/3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Aesthetic/4.svg b/app/src/main/assets/local_Aesthetic/4.svg new file mode 100644 index 0000000..175e805 --- /dev/null +++ b/app/src/main/assets/local_Aesthetic/4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Aesthetic/5.svg b/app/src/main/assets/local_Aesthetic/5.svg new file mode 100644 index 0000000..28328bf --- /dev/null +++ b/app/src/main/assets/local_Aesthetic/5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Aesthetic/6.svg b/app/src/main/assets/local_Aesthetic/6.svg new file mode 100644 index 0000000..e13eaf5 --- /dev/null +++ b/app/src/main/assets/local_Aesthetic/6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Animals/1.jpg b/app/src/main/assets/local_Animals/1.jpg new file mode 100644 index 0000000..9488c65 Binary files /dev/null and b/app/src/main/assets/local_Animals/1.jpg differ diff --git a/app/src/main/assets/local_Animals/1.svg b/app/src/main/assets/local_Animals/1.svg new file mode 100644 index 0000000..1f4d83e --- /dev/null +++ b/app/src/main/assets/local_Animals/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Animals/10.jpg b/app/src/main/assets/local_Animals/10.jpg new file mode 100644 index 0000000..78382a4 Binary files /dev/null and b/app/src/main/assets/local_Animals/10.jpg differ diff --git a/app/src/main/assets/local_Animals/11.jpg b/app/src/main/assets/local_Animals/11.jpg new file mode 100644 index 0000000..a4f7512 Binary files /dev/null and b/app/src/main/assets/local_Animals/11.jpg differ diff --git a/app/src/main/assets/local_Animals/12.jpg b/app/src/main/assets/local_Animals/12.jpg new file mode 100644 index 0000000..bab3cff Binary files /dev/null and b/app/src/main/assets/local_Animals/12.jpg differ diff --git a/app/src/main/assets/local_Animals/13.jpg b/app/src/main/assets/local_Animals/13.jpg new file mode 100644 index 0000000..5c3ef19 Binary files /dev/null and b/app/src/main/assets/local_Animals/13.jpg differ diff --git a/app/src/main/assets/local_Animals/14.jpg b/app/src/main/assets/local_Animals/14.jpg new file mode 100644 index 0000000..8b446f2 Binary files /dev/null and b/app/src/main/assets/local_Animals/14.jpg differ diff --git a/app/src/main/assets/local_Animals/15.jpg b/app/src/main/assets/local_Animals/15.jpg new file mode 100644 index 0000000..2f9dc4e Binary files /dev/null and b/app/src/main/assets/local_Animals/15.jpg differ diff --git a/app/src/main/assets/local_Animals/16.jpg b/app/src/main/assets/local_Animals/16.jpg new file mode 100644 index 0000000..aad9788 Binary files /dev/null and b/app/src/main/assets/local_Animals/16.jpg differ diff --git a/app/src/main/assets/local_Animals/17.jpg b/app/src/main/assets/local_Animals/17.jpg new file mode 100644 index 0000000..17c6f07 Binary files /dev/null and b/app/src/main/assets/local_Animals/17.jpg differ diff --git a/app/src/main/assets/local_Animals/18.jpg b/app/src/main/assets/local_Animals/18.jpg new file mode 100644 index 0000000..2ce93a7 Binary files /dev/null and b/app/src/main/assets/local_Animals/18.jpg differ diff --git a/app/src/main/assets/local_Animals/19.jpg b/app/src/main/assets/local_Animals/19.jpg new file mode 100644 index 0000000..2b24f31 Binary files /dev/null and b/app/src/main/assets/local_Animals/19.jpg differ diff --git a/app/src/main/assets/local_Animals/2.jpg b/app/src/main/assets/local_Animals/2.jpg new file mode 100644 index 0000000..0a0c2e7 Binary files /dev/null and b/app/src/main/assets/local_Animals/2.jpg differ diff --git a/app/src/main/assets/local_Animals/2.svg b/app/src/main/assets/local_Animals/2.svg new file mode 100644 index 0000000..458df24 --- /dev/null +++ b/app/src/main/assets/local_Animals/2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Animals/20.jpg b/app/src/main/assets/local_Animals/20.jpg new file mode 100644 index 0000000..347cddc Binary files /dev/null and b/app/src/main/assets/local_Animals/20.jpg differ diff --git a/app/src/main/assets/local_Animals/21.jpg b/app/src/main/assets/local_Animals/21.jpg new file mode 100644 index 0000000..5a04764 Binary files /dev/null and b/app/src/main/assets/local_Animals/21.jpg differ diff --git a/app/src/main/assets/local_Animals/22.jpg b/app/src/main/assets/local_Animals/22.jpg new file mode 100644 index 0000000..c18d8ad Binary files /dev/null and b/app/src/main/assets/local_Animals/22.jpg differ diff --git a/app/src/main/assets/local_Animals/23.jpg b/app/src/main/assets/local_Animals/23.jpg new file mode 100644 index 0000000..4270d19 Binary files /dev/null and b/app/src/main/assets/local_Animals/23.jpg differ diff --git a/app/src/main/assets/local_Animals/24.jpg b/app/src/main/assets/local_Animals/24.jpg new file mode 100644 index 0000000..355a944 Binary files /dev/null and b/app/src/main/assets/local_Animals/24.jpg differ diff --git a/app/src/main/assets/local_Animals/25.jpg b/app/src/main/assets/local_Animals/25.jpg new file mode 100644 index 0000000..c670943 Binary files /dev/null and b/app/src/main/assets/local_Animals/25.jpg differ diff --git a/app/src/main/assets/local_Animals/26.jpg b/app/src/main/assets/local_Animals/26.jpg new file mode 100644 index 0000000..4b95b01 Binary files /dev/null and b/app/src/main/assets/local_Animals/26.jpg differ diff --git a/app/src/main/assets/local_Animals/27.jpg b/app/src/main/assets/local_Animals/27.jpg new file mode 100644 index 0000000..87a8c12 Binary files /dev/null and b/app/src/main/assets/local_Animals/27.jpg differ diff --git a/app/src/main/assets/local_Animals/28.jpg b/app/src/main/assets/local_Animals/28.jpg new file mode 100644 index 0000000..770686a Binary files /dev/null and b/app/src/main/assets/local_Animals/28.jpg differ diff --git a/app/src/main/assets/local_Animals/29.jpg b/app/src/main/assets/local_Animals/29.jpg new file mode 100644 index 0000000..7127a11 Binary files /dev/null and b/app/src/main/assets/local_Animals/29.jpg differ diff --git a/app/src/main/assets/local_Animals/3.jpg b/app/src/main/assets/local_Animals/3.jpg new file mode 100644 index 0000000..4bf4897 Binary files /dev/null and b/app/src/main/assets/local_Animals/3.jpg differ diff --git a/app/src/main/assets/local_Animals/3.svg b/app/src/main/assets/local_Animals/3.svg new file mode 100644 index 0000000..eb900fb --- /dev/null +++ b/app/src/main/assets/local_Animals/3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Animals/30.jpg b/app/src/main/assets/local_Animals/30.jpg new file mode 100644 index 0000000..f1d2047 Binary files /dev/null and b/app/src/main/assets/local_Animals/30.jpg differ diff --git a/app/src/main/assets/local_Animals/31.jpg b/app/src/main/assets/local_Animals/31.jpg new file mode 100644 index 0000000..0d08aa8 Binary files /dev/null and b/app/src/main/assets/local_Animals/31.jpg differ diff --git a/app/src/main/assets/local_Animals/4.jpg b/app/src/main/assets/local_Animals/4.jpg new file mode 100644 index 0000000..838c582 Binary files /dev/null and b/app/src/main/assets/local_Animals/4.jpg differ diff --git a/app/src/main/assets/local_Animals/4.svg b/app/src/main/assets/local_Animals/4.svg new file mode 100644 index 0000000..393b125 --- /dev/null +++ b/app/src/main/assets/local_Animals/4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Animals/5.jpg b/app/src/main/assets/local_Animals/5.jpg new file mode 100644 index 0000000..36bd2bf Binary files /dev/null and b/app/src/main/assets/local_Animals/5.jpg differ diff --git a/app/src/main/assets/local_Animals/5.svg b/app/src/main/assets/local_Animals/5.svg new file mode 100644 index 0000000..a96450e --- /dev/null +++ b/app/src/main/assets/local_Animals/5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Animals/6.jpg b/app/src/main/assets/local_Animals/6.jpg new file mode 100644 index 0000000..dceb49b Binary files /dev/null and b/app/src/main/assets/local_Animals/6.jpg differ diff --git a/app/src/main/assets/local_Animals/6.svg b/app/src/main/assets/local_Animals/6.svg new file mode 100644 index 0000000..5f7c304 --- /dev/null +++ b/app/src/main/assets/local_Animals/6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Animals/7.jpg b/app/src/main/assets/local_Animals/7.jpg new file mode 100644 index 0000000..ebd4694 Binary files /dev/null and b/app/src/main/assets/local_Animals/7.jpg differ diff --git a/app/src/main/assets/local_Animals/7.svg b/app/src/main/assets/local_Animals/7.svg new file mode 100644 index 0000000..73bf445 --- /dev/null +++ b/app/src/main/assets/local_Animals/7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Animals/8.jpg b/app/src/main/assets/local_Animals/8.jpg new file mode 100644 index 0000000..e5e3c63 Binary files /dev/null and b/app/src/main/assets/local_Animals/8.jpg differ diff --git a/app/src/main/assets/local_Animals/9.jpg b/app/src/main/assets/local_Animals/9.jpg new file mode 100644 index 0000000..e7a1862 Binary files /dev/null and b/app/src/main/assets/local_Animals/9.jpg differ diff --git a/app/src/main/assets/local_Architectures/1.jpg b/app/src/main/assets/local_Architectures/1.jpg new file mode 100644 index 0000000..3289a38 Binary files /dev/null and b/app/src/main/assets/local_Architectures/1.jpg differ diff --git a/app/src/main/assets/local_Architectures/1.svg b/app/src/main/assets/local_Architectures/1.svg new file mode 100644 index 0000000..6c6684d --- /dev/null +++ b/app/src/main/assets/local_Architectures/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Architectures/10.jpg b/app/src/main/assets/local_Architectures/10.jpg new file mode 100644 index 0000000..b065539 Binary files /dev/null and b/app/src/main/assets/local_Architectures/10.jpg differ diff --git a/app/src/main/assets/local_Architectures/11.jpg b/app/src/main/assets/local_Architectures/11.jpg new file mode 100644 index 0000000..12d28b1 Binary files /dev/null and b/app/src/main/assets/local_Architectures/11.jpg differ diff --git a/app/src/main/assets/local_Architectures/12.jpg b/app/src/main/assets/local_Architectures/12.jpg new file mode 100644 index 0000000..182879f Binary files /dev/null and b/app/src/main/assets/local_Architectures/12.jpg differ diff --git a/app/src/main/assets/local_Architectures/13.jpg b/app/src/main/assets/local_Architectures/13.jpg new file mode 100644 index 0000000..4263530 Binary files /dev/null and b/app/src/main/assets/local_Architectures/13.jpg differ diff --git a/app/src/main/assets/local_Architectures/14.jpg b/app/src/main/assets/local_Architectures/14.jpg new file mode 100644 index 0000000..42e4ab3 Binary files /dev/null and b/app/src/main/assets/local_Architectures/14.jpg differ diff --git a/app/src/main/assets/local_Architectures/15.jpg b/app/src/main/assets/local_Architectures/15.jpg new file mode 100644 index 0000000..b529436 Binary files /dev/null and b/app/src/main/assets/local_Architectures/15.jpg differ diff --git a/app/src/main/assets/local_Architectures/16.jpg b/app/src/main/assets/local_Architectures/16.jpg new file mode 100644 index 0000000..85caef0 Binary files /dev/null and b/app/src/main/assets/local_Architectures/16.jpg differ diff --git a/app/src/main/assets/local_Architectures/17.jpg b/app/src/main/assets/local_Architectures/17.jpg new file mode 100644 index 0000000..6295f58 Binary files /dev/null and b/app/src/main/assets/local_Architectures/17.jpg differ diff --git a/app/src/main/assets/local_Architectures/18.jpg b/app/src/main/assets/local_Architectures/18.jpg new file mode 100644 index 0000000..f8e4e87 Binary files /dev/null and b/app/src/main/assets/local_Architectures/18.jpg differ diff --git a/app/src/main/assets/local_Architectures/19.jpg b/app/src/main/assets/local_Architectures/19.jpg new file mode 100644 index 0000000..c476493 Binary files /dev/null and b/app/src/main/assets/local_Architectures/19.jpg differ diff --git a/app/src/main/assets/local_Architectures/2.jpg b/app/src/main/assets/local_Architectures/2.jpg new file mode 100644 index 0000000..084fa51 Binary files /dev/null and b/app/src/main/assets/local_Architectures/2.jpg differ diff --git a/app/src/main/assets/local_Architectures/2.svg b/app/src/main/assets/local_Architectures/2.svg new file mode 100644 index 0000000..157f11c --- /dev/null +++ b/app/src/main/assets/local_Architectures/2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Architectures/3.jpg b/app/src/main/assets/local_Architectures/3.jpg new file mode 100644 index 0000000..4ee71c4 Binary files /dev/null and b/app/src/main/assets/local_Architectures/3.jpg differ diff --git a/app/src/main/assets/local_Architectures/3.svg b/app/src/main/assets/local_Architectures/3.svg new file mode 100644 index 0000000..97372b2 --- /dev/null +++ b/app/src/main/assets/local_Architectures/3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Architectures/4.jpg b/app/src/main/assets/local_Architectures/4.jpg new file mode 100644 index 0000000..25912f1 Binary files /dev/null and b/app/src/main/assets/local_Architectures/4.jpg differ diff --git a/app/src/main/assets/local_Architectures/4.svg b/app/src/main/assets/local_Architectures/4.svg new file mode 100644 index 0000000..87dc6bf --- /dev/null +++ b/app/src/main/assets/local_Architectures/4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Architectures/5.jpg b/app/src/main/assets/local_Architectures/5.jpg new file mode 100644 index 0000000..77c2aa8 Binary files /dev/null and b/app/src/main/assets/local_Architectures/5.jpg differ diff --git a/app/src/main/assets/local_Architectures/5.svg b/app/src/main/assets/local_Architectures/5.svg new file mode 100644 index 0000000..ba13de0 --- /dev/null +++ b/app/src/main/assets/local_Architectures/5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Architectures/6.jpg b/app/src/main/assets/local_Architectures/6.jpg new file mode 100644 index 0000000..75b1e32 Binary files /dev/null and b/app/src/main/assets/local_Architectures/6.jpg differ diff --git a/app/src/main/assets/local_Architectures/6.svg b/app/src/main/assets/local_Architectures/6.svg new file mode 100644 index 0000000..72e8195 --- /dev/null +++ b/app/src/main/assets/local_Architectures/6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Architectures/7.jpg b/app/src/main/assets/local_Architectures/7.jpg new file mode 100644 index 0000000..f059989 Binary files /dev/null and b/app/src/main/assets/local_Architectures/7.jpg differ diff --git a/app/src/main/assets/local_Architectures/8.jpg b/app/src/main/assets/local_Architectures/8.jpg new file mode 100644 index 0000000..6be97eb Binary files /dev/null and b/app/src/main/assets/local_Architectures/8.jpg differ diff --git a/app/src/main/assets/local_Architectures/9.jpg b/app/src/main/assets/local_Architectures/9.jpg new file mode 100644 index 0000000..626cab9 Binary files /dev/null and b/app/src/main/assets/local_Architectures/9.jpg differ diff --git a/app/src/main/assets/local_Birds/1.jpg b/app/src/main/assets/local_Birds/1.jpg new file mode 100644 index 0000000..d235225 Binary files /dev/null and b/app/src/main/assets/local_Birds/1.jpg differ diff --git a/app/src/main/assets/local_Birds/10.jpg b/app/src/main/assets/local_Birds/10.jpg new file mode 100644 index 0000000..e348ffe Binary files /dev/null and b/app/src/main/assets/local_Birds/10.jpg differ diff --git a/app/src/main/assets/local_Birds/11.jpg b/app/src/main/assets/local_Birds/11.jpg new file mode 100644 index 0000000..921b5b9 Binary files /dev/null and b/app/src/main/assets/local_Birds/11.jpg differ diff --git a/app/src/main/assets/local_Birds/12.jpg b/app/src/main/assets/local_Birds/12.jpg new file mode 100644 index 0000000..7b4055b Binary files /dev/null and b/app/src/main/assets/local_Birds/12.jpg differ diff --git a/app/src/main/assets/local_Birds/13.jpg b/app/src/main/assets/local_Birds/13.jpg new file mode 100644 index 0000000..021b7a4 Binary files /dev/null and b/app/src/main/assets/local_Birds/13.jpg differ diff --git a/app/src/main/assets/local_Birds/14.jpg b/app/src/main/assets/local_Birds/14.jpg new file mode 100644 index 0000000..2074c6f Binary files /dev/null and b/app/src/main/assets/local_Birds/14.jpg differ diff --git a/app/src/main/assets/local_Birds/15.jpg b/app/src/main/assets/local_Birds/15.jpg new file mode 100644 index 0000000..59b0e47 Binary files /dev/null and b/app/src/main/assets/local_Birds/15.jpg differ diff --git a/app/src/main/assets/local_Birds/16.jpg b/app/src/main/assets/local_Birds/16.jpg new file mode 100644 index 0000000..fe950d1 Binary files /dev/null and b/app/src/main/assets/local_Birds/16.jpg differ diff --git a/app/src/main/assets/local_Birds/17.jpg b/app/src/main/assets/local_Birds/17.jpg new file mode 100644 index 0000000..484f39a Binary files /dev/null and b/app/src/main/assets/local_Birds/17.jpg differ diff --git a/app/src/main/assets/local_Birds/18.jpg b/app/src/main/assets/local_Birds/18.jpg new file mode 100644 index 0000000..2792ed1 Binary files /dev/null and b/app/src/main/assets/local_Birds/18.jpg differ diff --git a/app/src/main/assets/local_Birds/19.jpg b/app/src/main/assets/local_Birds/19.jpg new file mode 100644 index 0000000..9e9bb27 Binary files /dev/null and b/app/src/main/assets/local_Birds/19.jpg differ diff --git a/app/src/main/assets/local_Birds/2.jpg b/app/src/main/assets/local_Birds/2.jpg new file mode 100644 index 0000000..0929272 Binary files /dev/null and b/app/src/main/assets/local_Birds/2.jpg differ diff --git a/app/src/main/assets/local_Birds/3.jpg b/app/src/main/assets/local_Birds/3.jpg new file mode 100644 index 0000000..1376a50 Binary files /dev/null and b/app/src/main/assets/local_Birds/3.jpg differ diff --git a/app/src/main/assets/local_Birds/4.jpg b/app/src/main/assets/local_Birds/4.jpg new file mode 100644 index 0000000..1cd8f9c Binary files /dev/null and b/app/src/main/assets/local_Birds/4.jpg differ diff --git a/app/src/main/assets/local_Birds/5.jpg b/app/src/main/assets/local_Birds/5.jpg new file mode 100644 index 0000000..7637589 Binary files /dev/null and b/app/src/main/assets/local_Birds/5.jpg differ diff --git a/app/src/main/assets/local_Birds/6.jpg b/app/src/main/assets/local_Birds/6.jpg new file mode 100644 index 0000000..3bf16b6 Binary files /dev/null and b/app/src/main/assets/local_Birds/6.jpg differ diff --git a/app/src/main/assets/local_Birds/7.jpg b/app/src/main/assets/local_Birds/7.jpg new file mode 100644 index 0000000..076e51d Binary files /dev/null and b/app/src/main/assets/local_Birds/7.jpg differ diff --git a/app/src/main/assets/local_Birds/8.jpg b/app/src/main/assets/local_Birds/8.jpg new file mode 100644 index 0000000..71f5cf7 Binary files /dev/null and b/app/src/main/assets/local_Birds/8.jpg differ diff --git a/app/src/main/assets/local_Birds/9.jpg b/app/src/main/assets/local_Birds/9.jpg new file mode 100644 index 0000000..8767032 Binary files /dev/null and b/app/src/main/assets/local_Birds/9.jpg differ diff --git a/app/src/main/assets/local_Butterfly/1.jpg b/app/src/main/assets/local_Butterfly/1.jpg new file mode 100644 index 0000000..0d713b7 Binary files /dev/null and b/app/src/main/assets/local_Butterfly/1.jpg differ diff --git a/app/src/main/assets/local_Butterfly/10.jpg b/app/src/main/assets/local_Butterfly/10.jpg new file mode 100644 index 0000000..ae497c8 Binary files /dev/null and b/app/src/main/assets/local_Butterfly/10.jpg differ diff --git a/app/src/main/assets/local_Butterfly/11.jpg b/app/src/main/assets/local_Butterfly/11.jpg new file mode 100644 index 0000000..d2e39ef Binary files /dev/null and b/app/src/main/assets/local_Butterfly/11.jpg differ diff --git a/app/src/main/assets/local_Butterfly/12.jpg b/app/src/main/assets/local_Butterfly/12.jpg new file mode 100644 index 0000000..410af7c Binary files /dev/null and b/app/src/main/assets/local_Butterfly/12.jpg differ diff --git a/app/src/main/assets/local_Butterfly/13.jpg b/app/src/main/assets/local_Butterfly/13.jpg new file mode 100644 index 0000000..233a998 Binary files /dev/null and b/app/src/main/assets/local_Butterfly/13.jpg differ diff --git a/app/src/main/assets/local_Butterfly/14.jpg b/app/src/main/assets/local_Butterfly/14.jpg new file mode 100644 index 0000000..9545c0f Binary files /dev/null and b/app/src/main/assets/local_Butterfly/14.jpg differ diff --git a/app/src/main/assets/local_Butterfly/15.jpg b/app/src/main/assets/local_Butterfly/15.jpg new file mode 100644 index 0000000..aa0da5b Binary files /dev/null and b/app/src/main/assets/local_Butterfly/15.jpg differ diff --git a/app/src/main/assets/local_Butterfly/16.jpg b/app/src/main/assets/local_Butterfly/16.jpg new file mode 100644 index 0000000..4b118cf Binary files /dev/null and b/app/src/main/assets/local_Butterfly/16.jpg differ diff --git a/app/src/main/assets/local_Butterfly/17.jpg b/app/src/main/assets/local_Butterfly/17.jpg new file mode 100644 index 0000000..ebfdc2e Binary files /dev/null and b/app/src/main/assets/local_Butterfly/17.jpg differ diff --git a/app/src/main/assets/local_Butterfly/18.jpg b/app/src/main/assets/local_Butterfly/18.jpg new file mode 100644 index 0000000..7b81ca1 Binary files /dev/null and b/app/src/main/assets/local_Butterfly/18.jpg differ diff --git a/app/src/main/assets/local_Butterfly/19.jpg b/app/src/main/assets/local_Butterfly/19.jpg new file mode 100644 index 0000000..903fd82 Binary files /dev/null and b/app/src/main/assets/local_Butterfly/19.jpg differ diff --git a/app/src/main/assets/local_Butterfly/2.jpg b/app/src/main/assets/local_Butterfly/2.jpg new file mode 100644 index 0000000..f92c438 Binary files /dev/null and b/app/src/main/assets/local_Butterfly/2.jpg differ diff --git a/app/src/main/assets/local_Butterfly/20.jpg b/app/src/main/assets/local_Butterfly/20.jpg new file mode 100644 index 0000000..7d0dc2e Binary files /dev/null and b/app/src/main/assets/local_Butterfly/20.jpg differ diff --git a/app/src/main/assets/local_Butterfly/21.jpg b/app/src/main/assets/local_Butterfly/21.jpg new file mode 100644 index 0000000..ff82d93 Binary files /dev/null and b/app/src/main/assets/local_Butterfly/21.jpg differ diff --git a/app/src/main/assets/local_Butterfly/3.jpg b/app/src/main/assets/local_Butterfly/3.jpg new file mode 100644 index 0000000..5251134 Binary files /dev/null and b/app/src/main/assets/local_Butterfly/3.jpg differ diff --git a/app/src/main/assets/local_Butterfly/4.jpg b/app/src/main/assets/local_Butterfly/4.jpg new file mode 100644 index 0000000..01d5932 Binary files /dev/null and b/app/src/main/assets/local_Butterfly/4.jpg differ diff --git a/app/src/main/assets/local_Butterfly/5.jpg b/app/src/main/assets/local_Butterfly/5.jpg new file mode 100644 index 0000000..cc99ed5 Binary files /dev/null and b/app/src/main/assets/local_Butterfly/5.jpg differ diff --git a/app/src/main/assets/local_Butterfly/6.jpg b/app/src/main/assets/local_Butterfly/6.jpg new file mode 100644 index 0000000..6d02805 Binary files /dev/null and b/app/src/main/assets/local_Butterfly/6.jpg differ diff --git a/app/src/main/assets/local_Butterfly/7.jpg b/app/src/main/assets/local_Butterfly/7.jpg new file mode 100644 index 0000000..dd52dbd Binary files /dev/null and b/app/src/main/assets/local_Butterfly/7.jpg differ diff --git a/app/src/main/assets/local_Butterfly/8.jpg b/app/src/main/assets/local_Butterfly/8.jpg new file mode 100644 index 0000000..d519ca7 Binary files /dev/null and b/app/src/main/assets/local_Butterfly/8.jpg differ diff --git a/app/src/main/assets/local_Butterfly/9.jpg b/app/src/main/assets/local_Butterfly/9.jpg new file mode 100644 index 0000000..0cedb47 Binary files /dev/null and b/app/src/main/assets/local_Butterfly/9.jpg differ diff --git a/app/src/main/assets/local_Car/1.jpg b/app/src/main/assets/local_Car/1.jpg new file mode 100644 index 0000000..da449f7 Binary files /dev/null and b/app/src/main/assets/local_Car/1.jpg differ diff --git a/app/src/main/assets/local_Car/1.svg b/app/src/main/assets/local_Car/1.svg new file mode 100644 index 0000000..1b2faba --- /dev/null +++ b/app/src/main/assets/local_Car/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Car/10.jpg b/app/src/main/assets/local_Car/10.jpg new file mode 100644 index 0000000..0084613 Binary files /dev/null and b/app/src/main/assets/local_Car/10.jpg differ diff --git a/app/src/main/assets/local_Car/11.jpg b/app/src/main/assets/local_Car/11.jpg new file mode 100644 index 0000000..ba5f4d4 Binary files /dev/null and b/app/src/main/assets/local_Car/11.jpg differ diff --git a/app/src/main/assets/local_Car/12.jpg b/app/src/main/assets/local_Car/12.jpg new file mode 100644 index 0000000..32c7908 Binary files /dev/null and b/app/src/main/assets/local_Car/12.jpg differ diff --git a/app/src/main/assets/local_Car/13.jpg b/app/src/main/assets/local_Car/13.jpg new file mode 100644 index 0000000..dd47e76 Binary files /dev/null and b/app/src/main/assets/local_Car/13.jpg differ diff --git a/app/src/main/assets/local_Car/14.jpg b/app/src/main/assets/local_Car/14.jpg new file mode 100644 index 0000000..8b886e6 Binary files /dev/null and b/app/src/main/assets/local_Car/14.jpg differ diff --git a/app/src/main/assets/local_Car/15.jpg b/app/src/main/assets/local_Car/15.jpg new file mode 100644 index 0000000..cf78752 Binary files /dev/null and b/app/src/main/assets/local_Car/15.jpg differ diff --git a/app/src/main/assets/local_Car/16.jpg b/app/src/main/assets/local_Car/16.jpg new file mode 100644 index 0000000..87f8a19 Binary files /dev/null and b/app/src/main/assets/local_Car/16.jpg differ diff --git a/app/src/main/assets/local_Car/17.jpg b/app/src/main/assets/local_Car/17.jpg new file mode 100644 index 0000000..011b53b Binary files /dev/null and b/app/src/main/assets/local_Car/17.jpg differ diff --git a/app/src/main/assets/local_Car/18.jpg b/app/src/main/assets/local_Car/18.jpg new file mode 100644 index 0000000..c4433c8 Binary files /dev/null and b/app/src/main/assets/local_Car/18.jpg differ diff --git a/app/src/main/assets/local_Car/19.jpg b/app/src/main/assets/local_Car/19.jpg new file mode 100644 index 0000000..b9361f1 Binary files /dev/null and b/app/src/main/assets/local_Car/19.jpg differ diff --git a/app/src/main/assets/local_Car/2.jpg b/app/src/main/assets/local_Car/2.jpg new file mode 100644 index 0000000..ff06675 Binary files /dev/null and b/app/src/main/assets/local_Car/2.jpg differ diff --git a/app/src/main/assets/local_Car/2.svg b/app/src/main/assets/local_Car/2.svg new file mode 100644 index 0000000..951f018 --- /dev/null +++ b/app/src/main/assets/local_Car/2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Car/20.jpg b/app/src/main/assets/local_Car/20.jpg new file mode 100644 index 0000000..3e22c5c Binary files /dev/null and b/app/src/main/assets/local_Car/20.jpg differ diff --git a/app/src/main/assets/local_Car/21.jpg b/app/src/main/assets/local_Car/21.jpg new file mode 100644 index 0000000..f93b99a Binary files /dev/null and b/app/src/main/assets/local_Car/21.jpg differ diff --git a/app/src/main/assets/local_Car/22.jpg b/app/src/main/assets/local_Car/22.jpg new file mode 100644 index 0000000..952afa9 Binary files /dev/null and b/app/src/main/assets/local_Car/22.jpg differ diff --git a/app/src/main/assets/local_Car/23.jpg b/app/src/main/assets/local_Car/23.jpg new file mode 100644 index 0000000..a6e1c25 Binary files /dev/null and b/app/src/main/assets/local_Car/23.jpg differ diff --git a/app/src/main/assets/local_Car/24.jpg b/app/src/main/assets/local_Car/24.jpg new file mode 100644 index 0000000..83c706a Binary files /dev/null and b/app/src/main/assets/local_Car/24.jpg differ diff --git a/app/src/main/assets/local_Car/25.jpg b/app/src/main/assets/local_Car/25.jpg new file mode 100644 index 0000000..6ebdbf7 Binary files /dev/null and b/app/src/main/assets/local_Car/25.jpg differ diff --git a/app/src/main/assets/local_Car/26.jpg b/app/src/main/assets/local_Car/26.jpg new file mode 100644 index 0000000..3805357 Binary files /dev/null and b/app/src/main/assets/local_Car/26.jpg differ diff --git a/app/src/main/assets/local_Car/27.jpg b/app/src/main/assets/local_Car/27.jpg new file mode 100644 index 0000000..0849027 Binary files /dev/null and b/app/src/main/assets/local_Car/27.jpg differ diff --git a/app/src/main/assets/local_Car/28.jpg b/app/src/main/assets/local_Car/28.jpg new file mode 100644 index 0000000..019baa9 Binary files /dev/null and b/app/src/main/assets/local_Car/28.jpg differ diff --git a/app/src/main/assets/local_Car/29.jpg b/app/src/main/assets/local_Car/29.jpg new file mode 100644 index 0000000..c7e0d3a Binary files /dev/null and b/app/src/main/assets/local_Car/29.jpg differ diff --git a/app/src/main/assets/local_Car/3.jpg b/app/src/main/assets/local_Car/3.jpg new file mode 100644 index 0000000..eb33365 Binary files /dev/null and b/app/src/main/assets/local_Car/3.jpg differ diff --git a/app/src/main/assets/local_Car/3.svg b/app/src/main/assets/local_Car/3.svg new file mode 100644 index 0000000..a8c1079 --- /dev/null +++ b/app/src/main/assets/local_Car/3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Car/30.jpg b/app/src/main/assets/local_Car/30.jpg new file mode 100644 index 0000000..3820102 Binary files /dev/null and b/app/src/main/assets/local_Car/30.jpg differ diff --git a/app/src/main/assets/local_Car/31.jpg b/app/src/main/assets/local_Car/31.jpg new file mode 100644 index 0000000..bba9999 Binary files /dev/null and b/app/src/main/assets/local_Car/31.jpg differ diff --git a/app/src/main/assets/local_Car/32.jpg b/app/src/main/assets/local_Car/32.jpg new file mode 100644 index 0000000..6d64a3f Binary files /dev/null and b/app/src/main/assets/local_Car/32.jpg differ diff --git a/app/src/main/assets/local_Car/4.jpg b/app/src/main/assets/local_Car/4.jpg new file mode 100644 index 0000000..968f0ad Binary files /dev/null and b/app/src/main/assets/local_Car/4.jpg differ diff --git a/app/src/main/assets/local_Car/4.svg b/app/src/main/assets/local_Car/4.svg new file mode 100644 index 0000000..826753c --- /dev/null +++ b/app/src/main/assets/local_Car/4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Car/5.jpg b/app/src/main/assets/local_Car/5.jpg new file mode 100644 index 0000000..abdd96c Binary files /dev/null and b/app/src/main/assets/local_Car/5.jpg differ diff --git a/app/src/main/assets/local_Car/5.svg b/app/src/main/assets/local_Car/5.svg new file mode 100644 index 0000000..1116db9 --- /dev/null +++ b/app/src/main/assets/local_Car/5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Car/6.jpg b/app/src/main/assets/local_Car/6.jpg new file mode 100644 index 0000000..7eeb870 Binary files /dev/null and b/app/src/main/assets/local_Car/6.jpg differ diff --git a/app/src/main/assets/local_Car/6.svg b/app/src/main/assets/local_Car/6.svg new file mode 100644 index 0000000..8e973c9 --- /dev/null +++ b/app/src/main/assets/local_Car/6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Car/7.jpg b/app/src/main/assets/local_Car/7.jpg new file mode 100644 index 0000000..c5e6294 Binary files /dev/null and b/app/src/main/assets/local_Car/7.jpg differ diff --git a/app/src/main/assets/local_Car/7.svg b/app/src/main/assets/local_Car/7.svg new file mode 100644 index 0000000..3178a0e --- /dev/null +++ b/app/src/main/assets/local_Car/7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Car/8.jpg b/app/src/main/assets/local_Car/8.jpg new file mode 100644 index 0000000..6628782 Binary files /dev/null and b/app/src/main/assets/local_Car/8.jpg differ diff --git a/app/src/main/assets/local_Car/9.jpg b/app/src/main/assets/local_Car/9.jpg new file mode 100644 index 0000000..367b772 Binary files /dev/null and b/app/src/main/assets/local_Car/9.jpg differ diff --git a/app/src/main/assets/local_Cartoons/1.jpg b/app/src/main/assets/local_Cartoons/1.jpg new file mode 100644 index 0000000..74bf123 Binary files /dev/null and b/app/src/main/assets/local_Cartoons/1.jpg differ diff --git a/app/src/main/assets/local_Cartoons/1.svg b/app/src/main/assets/local_Cartoons/1.svg new file mode 100644 index 0000000..43ef9b7 --- /dev/null +++ b/app/src/main/assets/local_Cartoons/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Cartoons/10.svg b/app/src/main/assets/local_Cartoons/10.svg new file mode 100644 index 0000000..1c51093 --- /dev/null +++ b/app/src/main/assets/local_Cartoons/10.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Cartoons/11.jpg b/app/src/main/assets/local_Cartoons/11.jpg new file mode 100644 index 0000000..1f2a904 Binary files /dev/null and b/app/src/main/assets/local_Cartoons/11.jpg differ diff --git a/app/src/main/assets/local_Cartoons/11.svg b/app/src/main/assets/local_Cartoons/11.svg new file mode 100644 index 0000000..ab02ad1 --- /dev/null +++ b/app/src/main/assets/local_Cartoons/11.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Cartoons/12.svg b/app/src/main/assets/local_Cartoons/12.svg new file mode 100644 index 0000000..5594ba5 --- /dev/null +++ b/app/src/main/assets/local_Cartoons/12.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Cartoons/13.jpg b/app/src/main/assets/local_Cartoons/13.jpg new file mode 100644 index 0000000..92e1d75 Binary files /dev/null and b/app/src/main/assets/local_Cartoons/13.jpg differ diff --git a/app/src/main/assets/local_Cartoons/13.svg b/app/src/main/assets/local_Cartoons/13.svg new file mode 100644 index 0000000..5980a0e --- /dev/null +++ b/app/src/main/assets/local_Cartoons/13.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Cartoons/14.jpg b/app/src/main/assets/local_Cartoons/14.jpg new file mode 100644 index 0000000..c82e897 Binary files /dev/null and b/app/src/main/assets/local_Cartoons/14.jpg differ diff --git a/app/src/main/assets/local_Cartoons/14.svg b/app/src/main/assets/local_Cartoons/14.svg new file mode 100644 index 0000000..d626cbe --- /dev/null +++ b/app/src/main/assets/local_Cartoons/14.svg @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/assets/local_Cartoons/15.jpg b/app/src/main/assets/local_Cartoons/15.jpg new file mode 100644 index 0000000..bcd8678 Binary files /dev/null and b/app/src/main/assets/local_Cartoons/15.jpg differ diff --git a/app/src/main/assets/local_Cartoons/15.svg b/app/src/main/assets/local_Cartoons/15.svg new file mode 100644 index 0000000..bc5a8a7 --- /dev/null +++ b/app/src/main/assets/local_Cartoons/15.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Cartoons/17.jpg b/app/src/main/assets/local_Cartoons/17.jpg new file mode 100644 index 0000000..45aafbb Binary files /dev/null and b/app/src/main/assets/local_Cartoons/17.jpg differ diff --git a/app/src/main/assets/local_Cartoons/18.jpg b/app/src/main/assets/local_Cartoons/18.jpg new file mode 100644 index 0000000..048d253 Binary files /dev/null and b/app/src/main/assets/local_Cartoons/18.jpg differ diff --git a/app/src/main/assets/local_Cartoons/19.jpg b/app/src/main/assets/local_Cartoons/19.jpg new file mode 100644 index 0000000..c2501b2 Binary files /dev/null and b/app/src/main/assets/local_Cartoons/19.jpg differ diff --git a/app/src/main/assets/local_Cartoons/2.svg b/app/src/main/assets/local_Cartoons/2.svg new file mode 100644 index 0000000..d07f46c --- /dev/null +++ b/app/src/main/assets/local_Cartoons/2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Cartoons/20.jpg b/app/src/main/assets/local_Cartoons/20.jpg new file mode 100644 index 0000000..fb7901c Binary files /dev/null and b/app/src/main/assets/local_Cartoons/20.jpg differ diff --git a/app/src/main/assets/local_Cartoons/21.jpg b/app/src/main/assets/local_Cartoons/21.jpg new file mode 100644 index 0000000..ed7104e Binary files /dev/null and b/app/src/main/assets/local_Cartoons/21.jpg differ diff --git a/app/src/main/assets/local_Cartoons/22.jpg b/app/src/main/assets/local_Cartoons/22.jpg new file mode 100644 index 0000000..cd003eb Binary files /dev/null and b/app/src/main/assets/local_Cartoons/22.jpg differ diff --git a/app/src/main/assets/local_Cartoons/23.jpg b/app/src/main/assets/local_Cartoons/23.jpg new file mode 100644 index 0000000..77b49a4 Binary files /dev/null and b/app/src/main/assets/local_Cartoons/23.jpg differ diff --git a/app/src/main/assets/local_Cartoons/24.jpg b/app/src/main/assets/local_Cartoons/24.jpg new file mode 100644 index 0000000..1c7dc65 Binary files /dev/null and b/app/src/main/assets/local_Cartoons/24.jpg differ diff --git a/app/src/main/assets/local_Cartoons/25.jpg b/app/src/main/assets/local_Cartoons/25.jpg new file mode 100644 index 0000000..442aec2 Binary files /dev/null and b/app/src/main/assets/local_Cartoons/25.jpg differ diff --git a/app/src/main/assets/local_Cartoons/26.jpg b/app/src/main/assets/local_Cartoons/26.jpg new file mode 100644 index 0000000..ec4a2ff Binary files /dev/null and b/app/src/main/assets/local_Cartoons/26.jpg differ diff --git a/app/src/main/assets/local_Cartoons/3.svg b/app/src/main/assets/local_Cartoons/3.svg new file mode 100644 index 0000000..6904e0b --- /dev/null +++ b/app/src/main/assets/local_Cartoons/3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Cartoons/4.svg b/app/src/main/assets/local_Cartoons/4.svg new file mode 100644 index 0000000..3b2121d --- /dev/null +++ b/app/src/main/assets/local_Cartoons/4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Cartoons/5.svg b/app/src/main/assets/local_Cartoons/5.svg new file mode 100644 index 0000000..bfc105e --- /dev/null +++ b/app/src/main/assets/local_Cartoons/5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Cartoons/6.svg b/app/src/main/assets/local_Cartoons/6.svg new file mode 100644 index 0000000..aa2b33d --- /dev/null +++ b/app/src/main/assets/local_Cartoons/6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Cartoons/7.svg b/app/src/main/assets/local_Cartoons/7.svg new file mode 100644 index 0000000..5a82c05 --- /dev/null +++ b/app/src/main/assets/local_Cartoons/7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Cartoons/8.svg b/app/src/main/assets/local_Cartoons/8.svg new file mode 100644 index 0000000..ddb2131 --- /dev/null +++ b/app/src/main/assets/local_Cartoons/8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Christmas/1.jpg b/app/src/main/assets/local_Christmas/1.jpg new file mode 100644 index 0000000..cc1fafb Binary files /dev/null and b/app/src/main/assets/local_Christmas/1.jpg differ diff --git a/app/src/main/assets/local_Christmas/10.jpg b/app/src/main/assets/local_Christmas/10.jpg new file mode 100644 index 0000000..e5e63d6 Binary files /dev/null and b/app/src/main/assets/local_Christmas/10.jpg differ diff --git a/app/src/main/assets/local_Christmas/11.jpg b/app/src/main/assets/local_Christmas/11.jpg new file mode 100644 index 0000000..cae5d66 Binary files /dev/null and b/app/src/main/assets/local_Christmas/11.jpg differ diff --git a/app/src/main/assets/local_Christmas/12.jpg b/app/src/main/assets/local_Christmas/12.jpg new file mode 100644 index 0000000..13fd21f Binary files /dev/null and b/app/src/main/assets/local_Christmas/12.jpg differ diff --git a/app/src/main/assets/local_Christmas/13.jpg b/app/src/main/assets/local_Christmas/13.jpg new file mode 100644 index 0000000..1fa30fe Binary files /dev/null and b/app/src/main/assets/local_Christmas/13.jpg differ diff --git a/app/src/main/assets/local_Christmas/14.jpg b/app/src/main/assets/local_Christmas/14.jpg new file mode 100644 index 0000000..aec6dcf Binary files /dev/null and b/app/src/main/assets/local_Christmas/14.jpg differ diff --git a/app/src/main/assets/local_Christmas/15.jpg b/app/src/main/assets/local_Christmas/15.jpg new file mode 100644 index 0000000..647c8b6 Binary files /dev/null and b/app/src/main/assets/local_Christmas/15.jpg differ diff --git a/app/src/main/assets/local_Christmas/16.jpg b/app/src/main/assets/local_Christmas/16.jpg new file mode 100644 index 0000000..b36a79c Binary files /dev/null and b/app/src/main/assets/local_Christmas/16.jpg differ diff --git a/app/src/main/assets/local_Christmas/17.jpg b/app/src/main/assets/local_Christmas/17.jpg new file mode 100644 index 0000000..2655af2 Binary files /dev/null and b/app/src/main/assets/local_Christmas/17.jpg differ diff --git a/app/src/main/assets/local_Christmas/18.jpg b/app/src/main/assets/local_Christmas/18.jpg new file mode 100644 index 0000000..e784d64 Binary files /dev/null and b/app/src/main/assets/local_Christmas/18.jpg differ diff --git a/app/src/main/assets/local_Christmas/19.jpg b/app/src/main/assets/local_Christmas/19.jpg new file mode 100644 index 0000000..fcf2085 Binary files /dev/null and b/app/src/main/assets/local_Christmas/19.jpg differ diff --git a/app/src/main/assets/local_Christmas/2.jpg b/app/src/main/assets/local_Christmas/2.jpg new file mode 100644 index 0000000..326e86b Binary files /dev/null and b/app/src/main/assets/local_Christmas/2.jpg differ diff --git a/app/src/main/assets/local_Christmas/20.jpg b/app/src/main/assets/local_Christmas/20.jpg new file mode 100644 index 0000000..a9e3c89 Binary files /dev/null and b/app/src/main/assets/local_Christmas/20.jpg differ diff --git a/app/src/main/assets/local_Christmas/21.jpg b/app/src/main/assets/local_Christmas/21.jpg new file mode 100644 index 0000000..71b4150 Binary files /dev/null and b/app/src/main/assets/local_Christmas/21.jpg differ diff --git a/app/src/main/assets/local_Christmas/22.jpg b/app/src/main/assets/local_Christmas/22.jpg new file mode 100644 index 0000000..3c99d0d Binary files /dev/null and b/app/src/main/assets/local_Christmas/22.jpg differ diff --git a/app/src/main/assets/local_Christmas/23.jpg b/app/src/main/assets/local_Christmas/23.jpg new file mode 100644 index 0000000..32c3b03 Binary files /dev/null and b/app/src/main/assets/local_Christmas/23.jpg differ diff --git a/app/src/main/assets/local_Christmas/24.jpg b/app/src/main/assets/local_Christmas/24.jpg new file mode 100644 index 0000000..80fd836 Binary files /dev/null and b/app/src/main/assets/local_Christmas/24.jpg differ diff --git a/app/src/main/assets/local_Christmas/25.jpg b/app/src/main/assets/local_Christmas/25.jpg new file mode 100644 index 0000000..8e2bef6 Binary files /dev/null and b/app/src/main/assets/local_Christmas/25.jpg differ diff --git a/app/src/main/assets/local_Christmas/3.jpg b/app/src/main/assets/local_Christmas/3.jpg new file mode 100644 index 0000000..4c24cd2 Binary files /dev/null and b/app/src/main/assets/local_Christmas/3.jpg differ diff --git a/app/src/main/assets/local_Christmas/4.jpg b/app/src/main/assets/local_Christmas/4.jpg new file mode 100644 index 0000000..28fb1b0 Binary files /dev/null and b/app/src/main/assets/local_Christmas/4.jpg differ diff --git a/app/src/main/assets/local_Christmas/5.jpg b/app/src/main/assets/local_Christmas/5.jpg new file mode 100644 index 0000000..93ad555 Binary files /dev/null and b/app/src/main/assets/local_Christmas/5.jpg differ diff --git a/app/src/main/assets/local_Christmas/6.jpg b/app/src/main/assets/local_Christmas/6.jpg new file mode 100644 index 0000000..02fe302 Binary files /dev/null and b/app/src/main/assets/local_Christmas/6.jpg differ diff --git a/app/src/main/assets/local_Christmas/7.jpg b/app/src/main/assets/local_Christmas/7.jpg new file mode 100644 index 0000000..dc41982 Binary files /dev/null and b/app/src/main/assets/local_Christmas/7.jpg differ diff --git a/app/src/main/assets/local_Christmas/8.jpg b/app/src/main/assets/local_Christmas/8.jpg new file mode 100644 index 0000000..5f13019 Binary files /dev/null and b/app/src/main/assets/local_Christmas/8.jpg differ diff --git a/app/src/main/assets/local_Christmas/9.jpg b/app/src/main/assets/local_Christmas/9.jpg new file mode 100644 index 0000000..e556980 Binary files /dev/null and b/app/src/main/assets/local_Christmas/9.jpg differ diff --git a/app/src/main/assets/local_Festivals/1.jpg b/app/src/main/assets/local_Festivals/1.jpg new file mode 100644 index 0000000..125d632 Binary files /dev/null and b/app/src/main/assets/local_Festivals/1.jpg differ diff --git a/app/src/main/assets/local_Festivals/10.jpg b/app/src/main/assets/local_Festivals/10.jpg new file mode 100644 index 0000000..d17b9f1 Binary files /dev/null and b/app/src/main/assets/local_Festivals/10.jpg differ diff --git a/app/src/main/assets/local_Festivals/11.jpg b/app/src/main/assets/local_Festivals/11.jpg new file mode 100644 index 0000000..702f052 Binary files /dev/null and b/app/src/main/assets/local_Festivals/11.jpg differ diff --git a/app/src/main/assets/local_Festivals/12.jpg b/app/src/main/assets/local_Festivals/12.jpg new file mode 100644 index 0000000..6f231e1 Binary files /dev/null and b/app/src/main/assets/local_Festivals/12.jpg differ diff --git a/app/src/main/assets/local_Festivals/13.jpg b/app/src/main/assets/local_Festivals/13.jpg new file mode 100644 index 0000000..20556a1 Binary files /dev/null and b/app/src/main/assets/local_Festivals/13.jpg differ diff --git a/app/src/main/assets/local_Festivals/14.jpg b/app/src/main/assets/local_Festivals/14.jpg new file mode 100644 index 0000000..fb78127 Binary files /dev/null and b/app/src/main/assets/local_Festivals/14.jpg differ diff --git a/app/src/main/assets/local_Festivals/15.jpg b/app/src/main/assets/local_Festivals/15.jpg new file mode 100644 index 0000000..e74f47e Binary files /dev/null and b/app/src/main/assets/local_Festivals/15.jpg differ diff --git a/app/src/main/assets/local_Festivals/16.jpg b/app/src/main/assets/local_Festivals/16.jpg new file mode 100644 index 0000000..136f6e8 Binary files /dev/null and b/app/src/main/assets/local_Festivals/16.jpg differ diff --git a/app/src/main/assets/local_Festivals/17.jpg b/app/src/main/assets/local_Festivals/17.jpg new file mode 100644 index 0000000..fd50e67 Binary files /dev/null and b/app/src/main/assets/local_Festivals/17.jpg differ diff --git a/app/src/main/assets/local_Festivals/18.jpg b/app/src/main/assets/local_Festivals/18.jpg new file mode 100644 index 0000000..d3f7936 Binary files /dev/null and b/app/src/main/assets/local_Festivals/18.jpg differ diff --git a/app/src/main/assets/local_Festivals/19.jpg b/app/src/main/assets/local_Festivals/19.jpg new file mode 100644 index 0000000..9a4f1b8 Binary files /dev/null and b/app/src/main/assets/local_Festivals/19.jpg differ diff --git a/app/src/main/assets/local_Festivals/2.jpg b/app/src/main/assets/local_Festivals/2.jpg new file mode 100644 index 0000000..84aa31a Binary files /dev/null and b/app/src/main/assets/local_Festivals/2.jpg differ diff --git a/app/src/main/assets/local_Festivals/20.jpg b/app/src/main/assets/local_Festivals/20.jpg new file mode 100644 index 0000000..268c943 Binary files /dev/null and b/app/src/main/assets/local_Festivals/20.jpg differ diff --git a/app/src/main/assets/local_Festivals/21.jpg b/app/src/main/assets/local_Festivals/21.jpg new file mode 100644 index 0000000..614bffd Binary files /dev/null and b/app/src/main/assets/local_Festivals/21.jpg differ diff --git a/app/src/main/assets/local_Festivals/22.jpg b/app/src/main/assets/local_Festivals/22.jpg new file mode 100644 index 0000000..f81eb8d Binary files /dev/null and b/app/src/main/assets/local_Festivals/22.jpg differ diff --git a/app/src/main/assets/local_Festivals/3.jpg b/app/src/main/assets/local_Festivals/3.jpg new file mode 100644 index 0000000..5ca2b11 Binary files /dev/null and b/app/src/main/assets/local_Festivals/3.jpg differ diff --git a/app/src/main/assets/local_Festivals/4.jpg b/app/src/main/assets/local_Festivals/4.jpg new file mode 100644 index 0000000..1f8cc81 Binary files /dev/null and b/app/src/main/assets/local_Festivals/4.jpg differ diff --git a/app/src/main/assets/local_Festivals/5.jpg b/app/src/main/assets/local_Festivals/5.jpg new file mode 100644 index 0000000..7f1bd1a Binary files /dev/null and b/app/src/main/assets/local_Festivals/5.jpg differ diff --git a/app/src/main/assets/local_Festivals/6.jpg b/app/src/main/assets/local_Festivals/6.jpg new file mode 100644 index 0000000..9cf832a Binary files /dev/null and b/app/src/main/assets/local_Festivals/6.jpg differ diff --git a/app/src/main/assets/local_Festivals/7.jpg b/app/src/main/assets/local_Festivals/7.jpg new file mode 100644 index 0000000..dcd83f3 Binary files /dev/null and b/app/src/main/assets/local_Festivals/7.jpg differ diff --git a/app/src/main/assets/local_Festivals/8.jpg b/app/src/main/assets/local_Festivals/8.jpg new file mode 100644 index 0000000..1117f09 Binary files /dev/null and b/app/src/main/assets/local_Festivals/8.jpg differ diff --git a/app/src/main/assets/local_Festivals/9.jpg b/app/src/main/assets/local_Festivals/9.jpg new file mode 100644 index 0000000..39d8467 Binary files /dev/null and b/app/src/main/assets/local_Festivals/9.jpg differ diff --git a/app/src/main/assets/local_Flowers/1.jpg b/app/src/main/assets/local_Flowers/1.jpg new file mode 100644 index 0000000..217d9c8 Binary files /dev/null and b/app/src/main/assets/local_Flowers/1.jpg differ diff --git a/app/src/main/assets/local_Flowers/1.svg b/app/src/main/assets/local_Flowers/1.svg new file mode 100644 index 0000000..d8d4e2c --- /dev/null +++ b/app/src/main/assets/local_Flowers/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Flowers/10.jpg b/app/src/main/assets/local_Flowers/10.jpg new file mode 100644 index 0000000..ba84e61 Binary files /dev/null and b/app/src/main/assets/local_Flowers/10.jpg differ diff --git a/app/src/main/assets/local_Flowers/11.jpg b/app/src/main/assets/local_Flowers/11.jpg new file mode 100644 index 0000000..e579753 Binary files /dev/null and b/app/src/main/assets/local_Flowers/11.jpg differ diff --git a/app/src/main/assets/local_Flowers/12.jpg b/app/src/main/assets/local_Flowers/12.jpg new file mode 100644 index 0000000..26092f9 Binary files /dev/null and b/app/src/main/assets/local_Flowers/12.jpg differ diff --git a/app/src/main/assets/local_Flowers/13.jpg b/app/src/main/assets/local_Flowers/13.jpg new file mode 100644 index 0000000..41d2df3 Binary files /dev/null and b/app/src/main/assets/local_Flowers/13.jpg differ diff --git a/app/src/main/assets/local_Flowers/14.jpg b/app/src/main/assets/local_Flowers/14.jpg new file mode 100644 index 0000000..c44df66 Binary files /dev/null and b/app/src/main/assets/local_Flowers/14.jpg differ diff --git a/app/src/main/assets/local_Flowers/15.jpg b/app/src/main/assets/local_Flowers/15.jpg new file mode 100644 index 0000000..ea34d36 Binary files /dev/null and b/app/src/main/assets/local_Flowers/15.jpg differ diff --git a/app/src/main/assets/local_Flowers/16.jpg b/app/src/main/assets/local_Flowers/16.jpg new file mode 100644 index 0000000..506beb1 Binary files /dev/null and b/app/src/main/assets/local_Flowers/16.jpg differ diff --git a/app/src/main/assets/local_Flowers/17.jpg b/app/src/main/assets/local_Flowers/17.jpg new file mode 100644 index 0000000..3764b21 Binary files /dev/null and b/app/src/main/assets/local_Flowers/17.jpg differ diff --git a/app/src/main/assets/local_Flowers/18.jpg b/app/src/main/assets/local_Flowers/18.jpg new file mode 100644 index 0000000..a759ab6 Binary files /dev/null and b/app/src/main/assets/local_Flowers/18.jpg differ diff --git a/app/src/main/assets/local_Flowers/19.jpg b/app/src/main/assets/local_Flowers/19.jpg new file mode 100644 index 0000000..e8c2a84 Binary files /dev/null and b/app/src/main/assets/local_Flowers/19.jpg differ diff --git a/app/src/main/assets/local_Flowers/2.jpg b/app/src/main/assets/local_Flowers/2.jpg new file mode 100644 index 0000000..fb7e56f Binary files /dev/null and b/app/src/main/assets/local_Flowers/2.jpg differ diff --git a/app/src/main/assets/local_Flowers/2.svg b/app/src/main/assets/local_Flowers/2.svg new file mode 100644 index 0000000..23b8266 --- /dev/null +++ b/app/src/main/assets/local_Flowers/2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Flowers/20.jpg b/app/src/main/assets/local_Flowers/20.jpg new file mode 100644 index 0000000..93e5408 Binary files /dev/null and b/app/src/main/assets/local_Flowers/20.jpg differ diff --git a/app/src/main/assets/local_Flowers/21.jpg b/app/src/main/assets/local_Flowers/21.jpg new file mode 100644 index 0000000..4fa3a77 Binary files /dev/null and b/app/src/main/assets/local_Flowers/21.jpg differ diff --git a/app/src/main/assets/local_Flowers/22.jpg b/app/src/main/assets/local_Flowers/22.jpg new file mode 100644 index 0000000..6f45df7 Binary files /dev/null and b/app/src/main/assets/local_Flowers/22.jpg differ diff --git a/app/src/main/assets/local_Flowers/23.jpg b/app/src/main/assets/local_Flowers/23.jpg new file mode 100644 index 0000000..46e806d Binary files /dev/null and b/app/src/main/assets/local_Flowers/23.jpg differ diff --git a/app/src/main/assets/local_Flowers/3.jpg b/app/src/main/assets/local_Flowers/3.jpg new file mode 100644 index 0000000..22a741c Binary files /dev/null and b/app/src/main/assets/local_Flowers/3.jpg differ diff --git a/app/src/main/assets/local_Flowers/3.svg b/app/src/main/assets/local_Flowers/3.svg new file mode 100644 index 0000000..6808e64 --- /dev/null +++ b/app/src/main/assets/local_Flowers/3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Flowers/4.jpg b/app/src/main/assets/local_Flowers/4.jpg new file mode 100644 index 0000000..dd0a30f Binary files /dev/null and b/app/src/main/assets/local_Flowers/4.jpg differ diff --git a/app/src/main/assets/local_Flowers/4.svg b/app/src/main/assets/local_Flowers/4.svg new file mode 100644 index 0000000..191d15a --- /dev/null +++ b/app/src/main/assets/local_Flowers/4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Flowers/5.jpg b/app/src/main/assets/local_Flowers/5.jpg new file mode 100644 index 0000000..9dcb4f5 Binary files /dev/null and b/app/src/main/assets/local_Flowers/5.jpg differ diff --git a/app/src/main/assets/local_Flowers/5.svg b/app/src/main/assets/local_Flowers/5.svg new file mode 100644 index 0000000..8e5167a --- /dev/null +++ b/app/src/main/assets/local_Flowers/5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Flowers/6.jpg b/app/src/main/assets/local_Flowers/6.jpg new file mode 100644 index 0000000..cdf1f65 Binary files /dev/null and b/app/src/main/assets/local_Flowers/6.jpg differ diff --git a/app/src/main/assets/local_Flowers/6.svg b/app/src/main/assets/local_Flowers/6.svg new file mode 100644 index 0000000..4be81c1 --- /dev/null +++ b/app/src/main/assets/local_Flowers/6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Flowers/7.jpg b/app/src/main/assets/local_Flowers/7.jpg new file mode 100644 index 0000000..caab990 Binary files /dev/null and b/app/src/main/assets/local_Flowers/7.jpg differ diff --git a/app/src/main/assets/local_Flowers/7.svg b/app/src/main/assets/local_Flowers/7.svg new file mode 100644 index 0000000..813388e --- /dev/null +++ b/app/src/main/assets/local_Flowers/7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Flowers/8.jpg b/app/src/main/assets/local_Flowers/8.jpg new file mode 100644 index 0000000..c43832b Binary files /dev/null and b/app/src/main/assets/local_Flowers/8.jpg differ diff --git a/app/src/main/assets/local_Flowers/9.jpg b/app/src/main/assets/local_Flowers/9.jpg new file mode 100644 index 0000000..5b78ee1 Binary files /dev/null and b/app/src/main/assets/local_Flowers/9.jpg differ diff --git a/app/src/main/assets/local_Food/1.jpg b/app/src/main/assets/local_Food/1.jpg new file mode 100644 index 0000000..b347b44 Binary files /dev/null and b/app/src/main/assets/local_Food/1.jpg differ diff --git a/app/src/main/assets/local_Food/1.svg b/app/src/main/assets/local_Food/1.svg new file mode 100644 index 0000000..f4028b7 --- /dev/null +++ b/app/src/main/assets/local_Food/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Food/10.jpg b/app/src/main/assets/local_Food/10.jpg new file mode 100644 index 0000000..3728490 Binary files /dev/null and b/app/src/main/assets/local_Food/10.jpg differ diff --git a/app/src/main/assets/local_Food/11.jpg b/app/src/main/assets/local_Food/11.jpg new file mode 100644 index 0000000..bff21e1 Binary files /dev/null and b/app/src/main/assets/local_Food/11.jpg differ diff --git a/app/src/main/assets/local_Food/12.jpg b/app/src/main/assets/local_Food/12.jpg new file mode 100644 index 0000000..3966d4a Binary files /dev/null and b/app/src/main/assets/local_Food/12.jpg differ diff --git a/app/src/main/assets/local_Food/13.jpg b/app/src/main/assets/local_Food/13.jpg new file mode 100644 index 0000000..8200e12 Binary files /dev/null and b/app/src/main/assets/local_Food/13.jpg differ diff --git a/app/src/main/assets/local_Food/14.jpg b/app/src/main/assets/local_Food/14.jpg new file mode 100644 index 0000000..65ee383 Binary files /dev/null and b/app/src/main/assets/local_Food/14.jpg differ diff --git a/app/src/main/assets/local_Food/15.jpg b/app/src/main/assets/local_Food/15.jpg new file mode 100644 index 0000000..01df5e5 Binary files /dev/null and b/app/src/main/assets/local_Food/15.jpg differ diff --git a/app/src/main/assets/local_Food/16.jpg b/app/src/main/assets/local_Food/16.jpg new file mode 100644 index 0000000..ff679c1 Binary files /dev/null and b/app/src/main/assets/local_Food/16.jpg differ diff --git a/app/src/main/assets/local_Food/17.jpg b/app/src/main/assets/local_Food/17.jpg new file mode 100644 index 0000000..42fdf87 Binary files /dev/null and b/app/src/main/assets/local_Food/17.jpg differ diff --git a/app/src/main/assets/local_Food/18.jpg b/app/src/main/assets/local_Food/18.jpg new file mode 100644 index 0000000..06d300e Binary files /dev/null and b/app/src/main/assets/local_Food/18.jpg differ diff --git a/app/src/main/assets/local_Food/19.jpg b/app/src/main/assets/local_Food/19.jpg new file mode 100644 index 0000000..42aaa2c Binary files /dev/null and b/app/src/main/assets/local_Food/19.jpg differ diff --git a/app/src/main/assets/local_Food/2.jpg b/app/src/main/assets/local_Food/2.jpg new file mode 100644 index 0000000..14d9b25 Binary files /dev/null and b/app/src/main/assets/local_Food/2.jpg differ diff --git a/app/src/main/assets/local_Food/2.svg b/app/src/main/assets/local_Food/2.svg new file mode 100644 index 0000000..0dc8110 --- /dev/null +++ b/app/src/main/assets/local_Food/2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Food/20.jpg b/app/src/main/assets/local_Food/20.jpg new file mode 100644 index 0000000..5dad84c Binary files /dev/null and b/app/src/main/assets/local_Food/20.jpg differ diff --git a/app/src/main/assets/local_Food/21.jpg b/app/src/main/assets/local_Food/21.jpg new file mode 100644 index 0000000..c019faa Binary files /dev/null and b/app/src/main/assets/local_Food/21.jpg differ diff --git a/app/src/main/assets/local_Food/22.jpg b/app/src/main/assets/local_Food/22.jpg new file mode 100644 index 0000000..28cdc4e Binary files /dev/null and b/app/src/main/assets/local_Food/22.jpg differ diff --git a/app/src/main/assets/local_Food/23.jpg b/app/src/main/assets/local_Food/23.jpg new file mode 100644 index 0000000..973a5c2 Binary files /dev/null and b/app/src/main/assets/local_Food/23.jpg differ diff --git a/app/src/main/assets/local_Food/24.jpg b/app/src/main/assets/local_Food/24.jpg new file mode 100644 index 0000000..3c36d8a Binary files /dev/null and b/app/src/main/assets/local_Food/24.jpg differ diff --git a/app/src/main/assets/local_Food/25.jpg b/app/src/main/assets/local_Food/25.jpg new file mode 100644 index 0000000..c7be496 Binary files /dev/null and b/app/src/main/assets/local_Food/25.jpg differ diff --git a/app/src/main/assets/local_Food/26.jpg b/app/src/main/assets/local_Food/26.jpg new file mode 100644 index 0000000..7229696 Binary files /dev/null and b/app/src/main/assets/local_Food/26.jpg differ diff --git a/app/src/main/assets/local_Food/27.jpg b/app/src/main/assets/local_Food/27.jpg new file mode 100644 index 0000000..f857542 Binary files /dev/null and b/app/src/main/assets/local_Food/27.jpg differ diff --git a/app/src/main/assets/local_Food/28.jpg b/app/src/main/assets/local_Food/28.jpg new file mode 100644 index 0000000..8cde6de Binary files /dev/null and b/app/src/main/assets/local_Food/28.jpg differ diff --git a/app/src/main/assets/local_Food/29.jpg b/app/src/main/assets/local_Food/29.jpg new file mode 100644 index 0000000..8affd30 Binary files /dev/null and b/app/src/main/assets/local_Food/29.jpg differ diff --git a/app/src/main/assets/local_Food/3.jpg b/app/src/main/assets/local_Food/3.jpg new file mode 100644 index 0000000..b1c3cfa Binary files /dev/null and b/app/src/main/assets/local_Food/3.jpg differ diff --git a/app/src/main/assets/local_Food/3.svg b/app/src/main/assets/local_Food/3.svg new file mode 100644 index 0000000..7a2be89 --- /dev/null +++ b/app/src/main/assets/local_Food/3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Food/30.jpg b/app/src/main/assets/local_Food/30.jpg new file mode 100644 index 0000000..f71ce84 Binary files /dev/null and b/app/src/main/assets/local_Food/30.jpg differ diff --git a/app/src/main/assets/local_Food/31.jpg b/app/src/main/assets/local_Food/31.jpg new file mode 100644 index 0000000..a5d22ca Binary files /dev/null and b/app/src/main/assets/local_Food/31.jpg differ diff --git a/app/src/main/assets/local_Food/32.jpg b/app/src/main/assets/local_Food/32.jpg new file mode 100644 index 0000000..8513a5e Binary files /dev/null and b/app/src/main/assets/local_Food/32.jpg differ diff --git a/app/src/main/assets/local_Food/33.jpg b/app/src/main/assets/local_Food/33.jpg new file mode 100644 index 0000000..fcdcbcc Binary files /dev/null and b/app/src/main/assets/local_Food/33.jpg differ diff --git a/app/src/main/assets/local_Food/34.jpg b/app/src/main/assets/local_Food/34.jpg new file mode 100644 index 0000000..51bbf4b Binary files /dev/null and b/app/src/main/assets/local_Food/34.jpg differ diff --git a/app/src/main/assets/local_Food/35.jpg b/app/src/main/assets/local_Food/35.jpg new file mode 100644 index 0000000..e1067da Binary files /dev/null and b/app/src/main/assets/local_Food/35.jpg differ diff --git a/app/src/main/assets/local_Food/36.jpg b/app/src/main/assets/local_Food/36.jpg new file mode 100644 index 0000000..181a84a Binary files /dev/null and b/app/src/main/assets/local_Food/36.jpg differ diff --git a/app/src/main/assets/local_Food/37.jpg b/app/src/main/assets/local_Food/37.jpg new file mode 100644 index 0000000..d8ffb00 Binary files /dev/null and b/app/src/main/assets/local_Food/37.jpg differ diff --git a/app/src/main/assets/local_Food/38.jpg b/app/src/main/assets/local_Food/38.jpg new file mode 100644 index 0000000..abdba50 Binary files /dev/null and b/app/src/main/assets/local_Food/38.jpg differ diff --git a/app/src/main/assets/local_Food/4.jpg b/app/src/main/assets/local_Food/4.jpg new file mode 100644 index 0000000..8792f16 Binary files /dev/null and b/app/src/main/assets/local_Food/4.jpg differ diff --git a/app/src/main/assets/local_Food/4.svg b/app/src/main/assets/local_Food/4.svg new file mode 100644 index 0000000..93fd3ed --- /dev/null +++ b/app/src/main/assets/local_Food/4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Food/5.jpg b/app/src/main/assets/local_Food/5.jpg new file mode 100644 index 0000000..89630aa Binary files /dev/null and b/app/src/main/assets/local_Food/5.jpg differ diff --git a/app/src/main/assets/local_Food/5.svg b/app/src/main/assets/local_Food/5.svg new file mode 100644 index 0000000..6ad410d --- /dev/null +++ b/app/src/main/assets/local_Food/5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Food/6.jpg b/app/src/main/assets/local_Food/6.jpg new file mode 100644 index 0000000..7e6832e Binary files /dev/null and b/app/src/main/assets/local_Food/6.jpg differ diff --git a/app/src/main/assets/local_Food/6.svg b/app/src/main/assets/local_Food/6.svg new file mode 100644 index 0000000..2b35e16 --- /dev/null +++ b/app/src/main/assets/local_Food/6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Food/7.jpg b/app/src/main/assets/local_Food/7.jpg new file mode 100644 index 0000000..f4d2afb Binary files /dev/null and b/app/src/main/assets/local_Food/7.jpg differ diff --git a/app/src/main/assets/local_Food/7.svg b/app/src/main/assets/local_Food/7.svg new file mode 100644 index 0000000..4a28d16 --- /dev/null +++ b/app/src/main/assets/local_Food/7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Food/8.jpg b/app/src/main/assets/local_Food/8.jpg new file mode 100644 index 0000000..78f5ccf Binary files /dev/null and b/app/src/main/assets/local_Food/8.jpg differ diff --git a/app/src/main/assets/local_Food/9.jpg b/app/src/main/assets/local_Food/9.jpg new file mode 100644 index 0000000..4038bb5 Binary files /dev/null and b/app/src/main/assets/local_Food/9.jpg differ diff --git a/app/src/main/assets/local_Fruits/1.jpg b/app/src/main/assets/local_Fruits/1.jpg new file mode 100644 index 0000000..767c0b4 Binary files /dev/null and b/app/src/main/assets/local_Fruits/1.jpg differ diff --git a/app/src/main/assets/local_Fruits/10.jpg b/app/src/main/assets/local_Fruits/10.jpg new file mode 100644 index 0000000..95bdbca Binary files /dev/null and b/app/src/main/assets/local_Fruits/10.jpg differ diff --git a/app/src/main/assets/local_Fruits/11.jpg b/app/src/main/assets/local_Fruits/11.jpg new file mode 100644 index 0000000..b0bb89a Binary files /dev/null and b/app/src/main/assets/local_Fruits/11.jpg differ diff --git a/app/src/main/assets/local_Fruits/12.jpg b/app/src/main/assets/local_Fruits/12.jpg new file mode 100644 index 0000000..c1d9bad Binary files /dev/null and b/app/src/main/assets/local_Fruits/12.jpg differ diff --git a/app/src/main/assets/local_Fruits/13.jpg b/app/src/main/assets/local_Fruits/13.jpg new file mode 100644 index 0000000..f44fb86 Binary files /dev/null and b/app/src/main/assets/local_Fruits/13.jpg differ diff --git a/app/src/main/assets/local_Fruits/14.jpg b/app/src/main/assets/local_Fruits/14.jpg new file mode 100644 index 0000000..459a60c Binary files /dev/null and b/app/src/main/assets/local_Fruits/14.jpg differ diff --git a/app/src/main/assets/local_Fruits/15.jpg b/app/src/main/assets/local_Fruits/15.jpg new file mode 100644 index 0000000..a4e4abe Binary files /dev/null and b/app/src/main/assets/local_Fruits/15.jpg differ diff --git a/app/src/main/assets/local_Fruits/16.jpg b/app/src/main/assets/local_Fruits/16.jpg new file mode 100644 index 0000000..33a7a9a Binary files /dev/null and b/app/src/main/assets/local_Fruits/16.jpg differ diff --git a/app/src/main/assets/local_Fruits/17.jpg b/app/src/main/assets/local_Fruits/17.jpg new file mode 100644 index 0000000..c193b1e Binary files /dev/null and b/app/src/main/assets/local_Fruits/17.jpg differ diff --git a/app/src/main/assets/local_Fruits/18.jpg b/app/src/main/assets/local_Fruits/18.jpg new file mode 100644 index 0000000..f0ca248 Binary files /dev/null and b/app/src/main/assets/local_Fruits/18.jpg differ diff --git a/app/src/main/assets/local_Fruits/19.jpg b/app/src/main/assets/local_Fruits/19.jpg new file mode 100644 index 0000000..d93dfde Binary files /dev/null and b/app/src/main/assets/local_Fruits/19.jpg differ diff --git a/app/src/main/assets/local_Fruits/2.jpg b/app/src/main/assets/local_Fruits/2.jpg new file mode 100644 index 0000000..b32f9f5 Binary files /dev/null and b/app/src/main/assets/local_Fruits/2.jpg differ diff --git a/app/src/main/assets/local_Fruits/20.jpg b/app/src/main/assets/local_Fruits/20.jpg new file mode 100644 index 0000000..cc3fe93 Binary files /dev/null and b/app/src/main/assets/local_Fruits/20.jpg differ diff --git a/app/src/main/assets/local_Fruits/21.jpg b/app/src/main/assets/local_Fruits/21.jpg new file mode 100644 index 0000000..c1813eb Binary files /dev/null and b/app/src/main/assets/local_Fruits/21.jpg differ diff --git a/app/src/main/assets/local_Fruits/22.jpg b/app/src/main/assets/local_Fruits/22.jpg new file mode 100644 index 0000000..47387e1 Binary files /dev/null and b/app/src/main/assets/local_Fruits/22.jpg differ diff --git a/app/src/main/assets/local_Fruits/23.jpg b/app/src/main/assets/local_Fruits/23.jpg new file mode 100644 index 0000000..7f173ec Binary files /dev/null and b/app/src/main/assets/local_Fruits/23.jpg differ diff --git a/app/src/main/assets/local_Fruits/24.jpg b/app/src/main/assets/local_Fruits/24.jpg new file mode 100644 index 0000000..a7ae235 Binary files /dev/null and b/app/src/main/assets/local_Fruits/24.jpg differ diff --git a/app/src/main/assets/local_Fruits/25.jpg b/app/src/main/assets/local_Fruits/25.jpg new file mode 100644 index 0000000..dd664bb Binary files /dev/null and b/app/src/main/assets/local_Fruits/25.jpg differ diff --git a/app/src/main/assets/local_Fruits/26.jpg b/app/src/main/assets/local_Fruits/26.jpg new file mode 100644 index 0000000..c8e4723 Binary files /dev/null and b/app/src/main/assets/local_Fruits/26.jpg differ diff --git a/app/src/main/assets/local_Fruits/27.jpg b/app/src/main/assets/local_Fruits/27.jpg new file mode 100644 index 0000000..816337d Binary files /dev/null and b/app/src/main/assets/local_Fruits/27.jpg differ diff --git a/app/src/main/assets/local_Fruits/28.jpg b/app/src/main/assets/local_Fruits/28.jpg new file mode 100644 index 0000000..29973d5 Binary files /dev/null and b/app/src/main/assets/local_Fruits/28.jpg differ diff --git a/app/src/main/assets/local_Fruits/29.jpg b/app/src/main/assets/local_Fruits/29.jpg new file mode 100644 index 0000000..4f0750f Binary files /dev/null and b/app/src/main/assets/local_Fruits/29.jpg differ diff --git a/app/src/main/assets/local_Fruits/3.jpg b/app/src/main/assets/local_Fruits/3.jpg new file mode 100644 index 0000000..f57893b Binary files /dev/null and b/app/src/main/assets/local_Fruits/3.jpg differ diff --git a/app/src/main/assets/local_Fruits/30.jpg b/app/src/main/assets/local_Fruits/30.jpg new file mode 100644 index 0000000..cfd117a Binary files /dev/null and b/app/src/main/assets/local_Fruits/30.jpg differ diff --git a/app/src/main/assets/local_Fruits/31.jpg b/app/src/main/assets/local_Fruits/31.jpg new file mode 100644 index 0000000..b59a7c5 Binary files /dev/null and b/app/src/main/assets/local_Fruits/31.jpg differ diff --git a/app/src/main/assets/local_Fruits/32.jpg b/app/src/main/assets/local_Fruits/32.jpg new file mode 100644 index 0000000..8f70790 Binary files /dev/null and b/app/src/main/assets/local_Fruits/32.jpg differ diff --git a/app/src/main/assets/local_Fruits/33.jpg b/app/src/main/assets/local_Fruits/33.jpg new file mode 100644 index 0000000..373b142 Binary files /dev/null and b/app/src/main/assets/local_Fruits/33.jpg differ diff --git a/app/src/main/assets/local_Fruits/34.jpg b/app/src/main/assets/local_Fruits/34.jpg new file mode 100644 index 0000000..c5beb91 Binary files /dev/null and b/app/src/main/assets/local_Fruits/34.jpg differ diff --git a/app/src/main/assets/local_Fruits/35.jpg b/app/src/main/assets/local_Fruits/35.jpg new file mode 100644 index 0000000..79cd667 Binary files /dev/null and b/app/src/main/assets/local_Fruits/35.jpg differ diff --git a/app/src/main/assets/local_Fruits/36.jpg b/app/src/main/assets/local_Fruits/36.jpg new file mode 100644 index 0000000..c0cb185 Binary files /dev/null and b/app/src/main/assets/local_Fruits/36.jpg differ diff --git a/app/src/main/assets/local_Fruits/37.jpg b/app/src/main/assets/local_Fruits/37.jpg new file mode 100644 index 0000000..ba1b245 Binary files /dev/null and b/app/src/main/assets/local_Fruits/37.jpg differ diff --git a/app/src/main/assets/local_Fruits/38.jpg b/app/src/main/assets/local_Fruits/38.jpg new file mode 100644 index 0000000..c7eccb8 Binary files /dev/null and b/app/src/main/assets/local_Fruits/38.jpg differ diff --git a/app/src/main/assets/local_Fruits/39.jpg b/app/src/main/assets/local_Fruits/39.jpg new file mode 100644 index 0000000..bc95aaa Binary files /dev/null and b/app/src/main/assets/local_Fruits/39.jpg differ diff --git a/app/src/main/assets/local_Fruits/4.jpg b/app/src/main/assets/local_Fruits/4.jpg new file mode 100644 index 0000000..2d7465d Binary files /dev/null and b/app/src/main/assets/local_Fruits/4.jpg differ diff --git a/app/src/main/assets/local_Fruits/5.jpg b/app/src/main/assets/local_Fruits/5.jpg new file mode 100644 index 0000000..8ed633f Binary files /dev/null and b/app/src/main/assets/local_Fruits/5.jpg differ diff --git a/app/src/main/assets/local_Fruits/6.jpg b/app/src/main/assets/local_Fruits/6.jpg new file mode 100644 index 0000000..06ce330 Binary files /dev/null and b/app/src/main/assets/local_Fruits/6.jpg differ diff --git a/app/src/main/assets/local_Fruits/7.jpg b/app/src/main/assets/local_Fruits/7.jpg new file mode 100644 index 0000000..6153618 Binary files /dev/null and b/app/src/main/assets/local_Fruits/7.jpg differ diff --git a/app/src/main/assets/local_Fruits/8.jpg b/app/src/main/assets/local_Fruits/8.jpg new file mode 100644 index 0000000..e333f0f Binary files /dev/null and b/app/src/main/assets/local_Fruits/8.jpg differ diff --git a/app/src/main/assets/local_Fruits/9.jpg b/app/src/main/assets/local_Fruits/9.jpg new file mode 100644 index 0000000..d549d15 Binary files /dev/null and b/app/src/main/assets/local_Fruits/9.jpg differ diff --git a/app/src/main/assets/local_General/1.jpg b/app/src/main/assets/local_General/1.jpg new file mode 100644 index 0000000..eb7c14b Binary files /dev/null and b/app/src/main/assets/local_General/1.jpg differ diff --git a/app/src/main/assets/local_General/10.jpg b/app/src/main/assets/local_General/10.jpg new file mode 100644 index 0000000..eacd298 Binary files /dev/null and b/app/src/main/assets/local_General/10.jpg differ diff --git a/app/src/main/assets/local_General/11.jpg b/app/src/main/assets/local_General/11.jpg new file mode 100644 index 0000000..273a876 Binary files /dev/null and b/app/src/main/assets/local_General/11.jpg differ diff --git a/app/src/main/assets/local_General/12.jpg b/app/src/main/assets/local_General/12.jpg new file mode 100644 index 0000000..5d786c5 Binary files /dev/null and b/app/src/main/assets/local_General/12.jpg differ diff --git a/app/src/main/assets/local_General/13.jpg b/app/src/main/assets/local_General/13.jpg new file mode 100644 index 0000000..486441a Binary files /dev/null and b/app/src/main/assets/local_General/13.jpg differ diff --git a/app/src/main/assets/local_General/14.jpg b/app/src/main/assets/local_General/14.jpg new file mode 100644 index 0000000..c36516b Binary files /dev/null and b/app/src/main/assets/local_General/14.jpg differ diff --git a/app/src/main/assets/local_General/15.jpg b/app/src/main/assets/local_General/15.jpg new file mode 100644 index 0000000..9d19fdf Binary files /dev/null and b/app/src/main/assets/local_General/15.jpg differ diff --git a/app/src/main/assets/local_General/2.jpg b/app/src/main/assets/local_General/2.jpg new file mode 100644 index 0000000..090d5d5 Binary files /dev/null and b/app/src/main/assets/local_General/2.jpg differ diff --git a/app/src/main/assets/local_General/3.jpg b/app/src/main/assets/local_General/3.jpg new file mode 100644 index 0000000..a17f1b2 Binary files /dev/null and b/app/src/main/assets/local_General/3.jpg differ diff --git a/app/src/main/assets/local_General/4.jpg b/app/src/main/assets/local_General/4.jpg new file mode 100644 index 0000000..2f4d8a2 Binary files /dev/null and b/app/src/main/assets/local_General/4.jpg differ diff --git a/app/src/main/assets/local_General/5.jpg b/app/src/main/assets/local_General/5.jpg new file mode 100644 index 0000000..8ac1cdb Binary files /dev/null and b/app/src/main/assets/local_General/5.jpg differ diff --git a/app/src/main/assets/local_General/6.jpg b/app/src/main/assets/local_General/6.jpg new file mode 100644 index 0000000..95cc582 Binary files /dev/null and b/app/src/main/assets/local_General/6.jpg differ diff --git a/app/src/main/assets/local_General/7.jpg b/app/src/main/assets/local_General/7.jpg new file mode 100644 index 0000000..91cbcfd Binary files /dev/null and b/app/src/main/assets/local_General/7.jpg differ diff --git a/app/src/main/assets/local_General/8.jpg b/app/src/main/assets/local_General/8.jpg new file mode 100644 index 0000000..af8da73 Binary files /dev/null and b/app/src/main/assets/local_General/8.jpg differ diff --git a/app/src/main/assets/local_General/9.jpg b/app/src/main/assets/local_General/9.jpg new file mode 100644 index 0000000..d5cfb72 Binary files /dev/null and b/app/src/main/assets/local_General/9.jpg differ diff --git a/app/src/main/assets/local_Mehndi/1.jpg b/app/src/main/assets/local_Mehndi/1.jpg new file mode 100644 index 0000000..8dd8843 Binary files /dev/null and b/app/src/main/assets/local_Mehndi/1.jpg differ diff --git a/app/src/main/assets/local_Mehndi/10.jpg b/app/src/main/assets/local_Mehndi/10.jpg new file mode 100644 index 0000000..2432a79 Binary files /dev/null and b/app/src/main/assets/local_Mehndi/10.jpg differ diff --git a/app/src/main/assets/local_Mehndi/11.jpg b/app/src/main/assets/local_Mehndi/11.jpg new file mode 100644 index 0000000..aba85bf Binary files /dev/null and b/app/src/main/assets/local_Mehndi/11.jpg differ diff --git a/app/src/main/assets/local_Mehndi/12.jpg b/app/src/main/assets/local_Mehndi/12.jpg new file mode 100644 index 0000000..f71ae22 Binary files /dev/null and b/app/src/main/assets/local_Mehndi/12.jpg differ diff --git a/app/src/main/assets/local_Mehndi/2.jpg b/app/src/main/assets/local_Mehndi/2.jpg new file mode 100644 index 0000000..0f56bf7 Binary files /dev/null and b/app/src/main/assets/local_Mehndi/2.jpg differ diff --git a/app/src/main/assets/local_Mehndi/3.jpg b/app/src/main/assets/local_Mehndi/3.jpg new file mode 100644 index 0000000..2bc7b69 Binary files /dev/null and b/app/src/main/assets/local_Mehndi/3.jpg differ diff --git a/app/src/main/assets/local_Mehndi/4.jpg b/app/src/main/assets/local_Mehndi/4.jpg new file mode 100644 index 0000000..6fc3f70 Binary files /dev/null and b/app/src/main/assets/local_Mehndi/4.jpg differ diff --git a/app/src/main/assets/local_Mehndi/5.jpg b/app/src/main/assets/local_Mehndi/5.jpg new file mode 100644 index 0000000..dccb5cf Binary files /dev/null and b/app/src/main/assets/local_Mehndi/5.jpg differ diff --git a/app/src/main/assets/local_Mehndi/6.jpg b/app/src/main/assets/local_Mehndi/6.jpg new file mode 100644 index 0000000..4e052dd Binary files /dev/null and b/app/src/main/assets/local_Mehndi/6.jpg differ diff --git a/app/src/main/assets/local_Mehndi/7.jpg b/app/src/main/assets/local_Mehndi/7.jpg new file mode 100644 index 0000000..021e789 Binary files /dev/null and b/app/src/main/assets/local_Mehndi/7.jpg differ diff --git a/app/src/main/assets/local_Mehndi/8.jpg b/app/src/main/assets/local_Mehndi/8.jpg new file mode 100644 index 0000000..dd45b50 Binary files /dev/null and b/app/src/main/assets/local_Mehndi/8.jpg differ diff --git a/app/src/main/assets/local_Mehndi/9.jpg b/app/src/main/assets/local_Mehndi/9.jpg new file mode 100644 index 0000000..6ff2300 Binary files /dev/null and b/app/src/main/assets/local_Mehndi/9.jpg differ diff --git a/app/src/main/assets/local_Nature/1.jpg b/app/src/main/assets/local_Nature/1.jpg new file mode 100644 index 0000000..22c00e3 Binary files /dev/null and b/app/src/main/assets/local_Nature/1.jpg differ diff --git a/app/src/main/assets/local_Nature/1.svg b/app/src/main/assets/local_Nature/1.svg new file mode 100644 index 0000000..4d49b7c --- /dev/null +++ b/app/src/main/assets/local_Nature/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Nature/10.jpg b/app/src/main/assets/local_Nature/10.jpg new file mode 100644 index 0000000..65aab09 Binary files /dev/null and b/app/src/main/assets/local_Nature/10.jpg differ diff --git a/app/src/main/assets/local_Nature/11.jpg b/app/src/main/assets/local_Nature/11.jpg new file mode 100644 index 0000000..23c6653 Binary files /dev/null and b/app/src/main/assets/local_Nature/11.jpg differ diff --git a/app/src/main/assets/local_Nature/12.jpg b/app/src/main/assets/local_Nature/12.jpg new file mode 100644 index 0000000..36e1835 Binary files /dev/null and b/app/src/main/assets/local_Nature/12.jpg differ diff --git a/app/src/main/assets/local_Nature/13.jpg b/app/src/main/assets/local_Nature/13.jpg new file mode 100644 index 0000000..5816b61 Binary files /dev/null and b/app/src/main/assets/local_Nature/13.jpg differ diff --git a/app/src/main/assets/local_Nature/14.jpg b/app/src/main/assets/local_Nature/14.jpg new file mode 100644 index 0000000..b4e5dc6 Binary files /dev/null and b/app/src/main/assets/local_Nature/14.jpg differ diff --git a/app/src/main/assets/local_Nature/15.jpg b/app/src/main/assets/local_Nature/15.jpg new file mode 100644 index 0000000..5424ac4 Binary files /dev/null and b/app/src/main/assets/local_Nature/15.jpg differ diff --git a/app/src/main/assets/local_Nature/16.jpg b/app/src/main/assets/local_Nature/16.jpg new file mode 100644 index 0000000..fd00791 Binary files /dev/null and b/app/src/main/assets/local_Nature/16.jpg differ diff --git a/app/src/main/assets/local_Nature/17.jpg b/app/src/main/assets/local_Nature/17.jpg new file mode 100644 index 0000000..38410e8 Binary files /dev/null and b/app/src/main/assets/local_Nature/17.jpg differ diff --git a/app/src/main/assets/local_Nature/18.jpg b/app/src/main/assets/local_Nature/18.jpg new file mode 100644 index 0000000..5ae5028 Binary files /dev/null and b/app/src/main/assets/local_Nature/18.jpg differ diff --git a/app/src/main/assets/local_Nature/19.jpg b/app/src/main/assets/local_Nature/19.jpg new file mode 100644 index 0000000..e49b4f1 Binary files /dev/null and b/app/src/main/assets/local_Nature/19.jpg differ diff --git a/app/src/main/assets/local_Nature/2.jpg b/app/src/main/assets/local_Nature/2.jpg new file mode 100644 index 0000000..3b5ec4c Binary files /dev/null and b/app/src/main/assets/local_Nature/2.jpg differ diff --git a/app/src/main/assets/local_Nature/2.svg b/app/src/main/assets/local_Nature/2.svg new file mode 100644 index 0000000..6e077c5 --- /dev/null +++ b/app/src/main/assets/local_Nature/2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Nature/20.jpg b/app/src/main/assets/local_Nature/20.jpg new file mode 100644 index 0000000..cc94724 Binary files /dev/null and b/app/src/main/assets/local_Nature/20.jpg differ diff --git a/app/src/main/assets/local_Nature/21.jpg b/app/src/main/assets/local_Nature/21.jpg new file mode 100644 index 0000000..dfa6c09 Binary files /dev/null and b/app/src/main/assets/local_Nature/21.jpg differ diff --git a/app/src/main/assets/local_Nature/22.jpg b/app/src/main/assets/local_Nature/22.jpg new file mode 100644 index 0000000..c05e638 Binary files /dev/null and b/app/src/main/assets/local_Nature/22.jpg differ diff --git a/app/src/main/assets/local_Nature/23.jpg b/app/src/main/assets/local_Nature/23.jpg new file mode 100644 index 0000000..6f932ec Binary files /dev/null and b/app/src/main/assets/local_Nature/23.jpg differ diff --git a/app/src/main/assets/local_Nature/3.jpg b/app/src/main/assets/local_Nature/3.jpg new file mode 100644 index 0000000..1423546 Binary files /dev/null and b/app/src/main/assets/local_Nature/3.jpg differ diff --git a/app/src/main/assets/local_Nature/3.svg b/app/src/main/assets/local_Nature/3.svg new file mode 100644 index 0000000..72cab9d --- /dev/null +++ b/app/src/main/assets/local_Nature/3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Nature/4.jpg b/app/src/main/assets/local_Nature/4.jpg new file mode 100644 index 0000000..5499510 Binary files /dev/null and b/app/src/main/assets/local_Nature/4.jpg differ diff --git a/app/src/main/assets/local_Nature/4.svg b/app/src/main/assets/local_Nature/4.svg new file mode 100644 index 0000000..66eb006 --- /dev/null +++ b/app/src/main/assets/local_Nature/4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Nature/5.jpg b/app/src/main/assets/local_Nature/5.jpg new file mode 100644 index 0000000..434261a Binary files /dev/null and b/app/src/main/assets/local_Nature/5.jpg differ diff --git a/app/src/main/assets/local_Nature/5.svg b/app/src/main/assets/local_Nature/5.svg new file mode 100644 index 0000000..a8956ee --- /dev/null +++ b/app/src/main/assets/local_Nature/5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Nature/6.jpg b/app/src/main/assets/local_Nature/6.jpg new file mode 100644 index 0000000..f50166b Binary files /dev/null and b/app/src/main/assets/local_Nature/6.jpg differ diff --git a/app/src/main/assets/local_Nature/6.svg b/app/src/main/assets/local_Nature/6.svg new file mode 100644 index 0000000..eece789 --- /dev/null +++ b/app/src/main/assets/local_Nature/6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Nature/7.jpg b/app/src/main/assets/local_Nature/7.jpg new file mode 100644 index 0000000..96e178c Binary files /dev/null and b/app/src/main/assets/local_Nature/7.jpg differ diff --git a/app/src/main/assets/local_Nature/8.jpg b/app/src/main/assets/local_Nature/8.jpg new file mode 100644 index 0000000..c68f4f1 Binary files /dev/null and b/app/src/main/assets/local_Nature/8.jpg differ diff --git a/app/src/main/assets/local_Nature/9.jpg b/app/src/main/assets/local_Nature/9.jpg new file mode 100644 index 0000000..6b8ccb4 Binary files /dev/null and b/app/src/main/assets/local_Nature/9.jpg differ diff --git a/app/src/main/assets/local_One Line Art/1.svg b/app/src/main/assets/local_One Line Art/1.svg new file mode 100644 index 0000000..5465df3 --- /dev/null +++ b/app/src/main/assets/local_One Line Art/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_One Line Art/2.svg b/app/src/main/assets/local_One Line Art/2.svg new file mode 100644 index 0000000..8d8c581 --- /dev/null +++ b/app/src/main/assets/local_One Line Art/2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_One Line Art/3.svg b/app/src/main/assets/local_One Line Art/3.svg new file mode 100644 index 0000000..4ec8394 --- /dev/null +++ b/app/src/main/assets/local_One Line Art/3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_One Line Art/4.svg b/app/src/main/assets/local_One Line Art/4.svg new file mode 100644 index 0000000..34fc71c --- /dev/null +++ b/app/src/main/assets/local_One Line Art/4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_One Line Art/5.svg b/app/src/main/assets/local_One Line Art/5.svg new file mode 100644 index 0000000..715b277 --- /dev/null +++ b/app/src/main/assets/local_One Line Art/5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_One Line Art/6.svg b/app/src/main/assets/local_One Line Art/6.svg new file mode 100644 index 0000000..efaee39 --- /dev/null +++ b/app/src/main/assets/local_One Line Art/6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_People/1.svg b/app/src/main/assets/local_People/1.svg new file mode 100644 index 0000000..d589f97 --- /dev/null +++ b/app/src/main/assets/local_People/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_People/10.jpg b/app/src/main/assets/local_People/10.jpg new file mode 100644 index 0000000..450fa6e Binary files /dev/null and b/app/src/main/assets/local_People/10.jpg differ diff --git a/app/src/main/assets/local_People/12.jpg b/app/src/main/assets/local_People/12.jpg new file mode 100644 index 0000000..86ef206 Binary files /dev/null and b/app/src/main/assets/local_People/12.jpg differ diff --git a/app/src/main/assets/local_People/16.jpg b/app/src/main/assets/local_People/16.jpg new file mode 100644 index 0000000..18377bd Binary files /dev/null and b/app/src/main/assets/local_People/16.jpg differ diff --git a/app/src/main/assets/local_People/2.jpg b/app/src/main/assets/local_People/2.jpg new file mode 100644 index 0000000..8baf95b Binary files /dev/null and b/app/src/main/assets/local_People/2.jpg differ diff --git a/app/src/main/assets/local_People/2.svg b/app/src/main/assets/local_People/2.svg new file mode 100644 index 0000000..eaec686 --- /dev/null +++ b/app/src/main/assets/local_People/2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_People/3.jpg b/app/src/main/assets/local_People/3.jpg new file mode 100644 index 0000000..e099902 Binary files /dev/null and b/app/src/main/assets/local_People/3.jpg differ diff --git a/app/src/main/assets/local_People/3.svg b/app/src/main/assets/local_People/3.svg new file mode 100644 index 0000000..264f9d4 --- /dev/null +++ b/app/src/main/assets/local_People/3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_People/4.jpg b/app/src/main/assets/local_People/4.jpg new file mode 100644 index 0000000..a4c69ba Binary files /dev/null and b/app/src/main/assets/local_People/4.jpg differ diff --git a/app/src/main/assets/local_People/4.svg b/app/src/main/assets/local_People/4.svg new file mode 100644 index 0000000..bd9c104 --- /dev/null +++ b/app/src/main/assets/local_People/4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_People/5.jpg b/app/src/main/assets/local_People/5.jpg new file mode 100644 index 0000000..b32485d Binary files /dev/null and b/app/src/main/assets/local_People/5.jpg differ diff --git a/app/src/main/assets/local_People/5.svg b/app/src/main/assets/local_People/5.svg new file mode 100644 index 0000000..549b5e2 --- /dev/null +++ b/app/src/main/assets/local_People/5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_People/6.jpg b/app/src/main/assets/local_People/6.jpg new file mode 100644 index 0000000..0e0a7ef Binary files /dev/null and b/app/src/main/assets/local_People/6.jpg differ diff --git a/app/src/main/assets/local_People/6.svg b/app/src/main/assets/local_People/6.svg new file mode 100644 index 0000000..6c5e194 --- /dev/null +++ b/app/src/main/assets/local_People/6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_People/7.jpg b/app/src/main/assets/local_People/7.jpg new file mode 100644 index 0000000..ecd8dc0 Binary files /dev/null and b/app/src/main/assets/local_People/7.jpg differ diff --git a/app/src/main/assets/local_People/7.svg b/app/src/main/assets/local_People/7.svg new file mode 100644 index 0000000..38c04bb --- /dev/null +++ b/app/src/main/assets/local_People/7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_People/8.jpg b/app/src/main/assets/local_People/8.jpg new file mode 100644 index 0000000..f6ea587 Binary files /dev/null and b/app/src/main/assets/local_People/8.jpg differ diff --git a/app/src/main/assets/local_People/9.jpg b/app/src/main/assets/local_People/9.jpg new file mode 100644 index 0000000..da4c151 Binary files /dev/null and b/app/src/main/assets/local_People/9.jpg differ diff --git a/app/src/main/assets/local_People/9.svg b/app/src/main/assets/local_People/9.svg new file mode 100644 index 0000000..10f22da --- /dev/null +++ b/app/src/main/assets/local_People/9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Rangoli/1.jpg b/app/src/main/assets/local_Rangoli/1.jpg new file mode 100644 index 0000000..e628714 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/1.jpg differ diff --git a/app/src/main/assets/local_Rangoli/10.jpg b/app/src/main/assets/local_Rangoli/10.jpg new file mode 100644 index 0000000..f6e9d09 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/10.jpg differ diff --git a/app/src/main/assets/local_Rangoli/13.jpg b/app/src/main/assets/local_Rangoli/13.jpg new file mode 100644 index 0000000..9741d57 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/13.jpg differ diff --git a/app/src/main/assets/local_Rangoli/14.jpg b/app/src/main/assets/local_Rangoli/14.jpg new file mode 100644 index 0000000..3ca4970 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/14.jpg differ diff --git a/app/src/main/assets/local_Rangoli/15.jpg b/app/src/main/assets/local_Rangoli/15.jpg new file mode 100644 index 0000000..98abac3 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/15.jpg differ diff --git a/app/src/main/assets/local_Rangoli/16.jpg b/app/src/main/assets/local_Rangoli/16.jpg new file mode 100644 index 0000000..150dfdc Binary files /dev/null and b/app/src/main/assets/local_Rangoli/16.jpg differ diff --git a/app/src/main/assets/local_Rangoli/17.jpg b/app/src/main/assets/local_Rangoli/17.jpg new file mode 100644 index 0000000..4127115 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/17.jpg differ diff --git a/app/src/main/assets/local_Rangoli/18.jpg b/app/src/main/assets/local_Rangoli/18.jpg new file mode 100644 index 0000000..6ae96e9 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/18.jpg differ diff --git a/app/src/main/assets/local_Rangoli/19.jpg b/app/src/main/assets/local_Rangoli/19.jpg new file mode 100644 index 0000000..ffcbd6a Binary files /dev/null and b/app/src/main/assets/local_Rangoli/19.jpg differ diff --git a/app/src/main/assets/local_Rangoli/2.jpg b/app/src/main/assets/local_Rangoli/2.jpg new file mode 100644 index 0000000..7329109 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/2.jpg differ diff --git a/app/src/main/assets/local_Rangoli/20.jpg b/app/src/main/assets/local_Rangoli/20.jpg new file mode 100644 index 0000000..b7be138 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/20.jpg differ diff --git a/app/src/main/assets/local_Rangoli/21.jpg b/app/src/main/assets/local_Rangoli/21.jpg new file mode 100644 index 0000000..eaa5fdf Binary files /dev/null and b/app/src/main/assets/local_Rangoli/21.jpg differ diff --git a/app/src/main/assets/local_Rangoli/22.jpg b/app/src/main/assets/local_Rangoli/22.jpg new file mode 100644 index 0000000..28aca48 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/22.jpg differ diff --git a/app/src/main/assets/local_Rangoli/23.jpg b/app/src/main/assets/local_Rangoli/23.jpg new file mode 100644 index 0000000..057d2d4 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/23.jpg differ diff --git a/app/src/main/assets/local_Rangoli/24.jpg b/app/src/main/assets/local_Rangoli/24.jpg new file mode 100644 index 0000000..e933061 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/24.jpg differ diff --git a/app/src/main/assets/local_Rangoli/25.jpg b/app/src/main/assets/local_Rangoli/25.jpg new file mode 100644 index 0000000..569a74c Binary files /dev/null and b/app/src/main/assets/local_Rangoli/25.jpg differ diff --git a/app/src/main/assets/local_Rangoli/3.jpg b/app/src/main/assets/local_Rangoli/3.jpg new file mode 100644 index 0000000..569342c Binary files /dev/null and b/app/src/main/assets/local_Rangoli/3.jpg differ diff --git a/app/src/main/assets/local_Rangoli/4.jpg b/app/src/main/assets/local_Rangoli/4.jpg new file mode 100644 index 0000000..7c5d0de Binary files /dev/null and b/app/src/main/assets/local_Rangoli/4.jpg differ diff --git a/app/src/main/assets/local_Rangoli/5.jpg b/app/src/main/assets/local_Rangoli/5.jpg new file mode 100644 index 0000000..5a3228f Binary files /dev/null and b/app/src/main/assets/local_Rangoli/5.jpg differ diff --git a/app/src/main/assets/local_Rangoli/6.jpg b/app/src/main/assets/local_Rangoli/6.jpg new file mode 100644 index 0000000..270f078 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/6.jpg differ diff --git a/app/src/main/assets/local_Rangoli/7.jpg b/app/src/main/assets/local_Rangoli/7.jpg new file mode 100644 index 0000000..241beac Binary files /dev/null and b/app/src/main/assets/local_Rangoli/7.jpg differ diff --git a/app/src/main/assets/local_Rangoli/8.jpg b/app/src/main/assets/local_Rangoli/8.jpg new file mode 100644 index 0000000..c62e0d7 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/8.jpg differ diff --git a/app/src/main/assets/local_Rangoli/9.jpg b/app/src/main/assets/local_Rangoli/9.jpg new file mode 100644 index 0000000..bcd14a7 Binary files /dev/null and b/app/src/main/assets/local_Rangoli/9.jpg differ diff --git a/app/src/main/assets/local_Space/1.svg b/app/src/main/assets/local_Space/1.svg new file mode 100644 index 0000000..4c6168b --- /dev/null +++ b/app/src/main/assets/local_Space/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Space/2.svg b/app/src/main/assets/local_Space/2.svg new file mode 100644 index 0000000..8fd9091 --- /dev/null +++ b/app/src/main/assets/local_Space/2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Space/3.svg b/app/src/main/assets/local_Space/3.svg new file mode 100644 index 0000000..5e3618d --- /dev/null +++ b/app/src/main/assets/local_Space/3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Space/4.svg b/app/src/main/assets/local_Space/4.svg new file mode 100644 index 0000000..48c98f8 --- /dev/null +++ b/app/src/main/assets/local_Space/4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Space/5.svg b/app/src/main/assets/local_Space/5.svg new file mode 100644 index 0000000..ab2ab9d --- /dev/null +++ b/app/src/main/assets/local_Space/5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Space/6.svg b/app/src/main/assets/local_Space/6.svg new file mode 100644 index 0000000..5347313 --- /dev/null +++ b/app/src/main/assets/local_Space/6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Space/7.svg b/app/src/main/assets/local_Space/7.svg new file mode 100644 index 0000000..8d41686 --- /dev/null +++ b/app/src/main/assets/local_Space/7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Space/8.svg b/app/src/main/assets/local_Space/8.svg new file mode 100644 index 0000000..f67e6dd --- /dev/null +++ b/app/src/main/assets/local_Space/8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Space/9.svg b/app/src/main/assets/local_Space/9.svg new file mode 100644 index 0000000..2c525a9 --- /dev/null +++ b/app/src/main/assets/local_Space/9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Sports/1.jpg b/app/src/main/assets/local_Sports/1.jpg new file mode 100644 index 0000000..cd1cb09 Binary files /dev/null and b/app/src/main/assets/local_Sports/1.jpg differ diff --git a/app/src/main/assets/local_Sports/10.jpg b/app/src/main/assets/local_Sports/10.jpg new file mode 100644 index 0000000..2ec81a5 Binary files /dev/null and b/app/src/main/assets/local_Sports/10.jpg differ diff --git a/app/src/main/assets/local_Sports/11.jpg b/app/src/main/assets/local_Sports/11.jpg new file mode 100644 index 0000000..f00ecb5 Binary files /dev/null and b/app/src/main/assets/local_Sports/11.jpg differ diff --git a/app/src/main/assets/local_Sports/12.jpg b/app/src/main/assets/local_Sports/12.jpg new file mode 100644 index 0000000..b004929 Binary files /dev/null and b/app/src/main/assets/local_Sports/12.jpg differ diff --git a/app/src/main/assets/local_Sports/13.jpg b/app/src/main/assets/local_Sports/13.jpg new file mode 100644 index 0000000..73fa886 Binary files /dev/null and b/app/src/main/assets/local_Sports/13.jpg differ diff --git a/app/src/main/assets/local_Sports/14.jpg b/app/src/main/assets/local_Sports/14.jpg new file mode 100644 index 0000000..3d9069e Binary files /dev/null and b/app/src/main/assets/local_Sports/14.jpg differ diff --git a/app/src/main/assets/local_Sports/15.jpg b/app/src/main/assets/local_Sports/15.jpg new file mode 100644 index 0000000..a090c83 Binary files /dev/null and b/app/src/main/assets/local_Sports/15.jpg differ diff --git a/app/src/main/assets/local_Sports/16.jpg b/app/src/main/assets/local_Sports/16.jpg new file mode 100644 index 0000000..185d6e3 Binary files /dev/null and b/app/src/main/assets/local_Sports/16.jpg differ diff --git a/app/src/main/assets/local_Sports/17.jpg b/app/src/main/assets/local_Sports/17.jpg new file mode 100644 index 0000000..b8193fa Binary files /dev/null and b/app/src/main/assets/local_Sports/17.jpg differ diff --git a/app/src/main/assets/local_Sports/18.jpg b/app/src/main/assets/local_Sports/18.jpg new file mode 100644 index 0000000..ba4fcea Binary files /dev/null and b/app/src/main/assets/local_Sports/18.jpg differ diff --git a/app/src/main/assets/local_Sports/19.jpg b/app/src/main/assets/local_Sports/19.jpg new file mode 100644 index 0000000..617c2af Binary files /dev/null and b/app/src/main/assets/local_Sports/19.jpg differ diff --git a/app/src/main/assets/local_Sports/2.jpg b/app/src/main/assets/local_Sports/2.jpg new file mode 100644 index 0000000..59890e5 Binary files /dev/null and b/app/src/main/assets/local_Sports/2.jpg differ diff --git a/app/src/main/assets/local_Sports/20.jpg b/app/src/main/assets/local_Sports/20.jpg new file mode 100644 index 0000000..4032ff4 Binary files /dev/null and b/app/src/main/assets/local_Sports/20.jpg differ diff --git a/app/src/main/assets/local_Sports/21.jpg b/app/src/main/assets/local_Sports/21.jpg new file mode 100644 index 0000000..23979ba Binary files /dev/null and b/app/src/main/assets/local_Sports/21.jpg differ diff --git a/app/src/main/assets/local_Sports/22.jpg b/app/src/main/assets/local_Sports/22.jpg new file mode 100644 index 0000000..c61e91e Binary files /dev/null and b/app/src/main/assets/local_Sports/22.jpg differ diff --git a/app/src/main/assets/local_Sports/23.jpg b/app/src/main/assets/local_Sports/23.jpg new file mode 100644 index 0000000..7bf0806 Binary files /dev/null and b/app/src/main/assets/local_Sports/23.jpg differ diff --git a/app/src/main/assets/local_Sports/24.jpg b/app/src/main/assets/local_Sports/24.jpg new file mode 100644 index 0000000..23cbc17 Binary files /dev/null and b/app/src/main/assets/local_Sports/24.jpg differ diff --git a/app/src/main/assets/local_Sports/25.jpg b/app/src/main/assets/local_Sports/25.jpg new file mode 100644 index 0000000..06d992e Binary files /dev/null and b/app/src/main/assets/local_Sports/25.jpg differ diff --git a/app/src/main/assets/local_Sports/26.jpg b/app/src/main/assets/local_Sports/26.jpg new file mode 100644 index 0000000..26af61e Binary files /dev/null and b/app/src/main/assets/local_Sports/26.jpg differ diff --git a/app/src/main/assets/local_Sports/27.jpg b/app/src/main/assets/local_Sports/27.jpg new file mode 100644 index 0000000..91bf104 Binary files /dev/null and b/app/src/main/assets/local_Sports/27.jpg differ diff --git a/app/src/main/assets/local_Sports/28.jpg b/app/src/main/assets/local_Sports/28.jpg new file mode 100644 index 0000000..8c790e7 Binary files /dev/null and b/app/src/main/assets/local_Sports/28.jpg differ diff --git a/app/src/main/assets/local_Sports/3.jpg b/app/src/main/assets/local_Sports/3.jpg new file mode 100644 index 0000000..8315af5 Binary files /dev/null and b/app/src/main/assets/local_Sports/3.jpg differ diff --git a/app/src/main/assets/local_Sports/4.jpg b/app/src/main/assets/local_Sports/4.jpg new file mode 100644 index 0000000..8070e68 Binary files /dev/null and b/app/src/main/assets/local_Sports/4.jpg differ diff --git a/app/src/main/assets/local_Sports/5.jpg b/app/src/main/assets/local_Sports/5.jpg new file mode 100644 index 0000000..5bcb837 Binary files /dev/null and b/app/src/main/assets/local_Sports/5.jpg differ diff --git a/app/src/main/assets/local_Sports/6.jpg b/app/src/main/assets/local_Sports/6.jpg new file mode 100644 index 0000000..038521f Binary files /dev/null and b/app/src/main/assets/local_Sports/6.jpg differ diff --git a/app/src/main/assets/local_Sports/7.jpg b/app/src/main/assets/local_Sports/7.jpg new file mode 100644 index 0000000..73bf0de Binary files /dev/null and b/app/src/main/assets/local_Sports/7.jpg differ diff --git a/app/src/main/assets/local_Sports/8.jpg b/app/src/main/assets/local_Sports/8.jpg new file mode 100644 index 0000000..6c565f8 Binary files /dev/null and b/app/src/main/assets/local_Sports/8.jpg differ diff --git a/app/src/main/assets/local_Sports/9.jpg b/app/src/main/assets/local_Sports/9.jpg new file mode 100644 index 0000000..130cd94 Binary files /dev/null and b/app/src/main/assets/local_Sports/9.jpg differ diff --git a/app/src/main/assets/local_Tropical Paradise/1.svg b/app/src/main/assets/local_Tropical Paradise/1.svg new file mode 100644 index 0000000..dc07758 --- /dev/null +++ b/app/src/main/assets/local_Tropical Paradise/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Tropical Paradise/2.svg b/app/src/main/assets/local_Tropical Paradise/2.svg new file mode 100644 index 0000000..3e816f1 --- /dev/null +++ b/app/src/main/assets/local_Tropical Paradise/2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Tropical Paradise/3.svg b/app/src/main/assets/local_Tropical Paradise/3.svg new file mode 100644 index 0000000..0aab839 --- /dev/null +++ b/app/src/main/assets/local_Tropical Paradise/3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Tropical Paradise/4.svg b/app/src/main/assets/local_Tropical Paradise/4.svg new file mode 100644 index 0000000..ec4a638 --- /dev/null +++ b/app/src/main/assets/local_Tropical Paradise/4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Tropical Paradise/5.svg b/app/src/main/assets/local_Tropical Paradise/5.svg new file mode 100644 index 0000000..0afef24 --- /dev/null +++ b/app/src/main/assets/local_Tropical Paradise/5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Tropical Paradise/6.svg b/app/src/main/assets/local_Tropical Paradise/6.svg new file mode 100644 index 0000000..8dbd414 --- /dev/null +++ b/app/src/main/assets/local_Tropical Paradise/6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_Tropical Paradise/7.svg b/app/src/main/assets/local_Tropical Paradise/7.svg new file mode 100644 index 0000000..1d296c0 --- /dev/null +++ b/app/src/main/assets/local_Tropical Paradise/7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_World Monuments/1.svg b/app/src/main/assets/local_World Monuments/1.svg new file mode 100644 index 0000000..a7eda24 --- /dev/null +++ b/app/src/main/assets/local_World Monuments/1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_World Monuments/2.svg b/app/src/main/assets/local_World Monuments/2.svg new file mode 100644 index 0000000..da8855c --- /dev/null +++ b/app/src/main/assets/local_World Monuments/2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_World Monuments/3.svg b/app/src/main/assets/local_World Monuments/3.svg new file mode 100644 index 0000000..d0fdda9 --- /dev/null +++ b/app/src/main/assets/local_World Monuments/3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_World Monuments/4.svg b/app/src/main/assets/local_World Monuments/4.svg new file mode 100644 index 0000000..bd5ce67 --- /dev/null +++ b/app/src/main/assets/local_World Monuments/4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_World Monuments/5.svg b/app/src/main/assets/local_World Monuments/5.svg new file mode 100644 index 0000000..5234438 --- /dev/null +++ b/app/src/main/assets/local_World Monuments/5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_World Monuments/6.svg b/app/src/main/assets/local_World Monuments/6.svg new file mode 100644 index 0000000..1665c30 --- /dev/null +++ b/app/src/main/assets/local_World Monuments/6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/assets/local_World Monuments/7.svg b/app/src/main/assets/local_World Monuments/7.svg new file mode 100644 index 0000000..74fd8bb --- /dev/null +++ b/app/src/main/assets/local_World Monuments/7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png new file mode 100644 index 0000000..fe319dd Binary files /dev/null and b/app/src/main/ic_launcher-playstore.png differ diff --git a/app/src/main/java/com/apps/sketchmaster/SketchApp.kt b/app/src/main/java/com/apps/sketchmaster/SketchApp.kt new file mode 100644 index 0000000..f5a4554 --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/SketchApp.kt @@ -0,0 +1,58 @@ +package com.apps.sketchmaster + +import android.app.Application +import android.graphics.Typeface +import com.ad.maxlibrary.MaxInitManager +import com.applovin.sdk.AppLovinSdk +import com.up.uploadlibrary.UpLoadManager + +public class SketchApp: Application() { + companion object{ + lateinit var context: SketchApp + var baseNameList: List? = null + lateinit var typeface: Typeface + } + private val CLASS_NAMES = arrayOf( + "local_Aesthetic", + "local_One Line Art", + "local_People", + "local_Animals", + "local_Birds", + "local_Tropical Paradise", + "local_World Monuments", + "local_Butterfly", + "local_Food", + "local_Cartoons", + "local_Christmas", + "local_Festivals", + "local_Flowers", + "local_Fruits", + "local_General", + "local_Mehndi", + "local_Nature", + "local_Architectures", + "local_Rangoli", + "local_Sports", + "local_Car", + "local_Space" + ) + override fun onCreate() { + super.onCreate() + context = this + val database = AppDataBase.getDatabase(this) + typeface = Typeface.createFromAsset(assets, "arimo.ttf") + baseNameList = listOf(*CLASS_NAMES) + + + MaxInitManager.init( + this, + "CiVvkZKZlVhJJ696v3IBuPvq8pmLmwWefV1aP489QxDAUhVNsllZM8Uwvm7w1UUwURQ1RX6fO9Omo3fuvo7NlT", + "74a619f3e1c33f66", + "b0100d693ca54c45", + "b3a4b89f4b3bdf2e", + "==============" + ) + UpLoadManager.init(this,"==============") +// AppLovinSdk.getInstance( this ).showMediationDebugger() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/adapter/ThreeTypeAdapter.kt b/app/src/main/java/com/apps/sketchmaster/adapter/ThreeTypeAdapter.kt new file mode 100644 index 0000000..a16144b --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/adapter/ThreeTypeAdapter.kt @@ -0,0 +1,102 @@ +package com.apps.sketchmaster.adapter + +import android.content.Context +import android.graphics.BitmapFactory +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.apps.sketchmaster.data.Base +import com.apps.sketchmaster.data.Customize +import com.apps.sketchmaster.event.DeleteClickListener +import com.apps.sketchmaster.utils.AllUtils +import com.apps.sketchmaster.R +import com.apps.sketchmaster.databinding.ItemAllItemBinding + +class ThreeTypeAdapter : RecyclerView.Adapter() { + private lateinit var context: Context + private var imgList: List = arrayListOf() + private var uploadList: List = arrayListOf() + private var localList: List = arrayListOf() + private var type = 0 + private lateinit var listener: DeleteClickListener + + class ThreeViewHolder(val binding: ItemAllItemBinding) : RecyclerView.ViewHolder(binding.root) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ThreeViewHolder { + context = parent.context + val binding = ItemAllItemBinding.inflate(LayoutInflater.from(context), parent, false) + return ThreeViewHolder(binding) + } + + override fun getItemCount(): Int { + return when (type) { + 0 -> imgList.size + 1 -> uploadList.size + 2 -> localList.size + else -> 0 + } + } + + override fun onBindViewHolder(holder: ThreeViewHolder, position: Int) { + var path = "" + when (type) { + 0 -> path = imgList[position] + 1 -> path = uploadList[position].url + 2 -> path = localList[position].url + } + println(path) + holder.binding.image.setOnClickListener { + listener.onClick(path) + } + if(type>0&&position==itemCount-1){ + holder.binding.bottomView.visibility=View.VISIBLE + }else{ + holder.binding.bottomView.visibility=View.GONE + } + if (type == 1) { + holder.binding.imgDelete.visibility = View.VISIBLE + holder.binding.imgDelete.setOnClickListener { + listener.onDelete(path,position) + } + Thread { + val bitmap = BitmapFactory.decodeFile(path) + holder.binding.image.post { + if (bitmap != null) { + holder.binding.image.setImageBitmap(bitmap) + } else { + holder.binding.image.setImageResource(R.mipmap.upload_true) + } + } + }.start() + return + } + val bitmap = AllUtils.switchTypeFromAssets(context, path) + if(bitmap==null){ + val bitmap1=BitmapFactory.decodeFile(path) + holder.binding.image.setImageBitmap(bitmap1) + }else{ + holder.binding.image.setImageBitmap(bitmap) + } + holder.binding.imgDelete.visibility = View.GONE + } + + fun setListener(listener: DeleteClickListener) { + this.listener = listener + } + + fun setCategoryList(list: List, type: Int) { + this.imgList = list + this.type = type + } + + fun setUploadList(list: List, type: Int) { + this.uploadList = list + this.type = type + } + + fun setLocalList(list: List, type: Int) { + this.localList = list + this.type = type + } +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/adapter/TwoTypeAdapter.kt b/app/src/main/java/com/apps/sketchmaster/adapter/TwoTypeAdapter.kt new file mode 100644 index 0000000..5008304 --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/adapter/TwoTypeAdapter.kt @@ -0,0 +1,60 @@ +package com.apps.sketchmaster.adapter + +import android.content.Context +import android.graphics.RenderEffect +import android.graphics.Shader +import android.os.Build +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.apps.sketchmaster.SketchApp +import com.apps.sketchmaster.databinding.ItemShowPageBinding +import com.apps.sketchmaster.event.DeleteClickListener +import com.apps.sketchmaster.utils.AllUtils + +class TwoTypeAdapter: RecyclerView.Adapter() { + private lateinit var context:Context + private val nameList: List? = SketchApp.baseNameList + private lateinit var listener:DeleteClickListener + class DoubleViewHolder(val binding: ItemShowPageBinding): RecyclerView.ViewHolder(binding.root) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): DoubleViewHolder { + context=parent.context + val binding=ItemShowPageBinding.inflate(LayoutInflater.from(context),parent,false) + return DoubleViewHolder(binding) + } + override fun getItemCount(): Int { + return nameList?.size ?: 0 + } + override fun onBindViewHolder(holder: DoubleViewHolder, position: Int) { + val name = nameList!![position] + val realName = name.substring(name.lastIndexOf("_") + 1) + holder.binding.name.text = realName + val showPic = AllUtils.getCoverPic(context, name) + if(showPic!=null){ + val bitmap = AllUtils.switchTypeFromAssets(context, showPic) + holder.binding.image.setImageBitmap(bitmap) + } + if (position == itemCount - 1) { + holder.binding.vBottom.visibility = View.VISIBLE + } else { + holder.binding.vBottom.visibility = View.GONE + } + holder.binding.image.setOnClickListener { + listener.onClick(name) + } +// setBlur(holder.binding) + } + fun setBlur(binding: ItemShowPageBinding){ + // 应用模糊效果 + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + // Android 12及以上使用RenderEffect + binding.image.setRenderEffect(RenderEffect.createBlurEffect(5f, 5f, Shader.TileMode.CLAMP)); + } + } + + fun setListener(listener: DeleteClickListener){ + this.listener=listener + } +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/data/AppDataBase.kt b/app/src/main/java/com/apps/sketchmaster/data/AppDataBase.kt new file mode 100644 index 0000000..f581afc --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/data/AppDataBase.kt @@ -0,0 +1,33 @@ +import android.content.Context +import androidx.room.Database +import androidx.room.Room +import androidx.room.RoomDatabase +import com.apps.sketchmaster.data.Base +import com.apps.sketchmaster.data.BaseDao +import com.apps.sketchmaster.data.Customize +import com.apps.sketchmaster.data.CustomizeDao + + +@Database(entities = [Base::class, Customize::class], version = 2, exportSchema = false) +abstract class AppDataBase : RoomDatabase() { + abstract fun baseDao(): BaseDao + abstract fun customizeDao(): CustomizeDao + + companion object { + @Volatile + private var INSTANCE: AppDataBase? = null + fun getDatabase(context: Context): AppDataBase { + return INSTANCE ?: synchronized(this) { + INSTANCE ?: createDatabase(context).also { INSTANCE = it } + } + } + + private fun createDatabase(context: Context): AppDataBase { + return Room.databaseBuilder( + context.applicationContext, + AppDataBase::class.java, + "master_database" + ).fallbackToDestructiveMigration().build() + } + } +} diff --git a/app/src/main/java/com/apps/sketchmaster/data/BaseDao.kt b/app/src/main/java/com/apps/sketchmaster/data/BaseDao.kt new file mode 100644 index 0000000..419cfe9 --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/data/BaseDao.kt @@ -0,0 +1,21 @@ +package com.apps.sketchmaster.data + +import androidx.room.Dao +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query + +@Dao +interface BaseDao { + @Insert(onConflict = OnConflictStrategy.IGNORE) + suspend fun insert(base: Base) + + @Query("SELECT * FROM base") + suspend fun getAll(): List + + @Query("SELECT * FROM base WHERE url=:path") + suspend fun selectByPath(path: String): Base? + + @Query("DELETE FROM base WHERE url=:path") + suspend fun deleteByPath(path: String) +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/data/CustomizeDao.kt b/app/src/main/java/com/apps/sketchmaster/data/CustomizeDao.kt new file mode 100644 index 0000000..5d1f425 --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/data/CustomizeDao.kt @@ -0,0 +1,21 @@ +package com.apps.sketchmaster.data + +import androidx.room.Dao +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query + +@Dao +interface CustomizeDao { + @Insert(onConflict = OnConflictStrategy.IGNORE) + suspend fun insert(customize: Customize) + + @Query("SELECT * FROM customize") + suspend fun getAll(): List + + @Query("SELECT * FROM customize WHERE url=:path") + suspend fun selectByPath(path: String): Customize? + + @Query("DELETE FROM customize WHERE url=:path") + suspend fun deleteByPath(path: String) +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/data/EntityRepository.kt b/app/src/main/java/com/apps/sketchmaster/data/EntityRepository.kt new file mode 100644 index 0000000..c3d2521 --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/data/EntityRepository.kt @@ -0,0 +1,62 @@ +import android.util.Log +import com.apps.sketchmaster.data.Base +import com.apps.sketchmaster.data.BaseDao +import com.apps.sketchmaster.data.Customize +import com.apps.sketchmaster.data.CustomizeDao + + +class EntityRepository(private val baseDao: BaseDao, private val customizeDao: CustomizeDao) { + //----------base + suspend fun insertBase(base: Base) { + try { + baseDao.insert(base) + } catch (e: Exception) { + Log.d("Repository","insert data error$e") + } + } + + suspend fun getAllBases(): List { + return baseDao.getAll() + } + + suspend fun getBaseByPath(path: String): Base? { + return baseDao.selectByPath(path) + } + + suspend fun deleteBaseByPath(path: String): Boolean { + return try { + baseDao.deleteByPath(path) + true + } catch (e: Exception) { + Log.d("Repository","delete data error$e") + false + } + } + + //---------customize + + suspend fun insertCustomize(customize: Customize) { + try { + customizeDao.insert(customize) + } catch (e: Exception) { + Log.d("Repository","insert data error$e") + } + } + + suspend fun getAllCustomizes(): List { + return customizeDao.getAll() + } + + suspend fun getCustomizeByPath(path: String): Customize? { + return customizeDao.selectByPath(path) + } + + suspend fun deleteCustomizeByPath(path: String): Boolean { + return try { + customizeDao.deleteByPath(path) + true + } catch (e: Exception) { + false + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/data/MainViewModel.kt b/app/src/main/java/com/apps/sketchmaster/data/MainViewModel.kt new file mode 100644 index 0000000..0c97352 --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/data/MainViewModel.kt @@ -0,0 +1,136 @@ +package com.apps.sketchmaster.data + +import AppDataBase +import EntityRepository +import android.app.Application +import android.util.Log +import androidx.lifecycle.AndroidViewModel +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.viewModelScope +import kotlinx.coroutines.launch + +class MainViewModel(application: Application) : AndroidViewModel(application) { + private val repository: EntityRepository by lazy { + EntityRepository( + AppDataBase.getDatabase(application).baseDao(), + AppDataBase.getDatabase(application).customizeDao() + ) + } + private val _locals = MutableLiveData>() + val locals: LiveData> get() = _locals + private val _customizes = MutableLiveData>() + val customizes: LiveData> get() = _customizes + val isBase: LiveData get() = _isBase + private val _isBase = MutableLiveData() + private val _isCustomize = MutableLiveData() + val isCustomize: LiveData get() = _isCustomize + private val _errorMsg = MutableLiveData() + val errorMsg: LiveData get() = _errorMsg + + init { + refreshBases() + refreshCustomizes() + } + + fun refreshBases() { + viewModelScope.launch { + try { + _locals.value = repository.getAllBases() + Log.d("ViewModel", "New data size: ${repository.getAllBases().size}") + _errorMsg.value = null + } catch (e: Exception) { + _errorMsg.value = "error data from local:${e.message}" + } + } + } + + private fun refreshCustomizes() { + viewModelScope.launch { + try { + _customizes.value = repository.getAllCustomizes() + _errorMsg.value = null + } catch (e: Exception) { + _errorMsg.value = "error data from customize:${e.message}" + } + } + } + + fun addBase(path: String) { + viewModelScope.launch { + val local=repository.getBaseByPath(path) + if(local==null){ + try { + repository.insertBase(Base(url = path)) + refreshBases() + _errorMsg.value = null + } catch (e: Exception) { + _errorMsg.value = "add local error:${e.message}" + } + } + } + } + + fun deleteBasePath(path: String) { + viewModelScope.launch { + try { + repository.deleteBaseByPath(path) + refreshBases() + _errorMsg.value = null + } catch (e: Exception) { + _errorMsg.value = "delete local error:${e.message}" + } + } + } + + fun addCustomize(path: String) { + viewModelScope.launch { + val customize=repository.getCustomizeByPath(path) + if(customize==null){ + try { + repository.insertCustomize(Customize(url = path)) + refreshCustomizes() + _errorMsg.value = null + } catch (e: Exception) { + _errorMsg.value = "add customize error:${e.message}" + } + } + } + } + + fun deleteCustomizePath(path: String) { + viewModelScope.launch { + try { + repository.deleteCustomizeByPath(path) + refreshCustomizes() + _errorMsg.value = null + } catch (e: Exception) { + _errorMsg.value = "delete local error:${e.message}" + } + } + } + fun checkIsBase(path: String){ + viewModelScope.launch { + try { + val local = repository.getBaseByPath(path) + _isBase.value = local != null + _errorMsg.value = null + } catch (e: Exception) { + _errorMsg.value = "search error: ${e.message}" + _isBase.value = false // 出错时默认设为false + } + } + } + fun checkIsCustomize(path: String){ + viewModelScope.launch { + try { + val customize = repository.getCustomizeByPath(path) + _isCustomize.value = customize != null + _errorMsg.value = null + } catch (e: Exception) { + _errorMsg.value = "search error: ${e.message}" + _isCustomize.value = false + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/data/entity.kt b/app/src/main/java/com/apps/sketchmaster/data/entity.kt new file mode 100644 index 0000000..d7f030d --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/data/entity.kt @@ -0,0 +1,22 @@ +package com.apps.sketchmaster.data + +import android.os.Parcelable +import androidx.room.ColumnInfo +import androidx.room.Entity +import androidx.room.PrimaryKey +import kotlinx.parcelize.Parcelize + + +@Parcelize +@Entity(tableName = "base") +data class Base( + @PrimaryKey(autoGenerate = true) val id: Int=0, + @ColumnInfo(name = "url") val url: String="" +): Parcelable + +@Parcelize +@Entity(tableName = "customize") +data class Customize( + @PrimaryKey(autoGenerate = true) val id: Int = 0, + @ColumnInfo(name = "url") val url: String = "" +) : Parcelable \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/event/DeleteClickListener.kt b/app/src/main/java/com/apps/sketchmaster/event/DeleteClickListener.kt new file mode 100644 index 0000000..3b0fa9b --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/event/DeleteClickListener.kt @@ -0,0 +1,8 @@ +package com.apps.sketchmaster.event + +interface DeleteClickListener { + fun onClick(name:String) + open fun onDelete(name:String,position:Int){ + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/utils/AllUtils.kt b/app/src/main/java/com/apps/sketchmaster/utils/AllUtils.kt new file mode 100644 index 0000000..b4d62f7 --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/utils/AllUtils.kt @@ -0,0 +1,184 @@ +package com.apps.sketchmaster.utils + +import android.app.Activity +import android.content.Context +import android.content.pm.PackageManager +import android.graphics.Bitmap +import android.graphics.BitmapFactory +import android.graphics.Canvas +import android.graphics.Point +import android.net.Uri +import android.provider.OpenableColumns +import android.util.DisplayMetrics +import android.util.Log +import android.view.MotionEvent +import android.view.WindowManager +import androidx.core.app.ActivityCompat +import androidx.core.graphics.createBitmap +import com.apps.sketchmaster.SketchApp +import com.caverock.androidsvg.SVG +import java.io.File +import java.io.FileOutputStream +import java.io.IOException +import kotlin.math.min +import kotlin.math.sqrt + +object AllUtils { + + fun getCoverPic(context: Context, name: String): String? { + return try { + val assetManager = context.assets + val files = assetManager.list(name) ?: return null + if (files.isNotEmpty()) { + "$name/${files[0]}" + } else { + null + } + } catch (e: Exception) { + null + } + } + fun loadEachPic(context: Context, name: String): List { + return try { + val fileList = mutableListOf() + val assetManager = context.assets + val files = assetManager.list(name) + if (!files.isNullOrEmpty()) { + for (file in files) { + fileList.add("$name/$file") + } + } + fileList + } catch (e: Exception) { + emptyList() + } + } + + fun switchTypeFromAssets(context: Context, fileName: String):Bitmap? { + return if (fileName.endsWith(".svg", ignoreCase = true)) { + loadSvg(context, fileName) + } else if(fileName.endsWith(".jpg")||fileName.endsWith(".png")) { + loadImage(context, fileName) + }else{ + null + } + + } + + private fun loadImage(context: Context, fileName: String): Bitmap? { + return try { + context.assets.open(fileName).use { inputStream -> + BitmapFactory.decodeStream(inputStream) + } + } catch (e:Exception){ + null + } + } + + private fun loadSvg(context: Context, fileName: String): Bitmap? { + return try { + val svg = SVG.getFromAsset(context.assets, fileName) + val documentWidth = svg.documentWidth + val documentHeight = svg.documentHeight + + // Use default size if SVG doesn't specify dimensions + val width = if (documentWidth > 0) documentWidth.toInt() else 800 + val height = if (documentHeight > 0) documentHeight.toInt() else 800 + + val bitmap = createBitmap(width, height) + val canvas = Canvas(bitmap) + + // Scale proportionally if needed + if (documentWidth > 0 && documentHeight > 0) { + val scale = min(width / documentWidth, height / documentHeight) + canvas.scale(scale, scale) + } + + svg.renderToCanvas(canvas) + bitmap + } catch (e: Exception) { + null + } + } + fun returnFileSize(context: Context, uri: Uri): Double { + var fileSize = 0.0 + val contentResolver = context.contentResolver + + // 如果Uri是文件类型 + if (uri.scheme == "file") { + File(uri.path).let { + fileSize = it.length().toDouble() + } + } else { // 如果Uri不是文件类型,则通过ContentResolver获取大小 + try { + contentResolver.openFileDescriptor(uri, "r")?.use { pfd -> + fileSize = pfd.statSize.toDouble() + } + } catch (e: Exception) { + Log.e("UriUtils", "Error while retrieving file size: ${e.message}") + } + } + + fileSize /= 1048576.0 + return fileSize + } + // 从URI获取文件名 + fun returnFileName(uri: Uri, context: Context): String? { + var fileName: String? = null + context.contentResolver.query(uri, null, null, null, null)?.use { cursor -> + if (cursor.moveToFirst()) { + val nameIndex = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME) + if (nameIndex != -1) fileName = cursor.getString(nameIndex) + } + } + return fileName + } + + fun returnPath(name: String): String { + val filesDir: File = SketchApp.context.filesDir + val s = "$filesDir/$name" + return s + } + // 将URI内容复制到文件 + @Throws(IOException::class) + fun copyUriToFile(uri: Uri, destFile: File, context: Context) { + context.contentResolver.openInputStream(uri)?.use { inputStream -> + FileOutputStream(destFile).use { outputStream -> + val buffer = ByteArray(1024) + var length: Int + while (inputStream.read(buffer).also { length = it } > 0) { + outputStream.write(buffer, 0, length) + } + } + } ?: throw IOException("Failed to open input stream for URI: $uri") + } + + fun checkPermission(activity: Activity, permissions: Array): Boolean { + for (permission in permissions) { + if (ActivityCompat.checkSelfPermission( + activity, + permission + ) != PackageManager.PERMISSION_GRANTED + ) { + return true + } + } + return false + } + fun returnPoint(context: Context): Point { + val displayMetrics = DisplayMetrics() + val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager + windowManager.defaultDisplay.getMetrics(displayMetrics) + val width = displayMetrics.widthPixels + val height = displayMetrics.heightPixels + val point = Point() + point.x = width + point.y = height + return point + } + fun calculateDistance(event: MotionEvent): Float { + val x = event.getX(0) - event.getX(1) + val y = event.getY(0) - event.getY(1) + return sqrt((x * x + y * y).toDouble()).toFloat() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/utils/StyleTextView.kt b/app/src/main/java/com/apps/sketchmaster/utils/StyleTextView.kt new file mode 100644 index 0000000..1ebe3ab --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/utils/StyleTextView.kt @@ -0,0 +1,20 @@ +package com.apps.sketchmaster.utils + +import android.content.Context +import android.util.AttributeSet +import androidx.appcompat.widget.AppCompatTextView +import com.apps.sketchmaster.SketchApp + +class StyleTextView (context: Context, attrs: AttributeSet?) : + AppCompatTextView(context, attrs) { + + init { + initAttrs(context, attrs) + } + + + private fun initAttrs(context: Context, attrs: AttributeSet?) { + this.setTypeface(SketchApp.typeface) + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/view/IntentDialog.kt b/app/src/main/java/com/apps/sketchmaster/view/IntentDialog.kt new file mode 100644 index 0000000..da5c835 --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/view/IntentDialog.kt @@ -0,0 +1,93 @@ +package com.apps.sketchmaster.view + +import com.apps.sketchmaster.data.MainViewModel +import android.app.Dialog +import android.content.Intent +import android.graphics.BitmapFactory +import android.graphics.Color +import android.os.Bundle +import android.util.Log +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.core.graphics.drawable.toDrawable +import androidx.fragment.app.DialogFragment +import androidx.lifecycle.ViewModelProvider +import com.apps.sketchmaster.utils.AllUtils +import com.apps.sketchmaster.databinding.DialogIntentBinding + +class IntentDialog : DialogFragment() { + private var _binding: DialogIntentBinding? = null + private val binding get() = _binding!! + private var path = "" + private lateinit var mainViewModel: MainViewModel + + companion object { + private const val PIC_KEY = "path" + fun newInstance(imagePath: String): IntentDialog { + val args = Bundle().apply { + putString(PIC_KEY, imagePath) + } + return IntentDialog().apply { arguments = args } + } + } + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + _binding = DialogIntentBinding.inflate(inflater, container, false) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + path = arguments?.getString(PIC_KEY) ?: "" + val bitmap = AllUtils.switchTypeFromAssets(requireContext(), path) + if (bitmap == null) { + Log.d("YYYYYYYY", "return null") + val decodedBitmap = BitmapFactory.decodeFile(path) + binding.image.setImageBitmap(decodedBitmap) + Log.d("YYYYYYYY", "return decodedBitmap$decodedBitmap") + } else { + binding.image.setImageBitmap(bitmap) + } + +// binding.imgBack.setOnClickListener { dismiss() } + mainViewModel = ViewModelProvider(requireActivity())[MainViewModel::class.java] + mainViewModel.checkIsBase(path) + mainViewModel.isBase.observe(viewLifecycleOwner) { b -> + if (b != null) { + binding.imgLike.isSelected=b + } + } + binding.imgLike.setOnClickListener { v -> + val selected = v.isSelected + binding.imgLike.isSelected = !selected + if (!selected) { + mainViewModel.addBase(path) + } else { + mainViewModel.deleteBasePath(path) + } + } + binding.rlBtn.setOnClickListener { + val intent = Intent(requireActivity(), SketchStartActivity::class.java) + intent.putExtra(SketchStartActivity.PATH_KEY,path) + startActivity(intent) + dismiss() + } + } + + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } + + // 设置弹窗居中、透明背景 + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + val dialog = super.onCreateDialog(savedInstanceState) + dialog.window?.setBackgroundDrawable(Color.TRANSPARENT.toDrawable()) + return dialog + } +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/view/LauncherActivity.kt b/app/src/main/java/com/apps/sketchmaster/view/LauncherActivity.kt new file mode 100644 index 0000000..67effa4 --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/view/LauncherActivity.kt @@ -0,0 +1,43 @@ +package com.apps.sketchmaster.view + +import android.content.Intent +import android.os.Bundle +import android.os.CountDownTimer +import android.os.Handler +import android.os.Looper +import androidx.appcompat.app.AppCompatActivity +import com.ad.maxlibrary.MaxInitManager +import com.ad.maxlibrary.MaxManager +import com.ad.maxlibrary.WelComManager +import com.apps.sketchmaster.R +import com.apps.sketchmaster.databinding.ActivityLauncherBinding +import com.bumptech.glide.Glide +import com.bumptech.glide.request.RequestOptions +import com.bumptech.glide.load.resource.bitmap.RoundedCorners + +class LauncherActivity : AppCompatActivity() { + private lateinit var binding: ActivityLauncherBinding + private lateinit var countDownTimer: CountDownTimer + private val timer = 12000L + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding=ActivityLauncherBinding.inflate(layoutInflater) + setContentView(binding.root) + Glide.with(this).load(R.mipmap.ic_launcher_round).transform(RoundedCorners(20)).into(binding.logo) + + countDownTimer = WelComManager.initTimer(this, timer, { millisUntilFinished -> + val v: Float = + 100 - millisUntilFinished.toFloat() / timer * 100 + val v1 = v.toInt() + binding.progressbar.progress = v1 + + }) { + startActivity(Intent(this@LauncherActivity, MainViewActivity::class.java)) + finish() + } + } + override fun onDestroy() { + super.onDestroy() + countDownTimer.cancel() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/view/MainViewActivity.kt b/app/src/main/java/com/apps/sketchmaster/view/MainViewActivity.kt new file mode 100644 index 0000000..bc94a26 --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/view/MainViewActivity.kt @@ -0,0 +1,141 @@ +package com.apps.sketchmaster.view + + +import com.apps.sketchmaster.data.MainViewModel +import android.os.Bundle +import android.view.View +import androidx.appcompat.app.AppCompatActivity +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import com.ad.maxlibrary.MaxManager +import com.apps.sketchmaster.R +import com.apps.sketchmaster.databinding.ActivityMainViewBinding + + +class MainViewActivity : AppCompatActivity() { + private lateinit var binding: ActivityMainViewBinding + private var isFragmentTransitionRunning = false + private var lastClickTime = 0L + private val CLICK_THROTTLE = 300L + private lateinit var categoryFragment: Fragment + private lateinit var uploadFragment: Fragment + private lateinit var collectFragment: Fragment + private lateinit var mainViewModel: MainViewModel + private var currentFragment: Fragment? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityMainViewBinding.inflate(layoutInflater) + setContentView(binding.root) + mainViewModel = ViewModelProvider(this)[MainViewModel::class.java] + initFragments() +// mainViewModel.debugDatabase() + MaxManager.onLoadAd() + initViews() + } + + override fun onResume() { + super.onResume() + mainViewModel.refreshBases() + } + + private fun updateTab(position: Int) { + binding.imgCategory.isSelected = false + binding.imgUpload.isSelected = false + binding.imgCollect.isSelected = false + val defaultColor = getColor(R.color.grey) + val selectColor = getColor(R.color.primary_text) + binding.tvCategory.setTextColor(defaultColor) + binding.tvCollect.setTextColor(defaultColor) + binding.tvUpload.setTextColor(defaultColor) + when (position) { + 0 -> { + binding.imgCategory.isSelected = true + binding.tvCategory.setTextColor(selectColor) + } + 1 -> { + binding.imgUpload.isSelected = true + binding.tvUpload.setTextColor(selectColor) + } + 2 -> { + binding.imgCollect.isSelected = true + binding.tvCollect.setTextColor(selectColor) + } + } + } + + private fun initFragments() { + categoryFragment = PageShowFragment() + uploadFragment = PageUploadFragment() + collectFragment = PageLikeFragment() + } + + private fun initViews() { + switchFragment(0,true) + binding.llCategory.setOnClickListener { + if (System.currentTimeMillis() - lastClickTime > CLICK_THROTTLE) { + switchFragment(0) + lastClickTime = System.currentTimeMillis() + } + } + binding.llUpload.setOnClickListener { + if (System.currentTimeMillis() - lastClickTime > CLICK_THROTTLE) { + switchFragment(1) + lastClickTime = System.currentTimeMillis() + } + } + binding.llCollect.setOnClickListener { + if (System.currentTimeMillis() - lastClickTime > CLICK_THROTTLE) { + switchFragment(2) + lastClickTime = System.currentTimeMillis() + } + } + } + + private fun switchFragment(position: Int, isFirstTime: Boolean = false) { + if (isFragmentTransitionRunning) return + var targetFragment = when (position) { + 0 -> { + if (currentFragment is PageShowFragment) return + categoryFragment + } + 1 -> { + if (currentFragment is PageUploadFragment) return + uploadFragment + } + 2 -> { + if (currentFragment is PageLikeFragment) return + collectFragment + } + + else -> null + } + if (targetFragment == null || binding.fragmentIn.id == View.NO_ID) return + updateTab(position) + isFragmentTransitionRunning = true + supportFragmentManager.beginTransaction().apply { + if (isFirstTime) { + // 首次加载只使用进入动画 + setCustomAnimations( + android.R.anim.fade_in, + 0, // 无退出动画(因为没有前一个Fragment) + ) + } else { + setCustomAnimations( + android.R.anim.fade_in, + android.R.anim.fade_out + ) + } + if (targetFragment.isAdded) { + show(targetFragment) + } else { + add(binding.fragmentIn.id, targetFragment) + } + currentFragment?.takeIf { it.isAdded }?.let { hide(it) } + currentFragment = targetFragment + commit() + supportFragmentManager.executePendingTransactions() + isFragmentTransitionRunning = false + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/view/PageLikeFragment.kt b/app/src/main/java/com/apps/sketchmaster/view/PageLikeFragment.kt new file mode 100644 index 0000000..60925f1 --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/view/PageLikeFragment.kt @@ -0,0 +1,73 @@ +package com.apps.sketchmaster.view + +import com.apps.sketchmaster.data.MainViewModel +import android.content.Intent +import android.os.Bundle +import android.util.Log +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.GridLayoutManager +import com.apps.sketchmaster.adapter.ThreeTypeAdapter +import com.apps.sketchmaster.event.DeleteClickListener +import com.apps.sketchmaster.databinding.FragmentPageLikeBinding + +class PageLikeFragment : Fragment(), DeleteClickListener { + private lateinit var binding: FragmentPageLikeBinding + private lateinit var mainViewModel: MainViewModel + private var adapter = ThreeTypeAdapter() + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + binding = FragmentPageLikeBinding.inflate(inflater,container,false) + mainViewModel = ViewModelProvider(requireActivity())[MainViewModel::class.java] + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + init() + } + + private fun init() { + adapter.setListener(this) + setupRecyclerView() + binding.recyclerView.adapter = adapter + mainViewModel.locals.observe(viewLifecycleOwner) { list -> + if (list.isNotEmpty()) { + binding.recyclerView.visibility = View.VISIBLE + binding.llEmpty.visibility = View.GONE + Log.d("YYYYY", "Collect is change,list is$list") + adapter.setLocalList(list, 2) + adapter.notifyDataSetChanged() + } else { + binding.recyclerView.visibility = View.GONE + binding.llEmpty.visibility = View.VISIBLE + } + } + val gridLayoutManager = GridLayoutManager(requireActivity(), 3) + binding.recyclerView.layoutManager = gridLayoutManager + } + + private fun setupRecyclerView() { + // 先设置空适配器,让UI快速显示 + binding.recyclerView.adapter = adapter + val gridLayoutManager = GridLayoutManager(requireActivity(), 3) + binding.recyclerView.layoutManager = gridLayoutManager + binding.recyclerView.setHasFixedSize(true) + binding.recyclerView.setItemViewCacheSize(20) + binding.recyclerView.isDrawingCacheEnabled = true + binding.recyclerView.drawingCacheQuality = View.DRAWING_CACHE_QUALITY_HIGH + } + + override fun onClick(name: String) { + val tag = "ImageDialog" + if (requireActivity().supportFragmentManager.findFragmentByTag(tag) == null) { + val dialog = IntentDialog.newInstance(name) + dialog.show(requireActivity().supportFragmentManager, tag) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/view/PageShowFragment.kt b/app/src/main/java/com/apps/sketchmaster/view/PageShowFragment.kt new file mode 100644 index 0000000..77dbd31 --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/view/PageShowFragment.kt @@ -0,0 +1,38 @@ +package com.apps.sketchmaster.view + +import android.content.Intent +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.GridLayoutManager +import com.apps.sketchmaster.adapter.TwoTypeAdapter +import com.apps.sketchmaster.event.DeleteClickListener +import com.apps.sketchmaster.databinding.FragmentPageShowBinding + + +class PageShowFragment : Fragment(),DeleteClickListener { + private lateinit var binding: FragmentPageShowBinding + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + binding = FragmentPageShowBinding.inflate(inflater,container,false) + init() + return binding.root + } + private fun init(){ + val adapter=TwoTypeAdapter() + adapter.setListener(this) + binding.recyclerView.adapter=adapter + binding.recyclerView.layoutManager=GridLayoutManager(requireActivity(),2) + } + + override fun onClick(name: String) { + val intent = Intent(requireActivity(), ShowTitleActivity::class.java) + intent.putExtra(ShowTitleActivity.TITLE_KEY,name) + startActivity(intent) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/view/PageUploadFragment.kt b/app/src/main/java/com/apps/sketchmaster/view/PageUploadFragment.kt new file mode 100644 index 0000000..0609816 --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/view/PageUploadFragment.kt @@ -0,0 +1,292 @@ +package com.apps.sketchmaster.view + +import com.apps.sketchmaster.data.MainViewModel +import android.Manifest +import android.app.Activity.RESULT_OK +import android.content.Intent +import android.content.pm.PackageManager +import android.net.Uri +import android.os.Build +import android.os.Bundle +import android.provider.MediaStore +import android.util.Log +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Toast +import androidx.activity.result.ActivityResultLauncher +import androidx.activity.result.contract.ActivityResultContracts +import androidx.core.content.ContextCompat +import androidx.core.content.FileProvider +import androidx.fragment.app.Fragment +import androidx.lifecycle.Observer +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.GridLayoutManager +import com.ad.maxlibrary.MaxManager +import com.apps.sketchmaster.adapter.ThreeTypeAdapter +import com.apps.sketchmaster.data.Customize +import com.apps.sketchmaster.event.DeleteClickListener +import com.apps.sketchmaster.utils.AllUtils +import com.apps.sketchmaster.R +import com.apps.sketchmaster.databinding.FragmentPageUploadBinding +import java.io.File +import java.io.IOException + +class PageUploadFragment : Fragment(), DeleteClickListener { + private lateinit var binding: FragmentPageUploadBinding + private lateinit var mainViewModel: MainViewModel + private val adapter = ThreeTypeAdapter() + private var uploadList: List = arrayListOf() + private var photoPath: Uri? = null + private var permissionCamera: ActivityResultLauncher? = null + private var cameraLauncher: ActivityResultLauncher? = null + private var galleryPermission: ActivityResultLauncher>? = null + private var galleryLauncher: ActivityResultLauncher? = null + private var imgFile: File? = null + private var delPosition=-1 + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + binding = FragmentPageUploadBinding.inflate(inflater,container,false) + mainViewModel = ViewModelProvider(requireActivity())[MainViewModel::class.java] + return binding.root + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + init() + } + + private fun init() { + adapter.setListener(this) + setupRecyclerView() + mainViewModel.customizes.observe(viewLifecycleOwner) { list -> + if (list.isNotEmpty()) { + if(delPosition!=-1){ + adapter.notifyItemRemoved(delPosition) + binding.recyclerView.postDelayed({ + adapter.setUploadList(list, 1) + },3000) + delPosition=-1 + }else{ + adapter.notifyDataSetChanged() + adapter.setUploadList(list, 1) + } + } + uploadList = list + Log.d("Upload list is:", "${uploadList.size}") + refreshData() + } + registerCameraAndGallery() + binding.llCamera.setOnClickListener { + MaxManager.startShowMaxAd(requireActivity()) { + openPermissionCamera() + } + } + binding.llGallery.setOnClickListener { + MaxManager.startShowMaxAd(requireActivity()) { + openPermissionGallery() + } + } + } + private fun setupRecyclerView() { + // 先设置空适配器,让UI快速显示 + binding.recyclerView.adapter = adapter + val gridLayoutManager = GridLayoutManager(requireActivity(), 3) + binding.recyclerView.layoutManager = gridLayoutManager + binding.recyclerView.setHasFixedSize(true) + binding.recyclerView.setItemViewCacheSize(20) + binding.recyclerView.isDrawingCacheEnabled = true + binding.recyclerView.drawingCacheQuality = View.DRAWING_CACHE_QUALITY_HIGH + } + + private fun registerCameraAndGallery() { + permissionCamera = + registerForActivityResult(ActivityResultContracts.RequestPermission()) { granted -> + if (granted) { + startCamera() + } else { + Toast.makeText(requireActivity(), R.string.permit, Toast.LENGTH_SHORT).show() + } + } + + cameraLauncher = + registerForActivityResult(ActivityResultContracts.TakePicture()) { success -> + Log.d("YYYYYY", "photoPath is $photoPath") + if (success && photoPath != null) { + savePhoto(photoPath!!, true) + } + } + + galleryPermission = + registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { permissions -> + val isGranted = permissions.values.all { it } + if (isGranted) { + startGallery() + } else { + Toast.makeText(requireActivity(), R.string.permit, Toast.LENGTH_SHORT).show() + } + } + + galleryLauncher = + registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> + if (result.resultCode == RESULT_OK && result.data != null) { + val imageUri = result.data?.data + if (imageUri != null) { + savePhoto(imageUri, false) + } + } + } + } + + private fun openPermissionCamera() { + val camera = Manifest.permission.CAMERA + if (ContextCompat.checkSelfPermission( + requireContext(), + camera + ) != PackageManager.PERMISSION_GRANTED + ) { + permissionCamera?.launch(camera) + } else { + startCamera() + } + } + + private fun openPermissionGallery() { + val gallery = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + arrayOf(Manifest.permission.READ_MEDIA_IMAGES) + } else { + arrayOf( + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.WRITE_EXTERNAL_STORAGE + ) + } + + if (!AllUtils.checkPermission(requireActivity(), gallery)) { + galleryPermission?.launch(gallery) + } else { + startGallery() + } + } + + private fun savePhoto(uri: Uri, isCamera: Boolean) { + Log.d("YYYYYY", "save is start") + var file: File? = null + var filePath: String? = null + binding.progress.visibility = View.VISIBLE + val fileSize = AllUtils.returnFileSize(requireContext(), uri).toFloat() + + if (fileSize >= 5) { + binding.progress.visibility = View.GONE + Toast.makeText(requireContext(), R.string.image_too, Toast.LENGTH_SHORT).show() + return + } + + try { + if (isCamera) { + if (imgFile != null && imgFile!!.exists()) { + file = imgFile + filePath = imgFile!!.absolutePath + } + } else { + val fileName = AllUtils.returnFileName(uri, requireContext()) + if (fileName != null) { + filePath = AllUtils.returnPath(fileName) + file = File(filePath) + AllUtils.copyUriToFile(uri, file, requireContext()) + } + } + + if (file == null || !file.exists()) { + requireActivity().runOnUiThread { + binding.progress.visibility = View.GONE + Toast.makeText(requireContext(), R.string.file_not, Toast.LENGTH_SHORT).show() + } + return + } + + val finalFilePath = filePath + if (finalFilePath != null) { + binding.progress.visibility = View.VISIBLE + var isUploadObserver: Observer? = null + // 观察 isUpload LiveData 的变化 + isUploadObserver = Observer { isUploaded -> + binding.progress.visibility = View.GONE + if (isUploaded) { + Toast.makeText( + requireContext(), + R.string.image_already, + Toast.LENGTH_SHORT + ).show() + } else { + mainViewModel.addCustomize(finalFilePath) + } + + // 移除观察者以避免内存泄漏 + isUploadObserver?.let { mainViewModel.isCustomize.removeObserver(it) } + } + + // 注册观察者 + mainViewModel.isCustomize.observe(viewLifecycleOwner, isUploadObserver) + + // 开始检查 + mainViewModel.checkIsCustomize(finalFilePath)} + } catch (e: Exception) { + requireActivity().runOnUiThread { + binding.progress.visibility = View.GONE + Toast.makeText(requireContext(), "error: ${e.message}", Toast.LENGTH_SHORT).show() + } + } + } + + private fun refreshData() { + if (uploadList.isEmpty()) { + binding.llEmpty.visibility = View.VISIBLE + binding.recyclerView.visibility = View.GONE + } else { + binding.llEmpty.visibility = View.GONE + binding.recyclerView.visibility = View.VISIBLE + adapter.setUploadList(uploadList, 1) + adapter.setListener(this) + binding.recyclerView.adapter = adapter + val gridLayoutManager = GridLayoutManager(requireActivity(), 3) + binding.recyclerView.layoutManager = gridLayoutManager + } + } + + private fun startGallery() { + val intent = + Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI).apply { + type = "image/*" + } + galleryLauncher?.launch(intent) + } + + private fun startCamera() { + try { + imgFile = File.createTempFile("IMG_", ".jpg", requireActivity().cacheDir) + val uri = FileProvider.getUriForFile( + requireContext(), + "${requireContext().packageName}.fileprovider", + imgFile + ).also { photoPath = it } + + cameraLauncher?.launch(uri) + } catch (e: IOException) { + Toast.makeText(requireActivity(), "error", Toast.LENGTH_SHORT).show() + } + } + + override fun onClick(name: String) { + val tag = "ImageDialog" + if (requireActivity().supportFragmentManager.findFragmentByTag(tag) == null) { + val dialog = IntentDialog.newInstance(name) + dialog.show(requireActivity().supportFragmentManager, tag) + } + } + + override fun onDelete(name: String,position:Int) { + delPosition=position + mainViewModel.deleteCustomizePath(name) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/view/ShowTitleActivity.kt b/app/src/main/java/com/apps/sketchmaster/view/ShowTitleActivity.kt new file mode 100644 index 0000000..98931ac --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/view/ShowTitleActivity.kt @@ -0,0 +1,46 @@ +package com.apps.sketchmaster.view + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.GridLayoutManager +import com.ad.maxlibrary.MaxManager +import com.apps.sketchmaster.adapter.ThreeTypeAdapter +import com.apps.sketchmaster.event.DeleteClickListener +import com.apps.sketchmaster.utils.AllUtils +import com.apps.sketchmaster.databinding.ActivityShowTitleBinding + +class ShowTitleActivity : AppCompatActivity(),DeleteClickListener { + private lateinit var binding: ActivityShowTitleBinding + companion object{ + var TITLE_KEY="name" + } + private var dirName="" + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding=ActivityShowTitleBinding.inflate(layoutInflater) + setContentView(binding.root) + dirName = intent.getStringExtra(TITLE_KEY)!! + MaxManager.onLoadAd() + init() + MaxManager.startShowMaxAd (this@ShowTitleActivity){ } + } + private fun init(){ + val adapter=ThreeTypeAdapter() + val allPic = AllUtils.loadEachPic(this, dirName) + adapter.setCategoryList(list = allPic, type = 0) + adapter.setListener(this) + val gridLayoutManager = GridLayoutManager(this, 3) + binding.recyclerView.adapter=adapter + binding.recyclerView.layoutManager=gridLayoutManager + binding.imgBack.setOnClickListener { finish() } + + } + + override fun onClick(name: String) { + val tag = "ImageDialog" + if (supportFragmentManager.findFragmentByTag(tag) == null) { + val dialog = IntentDialog.newInstance(name) + dialog.show(supportFragmentManager, tag) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/apps/sketchmaster/view/SketchStartActivity.kt b/app/src/main/java/com/apps/sketchmaster/view/SketchStartActivity.kt new file mode 100644 index 0000000..a37fdc6 --- /dev/null +++ b/app/src/main/java/com/apps/sketchmaster/view/SketchStartActivity.kt @@ -0,0 +1,224 @@ +package com.apps.sketchmaster.view + +import com.apps.sketchmaster.data.MainViewModel +import android.Manifest +import android.annotation.SuppressLint +import android.content.pm.PackageManager +import android.graphics.BitmapFactory +import android.graphics.Color +import android.graphics.Matrix +import android.graphics.PointF +import android.os.Bundle +import android.util.Log +import android.view.MotionEvent +import android.view.View +import android.widget.SeekBar +import android.widget.Toast +import androidx.activity.result.ActivityResultLauncher +import androidx.activity.result.contract.ActivityResultContracts +import androidx.appcompat.app.AppCompatActivity +import androidx.camera.core.Camera +import androidx.camera.core.CameraSelector +import androidx.camera.core.ImageCapture +import androidx.camera.core.Preview +import androidx.camera.lifecycle.ProcessCameraProvider +import androidx.core.content.ContextCompat +import androidx.lifecycle.ViewModelProvider +import com.ad.maxlibrary.MaxManager +import com.apps.sketchmaster.utils.AllUtils +import com.google.common.util.concurrent.ListenableFuture +import com.apps.sketchmaster.databinding.ActivityStartSketchBinding +import com.apps.sketchmaster.view.ShowTitleActivity + +class SketchStartActivity : AppCompatActivity(), View.OnTouchListener { + private lateinit var binding: ActivityStartSketchBinding + private lateinit var defaultBackCamera: CameraSelector + private lateinit var imageCapture: ImageCapture + private lateinit var camera: Camera + private var fullName: String = "" + private var isShow = false + private lateinit var requestPermissionLauncher: ActivityResultLauncher + private lateinit var mainViewModel: MainViewModel + + private var MODE = 0 // 当前状态 + private val MODE_NONE = 0 // 无操作 + private val MODE_DRAG = 1 // 单指操作 + private val MODE_SCALE = 2 // 双指操作 + private val startMatrix = Matrix() + private val endMatrix = Matrix() // 变化后的矩阵 + private val startPointF = PointF() // 初始坐标 + private var distance = 0f // 初始距离 + private var scaleMultiple = 0f // 缩放倍数 + + companion object { + const val PATH_KEY = "path" + } + + @SuppressLint("ClickableViewAccessibility") + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityStartSketchBinding.inflate(layoutInflater) + setContentView(binding.root) + mainViewModel = ViewModelProvider(this)[MainViewModel::class.java] + window.statusBarColor = Color.TRANSPARENT + window.decorView.systemUiVisibility = + View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + defaultBackCamera = CameraSelector.DEFAULT_BACK_CAMERA + binding.imgCard.setOnTouchListener(this) + binding.setting.isSelected = false + binding.llBottom.visibility = View.GONE + binding.setting.setOnClickListener { v -> + val selected = v.isSelected + if (selected) { + binding.setting.isSelected = false + binding.llBottom.visibility = View.GONE + } else { + binding.setting.isSelected = true + binding.llBottom.visibility = View.VISIBLE + } + } + requestPermissionLauncher = + registerForActivityResult(ActivityResultContracts.RequestPermission()) { granted -> + if (granted) { + startCamera() + } else { + Toast.makeText(this, "Permission denied", Toast.LENGTH_SHORT).show() + } + } + init() + MaxManager.onLoadAd() + MaxManager.startShowMaxAd (this@SketchStartActivity){ } + } + + private fun init() { + fullName = intent.getStringExtra(PATH_KEY) ?: "" + Log.d("YYYYYY", fullName + "") + binding.back.setOnClickListener { finish() } + mainViewModel.isBase.observe(this) { isLike -> + binding.imgLike.isSelected = isLike + } + mainViewModel.checkIsBase(fullName) + binding.imgLike.setOnClickListener { v -> + val selected = v.isSelected + binding.imgLike.isSelected = !selected + if (!selected) { + mainViewModel.addBase(fullName) + } else { + mainViewModel.deleteBasePath(fullName) + } + } + binding.seekbar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener { + override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) { + val alpha = (seekBar.max - progress) / 10f + binding.imgCard.alpha = alpha + } + + override fun onStartTrackingTouch(seekBar: SeekBar?) { + } + + override fun onStopTrackingTouch(seekBar: SeekBar?) { + } + + }) + val cameraPermit = Manifest.permission.CAMERA + if (ContextCompat.checkSelfPermission( + this, + cameraPermit + ) != PackageManager.PERMISSION_GRANTED + ) { + requestPermissionLauncher.launch(cameraPermit) + } else { + startCamera() + } + } + + private fun startCamera() { + val future: ListenableFuture = + ProcessCameraProvider.getInstance(this) + future.addListener({ + try { + val cameraProvider = future.get() + val preview = Preview.Builder().build() + cameraProvider.unbindAll() + val builder = ImageCapture.Builder() + imageCapture = builder.build() + camera = + cameraProvider.bindToLifecycle(this, defaultBackCamera, preview, imageCapture) + preview.surfaceProvider = binding.preview.surfaceProvider + if (fullName.isNotEmpty()) { + val bitmap = AllUtils.switchTypeFromAssets(this, fullName) + if (bitmap == null) { + Log.d("YYYYYYYY", "return null") + val decodedBitmap = BitmapFactory.decodeFile(fullName) + binding.imgCard.setImageBitmap(decodedBitmap) + Log.d("YYYYYYYY", "return decodedBitmap$decodedBitmap") + onInitIm(decodedBitmap.width.toFloat(), decodedBitmap.height.toFloat()) + } else { + binding.imgCard.setImageBitmap(bitmap) + onInitIm(bitmap.width.toFloat(), bitmap.height.toFloat()) + } + } + binding.imgFlash.setOnClickListener { + val selected = binding.imgFlash.isSelected + binding.imgFlash.isSelected = !selected + camera.cameraControl.enableTorch(!selected) + } + } catch (e: Exception) { + e.printStackTrace() + } + }, ContextCompat.getMainExecutor(this)) + } + + private fun onInitIm(imW: Float, imH: Float) { + val screen = AllUtils.returnPoint(this) + val newX = screen.x / 2f - imW / 2 + val newY = screen.y / 2f - imH / 2 + startMatrix.postTranslate(newX, newY) + binding.imgCard.imageMatrix = startMatrix + } + + @SuppressLint("ClickableViewAccessibility") + override fun onTouch(v: View?, event: MotionEvent): Boolean { + when (event.action and MotionEvent.ACTION_MASK) { + MotionEvent.ACTION_DOWN -> { + startMatrix.set(binding.imgCard.imageMatrix) + endMatrix.set(binding.imgCard.imageMatrix) + startPointF.set(event.x, event.y) + MODE = MODE_DRAG + } + + MotionEvent.ACTION_POINTER_DOWN -> { + startMatrix.set(endMatrix) + distance = AllUtils.calculateDistance(event) + MODE = MODE_SCALE + } + + MotionEvent.ACTION_MOVE -> { + when (MODE) { + MODE_DRAG -> { + endMatrix.set(startMatrix) + endMatrix.postTranslate( + event.x - startPointF.x, + event.y - startPointF.y + ) + } + + MODE_SCALE -> { + scaleMultiple = AllUtils.calculateDistance(event) / distance + endMatrix.set(startMatrix) + endMatrix.postScale( + scaleMultiple, scaleMultiple, + startPointF.x, startPointF.y + ) + } + } + } + + MotionEvent.ACTION_UP, MotionEvent.ACTION_POINTER_UP -> { + MODE = MODE_NONE + } + } + binding.imgCard.imageMatrix = endMatrix + return true + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/change_selector.xml b/app/src/main/res/drawable/change_selector.xml new file mode 100644 index 0000000..8f19901 --- /dev/null +++ b/app/src/main/res/drawable/change_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/custom_bg.xml b/app/src/main/res/drawable/custom_bg.xml new file mode 100644 index 0000000..80aade6 --- /dev/null +++ b/app/src/main/res/drawable/custom_bg.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/flash_false.xml b/app/src/main/res/drawable/flash_false.xml new file mode 100644 index 0000000..4a98998 --- /dev/null +++ b/app/src/main/res/drawable/flash_false.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/flash_selector.xml b/app/src/main/res/drawable/flash_selector.xml new file mode 100644 index 0000000..78e6c27 --- /dev/null +++ b/app/src/main/res/drawable/flash_selector.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/flash_true.xml b/app/src/main/res/drawable/flash_true.xml new file mode 100644 index 0000000..21ad283 --- /dev/null +++ b/app/src/main/res/drawable/flash_true.xml @@ -0,0 +1,18 @@ + + + + diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..ca3826a --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/intent_bg.xml b/app/src/main/res/drawable/intent_bg.xml new file mode 100644 index 0000000..65bdebb --- /dev/null +++ b/app/src/main/res/drawable/intent_bg.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/intent_start_bg.xml b/app/src/main/res/drawable/intent_start_bg.xml new file mode 100644 index 0000000..7ba9dbd --- /dev/null +++ b/app/src/main/res/drawable/intent_start_bg.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/item_bg.xml b/app/src/main/res/drawable/item_bg.xml new file mode 100644 index 0000000..e4cbd3d --- /dev/null +++ b/app/src/main/res/drawable/item_bg.xml @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/app/src/main/res/drawable/item_border.xml b/app/src/main/res/drawable/item_border.xml new file mode 100644 index 0000000..a38daa1 --- /dev/null +++ b/app/src/main/res/drawable/item_border.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/like_blue.xml b/app/src/main/res/drawable/like_blue.xml new file mode 100644 index 0000000..0660a2b --- /dev/null +++ b/app/src/main/res/drawable/like_blue.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/like_change_selector.xml b/app/src/main/res/drawable/like_change_selector.xml new file mode 100644 index 0000000..97ab175 --- /dev/null +++ b/app/src/main/res/drawable/like_change_selector.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/like_oval_bg.xml b/app/src/main/res/drawable/like_oval_bg.xml new file mode 100644 index 0000000..38f8e07 --- /dev/null +++ b/app/src/main/res/drawable/like_oval_bg.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/like_transparent.xml b/app/src/main/res/drawable/like_transparent.xml new file mode 100644 index 0000000..3d1ce66 --- /dev/null +++ b/app/src/main/res/drawable/like_transparent.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/love_false.xml b/app/src/main/res/drawable/love_false.xml new file mode 100644 index 0000000..3d1ce66 --- /dev/null +++ b/app/src/main/res/drawable/love_false.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/love_selector.xml b/app/src/main/res/drawable/love_selector.xml new file mode 100644 index 0000000..ba28eaa --- /dev/null +++ b/app/src/main/res/drawable/love_selector.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/love_true.xml b/app/src/main/res/drawable/love_true.xml new file mode 100644 index 0000000..0660a2b --- /dev/null +++ b/app/src/main/res/drawable/love_true.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/main_bg.xml b/app/src/main/res/drawable/main_bg.xml new file mode 100644 index 0000000..af57ac2 --- /dev/null +++ b/app/src/main/res/drawable/main_bg.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/main_view_like.xml b/app/src/main/res/drawable/main_view_like.xml new file mode 100644 index 0000000..8103f75 --- /dev/null +++ b/app/src/main/res/drawable/main_view_like.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/main_view_navigator.xml b/app/src/main/res/drawable/main_view_navigator.xml new file mode 100644 index 0000000..b2cd414 --- /dev/null +++ b/app/src/main/res/drawable/main_view_navigator.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/main_view_show.xml b/app/src/main/res/drawable/main_view_show.xml new file mode 100644 index 0000000..a6754ff --- /dev/null +++ b/app/src/main/res/drawable/main_view_show.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/main_view_upload.xml b/app/src/main/res/drawable/main_view_upload.xml new file mode 100644 index 0000000..6e5cfdd --- /dev/null +++ b/app/src/main/res/drawable/main_view_upload.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/progress_bg.xml b/app/src/main/res/drawable/progress_bg.xml new file mode 100644 index 0000000..866ea91 --- /dev/null +++ b/app/src/main/res/drawable/progress_bg.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/progress_oval.xml b/app/src/main/res/drawable/progress_oval.xml new file mode 100644 index 0000000..c28ebfd --- /dev/null +++ b/app/src/main/res/drawable/progress_oval.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/setting_selector.xml b/app/src/main/res/drawable/setting_selector.xml new file mode 100644 index 0000000..3152959 --- /dev/null +++ b/app/src/main/res/drawable/setting_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/sketch_top_bg.xml b/app/src/main/res/drawable/sketch_top_bg.xml new file mode 100644 index 0000000..93b03e7 --- /dev/null +++ b/app/src/main/res/drawable/sketch_top_bg.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/start_progress.xml b/app/src/main/res/drawable/start_progress.xml new file mode 100644 index 0000000..4d4310c --- /dev/null +++ b/app/src/main/res/drawable/start_progress.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/text_border.xml b/app/src/main/res/drawable/text_border.xml new file mode 100644 index 0000000..966480e --- /dev/null +++ b/app/src/main/res/drawable/text_border.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_launcher.xml b/app/src/main/res/layout/activity_launcher.xml new file mode 100644 index 0000000..5fa8a2f --- /dev/null +++ b/app/src/main/res/layout/activity_launcher.xml @@ -0,0 +1,44 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main_view.xml b/app/src/main/res/layout/activity_main_view.xml new file mode 100644 index 0000000..80e0695 --- /dev/null +++ b/app/src/main/res/layout/activity_main_view.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_show_title.xml b/app/src/main/res/layout/activity_show_title.xml new file mode 100644 index 0000000..4c6cc0f --- /dev/null +++ b/app/src/main/res/layout/activity_show_title.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_start_sketch.xml b/app/src/main/res/layout/activity_start_sketch.xml new file mode 100644 index 0000000..c7462f5 --- /dev/null +++ b/app/src/main/res/layout/activity_start_sketch.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_intent.xml b/app/src/main/res/layout/dialog_intent.xml new file mode 100644 index 0000000..2f098c1 --- /dev/null +++ b/app/src/main/res/layout/dialog_intent.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_page_like.xml b/app/src/main/res/layout/fragment_page_like.xml new file mode 100644 index 0000000..120f2ee --- /dev/null +++ b/app/src/main/res/layout/fragment_page_like.xml @@ -0,0 +1,39 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_page_show.xml b/app/src/main/res/layout/fragment_page_show.xml new file mode 100644 index 0000000..f91828a --- /dev/null +++ b/app/src/main/res/layout/fragment_page_show.xml @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_page_upload.xml b/app/src/main/res/layout/fragment_page_upload.xml new file mode 100644 index 0000000..9524cec --- /dev/null +++ b/app/src/main/res/layout/fragment_page_upload.xml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_all_item.xml b/app/src/main/res/layout/item_all_item.xml new file mode 100644 index 0000000..b1033f5 --- /dev/null +++ b/app/src/main/res/layout/item_all_item.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_show_page.xml b/app/src/main/res/layout/item_show_page.xml new file mode 100644 index 0000000..dd9d296 --- /dev/null +++ b/app/src/main/res/layout/item_show_page.xml @@ -0,0 +1,48 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..c4a603d --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..c4a603d --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000..19e37e1 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..b5764e8 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000..d3a4c77 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..4d4d134 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..d5772f5 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000..ae92e53 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..49b8b99 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..2acdc4b Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..9b3f801 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..5156497 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..2312f29 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..082b794 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 0000000..dd66a86 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..87601b5 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..1cfcf40 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap/alpha_blue.png b/app/src/main/res/mipmap/alpha_blue.png new file mode 100644 index 0000000..dc23127 Binary files /dev/null and b/app/src/main/res/mipmap/alpha_blue.png differ diff --git a/app/src/main/res/mipmap/alpha_img.png b/app/src/main/res/mipmap/alpha_img.png new file mode 100644 index 0000000..4868ea8 Binary files /dev/null and b/app/src/main/res/mipmap/alpha_img.png differ diff --git a/app/src/main/res/mipmap/bookshelf_img.png b/app/src/main/res/mipmap/bookshelf_img.png new file mode 100644 index 0000000..00733ec Binary files /dev/null and b/app/src/main/res/mipmap/bookshelf_img.png differ diff --git a/app/src/main/res/mipmap/box_empty_img.png b/app/src/main/res/mipmap/box_empty_img.png new file mode 100644 index 0000000..4734e30 Binary files /dev/null and b/app/src/main/res/mipmap/box_empty_img.png differ diff --git a/app/src/main/res/mipmap/camera_img.png b/app/src/main/res/mipmap/camera_img.png new file mode 100644 index 0000000..0deee74 Binary files /dev/null and b/app/src/main/res/mipmap/camera_img.png differ diff --git a/app/src/main/res/mipmap/category_false.png b/app/src/main/res/mipmap/category_false.png new file mode 100644 index 0000000..94a9f69 Binary files /dev/null and b/app/src/main/res/mipmap/category_false.png differ diff --git a/app/src/main/res/mipmap/category_true.png b/app/src/main/res/mipmap/category_true.png new file mode 100644 index 0000000..61fccda Binary files /dev/null and b/app/src/main/res/mipmap/category_true.png differ diff --git a/app/src/main/res/mipmap/click_img.png b/app/src/main/res/mipmap/click_img.png new file mode 100644 index 0000000..f3500f6 Binary files /dev/null and b/app/src/main/res/mipmap/click_img.png differ diff --git a/app/src/main/res/mipmap/delete.png b/app/src/main/res/mipmap/delete.png new file mode 100644 index 0000000..cf55027 Binary files /dev/null and b/app/src/main/res/mipmap/delete.png differ diff --git a/app/src/main/res/mipmap/delete_img.png b/app/src/main/res/mipmap/delete_img.png new file mode 100644 index 0000000..1e9e07e Binary files /dev/null and b/app/src/main/res/mipmap/delete_img.png differ diff --git a/app/src/main/res/mipmap/from_gallery.png b/app/src/main/res/mipmap/from_gallery.png new file mode 100644 index 0000000..111f530 Binary files /dev/null and b/app/src/main/res/mipmap/from_gallery.png differ diff --git a/app/src/main/res/mipmap/like_false.png b/app/src/main/res/mipmap/like_false.png new file mode 100644 index 0000000..51edf23 Binary files /dev/null and b/app/src/main/res/mipmap/like_false.png differ diff --git a/app/src/main/res/mipmap/like_true.png b/app/src/main/res/mipmap/like_true.png new file mode 100644 index 0000000..e82521d Binary files /dev/null and b/app/src/main/res/mipmap/like_true.png differ diff --git a/app/src/main/res/mipmap/return_go_back.png b/app/src/main/res/mipmap/return_go_back.png new file mode 100644 index 0000000..6efa811 Binary files /dev/null and b/app/src/main/res/mipmap/return_go_back.png differ diff --git a/app/src/main/res/mipmap/setting_false.png b/app/src/main/res/mipmap/setting_false.png new file mode 100644 index 0000000..8b55097 Binary files /dev/null and b/app/src/main/res/mipmap/setting_false.png differ diff --git a/app/src/main/res/mipmap/setting_true.png b/app/src/main/res/mipmap/setting_true.png new file mode 100644 index 0000000..aeca300 Binary files /dev/null and b/app/src/main/res/mipmap/setting_true.png differ diff --git a/app/src/main/res/mipmap/show_ic.png b/app/src/main/res/mipmap/show_ic.png new file mode 100644 index 0000000..291d9d1 Binary files /dev/null and b/app/src/main/res/mipmap/show_ic.png differ diff --git a/app/src/main/res/mipmap/upload_false.png b/app/src/main/res/mipmap/upload_false.png new file mode 100644 index 0000000..52fdd4d Binary files /dev/null and b/app/src/main/res/mipmap/upload_false.png differ diff --git a/app/src/main/res/mipmap/upload_true.png b/app/src/main/res/mipmap/upload_true.png new file mode 100644 index 0000000..128e459 Binary files /dev/null and b/app/src/main/res/mipmap/upload_true.png differ diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..f475a7b --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,8 @@ + + + #FF000000 + #FFcdcdcd + #FFFFFFFF + #FF7F33 + #FFB38000000000000 + \ 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..95b860b --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,19 @@ + + Sketch Master + Category + Upload + Collect + Hello blank fragment + Add From Camera + Add From Gallery + History + Empty History + Empty Resource + Start + Permission denied + Image already uploaded + File not found + Image too large + alpha + Like + \ 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..4d7a13d --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,14 @@ + + + + + \ 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..4df9255 --- /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/main/res/xml/file_paths.xml b/app/src/main/res/xml/file_paths.xml new file mode 100644 index 0000000..499d6d2 --- /dev/null +++ b/app/src/main/res/xml/file_paths.xml @@ -0,0 +1,6 @@ + + + + diff --git a/app/src/main/res/xml/net.xml b/app/src/main/res/xml/net.xml new file mode 100644 index 0000000..0ac6102 --- /dev/null +++ b/app/src/main/res/xml/net.xml @@ -0,0 +1,6 @@ + + + + mobile-server.lux-ad.com + + diff --git a/app/src/test/java/com/apps/sketchmaster/ExampleUnitTest.kt b/app/src/test/java/com/apps/sketchmaster/ExampleUnitTest.kt new file mode 100644 index 0000000..f9340a9 --- /dev/null +++ b/app/src/test/java/com/apps/sketchmaster/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.apps.sketchmaster + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun 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..7013079 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,16 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +plugins { + alias(libs.plugins.android.application) apply false + alias(libs.plugins.kotlin.android) apply false + + id("com.google.gms.google-services") version "4.4.2" apply false + id ("com.google.firebase.crashlytics") version "3.0.2" apply false +} +buildscript { + repositories { + maven { url = uri("https://artifacts.applovin.com/android") } + } + 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..cb1cbe8 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,25 @@ +# 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=-Xmx4096m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. For more details, visit +# https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Kotlin code style for this project: "official" or "obsolete": +kotlin.code.style=official +# 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 +kapt.incremental.apt=false +#systemProp.https.protocols=TLSv1.2,TLSv1.3 \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..98dc0a3 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,47 @@ +[versions] +agp = "8.10.1" +androidsvg = "1.4" +cameraCore = "1.4.2" +coreKtxVersion = "1.12.0" +glide = "4.16.0" +kotlin = "2.0.21" +coreKtx = "1.16.0" +junit = "4.13.2" +junitVersion = "1.3.0" +espressoCore = "3.7.0" +appcompat = "1.7.1" +lifecycleViewmodelKtx = "2.9.2" +material = "1.12.0" +activity = "1.10.1" +constraintlayout = "2.2.1" +roomRuntime = "2.7.2" + +[libraries] +androidsvg = { module = "com.caverock:androidsvg", version.ref = "androidsvg" } +androidx-activity-ktx = { module = "androidx.activity:activity-ktx", version.ref = "activity" } +androidx-camera-camera2 = { module = "androidx.camera:camera-camera2", version.ref = "cameraCore" } +androidx-camera-core = { module = "androidx.camera:camera-core", version.ref = "cameraCore" } +androidx-camera-extensions = { module = "androidx.camera:camera-extensions", version.ref = "cameraCore" } +androidx-camera-lifecycle = { module = "androidx.camera:camera-lifecycle", version.ref = "cameraCore" } +androidx-camera-view = { module = "androidx.camera:camera-view", version.ref = "cameraCore" } +androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } +androidx-core-ktx-v1120 = { module = "androidx.core:core-ktx", version.ref = "coreKtxVersion" } +androidx-lifecycle-livedata-ktx = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "lifecycleViewmodelKtx" } +androidx-lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "lifecycleViewmodelKtx" } +androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "roomRuntime" } +androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "roomRuntime" } +androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "roomRuntime" } +compiler = { module = "com.github.bumptech.glide:compiler", version.ref = "glide" } +glide = { module = "com.github.bumptech.glide:glide", version.ref = "glide" } +junit = { group = "junit", name = "junit", version.ref = "junit" } +androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" } +androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" } +androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } +material = { group = "com.google.android.material", name = "material", version.ref = "material" } +androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "activity" } +androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } + +[plugins] +android-application = { id = "com.android.application", version.ref = "agp" } +kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } + 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..cb85473 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Tue Aug 12 13:54:22 CST 2025 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-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/keyStore.properties b/keyStore.properties new file mode 100644 index 0000000..8cd0285 --- /dev/null +++ b/keyStore.properties @@ -0,0 +1,6 @@ +app_name=Sketch Master +package_name=com.apps.sketchmaster +keystoreFile=app/sketchmaster.jks +key_alias=sketchmasterkey0 +key_store_password=sketchmaster +key_password=sketchmaster \ No newline at end of file diff --git a/quicksketchtrace.jks b/quicksketchtrace.jks new file mode 100644 index 0000000..909e584 Binary files /dev/null and b/quicksketchtrace.jks differ diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..af25d5d --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,28 @@ +pluginManagement { + repositories { + google { + content { + includeGroupByRegex("com\\.android.*") + includeGroupByRegex("com\\.google.*") + includeGroupByRegex("androidx.*") + } + } + mavenCentral() + gradlePluginPortal() + } +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + + maven { url = uri("https://cboost.jfrog.io/artifactory/chartboost-ads/") } + 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 = "Sketch Master" +include(":app") + \ No newline at end of file diff --git a/sketchmaster.jks b/sketchmaster.jks new file mode 100644 index 0000000..56e30f9 Binary files /dev/null and b/sketchmaster.jks differ