diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt index 6d5176e10..f4e1c7834 100644 --- a/buildSrc/src/main/kotlin/Libs.kt +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -420,4 +420,10 @@ object Libs { * https://developer.android.com/testing */ const val junit: String = "androidx.test.ext:junit:" + Versions.junit + + /** + * https://developer.android.com/reference/com/google/android/play/core/release-notes + */ + const val google_android_play_core: String = + "com.google.android.play:core:" + Versions.google_android_play_core } diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index c52ba1d58..dcd78bbf4 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -12,6 +12,8 @@ import org.gradle.plugin.use.PluginDependencySpec */ object Versions { + const val google_android_play_core: String = "1.7.3" + const val document_file_version: String = "1.0.1" const val org_jetbrains_kotlinx_kotlinx_coroutines: String = "1.4.1" diff --git a/buildSrc/src/main/kotlin/plugin/AllProjectConfigurer.kt b/buildSrc/src/main/kotlin/plugin/AllProjectConfigurer.kt index 08bf42fd2..8fdd9ec9f 100644 --- a/buildSrc/src/main/kotlin/plugin/AllProjectConfigurer.kt +++ b/buildSrc/src/main/kotlin/plugin/AllProjectConfigurer.kt @@ -204,6 +204,7 @@ class AllProjectConfigurer { implementation(Libs.rxandroid) implementation(Libs.rxjava) implementation(Libs.preference_ktx) + implementation(Libs.google_android_play_core) } } } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/CoreApp.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/CoreApp.kt index c99a56df0..1750d0e1e 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/CoreApp.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/CoreApp.kt @@ -17,6 +17,7 @@ */ package org.kiwix.kiwixmobile.core +import android.app.AlertDialog import android.app.Application import android.content.Context import android.os.Build @@ -25,6 +26,7 @@ import android.os.Environment.getExternalStorageState import android.os.StrictMode import android.os.StrictMode.VmPolicy import androidx.multidex.MultiDex +import com.google.android.play.core.missingsplits.MissingSplitsManagerFactory import com.jakewharton.threetenabp.AndroidThreeTen import org.kiwix.kiwixmobile.core.data.local.KiwixDatabase import org.kiwix.kiwixmobile.core.di.components.CoreComponent @@ -76,6 +78,15 @@ abstract class CoreApp : Application() { } override fun onCreate() { + if (MissingSplitsManagerFactory.create(this).disableAppIfMissingRequiredSplits()) { + AlertDialog.Builder(this) + .setMessage(org.kiwix.kiwixmobile.core.R.string.missing_split_version_for_objectbox) + .setPositiveButton(R.string.yes) { dialog, which -> + android.os.Process.killProcess(android.os.Process.myPid()) + } + .show() + return + } super.onCreate() instance = this coreComponent = DaggerCoreComponent.builder() diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index 614b3452d..6a9a907a2 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -321,4 +321,5 @@ Open Article Note: Notes are not deleted from your storage Delete Selected Notes? + Un-Supported architecture unable to open please install this app from PlayStore