From d78334bbb70e7e6fe9a676505a40475f49da2bbe Mon Sep 17 00:00:00 2001 From: amirisback Date: Wed, 3 Sep 2025 17:32:06 +0700 Subject: [PATCH 1/2] update: libs --- app/build.gradle.kts | 30 ++-- .../ui/keyboard/webview/WebiewKeyboard.kt | 4 +- build.gradle.kts | 2 - buildSrc/src/main/kotlin/ProjectSetting.kt | 4 +- frogo-keyboard/build.gradle.kts | 21 ++- gradle.properties | 3 +- gradle/libs.versions.toml | 137 ++---------------- gradle/wrapper/gradle-wrapper.properties | 2 +- 8 files changed, 51 insertions(+), 152 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 54bff2e..59e8813 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,11 +1,17 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { - id("com.android.application") - id("org.jetbrains.kotlin.android") - id("com.google.devtools.ksp") - id("com.google.dagger.hilt.android") + alias(libs.plugins.android.application) + alias(libs.plugins.jetbrains.kotlin.android) + alias(libs.plugins.hilt) + alias(libs.plugins.ksp) id("kotlin-parcelize") } +ksp { + arg("room.schemaLocation", "$projectDir/schemas") // If Using Ksp +} + android { namespace = ProjectSetting.PROJECT_NAME_SPACE_APP @@ -33,7 +39,6 @@ android { // Declaration apps name debug mode val debugAttribute = "Dev" val nameAppDebug = "${ProjectSetting.NAME_APP} $debugAttribute" - resourceConfigurations += setOf("en", "id") // Inject app name for debug resValue("string", "app_name", nameAppDebug) @@ -42,10 +47,6 @@ android { resValue("string", "admob_app_id", AdmobValue.Debug.ADMOB_APP_ID) resValue("string", "admob_interstitial", AdmobValue.Debug.ADMOB_INTERSTITIAL) - ksp { - arg("room.schemaLocation", "$projectDir/schemas") // If Using Ksp - } - } signingConfigs { @@ -98,12 +99,13 @@ android { targetCompatibility = JavaVersion.VERSION_17 } - kotlin { - jvmToolchain { - languageVersion.set(JavaLanguageVersion.of("17")) - } - } +} +kotlin { + compilerOptions { + jvmTarget.set(JvmTarget.JVM_17) + freeCompilerArgs.add("-opt-in=kotlin.RequiresOptIn") + } } dependencies { diff --git a/app/src/main/java/com/frogobox/appkeyboard/ui/keyboard/webview/WebiewKeyboard.kt b/app/src/main/java/com/frogobox/appkeyboard/ui/keyboard/webview/WebiewKeyboard.kt index 03c4eaf..644b8b9 100644 --- a/app/src/main/java/com/frogobox/appkeyboard/ui/keyboard/webview/WebiewKeyboard.kt +++ b/app/src/main/java/com/frogobox/appkeyboard/ui/keyboard/webview/WebiewKeyboard.kt @@ -5,7 +5,7 @@ import android.util.AttributeSet import android.view.LayoutInflater import com.frogobox.appkeyboard.databinding.KeyboardWebviewBinding import com.frogobox.libkeyboard.common.core.BaseKeyboard -import com.frogobox.sdk.ext.loadUrlExt +import com.frogobox.sdk.ext.loadUrlFrogoExt /** * Created by Faisal Amir on 07/11/22 @@ -32,7 +32,7 @@ class WebiewKeyboard( private fun initView() { binding?.apply { - webview.loadUrlExt("https://www.google.com") + webview.loadUrlFrogoExt("https://www.google.com") } } diff --git a/build.gradle.kts b/build.gradle.kts index eed172f..47d56ba 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,8 +4,6 @@ plugins { 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 } diff --git a/buildSrc/src/main/kotlin/ProjectSetting.kt b/buildSrc/src/main/kotlin/ProjectSetting.kt index 2ebc996..c6e5b37 100644 --- a/buildSrc/src/main/kotlin/ProjectSetting.kt +++ b/buildSrc/src/main/kotlin/ProjectSetting.kt @@ -27,8 +27,8 @@ object ProjectSetting { // --------------------------------------------------------------------------------------------- - const val PROJECT_MIN_SDK = 21 - const val PROJECT_COMPILE_SDK = 35 + const val PROJECT_MIN_SDK = 24 + const val PROJECT_COMPILE_SDK = 36 const val PROJECT_TARGET_SDK = PROJECT_COMPILE_SDK // --------------------------------------------------------------------------------------------- diff --git a/frogo-keyboard/build.gradle.kts b/frogo-keyboard/build.gradle.kts index 07eb0fd..281ad47 100644 --- a/frogo-keyboard/build.gradle.kts +++ b/frogo-keyboard/build.gradle.kts @@ -1,6 +1,8 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + plugins { - id("com.android.library") - id("org.jetbrains.kotlin.android") + alias(libs.plugins.android.library) + alias(libs.plugins.jetbrains.kotlin.android) `maven-publish` } @@ -29,6 +31,7 @@ android { buildFeatures { viewBinding = true + buildConfig = true } compileOptions { @@ -36,17 +39,19 @@ android { targetCompatibility = JavaVersion.VERSION_17 } - kotlin { - jvmToolchain { - languageVersion.set(JavaLanguageVersion.of("17")) - } - } +} +kotlin { + compilerOptions { + jvmTarget.set(JvmTarget.JVM_17) + freeCompilerArgs.add("-opt-in=kotlin.RequiresOptIn") + } } dependencies { - api(libs.deltadox.android) + api(libs.frogo.android) + api(libs.frogo.consume.api) api(libs.androidx.emoji2) } diff --git a/gradle.properties b/gradle.properties index 022338b..3675ef5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,10 +16,11 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 # https://developer.android.com/topic/libraries/support-library/androidx-rn android.useAndroidX=true # Kotlin code style for this project: "official" or "obsolete": +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true 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 -android.defaults.buildfeatures.buildconfig=true android.nonFinalResIds=false \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5e0fb7e..619f27b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,136 +1,32 @@ [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" +agp = "8.12.2" +kotlin = "2.2.10" +ksp = "2.2.10-2.0.2" +liveCycle = "2.9.3" + +roomKtx = "2.7.2" +work = "2.10.3" +glideCompiler = "4.16.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" +hilt = "2.57.1" +emoji2 = "1.5.0" +frogoAndroid = "2.3.2" +frogoconsumeapi = "2.6.1" [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" } - +github-glide-compiler = { group = "com.github.bumptech.glide", name = "compiler", version.ref = "glideCompiler" } +frogo-android = { group = "com.github.frogobox", name = "frogo-sdk", version.ref = "frogoAndroid" } +frogo-consume-api = { group = "com.github.frogobox", name = "frogo-consume-api", version.ref = "frogoconsumeapi" } # -------------------------------------------------------------------------------------------------- -# 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" } @@ -138,7 +34,4 @@ 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 666b087..21d1384 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sun Nov 03 18:01:05 WIB 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 8c84f8f12fb5bc6ccfb901485a56a5df63772e3a Mon Sep 17 00:00:00 2001 From: amirisback Date: Wed, 3 Sep 2025 17:36:42 +0700 Subject: [PATCH 2/2] Release v1.2.1 --- README.md | 6 +++--- buildSrc/src/main/kotlin/ProjectSetting.kt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b9cc2db..dd2694b 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ ## Version Release This Is Latest Release - $version_release = 1.1.7 + $version_release = 1.2.1 What's New?? @@ -65,14 +65,14 @@ allprojects { dependencies { // library frogo-keyboard - implementation 'com.github.amirisback:keyboard:1.1.7' + implementation 'com.github.amirisback:keyboard:1.2.1' } ####