diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt
index aea0309be..a8b80f265 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/AppSettings.kt
@@ -367,6 +367,9 @@ class AppSettings @Inject constructor(@ApplicationContext context: Context) {
val isReaderBarEnabled: Boolean
get() = prefs.getBoolean(KEY_READER_BAR, true)
+ val isReaderBarTransparent: Boolean
+ get() = prefs.getBoolean(KEY_READER_BAR, true)
+
val isReaderKeepScreenOn: Boolean
get() = prefs.getBoolean(KEY_READER_SCREEN_ON, true)
@@ -671,6 +674,7 @@ class AppSettings @Inject constructor(@ApplicationContext context: Context) {
const val KEY_SYNC = "sync"
const val KEY_SYNC_SETTINGS = "sync_settings"
const val KEY_READER_BAR = "reader_bar"
+ const val KEY_READER_BAR_TRANSPARENT = "reader_bar_transparent"
const val KEY_READER_BACKGROUND = "reader_background"
const val KEY_READER_SCREEN_ON = "reader_screen_on"
const val KEY_SHORTCUTS = "dynamic_shortcuts"
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt
index 9204ed369..84ca4593c 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt
@@ -146,6 +146,7 @@ class ReaderActivity :
onLoadingStateChanged(viewModel.isLoading.value)
}
viewModel.isKeepScreenOnEnabled.observe(this, this::setKeepScreenOn)
+ viewModel.isInfoBarTransparent.observe(this) { viewBinding.infoBar.drawBackground = !it }
viewModel.isInfoBarEnabled.observe(this, ::onReaderBarChanged)
viewModel.isBookmarkAdded.observe(this, MenuInvalidator(this))
viewModel.isPagesSheetEnabled.observe(this, MenuInvalidator(viewBinding.toolbarBottom))
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderInfoBarView.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderInfoBarView.kt
index 486f1a50b..19195337e 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderInfoBarView.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderInfoBarView.kt
@@ -75,6 +75,12 @@ class ReaderInfoBarView @JvmOverloads constructor(
private val innerWidth
get() = width - paddingLeft - paddingRight - insetLeft - insetRight
+ var drawBackground: Boolean = false
+ set(value) {
+ field = value
+ invalidate()
+ }
+
var isTimeVisible: Boolean = true
set(value) {
field = value
@@ -109,7 +115,9 @@ class ReaderInfoBarView @JvmOverloads constructor(
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
- canvas.drawColor(currentBackgroundColor)
+ if (drawBackground) {
+ canvas.drawColor(currentBackgroundColor)
+ }
computeTextHeight()
val h = innerHeight.toFloat()
val ty = h / 2f + textBounds.height() / 2f - textBounds.bottom
diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt
index 6ad1a20cc..f05dc0703 100644
--- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt
+++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt
@@ -136,6 +136,12 @@ class ReaderViewModel @Inject constructor(
valueProducer = { isReaderBarEnabled },
)
+ val isInfoBarTransparent = settings.observeAsStateFlow(
+ scope = viewModelScope + Dispatchers.Default,
+ key = AppSettings.KEY_READER_BAR_TRANSPARENT,
+ valueProducer = { isReaderBarTransparent },
+ )
+
val isKeepScreenOnEnabled = settings.observeAsStateFlow(
scope = viewModelScope + Dispatchers.Default,
key = AppSettings.KEY_READER_SCREEN_ON,
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e75126800..9a6e919da 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -792,4 +792,5 @@
Enable all manga sources
All available manga sources will be enabled permanently
All sources are enabled
+ Transparent reader information bar
diff --git a/app/src/main/res/xml/pref_reader.xml b/app/src/main/res/xml/pref_reader.xml
index 531fe26fb..d2825eda2 100644
--- a/app/src/main/res/xml/pref_reader.xml
+++ b/app/src/main/res/xml/pref_reader.xml
@@ -121,6 +121,13 @@
android:title="@string/reader_info_bar"
app:allowDividerAbove="true" />
+
+