mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-18 03:45:33 -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
|
package org.kiwix.kiwixmobile.intro
|
||||||
|
|
||||||
import android.os.Build
|
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.internal.runner.junit4.statement.UiThreadStatement.runOnUiThread
|
||||||
import androidx.test.platform.app.InstrumentationRegistry
|
import androidx.test.platform.app.InstrumentationRegistry
|
||||||
import androidx.test.uiautomator.UiDevice
|
import androidx.test.uiautomator.UiDevice
|
||||||
@ -26,6 +28,7 @@ import org.junit.Before
|
|||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.kiwix.kiwixmobile.BaseActivityTest
|
import org.kiwix.kiwixmobile.BaseActivityTest
|
||||||
import org.kiwix.kiwixmobile.R
|
import org.kiwix.kiwixmobile.R
|
||||||
|
import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil
|
||||||
|
|
||||||
class IntroFragmentTest : BaseActivityTest() {
|
class IntroFragmentTest : BaseActivityTest() {
|
||||||
|
|
||||||
@ -41,5 +44,8 @@ class IntroFragmentTest : BaseActivityTest() {
|
|||||||
@Before
|
@Before
|
||||||
override fun waitForIdle() {
|
override fun waitForIdle() {
|
||||||
UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()).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 {
|
view_pager.run {
|
||||||
adapter = IntroPagerAdapter(views)
|
adapter = IntroPagerAdapter(views)
|
||||||
addOnPageChangeListener(SimplePageChangeListener(::updateView, ::handleDraggingState))
|
simplePageChangeListener?.let(::addOnPageChangeListener)
|
||||||
}
|
}
|
||||||
tab_indicator.setViewPager(view_pager)
|
tab_indicator.setViewPager(view_pager)
|
||||||
timer?.schedule(
|
timer?.schedule(
|
||||||
@ -104,6 +104,7 @@ class IntroFragment : BaseFragment(), IntroContract.View, FragmentActivityExtens
|
|||||||
it.setOnClickListener(null)
|
it.setOnClickListener(null)
|
||||||
}
|
}
|
||||||
views = emptyArray()
|
views = emptyArray()
|
||||||
|
simplePageChangeListener = null
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun navigateToLibrary() {
|
private fun navigateToLibrary() {
|
||||||
@ -135,4 +136,7 @@ class IntroFragment : BaseFragment(), IntroContract.View, FragmentActivityExtens
|
|||||||
handler.removeCallbacksAndMessages(null)
|
handler.removeCallbacksAndMessages(null)
|
||||||
timer?.cancel()
|
timer?.cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private var simplePageChangeListener: SimplePageChangeListener? =
|
||||||
|
SimplePageChangeListener(::updateView, ::handleDraggingState)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user