|
|
|
|
@ -17,6 +17,7 @@
|
|
|
|
|
package com.keylesspalace.tusky.util |
|
|
|
|
|
|
|
|
|
import android.content.Context |
|
|
|
|
import android.content.res.Configuration |
|
|
|
|
import android.graphics.Color |
|
|
|
|
import android.graphics.PorterDuff |
|
|
|
|
import android.graphics.drawable.Drawable |
|
|
|
|
@ -35,6 +36,7 @@ const val THEME_DAY = "day"
|
|
|
|
|
const val THEME_BLACK = "black" |
|
|
|
|
const val THEME_AUTO = "auto" |
|
|
|
|
const val THEME_SYSTEM = "auto_system" |
|
|
|
|
const val THEME_SYSTEM_BLACK = "auto_system_black" |
|
|
|
|
const val APP_THEME_DEFAULT = THEME_SYSTEM |
|
|
|
|
|
|
|
|
|
fun getDimension(context: Context, @AttrRes attribute: Int): Int { |
|
|
|
|
@ -59,9 +61,21 @@ fun setAppNightMode(flavor: String?) {
|
|
|
|
|
THEME_AUTO -> AppCompatDelegate.setDefaultNightMode( |
|
|
|
|
AppCompatDelegate.MODE_NIGHT_AUTO_TIME |
|
|
|
|
) |
|
|
|
|
THEME_SYSTEM -> AppCompatDelegate.setDefaultNightMode( |
|
|
|
|
THEME_SYSTEM, THEME_SYSTEM_BLACK -> AppCompatDelegate.setDefaultNightMode( |
|
|
|
|
AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM |
|
|
|
|
) |
|
|
|
|
else -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun isBlack(config: Configuration, theme: String?): Boolean { |
|
|
|
|
return when (theme) { |
|
|
|
|
THEME_BLACK -> true |
|
|
|
|
THEME_SYSTEM_BLACK -> when (config.uiMode and Configuration.UI_MODE_NIGHT_MASK) { |
|
|
|
|
Configuration.UI_MODE_NIGHT_NO -> false |
|
|
|
|
Configuration.UI_MODE_NIGHT_YES -> true |
|
|
|
|
else -> false |
|
|
|
|
} |
|
|
|
|
else -> false |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|