diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 8075203..54bff2e 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -90,6 +90,7 @@ android { buildFeatures { viewBinding = true + buildConfig = true } compileOptions { @@ -109,14 +110,12 @@ dependencies { implementation(project(DependencyGradle.MODULE_LIB_FROGO_KEYBOARD)) - implementation(Androidx.Work.runtimeKtx) - implementation(Google.Hilt.android) + implementation(libs.androidx.work.ktx) + implementation(libs.google.hilt) - implementation(DependencyGradle.FROGO_CONSUME_API) - - ksp(GitHub.glideCompiler) - ksp(Google.Hilt.compiler) - ksp(Androidx.Room.compiler) - ksp(Androidx.Lifecycle.compiler) + ksp(libs.github.glide.compiler) + ksp(libs.google.hilt.compiler) + ksp(libs.androidx.room.compiler) + ksp(libs.androidx.lifecycle.compiler) } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8f4dded..625d548 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -68,6 +68,11 @@ + + + diff --git a/app/src/main/java/com/frogobox/appkeyboard/ui/autotext/AutoTextActivity.kt b/app/src/main/java/com/frogobox/appkeyboard/ui/autotext/AutoTextActivity.kt index e6f9758..e0946e9 100644 --- a/app/src/main/java/com/frogobox/appkeyboard/ui/autotext/AutoTextActivity.kt +++ b/app/src/main/java/com/frogobox/appkeyboard/ui/autotext/AutoTextActivity.kt @@ -42,7 +42,6 @@ class AutoTextActivity : BaseActivity() { when (it) { is FrogoResult.Error -> {} - is FrogoResult.Finish -> {} is FrogoResult.Loading -> {} is FrogoResult.Success -> { if (it.result.isEmpty()) { diff --git a/app/src/main/java/com/frogobox/appkeyboard/ui/autotext/AutoTextViewModel.kt b/app/src/main/java/com/frogobox/appkeyboard/ui/autotext/AutoTextViewModel.kt index 1753f57..1d6e32a 100644 --- a/app/src/main/java/com/frogobox/appkeyboard/ui/autotext/AutoTextViewModel.kt +++ b/app/src/main/java/com/frogobox/appkeyboard/ui/autotext/AutoTextViewModel.kt @@ -62,7 +62,7 @@ class AutoTextViewModel @Inject constructor( } override fun onShowProgress() { - _autoText.postValue(FrogoResult.Loading(true)) + _autoText.postValue(FrogoResult.Loading()) } override fun onSuccess(data: List) { diff --git a/build.gradle.kts b/build.gradle.kts index 00dd7c1..eed172f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,10 +1,13 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - id("com.android.application") version "8.3.2" apply false - id("com.android.library") version "8.3.2" apply false - id("com.google.devtools.ksp") version "1.9.23-1.0.19" apply false - id("org.jetbrains.kotlin.android") version DependencyGradle.KOTLIN_VERSION apply false - id("com.google.dagger.hilt.android") version DependencyGradle.HILT_VERSION apply false + alias(libs.plugins.android.application) apply false + alias(libs.plugins.android.library) apply false + alias(libs.plugins.jetbrains.kotlin.android) apply false + alias(libs.plugins.jetbrains.kotlin.jvm) apply false + alias(libs.plugins.jetbrainsCompose) apply false + alias(libs.plugins.compose.compiler) apply false + alias(libs.plugins.hilt) apply false + alias(libs.plugins.ksp) apply false } tasks.register("clean", Delete::class) { diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 14646b3..d4a3127 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -10,5 +10,5 @@ repositories { } dependencies{ - implementation("com.github.frogobox:open-build-src:3.0.4") + } diff --git a/buildSrc/src/main/kotlin/DependencyGradle.kt b/buildSrc/src/main/kotlin/DependencyGradle.kt index 1378eb4..e0a6aad 100644 --- a/buildSrc/src/main/kotlin/DependencyGradle.kt +++ b/buildSrc/src/main/kotlin/DependencyGradle.kt @@ -1,20 +1,5 @@ object DependencyGradle { - const val KOTLIN_VERSION = Version.JetBrains.kotlin - const val HILT_VERSION = Version.Google.hilt - const val MODULE_LIB_FROGO_KEYBOARD = ":frogo-keyboard" - private const val FROGO_SDK_VERSION = "2.2.7" - private const val FROGO_UI_VERSION = "2.0.3" - private const val FROGO_CONSUME_API_VERSION = "2.5.4" - private const val FROGO_ADMOB_VERSION = "5.3.7" - private const val FROGO_RECYCLER_VIEW_VERSION = "4.4.1" - - const val FROGO_SDK = "com.github.frogobox:frogo-sdk:$FROGO_SDK_VERSION" - const val FROGO_UI = "com.github.frogobox:frogo-ui:$FROGO_UI_VERSION" - const val FROGO_CONSUME_API = "com.github.frogobox:frogo-consume-api:$FROGO_CONSUME_API_VERSION" - const val FROGO_ADMOB = "com.github.amirisback:frogo-admob:$FROGO_ADMOB_VERSION" - const val FROGO_RECYCLER_VIEW = "com.github.amirisback:frogo-recycler-view:$FROGO_RECYCLER_VIEW_VERSION" - } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/ProjectSetting.kt b/buildSrc/src/main/kotlin/ProjectSetting.kt index 5de8965..2ebc996 100644 --- a/buildSrc/src/main/kotlin/ProjectSetting.kt +++ b/buildSrc/src/main/kotlin/ProjectSetting.kt @@ -22,13 +22,13 @@ object ProjectSetting { // --------------------------------------------------------------------------------------------- const val VERSION_MAJOR = 1 - const val VERSION_MINOR = 1 - const val VERSION_PATCH = 7 + const val VERSION_MINOR = 2 + const val VERSION_PATCH = 0 // --------------------------------------------------------------------------------------------- - const val PROJECT_MIN_SDK = Version.Gradle.minSdk - const val PROJECT_COMPILE_SDK = Version.Gradle.compileSdk + const val PROJECT_MIN_SDK = 21 + const val PROJECT_COMPILE_SDK = 35 const val PROJECT_TARGET_SDK = PROJECT_COMPILE_SDK // --------------------------------------------------------------------------------------------- diff --git a/frogo-keyboard/build.gradle.kts b/frogo-keyboard/build.gradle.kts index 0092df4..07eb0fd 100644 --- a/frogo-keyboard/build.gradle.kts +++ b/frogo-keyboard/build.gradle.kts @@ -46,11 +46,8 @@ android { dependencies { - api(DependencyGradle.FROGO_SDK) - api(DependencyGradle.FROGO_UI) - api(DependencyGradle.FROGO_RECYCLER_VIEW) - - api(Androidx.emoji2) + api(libs.deltadox.android) + api(libs.androidx.emoji2) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..5e0fb7e --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,144 @@ +[versions] +agp = "8.7.2" +kotlin = "2.0.21" +ksp = "2.0.21-1.0.25" +coreKtx = "1.15.0" +appcompat = "1.7.0" +activity = "1.9.3" +fragment = "1.8.5" +constraintlayout = "2.2.0" +liveCycle = "2.8.7" +viewPager2 = "1.1.0" +preference = "1.2.1" +roomKtx = "2.6.1" +work = "2.10.0" +googleAdmob = "23.5.0" # https://developers.google.com/admob/android/quick-start +unityAd = "4.12.1" # https://developers.google.com/admob/android/mediation/unity#step_3_import_the_unity_ads_sdk_and_adapter +startIo = "4.11.5" # https://support.start.io/hc/en-us/articles/360014774799-Integration-via-Maven +recyclerview = "1.3.2" +flexbox = "3.0.0" +material = "1.12.0" +gson = "2.10.1" +okhttp = "4.12.0" +retrofit = "2.11.0" +rxandroid3 = "3.0.2" +rxjava3 = "3.1.8" +chucker = "4.0.0" +glide = "4.16.0" +customactivityoncrash = "2.4.0" +circleimageview = "3.1.0" +koin = "3.5.6" +junit = "4.13.2" +junitVersion = "1.2.1" +espressoCore = "3.6.1" +hilt = "2.52" +emoji2 = "1.5.0" +deltadoxAndroid = "1.0.0" + +# Compose Version +composePlugin = "1.7.0" +composeCompiler = "1.5.15" # https://developer.android.com/jetpack/androidx/releases/compose +composeAnimation = "1.6.7"# https://developer.android.com/jetpack/androidx/releases/compose +composeActivity = "1.9.3" # https://androidx.tech/artifacts/activity/activity-compose/ +compose = "1.7.5" # https://developer.android.com/jetpack/androidx/releases/compose +composeMaterial = "1.7.5" # https://developer.android.com/jetpack/androidx/releases/compose +composeFoundation = "1.6.7" # https://developer.android.com/jetpack/androidx/releases/compose +composeMaterial3 = "1.3.1" # https://developer.android.com/jetpack/androidx/releases/compose +composeNavigation = "2.7.7" # https://androidx.tech/artifacts/navigation/navigation-compose/ +composeHiltNavigation = "1.2.0" + +[libraries] +# Android Kit +androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } +androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } +androidx-activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "activity" } +androidx-fragment-ktx = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "fragment" } +androidx-work-ktx = { group = "androidx.work", name = "work-runtime-ktx", version.ref = "work" } + +# Android Kit +androidx-lifecycle-process = { group = "androidx.lifecycle", name = "lifecycle-process", version.ref = "liveCycle" } + +ads-google-admob = { group = "com.google.android.gms", name = "play-services-ads", version.ref = "googleAdmob" } +ads-google-admob-lite = { group = "com.google.android.gms", name = "play-services-ads-lite", version.ref = "googleAdmob" } +ads-unityAd = { group = "com.unity3d.ads", name = "unity-ads", version.ref = "unityAd" } +ads-startIo = { group = "com.startapp", name = "inapp-sdk", version.ref = "startIo" } + +androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } +androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "liveCycle" } +androidx-lifecycle-viewmodel-ktx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "liveCycle" } +androidx-lifecycle-livedata-ktx = { group = "androidx.lifecycle", name = "lifecycle-livedata-ktx", version.ref = "liveCycle" } +androidx-lifecycle-compiler = { group = "androidx.lifecycle", name = "lifecycle-compiler", version.ref = "liveCycle" } + +androidx-viewpager2 = { group = "androidx.viewpager2", name = "viewpager2", version.ref = "viewPager2" } +androidx-preference = { group = "androidx.preference", name = "preference", version.ref = "preference" } +androidx-emoji2 = { group = "androidx.emoji2", name = "emoji2-bundled", version.ref = "emoji2"} + +androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "roomKtx" } +androidx-room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "roomKtx" } +androidx-room-rxjava3 = { group = "androidx.room", name = "room-rxjava3", version.ref = "roomKtx" } +androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "roomKtx" } + +androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "composeActivity"} +androidx-compose-material = { group = "androidx.compose.material", name = "material", version.ref = "composeMaterial"} +androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "composeMaterial3"} +androidx-compose-animation = { group = "androidx.compose.animation", name = "animation", version.ref = "compose"} +androidx-compose-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "compose"} +androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "compose"} +androidx-compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview", version.ref = "compose"} +androidx-compose-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest", version.ref = "compose"} + +androidx-recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "recyclerview" } + +google-hilt = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt" } +google-hilt-compiler = { group = "com.google.dagger", name = "hilt-compiler", version.ref = "hilt" } +material = { group = "com.google.android.material", name = "material", version.ref = "material" } +gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" } + +flexbox = { group = "com.google.android.flexbox", name = "flexbox", version.ref = "flexbox" } + +# -------------------------------------------------------------------------------------------------- +# Test Library + +androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" } +androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" } +junit = { group = "junit", name = "junit", version.ref = "junit" } + +# -------------------------------------------------------------------------------------------------- +# Library + +square-okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" } +square-logging-interceptor = { group = "com.squareup.okhttp3", name = "logging-interceptor", version.ref = "okhttp" } + +square-retrofit = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" } +square-retrofit-converter-gson = { group = "com.squareup.retrofit2", name = "converter-gson", version.ref = "retrofit" } +square-retrofit-adapter-rxjava3 = { group = "com.squareup.retrofit2", name = "adapter-rxjava3", version.ref = "retrofit" } + +reactivex-rxjava3 = { group = "io.reactivex.rxjava3", name = "rxjava", version.ref = "rxjava3" } +reactivex-rxandroid3 = { group = "io.reactivex.rxjava3", name = "rxandroid", version.ref = "rxandroid3" } + +github-chucker = { group = "com.github.chuckerteam.chucker", name = "library", version.ref = "chucker" } +github-glide = { group = "com.github.bumptech.glide", name = "glide", version.ref = "glide" } +github-glide-compiler = { group = "com.github.bumptech.glide", name = "compiler", version.ref = "glide" } +github-customactivityoncrash = { group = "cat.ereza", name = "customactivityoncrash", version.ref = "customactivityoncrash" } +github-circleimageview = { group = "de.hdodenhof", name = "circleimageview", version.ref = "circleimageview" } + +koin-core = { group = "io.insert-koin", name = "koin-core", version.ref = "koin" } +koin-android = { group = "io.insert-koin", name = "koin-android", version.ref = "koin" } +koin-android-compat = { group = "io.insert-koin", name = "koin-android-compat", version.ref = "koin" } +koin-androidx-workmanager = { group = "io.insert-koin", name = "koin-androidx-workmanager", version.ref = "koin" } + +deltadox-android = { group = "com.github.deltadox", name = "deltadox-android", version.ref = "deltadoxAndroid" } + +# -------------------------------------------------------------------------------------------------- + + +[plugins] +android-application = { id = "com.android.application", version.ref = "agp" } +android-library = { id = "com.android.library", version.ref = "agp"} +jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +jetbrains-kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin"} +ksp = { id = "com.google.devtools.ksp", version.ref = "ksp"} +jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "composePlugin" } +kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } +compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } +hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 10bf90f..666b087 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Jun 12 12:51:08 WIB 2022 +#Sun Nov 03 18:01:05 WIB 2024 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip distributionPath=wrapper/dists -zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists