Fix disabling webtoon scale
This commit is contained in:
@@ -119,9 +119,12 @@ class ReaderViewModel @Inject constructor(
|
|||||||
valueProducer = { isReaderKeepScreenOn },
|
valueProducer = { isReaderKeepScreenOn },
|
||||||
)
|
)
|
||||||
|
|
||||||
|
val isWebtoonZooEnabled = observeIsWebtoonZoomEnabled()
|
||||||
|
.stateIn(viewModelScope + Dispatchers.Default, SharingStarted.Lazily, false)
|
||||||
|
|
||||||
val isZoomControlsEnabled = getObserveIsZoomControlEnabled().flatMapLatest { zoom ->
|
val isZoomControlsEnabled = getObserveIsZoomControlEnabled().flatMapLatest { zoom ->
|
||||||
if (zoom) {
|
if (zoom) {
|
||||||
combine(readerMode, observeIsWebtoonZoomEnabled()) { mode, ze -> ze || mode != ReaderMode.WEBTOON }
|
combine(readerMode, isWebtoonZooEnabled) { mode, ze -> ze || mode != ReaderMode.WEBTOON }
|
||||||
} else {
|
} else {
|
||||||
flowOf(false)
|
flowOf(false)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import org.koitharu.kotatsu.R
|
|||||||
import org.koitharu.kotatsu.core.os.NetworkState
|
import org.koitharu.kotatsu.core.os.NetworkState
|
||||||
import org.koitharu.kotatsu.core.util.ext.findCenterViewPosition
|
import org.koitharu.kotatsu.core.util.ext.findCenterViewPosition
|
||||||
import org.koitharu.kotatsu.core.util.ext.firstVisibleItemPosition
|
import org.koitharu.kotatsu.core.util.ext.firstVisibleItemPosition
|
||||||
|
import org.koitharu.kotatsu.core.util.ext.observe
|
||||||
import org.koitharu.kotatsu.databinding.FragmentReaderWebtoonBinding
|
import org.koitharu.kotatsu.databinding.FragmentReaderWebtoonBinding
|
||||||
import org.koitharu.kotatsu.reader.domain.PageLoader
|
import org.koitharu.kotatsu.reader.domain.PageLoader
|
||||||
import org.koitharu.kotatsu.reader.ui.ReaderState
|
import org.koitharu.kotatsu.reader.ui.ReaderState
|
||||||
@@ -44,6 +45,9 @@ class WebtoonReaderFragment : BaseReaderFragment<FragmentReaderWebtoonBinding>()
|
|||||||
adapter = readerAdapter
|
adapter = readerAdapter
|
||||||
addOnPageScrollListener(PageScrollListener())
|
addOnPageScrollListener(PageScrollListener())
|
||||||
}
|
}
|
||||||
|
viewModel.isWebtoonZooEnabled.observe(viewLifecycleOwner) {
|
||||||
|
binding.frame.isZoomEnable = it
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ class WebtoonScalingFrame @JvmOverloads constructor(
|
|||||||
private val targetHitRect = Rect()
|
private val targetHitRect = Rect()
|
||||||
private var animator: ValueAnimator? = null
|
private var animator: ValueAnimator? = null
|
||||||
|
|
||||||
var isZoomEnable = true
|
var isZoomEnable = false
|
||||||
set(value) {
|
set(value) {
|
||||||
field = value
|
field = value
|
||||||
if (scale != 1f) {
|
if (scale != 1f) {
|
||||||
|
|||||||
Reference in New Issue
Block a user