mirror of
https://github.com/rebelonion/Dantotsu.git
synced 2026-01-26 16:41:02 +00:00
* Update colors.xml * Update themes.xml * Update themes.xml * Update ThemeManager.kt * Update ThemeManager.kt * Update ThemeManager.kt * Update ThemeManager.kt * Update DevelopersDialogFragment.kt * Update activity_main.xml * Update item_anime_page.xml * Update item_manga_page.xml * Update fragment_login.xml * Update activity_media.xml * Update activity_media.xml * Update item_anime_page.xml * Update item_manga_page.xml * Update themes.xml * Update themes.xml * Update exo_player_control_view.xml * Update activity_author.xml * Update activity_studio.xml * Update activity_manga_reader.xml * Update activity_novel_reader.xml * Update activity_media.xml Fix * Update tab_layout_icon.xml * Update activity_media.xml * Update activity_media.xml * Update tab_layout_icon.xml Changed selected layout icon from primary to secondary * Update activity_list.xml * Update ListActivity.kt Unbound listTabLayout, listAppBar and listTitle because it stopped color reallocation * Update CalendarActivity.kt Unbound listTabLayout, listAppBar and listTitle because it stopped color reallocation * Update button_switch_track.xml * Update CalendarActivity.kt Undo * Update ListActivity.kt Undo * Update CalendarActivity.kt * Update ListActivity.kt * Update ListActivity.kt * Update CalendarActivity.kt (Saikou theme complete!) I'll just need to check for bugs and request to merge * Update ThemeManager.kt Took Sakiou theme out of beta * Update tab_layout_icon.xml Changes to media tabs (less accurate to Saikou but selected menu is more vibrant and supports other themes better) * Update activity_media.xml Changes to media tabs (less accurate to Saikou but selected menu is more vibrant and supports other themes better) * Update activity_media.xml Changes to media tabs (less accurate to Saikou but selected menu is more vibrant and supports other themes better) * Update control_background_40dp.xml * Update build.gradle Changed version number
59 lines
2.5 KiB
Kotlin
59 lines
2.5 KiB
Kotlin
package ani.dantotsu.themes
|
|
|
|
import android.content.Context
|
|
import android.content.res.Configuration
|
|
import ani.dantotsu.R
|
|
|
|
class ThemeManager(private val context: Context) {
|
|
fun applyTheme() {
|
|
val useOLED = context.getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).getBoolean("use_oled", false) && isDarkThemeActive(context)
|
|
if(context.getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).getBoolean("use_material_you", false)){
|
|
return
|
|
}
|
|
val theme = context.getSharedPreferences("Dantotsu", Context.MODE_PRIVATE).getString("theme", "PURPLE")!!
|
|
|
|
val themeToApply = when (theme) {
|
|
"PURPLE" -> if (useOLED) R.style.Theme_Dantotsu_PurpleOLED else R.style.Theme_Dantotsu_Purple
|
|
"BLUE" -> if (useOLED) R.style.Theme_Dantotsu_BlueOLED else R.style.Theme_Dantotsu_Blue
|
|
"GREEN" -> if (useOLED) R.style.Theme_Dantotsu_GreenOLED else R.style.Theme_Dantotsu_Green
|
|
"PINK" -> if (useOLED) R.style.Theme_Dantotsu_PinkOLED else R.style.Theme_Dantotsu_Pink
|
|
"RED" -> if (useOLED) R.style.Theme_Dantotsu_RedOLED else R.style.Theme_Dantotsu_Red
|
|
"LAVENDER" -> if (useOLED) R.style.Theme_Dantotsu_LavenderOLED else R.style.Theme_Dantotsu_Lavender
|
|
"MONOCHROME (BETA)" -> if (useOLED) R.style.Theme_Dantotsu_MonochromeOLED else R.style.Theme_Dantotsu_Monochrome
|
|
"SAIKOU" -> if (useOLED) R.style.Theme_Dantotsu_SaikouOLED else R.style.Theme_Dantotsu_Saikou
|
|
else -> if (useOLED) R.style.Theme_Dantotsu_PurpleOLED else R.style.Theme_Dantotsu_Purple
|
|
}
|
|
|
|
context.setTheme(themeToApply)
|
|
}
|
|
|
|
private fun isDarkThemeActive(context: Context): Boolean {
|
|
return when (context.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) {
|
|
Configuration.UI_MODE_NIGHT_YES -> true
|
|
Configuration.UI_MODE_NIGHT_NO -> false
|
|
Configuration.UI_MODE_NIGHT_UNDEFINED -> false
|
|
else -> false
|
|
}
|
|
}
|
|
|
|
|
|
companion object{
|
|
enum class Theme(val theme: String) {
|
|
PURPLE("PURPLE"),
|
|
BLUE("BLUE"),
|
|
GREEN("GREEN"),
|
|
PINK("PINK"),
|
|
RED("RED"),
|
|
LAVENDER("LAVENDER"),
|
|
MONOCHROME("MONOCHROME (BETA)"),
|
|
SAIKOU("SAIKOU");
|
|
|
|
companion object {
|
|
fun fromString(value: String): Theme {
|
|
return values().find { it.theme == value } ?: PURPLE
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|