diff --git a/app/src/main/java/ani/dantotsu/media/novel/novelreader/NovelReaderActivity.kt b/app/src/main/java/ani/dantotsu/media/novel/novelreader/NovelReaderActivity.kt
index 1ea357fa..f76e6ff5 100644
--- a/app/src/main/java/ani/dantotsu/media/novel/novelreader/NovelReaderActivity.kt
+++ b/app/src/main/java/ani/dantotsu/media/novel/novelreader/NovelReaderActivity.kt
@@ -351,6 +351,11 @@ class NovelReaderActivity : AppCompatActivity(), EbookReaderEventListener {
saveData("${sanitizedBookId}_current_settings", settings.defaultLN)
hideBars()
+ if(settings.defaultLN.useOledTheme) {
+ themes.forEach { theme ->
+ theme.darkBg = Color.parseColor("#000000")
+ }
+ }
currentTheme =
themes.first { it.name.equals(settings.defaultLN.currentThemeName, ignoreCase = true) }
diff --git a/app/src/main/java/ani/dantotsu/media/novel/novelreader/NovelReaderSettingsDialogFragment.kt b/app/src/main/java/ani/dantotsu/media/novel/novelreader/NovelReaderSettingsDialogFragment.kt
index e9b12c74..760c7eb3 100644
--- a/app/src/main/java/ani/dantotsu/media/novel/novelreader/NovelReaderSettingsDialogFragment.kt
+++ b/app/src/main/java/ani/dantotsu/media/novel/novelreader/NovelReaderSettingsDialogFragment.kt
@@ -31,7 +31,6 @@ class NovelReaderSettingsDialogFragment : BottomSheetDialogFragment() {
super.onViewCreated(view, savedInstanceState)
val activity = requireActivity() as NovelReaderActivity
val settings = activity.settings.defaultLN
-
val themeLabels = activity.themes.map { it.name }
binding.themeSelect.adapter =
NoPaddingArrayAdapter(activity, R.layout.item_dropdown, themeLabels)
@@ -49,7 +48,11 @@ class NovelReaderSettingsDialogFragment : BottomSheetDialogFragment() {
override fun onNothingSelected(parent: AdapterView<*>?) {}
}
-
+ binding.useOledTheme.isChecked = settings.useOledTheme
+ binding.useOledTheme.setOnCheckedChangeListener { _, isChecked ->
+ settings.useOledTheme = isChecked
+ activity.applySettings()
+ }
val layoutList = listOf(
binding.paged,
binding.continuous
diff --git a/app/src/main/java/ani/dantotsu/settings/CurrentNovelReaderSettings.kt b/app/src/main/java/ani/dantotsu/settings/CurrentNovelReaderSettings.kt
index bbe3fcd3..b1cd429b 100644
--- a/app/src/main/java/ani/dantotsu/settings/CurrentNovelReaderSettings.kt
+++ b/app/src/main/java/ani/dantotsu/settings/CurrentNovelReaderSettings.kt
@@ -11,6 +11,7 @@ data class CurrentNovelReaderSettings(
var justify: Boolean = true,
var hyphenation: Boolean = true,
var useDarkTheme: Boolean = false,
+ var useOledTheme: Boolean = false,
var invert: Boolean = false,
var maxInlineSize: Int = 720,
var maxBlockSize: Int = 1440,
diff --git a/app/src/main/java/ani/dantotsu/settings/ReaderSettingsActivity.kt b/app/src/main/java/ani/dantotsu/settings/ReaderSettingsActivity.kt
index 999b35a5..67bd04d7 100644
--- a/app/src/main/java/ani/dantotsu/settings/ReaderSettingsActivity.kt
+++ b/app/src/main/java/ani/dantotsu/settings/ReaderSettingsActivity.kt
@@ -334,6 +334,12 @@ class ReaderSettingsActivity : AppCompatActivity() {
saveData(reader, settings)
}
+ binding.LNuseOledTheme.isChecked = settings.defaultLN.useOledTheme
+ binding.LNuseOledTheme.setOnCheckedChangeListener { _, isChecked ->
+ settings.defaultLN.useOledTheme = isChecked
+ saveData(reader, settings)
+ }
+
binding.LNkeepScreenOn.isChecked = settings.defaultLN.keepScreenOn
binding.LNkeepScreenOn.setOnCheckedChangeListener { _, isChecked ->
settings.defaultLN.keepScreenOn = isChecked
diff --git a/app/src/main/res/layout/activity_reader_settings.xml b/app/src/main/res/layout/activity_reader_settings.xml
index 49e999f9..e8886066 100644
--- a/app/src/main/res/layout/activity_reader_settings.xml
+++ b/app/src/main/res/layout/activity_reader_settings.xml
@@ -1122,6 +1122,27 @@
app:thumbTint="@color/button_switch_track"
tools:ignore="TooManyViews,VisualLintButtonSize" />
+
+
diff --git a/app/src/main/res/layout/bottom_sheet_current_novel_reader_settings.xml b/app/src/main/res/layout/bottom_sheet_current_novel_reader_settings.xml
index 5d746238..993a70e1 100644
--- a/app/src/main/res/layout/bottom_sheet_current_novel_reader_settings.xml
+++ b/app/src/main/res/layout/bottom_sheet_current_novel_reader_settings.xml
@@ -512,6 +512,25 @@
app:thumbTint="@color/button_switch_track"
tools:ignore="VisualLintButtonSize" />
+
+