diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index b19dcf2ce..8c3d0c458 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -42,7 +42,7 @@ object Versions { const val io_objectbox: String = "3.5.0" - const val io_mockk: String = "1.12.0" + const val io_mockk: String = "1.13.4" const val android_arch_lifecycle_extensions: String = "1.1.1" diff --git a/buildSrc/src/main/kotlin/plugin/AllProjectConfigurer.kt b/buildSrc/src/main/kotlin/plugin/AllProjectConfigurer.kt index 69f8cd400..7d69e7ac3 100644 --- a/buildSrc/src/main/kotlin/plugin/AllProjectConfigurer.kt +++ b/buildSrc/src/main/kotlin/plugin/AllProjectConfigurer.kt @@ -111,7 +111,9 @@ class AllProjectConfigurer { "IconDipSize", "UnusedResources", "NonConstantResourceId", - "NotifyDataSetChanged" + "NotifyDataSetChanged", + "NotificationPermission", + "MonochromeLauncherIcon" ) lintConfig = target.rootProject.file("lintConfig.xml") } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/utils/NetworkUtils.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/utils/NetworkUtils.kt index f0fee1dd0..7af62299c 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/utils/NetworkUtils.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/utils/NetworkUtils.kt @@ -22,6 +22,7 @@ import android.net.ConnectivityManager import android.net.NetworkInfo import android.os.Build import android.util.Log +import androidx.annotation.VisibleForTesting import org.kiwix.kiwixmobile.core.R import java.lang.Exception import java.util.UUID @@ -41,6 +42,9 @@ object NetworkUtils { fun isNetworkConnectionOK(networkInfo: NetworkInfo): Boolean = networkInfo.state == NetworkInfo.State.CONNECTED + @VisibleForTesting + internal var sdkVersionForTesting = Build.VERSION.SDK_INT + /** * check if network of type WIFI is connected * @@ -52,7 +56,7 @@ object NetworkUtils { fun isWiFi(context: Context): Boolean { val connectivity = context .getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager - return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + return if (sdkVersionForTesting >= Build.VERSION_CODES.M) { val networkInfo = connectivity.activeNetworkInfo ?: return false networkInfo.type == ConnectivityManager.TYPE_WIFI && networkInfo.isConnected } else { diff --git a/core/src/test/java/org/kiwix/kiwixmobile/core/utils/NetworkUtilsTest.kt b/core/src/test/java/org/kiwix/kiwixmobile/core/utils/NetworkUtilsTest.kt index aca82a2f9..fd098a0e6 100644 --- a/core/src/test/java/org/kiwix/kiwixmobile/core/utils/NetworkUtilsTest.kt +++ b/core/src/test/java/org/kiwix/kiwixmobile/core/utils/NetworkUtilsTest.kt @@ -21,8 +21,6 @@ package org.kiwix.kiwixmobile.core.utils import android.content.Context import android.net.ConnectivityManager import android.net.NetworkInfo -import android.os.Build -import android.util.Log import io.mockk.every import io.mockk.mockk import io.mockk.verify @@ -31,8 +29,6 @@ import org.junit.Assert.assertFalse import org.junit.Assert.assertTrue import org.junit.jupiter.api.Test import org.kiwix.kiwixmobile.core.R -import java.lang.reflect.Field -import java.lang.reflect.Modifier import java.util.regex.Pattern class NetworkUtilsTest { @@ -79,11 +75,7 @@ class NetworkUtilsTest { every { (connectivity.activeNetworkInfo) } returns networkInfo // SDK >= 23 - try { - setSDKVersion(Build.VERSION::class.java.getField("SDK_INT"), 23) - } catch (e: Exception) { - Log.d("NetworkUtilsTest", "Unable to set Build SDK Version") - } + NetworkUtils.sdkVersionForTesting = 23 // on Mobile Data every { (networkInfo.type) } returns ConnectivityManager.TYPE_MOBILE @@ -110,11 +102,7 @@ class NetworkUtilsTest { verify(exactly = 0) { connectivity.getNetworkInfo(ConnectivityManager.TYPE_WIFI) } // SDK < 23 - try { - setSDKVersion(Build.VERSION::class.java.getField("SDK_INT"), 22) - } catch (e: Exception) { - Log.d("NetworkUtilsTest", "Unable to set Build SDK Version") - } + NetworkUtils.sdkVersionForTesting = 22 // WIFI connected every { (connectivity.getNetworkInfo(ConnectivityManager.TYPE_WIFI)) } returns networkInfo @@ -236,17 +224,4 @@ class NetworkUtilsTest { ) ) } - - // Sets the Build SDK version - @Throws(Exception::class) - private fun setSDKVersion( - field: Field, - newValue: Any - ) { - field.isAccessible = true - val modifiersField = Field::class.java.getDeclaredField("modifiers") - modifiersField.isAccessible = true - modifiersField.setInt(field, field.modifiers and Modifier.FINAL.inv()) - field.set(null, newValue) - } }