Fixed memory leak on Intro Fragment

This commit is contained in:
MohitMali 2022-12-23 15:34:45 +05:30 committed by Kelson
parent 8bca6d3934
commit e928611f0f
2 changed files with 11 additions and 1 deletions

View File

@ -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)
}
}
}

View File

@ -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)
}