Migrate reader low brightness overlay to Compose
This commit is contained in:
@@ -42,6 +42,7 @@ import com.google.android.material.elevation.SurfaceColors
|
||||
import com.google.android.material.transition.platform.MaterialContainerTransform
|
||||
import dev.chrisbanes.insetter.applyInsetter
|
||||
import eu.kanade.domain.base.BasePreferences
|
||||
import eu.kanade.presentation.reader.BrightnessOverlay
|
||||
import eu.kanade.presentation.reader.OrientationModeSelectDialog
|
||||
import eu.kanade.presentation.reader.PageIndicatorText
|
||||
import eu.kanade.presentation.reader.ReaderPageActionsDialog
|
||||
@@ -377,6 +378,10 @@ class ReaderActivity : BaseActivity() {
|
||||
onClickSettings = viewModel::openSettingsDialog,
|
||||
)
|
||||
|
||||
BrightnessOverlay(
|
||||
value = state.brightnessOverlayValue,
|
||||
)
|
||||
|
||||
val onDismissRequest = viewModel::closeDialog
|
||||
when (state.dialog) {
|
||||
is ReaderViewModel.Dialog.Loading -> {
|
||||
@@ -903,17 +908,9 @@ class ReaderActivity : BaseActivity() {
|
||||
}
|
||||
else -> WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE
|
||||
}
|
||||
|
||||
window.attributes = window.attributes.apply { screenBrightness = readerBrightness }
|
||||
|
||||
// Set black overlay visibility.
|
||||
if (value < 0) {
|
||||
binding.brightnessOverlay.isVisible = true
|
||||
val alpha = (abs(value) * 2.56).toInt()
|
||||
binding.brightnessOverlay.setBackgroundColor(Color.argb(alpha, 0, 0, 0))
|
||||
} else {
|
||||
binding.brightnessOverlay.isVisible = false
|
||||
}
|
||||
viewModel.setBrightnessOverlayValue(value)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -736,6 +736,10 @@ class ReaderViewModel @JvmOverloads constructor(
|
||||
mutableState.update { it.copy(dialog = null) }
|
||||
}
|
||||
|
||||
fun setBrightnessOverlayValue(value: Int) {
|
||||
mutableState.update { it.copy(brightnessOverlayValue = value) }
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves the image of the selected page on the pictures directory and notifies the UI of the result.
|
||||
* There's also a notification to allow sharing the image somewhere else or deleting it.
|
||||
@@ -894,6 +898,7 @@ class ReaderViewModel @JvmOverloads constructor(
|
||||
val viewer: Viewer? = null,
|
||||
val dialog: Dialog? = null,
|
||||
val menuVisible: Boolean = false,
|
||||
val brightnessOverlayValue: Int = 0,
|
||||
) {
|
||||
val currentChapter: ReaderChapter?
|
||||
get() = viewerChapters?.currChapter
|
||||
|
||||
Reference in New Issue
Block a user