|
|
|
@ -72,7 +72,7 @@ class ReaderActivity :
|
|
|
|
ReaderControlDelegate.OnInteractionListener,
|
|
|
|
ReaderControlDelegate.OnInteractionListener,
|
|
|
|
ReaderNavigationCallback,
|
|
|
|
ReaderNavigationCallback,
|
|
|
|
IdlingDetector.Callback,
|
|
|
|
IdlingDetector.Callback,
|
|
|
|
ZoomControl.ZoomControlListener {
|
|
|
|
ZoomControl.ZoomControlListener, View.OnClickListener, ScrollTimerControlView.OnVisibilityChangeListener {
|
|
|
|
|
|
|
|
|
|
|
|
@Inject
|
|
|
|
@Inject
|
|
|
|
lateinit var settings: AppSettings
|
|
|
|
lateinit var settings: AppSettings
|
|
|
|
@ -115,10 +115,15 @@ class ReaderActivity :
|
|
|
|
controlDelegate = ReaderControlDelegate(resources, settings, tapGridSettings, this)
|
|
|
|
controlDelegate = ReaderControlDelegate(resources, settings, tapGridSettings, this)
|
|
|
|
viewBinding.zoomControl.listener = this
|
|
|
|
viewBinding.zoomControl.listener = this
|
|
|
|
viewBinding.actionsView.listener = this
|
|
|
|
viewBinding.actionsView.listener = this
|
|
|
|
|
|
|
|
viewBinding.buttonTimer?.setOnClickListener(this)
|
|
|
|
idlingDetector.bindToLifecycle(this)
|
|
|
|
idlingDetector.bindToLifecycle(this)
|
|
|
|
screenOrientationHelper.applySettings()
|
|
|
|
screenOrientationHelper.applySettings()
|
|
|
|
viewModel.isBookmarkAdded.observe(this) { viewBinding.actionsView.isBookmarkAdded = it }
|
|
|
|
viewModel.isBookmarkAdded.observe(this) { viewBinding.actionsView.isBookmarkAdded = it }
|
|
|
|
scrollTimer.isActive.observe(this) { viewBinding.actionsView.setTimerActive(it) }
|
|
|
|
scrollTimer.isActive.observe(this) {
|
|
|
|
|
|
|
|
updateScrollTimerButton()
|
|
|
|
|
|
|
|
viewBinding.actionsView.setTimerActive(it)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
viewBinding.timerControl.onVisibilityChangeListener = this
|
|
|
|
viewBinding.timerControl.attach(scrollTimer, this)
|
|
|
|
viewBinding.timerControl.attach(scrollTimer, this)
|
|
|
|
if (resources.getBoolean(R.bool.is_tablet)) {
|
|
|
|
if (resources.getBoolean(R.bool.is_tablet)) {
|
|
|
|
viewBinding.timerControl.updateLayoutParams<CoordinatorLayout.LayoutParams> {
|
|
|
|
viewBinding.timerControl.updateLayoutParams<CoordinatorLayout.LayoutParams> {
|
|
|
|
@ -198,6 +203,10 @@ class ReaderActivity :
|
|
|
|
viewModel.saveCurrentState(readerManager.currentReader?.getCurrentState())
|
|
|
|
viewModel.saveCurrentState(readerManager.currentReader?.getCurrentState())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override fun onVisibilityChanged(v: View, visibility: Int) {
|
|
|
|
|
|
|
|
updateScrollTimerButton()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
override fun onZoomIn() {
|
|
|
|
override fun onZoomIn() {
|
|
|
|
readerManager.currentReader?.onZoomIn()
|
|
|
|
readerManager.currentReader?.onZoomIn()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -206,6 +215,12 @@ class ReaderActivity :
|
|
|
|
readerManager.currentReader?.onZoomOut()
|
|
|
|
readerManager.currentReader?.onZoomOut()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override fun onClick(v: View) {
|
|
|
|
|
|
|
|
when (v.id) {
|
|
|
|
|
|
|
|
R.id.button_timer -> onScrollTimerClick(isLongClick = false)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private fun onInitReader(mode: ReaderMode?) {
|
|
|
|
private fun onInitReader(mode: ReaderMode?) {
|
|
|
|
if (mode == null) {
|
|
|
|
if (mode == null) {
|
|
|
|
return
|
|
|
|
return
|
|
|
|
@ -328,6 +343,7 @@ class ReaderActivity :
|
|
|
|
viewBinding.toolbarDocked?.isVisible = isUiVisible
|
|
|
|
viewBinding.toolbarDocked?.isVisible = isUiVisible
|
|
|
|
viewBinding.infoBar.isGone = isUiVisible || (!viewModel.isInfoBarEnabled.value)
|
|
|
|
viewBinding.infoBar.isGone = isUiVisible || (!viewModel.isInfoBarEnabled.value)
|
|
|
|
viewBinding.infoBar.isTimeVisible = isFullscreen
|
|
|
|
viewBinding.infoBar.isTimeVisible = isFullscreen
|
|
|
|
|
|
|
|
updateScrollTimerButton()
|
|
|
|
systemUiController.setSystemUiVisible(isUiVisible || !isFullscreen)
|
|
|
|
systemUiController.setSystemUiVisible(isUiVisible || !isFullscreen)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -455,6 +471,18 @@ class ReaderActivity :
|
|
|
|
viewBinding.actionsView.isPrevEnabled = uiState.hasPreviousChapter()
|
|
|
|
viewBinding.actionsView.isPrevEnabled = uiState.hasPreviousChapter()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private fun updateScrollTimerButton() {
|
|
|
|
|
|
|
|
val button = viewBinding.buttonTimer ?: return
|
|
|
|
|
|
|
|
val isButtonVisible = scrollTimer.isActive.value
|
|
|
|
|
|
|
|
&& !viewBinding.appbarTop.isVisible
|
|
|
|
|
|
|
|
&& !viewBinding.timerControl.isVisible
|
|
|
|
|
|
|
|
if (button.isVisible != isButtonVisible) {
|
|
|
|
|
|
|
|
val transition = Fade().addTarget(button)
|
|
|
|
|
|
|
|
TransitionManager.beginDelayedTransition(viewBinding.root, transition)
|
|
|
|
|
|
|
|
button.isVisible = isButtonVisible
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private fun askForIncognitoMode() {
|
|
|
|
private fun askForIncognitoMode() {
|
|
|
|
buildAlertDialog(this, isCentered = true) {
|
|
|
|
buildAlertDialog(this, isCentered = true) {
|
|
|
|
var dontAskAgain = false
|
|
|
|
var dontAskAgain = false
|
|
|
|
|