From 871cefad3ff05cb4d3b59576f1396ac5d80f47d9 Mon Sep 17 00:00:00 2001 From: MohitMali Date: Thu, 5 May 2022 11:59:13 +0530 Subject: [PATCH] Rebase all changes in once commit --- .github/workflows/coverage.yml | 7 ++++--- app/src/androidTest/AndroidManifest.xml | 3 +++ .../androidTest/java/org/kiwix/kiwixmobile/BaseRobot.kt | 2 +- .../java/org/kiwix/kiwixmobile/help/HelpFragmentTest.kt | 4 ++-- .../java/org/kiwix/kiwixmobile/intro/IntroFragmentTest.kt | 4 ++-- .../kiwix/kiwixmobile/main/TopLevelDestinationRobot.kt | 3 +++ app/src/main/AndroidManifest.xml | 1 + buildSrc/src/main/kotlin/Versions.kt | 2 +- core/src/main/AndroidManifest.xml | 3 ++- .../kiwix/kiwixmobile/core/di/modules/NetworkModule.kt | 2 +- .../core/search/viewmodel/effects/StartSpeechInput.kt | 3 ++- .../core/search/viewmodel/effects/StartSpeechInputTest.kt | 8 ++++---- custom/src/customexample/info.json | 2 +- custom/src/main/AndroidManifest.xml | 1 + 14 files changed, 28 insertions(+), 17 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 76262912c..15d2921a7 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -14,18 +14,19 @@ jobs: coverageReport: strategy: + max-parallel: 2 matrix: - api-level: [21, 21, 30] + api-level: [21, 30, 21,30] fail-fast: false runs-on: macOS-latest steps: - name: checkout - uses: actions/checkout@v1 + uses: actions/checkout@v3 with: fetch-depth: 1 - name: create instrumentation coverage - uses: ReactiveCircus/android-emulator-runner@v2.14.3 + uses: ReactiveCircus/android-emulator-runner@v2.23.0 with: api-level: ${{ matrix.api-level }} arch: x86_64 diff --git a/app/src/androidTest/AndroidManifest.xml b/app/src/androidTest/AndroidManifest.xml index 3a75bc37f..db8066c1c 100644 --- a/app/src/androidTest/AndroidManifest.xml +++ b/app/src/androidTest/AndroidManifest.xml @@ -1,6 +1,9 @@ + diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/BaseRobot.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/BaseRobot.kt index 679e592e8..81c8a5f25 100644 --- a/app/src/androidTest/java/org/kiwix/kiwixmobile/BaseRobot.kt +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/BaseRobot.kt @@ -81,7 +81,7 @@ abstract class BaseRobot( private fun waitFor( findable: Findable, - timeout: Long = DEFAULT_WAIT + timeout: Long = VERY_LONG_WAIT ): UiObject2? = uiDevice.wait(Until.findObject(findable.selector(this)), timeout) diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/help/HelpFragmentTest.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/help/HelpFragmentTest.kt index ec528006d..467f65920 100644 --- a/app/src/androidTest/java/org/kiwix/kiwixmobile/help/HelpFragmentTest.kt +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/help/HelpFragmentTest.kt @@ -17,7 +17,7 @@ */ package org.kiwix.kiwixmobile.help -import androidx.test.internal.runner.junit4.statement.UiThreadStatement.runOnUiThread +import androidx.test.internal.runner.junit4.statement.UiThreadStatement import org.junit.Test import org.kiwix.kiwixmobile.BaseActivityTest import org.kiwix.kiwixmobile.R @@ -26,7 +26,7 @@ class HelpFragmentTest : BaseActivityTest() { @Test fun verifyHelpActivity() { - runOnUiThread { activityRule.activity.navigate(R.id.helpFragment) } + UiThreadStatement.runOnUiThread { activityRule.activity.navigate(R.id.helpFragment) } help { clickOnWhatDoesKiwixDo() assertWhatDoesKiwixDoIsExpanded() diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/intro/IntroFragmentTest.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/intro/IntroFragmentTest.kt index 65a2d06a6..c67aa859d 100644 --- a/app/src/androidTest/java/org/kiwix/kiwixmobile/intro/IntroFragmentTest.kt +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/intro/IntroFragmentTest.kt @@ -17,7 +17,7 @@ */ package org.kiwix.kiwixmobile.intro -import androidx.test.internal.runner.junit4.statement.UiThreadStatement.runOnUiThread +import androidx.test.internal.runner.junit4.statement.UiThreadStatement import org.junit.Test import org.kiwix.kiwixmobile.BaseActivityTest import org.kiwix.kiwixmobile.R @@ -26,7 +26,7 @@ class IntroFragmentTest : BaseActivityTest() { @Test fun viewIsSwipeableAndNavigatesToMain() { - runOnUiThread { activityRule.activity.navigate(R.id.introFragment) } + UiThreadStatement.runOnUiThread { activityRule.activity.navigate(R.id.introFragment) } intro(IntroRobot::swipeLeft) clickGetStarted { } } } diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/main/TopLevelDestinationRobot.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/main/TopLevelDestinationRobot.kt index d12d6ac34..44bbab42c 100644 --- a/app/src/androidTest/java/org/kiwix/kiwixmobile/main/TopLevelDestinationRobot.kt +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/main/TopLevelDestinationRobot.kt @@ -17,6 +17,7 @@ */ package org.kiwix.kiwixmobile.main +import com.schibsted.spain.barista.interaction.BaristaSleepInteractions import applyWithViewHierarchyPrinting import org.kiwix.kiwixmobile.BaseRobot import org.kiwix.kiwixmobile.Findable.StringId.TextId @@ -36,6 +37,7 @@ import org.kiwix.kiwixmobile.page.history.HistoryRobot import org.kiwix.kiwixmobile.page.history.history import org.kiwix.kiwixmobile.settings.SettingsRobot import org.kiwix.kiwixmobile.settings.settingsRobo +import org.kiwix.kiwixmobile.testutils.TestUtils import org.kiwix.kiwixmobile.utils.StandardActions.openDrawer import org.kiwix.kiwixmobile.webserver.ZimHostRobot import org.kiwix.kiwixmobile.webserver.zimHost @@ -50,6 +52,7 @@ class TopLevelDestinationRobot : BaseRobot() { } fun clickReaderOnBottomNav(func: ReaderRobot.() -> Unit) { + BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS.toLong()) clickOn(ViewId(R.id.readerFragment)) reader(func) } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a68032508..a0b70015b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -23,6 +23,7 @@ android:extractNativeLibs="false" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" + android:usesCleartextTraffic="true" android:supportsRtl="true" tools:targetApi="m"> diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 9b5c75bf9..5848041bb 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -38,7 +38,7 @@ object Versions { const val org_jacoco: String = "0.8.7" - const val io_mockk: String = "1.10.2" + const val io_mockk: String = "1.12.0" const val android_arch_lifecycle_extensions: String = "1.1.1" diff --git a/core/src/main/AndroidManifest.xml b/core/src/main/AndroidManifest.xml index da773d305..71a01cfe8 100644 --- a/core/src/main/AndroidManifest.xml +++ b/core/src/main/AndroidManifest.xml @@ -11,7 +11,8 @@ - + ) : SideEffect() every { activity.getString(R.string.app_name) } returns "app" every { activity.getString(R.string.speech_prompt_text, "app") } returns "the app" - every { activity.startActivityForResult(any(), any()) } throws ActivityNotFoundException() + every { activity.startActivityForResult(any(), any()) } returns Unit mockkConstructor(Intent::class) StartSpeechInput(actions).invokeWith(activity) verify { - anyConstructed().putExtra( + constructedWith().putExtra( RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM ) - anyConstructed().putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault()) - anyConstructed().putExtra(RecognizerIntent.EXTRA_PROMPT, "the app") + constructedWith().putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault()) + constructedWith().putExtra(RecognizerIntent.EXTRA_PROMPT, "the app") activity.startActivityForResult(any(), StartSpeechInput.REQ_CODE_SPEECH_INPUT) } } diff --git a/custom/src/customexample/info.json b/custom/src/customexample/info.json index 495a11431..2518f7c36 100644 --- a/custom/src/customexample/info.json +++ b/custom/src/customexample/info.json @@ -1,6 +1,6 @@ { "app_name": "Test Custom App", - "zim_url": "http://download.kiwix.org/zim/wikipedia_fr_test.zim", + "zim_url": "https://mirror.download.kiwix.org/zim/wikipedia/wikipedia_ace_all_maxi_2022-03.zim", "enforced_lang": "en", "disable_sidebar": false, "disable_tabs": false, diff --git a/custom/src/main/AndroidManifest.xml b/custom/src/main/AndroidManifest.xml index 0724e2a4d..5dd131c57 100644 --- a/custom/src/main/AndroidManifest.xml +++ b/custom/src/main/AndroidManifest.xml @@ -9,6 +9,7 @@ android:extractNativeLibs="false" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" + android:usesCleartextTraffic="true" android:supportsRtl="true" tools:targetApi="m">