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 bb49b64b0..900854bc6 100644 --- a/app/src/androidTest/java/org/kiwix/kiwixmobile/intro/IntroFragmentTest.kt +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/intro/IntroFragmentTest.kt @@ -18,6 +18,8 @@ package org.kiwix.kiwixmobile.intro import android.os.Build +import androidx.core.content.edit +import androidx.preference.PreferenceManager import androidx.test.internal.runner.junit4.statement.UiThreadStatement.runOnUiThread import androidx.test.platform.app.InstrumentationRegistry import androidx.test.uiautomator.UiDevice @@ -26,6 +28,7 @@ import org.junit.Before import org.junit.Test import org.kiwix.kiwixmobile.BaseActivityTest import org.kiwix.kiwixmobile.R +import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil class IntroFragmentTest : BaseActivityTest() { @@ -41,5 +44,8 @@ class IntroFragmentTest : BaseActivityTest() { @Before override fun waitForIdle() { UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()).waitForIdle() + PreferenceManager.getDefaultSharedPreferences(context).edit { + putBoolean(SharedPreferenceUtil.PREF_SHOW_INTRO, true) + } } } diff --git a/app/src/main/java/org/kiwix/kiwixmobile/intro/IntroFragment.kt b/app/src/main/java/org/kiwix/kiwixmobile/intro/IntroFragment.kt index c889f66da..14e837658 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/intro/IntroFragment.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/intro/IntroFragment.kt @@ -69,7 +69,7 @@ class IntroFragment : BaseFragment(), IntroContract.View, FragmentActivityExtens ) view_pager.run { adapter = IntroPagerAdapter(views) - addOnPageChangeListener(SimplePageChangeListener(::updateView, ::handleDraggingState)) + simplePageChangeListener?.let(::addOnPageChangeListener) } tab_indicator.setViewPager(view_pager) timer?.schedule( @@ -104,6 +104,7 @@ class IntroFragment : BaseFragment(), IntroContract.View, FragmentActivityExtens it.setOnClickListener(null) } views = emptyArray() + simplePageChangeListener = null } private fun navigateToLibrary() { @@ -135,4 +136,7 @@ class IntroFragment : BaseFragment(), IntroContract.View, FragmentActivityExtens handler.removeCallbacksAndMessages(null) timer?.cancel() } + + private var simplePageChangeListener: SimplePageChangeListener? = + SimplePageChangeListener(::updateView, ::handleDraggingState) }