mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-17 19:35:36 -04:00
Fixed memory leak on Intro Fragment
This commit is contained in:
parent
8bca6d3934
commit
e928611f0f
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user