Dark amoled theme

This commit is contained in:
Koitharu
2020-11-09 19:43:01 +02:00
parent 5190ec3e98
commit 908baebb62
13 changed files with 46 additions and 3 deletions

View File

@@ -36,6 +36,8 @@ class AppSettings private constructor(private val prefs: SharedPreferences) :
AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
)
val isAmoledTheme by BoolPreferenceDelegate(KEY_THEME_AMOLED, defaultValue = false)
val gridSize by IntPreferenceDelegate(KEY_GRID_SIZE, defaultValue = 100)
val readerPageSwitch by StringSetPreferenceDelegate(
@@ -126,6 +128,7 @@ class AppSettings private constructor(private val prefs: SharedPreferences) :
const val KEY_LIST_MODE = "list_mode"
const val KEY_APP_SECTION = "app_section"
const val KEY_THEME = "theme"
const val KEY_THEME_AMOLED = "amoled_theme"
const val KEY_SOURCES_ORDER = "sources_order"
const val KEY_SOURCES_HIDDEN = "sources_hidden"
const val KEY_TRAFFIC_WARNING = "traffic_warning"

View File

@@ -1,13 +1,23 @@
package org.koitharu.kotatsu.ui.base
import android.os.Bundle
import android.view.MenuItem
import android.view.View
import androidx.appcompat.widget.Toolbar
import moxy.MvpAppCompatActivity
import org.koin.android.ext.android.get
import org.koitharu.kotatsu.R
import org.koitharu.kotatsu.core.prefs.AppSettings
abstract class BaseActivity : MvpAppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
if (get<AppSettings>().isAmoledTheme) {
setTheme(R.style.AppTheme_Amoled)
}
super.onCreate(savedInstanceState)
}
override fun setContentView(layoutResID: Int) {
super.setContentView(layoutResID)
setupToolbar()

View File

@@ -65,7 +65,6 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings),
findPreference<ListPreference>(AppSettings.KEY_ZOOM_MODE)?.let {
it.entryValues = ZoomMode.values().names()
it.setDefaultValue(ZoomMode.FIT_CENTER.name)
it.summaryProvider = ListPreference.SimpleSummaryProvider.getInstance()
}
findPreference<SwitchPreference>(AppSettings.KEY_PROTECT_APP)?.isChecked =
!settings.appPassword.isNullOrEmpty()
@@ -88,6 +87,9 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings),
AppSettings.KEY_THEME -> {
AppCompatDelegate.setDefaultNightMode(settings.theme)
}
AppSettings.KEY_THEME_AMOLED -> {
findPreference<Preference>(key)?.setSummary(R.string.restart_required)
}
AppSettings.KEY_LOCAL_STORAGE -> {
findPreference<Preference>(key)?.run {
summary = settings.getStorageDir(context)?.getStorageName(context)

View File

@@ -25,7 +25,6 @@ class ReaderSettingsFragment : BasePreferenceFragment(R.string.reader_settings)
findPreference<ListPreference>(AppSettings.KEY_ZOOM_MODE)?.let {
it.entryValues = ZoomMode.values().names()
it.setDefaultValue(ZoomMode.FIT_CENTER.name)
it.summaryProvider = ListPreference.SimpleSummaryProvider.getInstance()
}
}
}