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