You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
reader/app/src/main/java/com/novel/read/help/AppConfig.kt

115 lines
3.5 KiB

package com.novel.read.help
import android.annotation.SuppressLint
import android.content.Context
import com.novel.read.App
import com.novel.read.R
import com.novel.read.constant.PreferKey
import com.novel.read.utils.ext.*
object AppConfig {
var isEInkMode: Boolean = false
fun isNightTheme(context: Context): Boolean {
return when (context.getPrefString(PreferKey.themeMode, "0")) {
"1" -> false
"2" -> true
"3" -> false
else -> context.sysIsDarkMode()
}
}
var isNightTheme: Boolean
get() = isNightTheme(App.INSTANCE)
set(value) {
if (isNightTheme != value) {
if (value) {
App.INSTANCE.putPrefString(PreferKey.themeMode, "2")
} else {
App.INSTANCE.putPrefString(PreferKey.themeMode, "1")
}
}
}
fun upEInkMode() {
isEInkMode = App.INSTANCE.getPrefString(PreferKey.themeMode) == "3"
}
var isTransparentStatusBar: Boolean
get() = App.INSTANCE.getPrefBoolean(PreferKey.transparentStatusBar,true)
set(value) {
App.INSTANCE.putPrefBoolean(PreferKey.transparentStatusBar, value)
}
val requestedDirection: String?
get() = App.INSTANCE.getPrefString(R.string.pk_requested_direction)
var backupPath: String?
get() = App.INSTANCE.getPrefString(PreferKey.backupPath)
set(value) {
if (value.isNullOrEmpty()) {
App.INSTANCE.removePref(PreferKey.backupPath)
} else {
App.INSTANCE.putPrefString(PreferKey.backupPath, value)
}
}
val autoRefreshBook: Boolean
get() = App.INSTANCE.getPrefBoolean(R.string.pk_auto_refresh)
var threadCount: Int
get() = App.INSTANCE.getPrefInt(PreferKey.threadCount, 16)
set(value) {
App.INSTANCE.putPrefInt(PreferKey.threadCount, value)
}
var importBookPath: String?
get() = App.INSTANCE.getPrefString("importBookPath")
set(value) {
if (value == null) {
App.INSTANCE.removePref("importBookPath")
} else {
App.INSTANCE.putPrefString("importBookPath", value)
}
}
var ttsSpeechRate: Int
get() = App.INSTANCE.getPrefInt(PreferKey.ttsSpeechRate, 5)
set(value) {
App.INSTANCE.putPrefInt(PreferKey.ttsSpeechRate, value)
}
val clickAllNext: Boolean get() = App.INSTANCE.getPrefBoolean(PreferKey.clickAllNext, false)
var chineseConverterType: Int
get() = App.INSTANCE.getPrefInt(PreferKey.chineseConverterType,2)
set(value) {
App.INSTANCE.putPrefInt(PreferKey.chineseConverterType, value)
}
var systemTypefaces: Int
get() = App.INSTANCE.getPrefInt(PreferKey.systemTypefaces)
set(value) {
App.INSTANCE.putPrefInt(PreferKey.systemTypefaces, value)
}
var elevation: Int
@SuppressLint("PrivateResource")
get() = App.INSTANCE.getPrefInt(
PreferKey.barElevation,
// App.INSTANCE.resources.getDimension(R.dimen.design_appbar_elevation).toInt()
0.toInt()
)
set(value) {
App.INSTANCE.putPrefInt(PreferKey.barElevation, value)
}
var replaceEnableDefault: Boolean =
App.INSTANCE.getPrefBoolean(PreferKey.replaceEnableDefault, true)
val readBodyToLh: Boolean get() = App.INSTANCE.getPrefBoolean(PreferKey.readBodyToLh, true)
}