mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-28 07:50:31 +05:30
commit
a235f584a7
@ -37,7 +37,6 @@ import com.github.libretube.util.CronetHelper
|
|||||||
import com.github.libretube.util.LocaleHelper
|
import com.github.libretube.util.LocaleHelper
|
||||||
import com.github.libretube.util.RetrofitInstance
|
import com.github.libretube.util.RetrofitInstance
|
||||||
import com.github.libretube.util.ThemeHelper
|
import com.github.libretube.util.ThemeHelper
|
||||||
import com.google.android.material.color.DynamicColors
|
|
||||||
import com.google.android.material.elevation.SurfaceColors
|
import com.google.android.material.elevation.SurfaceColors
|
||||||
import com.google.android.material.navigation.NavigationBarView
|
import com.google.android.material.navigation.NavigationBarView
|
||||||
|
|
||||||
@ -50,20 +49,9 @@ class MainActivity : AppCompatActivity() {
|
|||||||
private var startFragmentId = R.id.homeFragment
|
private var startFragmentId = R.id.homeFragment
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
/**
|
// set the app theme (e.g. Material You)
|
||||||
* apply dynamic colors if enabled
|
|
||||||
*/
|
|
||||||
val materialColorsEnabled = PreferenceHelper
|
|
||||||
.getString(this, "accent_color", "purple") == "my"
|
|
||||||
if (materialColorsEnabled) {
|
|
||||||
// apply dynamic colors to the current activity
|
|
||||||
DynamicColors.applyToActivityIfAvailable(this)
|
|
||||||
// apply dynamic colors to the all other activities
|
|
||||||
DynamicColors.applyToActivitiesIfAvailable(application)
|
|
||||||
}
|
|
||||||
|
|
||||||
// set the theme
|
|
||||||
ThemeHelper.updateTheme(this)
|
ThemeHelper.updateTheme(this)
|
||||||
|
|
||||||
// set the language
|
// set the language
|
||||||
LocaleHelper.updateLanguage(this)
|
LocaleHelper.updateLanguage(this)
|
||||||
|
|
||||||
|
@ -5,25 +5,15 @@ import android.os.Bundle
|
|||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import com.github.libretube.R
|
import com.github.libretube.R
|
||||||
import com.github.libretube.databinding.ActivityNointernetBinding
|
import com.github.libretube.databinding.ActivityNointernetBinding
|
||||||
import com.github.libretube.preferences.PreferenceHelper
|
|
||||||
import com.github.libretube.util.ConnectionHelper
|
import com.github.libretube.util.ConnectionHelper
|
||||||
import com.github.libretube.util.ThemeHelper
|
import com.github.libretube.util.ThemeHelper
|
||||||
import com.google.android.material.color.DynamicColors
|
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
|
|
||||||
class NoInternetActivity : AppCompatActivity() {
|
class NoInternetActivity : AppCompatActivity() {
|
||||||
private lateinit var binding: ActivityNointernetBinding
|
private lateinit var binding: ActivityNointernetBinding
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
/**
|
ThemeHelper.updateTheme(this)
|
||||||
* apply dynamic colors if enabled
|
|
||||||
*/
|
|
||||||
val materialColorsEnabled = PreferenceHelper
|
|
||||||
.getString(this, "accent_color", "purple") == "my"
|
|
||||||
if (materialColorsEnabled) {
|
|
||||||
DynamicColors.applyToActivityIfAvailable(this)
|
|
||||||
}
|
|
||||||
|
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
binding = ActivityNointernetBinding.inflate(layoutInflater)
|
binding = ActivityNointernetBinding.inflate(layoutInflater)
|
||||||
|
@ -8,17 +8,15 @@ import com.github.libretube.R
|
|||||||
import com.github.libretube.databinding.ActivitySettingsBinding
|
import com.github.libretube.databinding.ActivitySettingsBinding
|
||||||
import com.github.libretube.preferences.MainSettings
|
import com.github.libretube.preferences.MainSettings
|
||||||
import com.github.libretube.util.ThemeHelper
|
import com.github.libretube.util.ThemeHelper
|
||||||
import com.google.android.material.color.DynamicColors
|
|
||||||
|
|
||||||
class SettingsActivity : AppCompatActivity() {
|
class SettingsActivity : AppCompatActivity() {
|
||||||
val TAG = "SettingsActivity"
|
val TAG = "SettingsActivity"
|
||||||
lateinit var binding: ActivitySettingsBinding
|
lateinit var binding: ActivitySettingsBinding
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
DynamicColors.applyToActivityIfAvailable(this)
|
|
||||||
ThemeHelper.updateTheme(this)
|
ThemeHelper.updateTheme(this)
|
||||||
|
|
||||||
// makes the preference dialogs use material dialogs
|
// apply the theme for the preference dialogs
|
||||||
setTheme(R.style.MaterialAlertDialog)
|
setTheme(R.style.MaterialAlertDialog)
|
||||||
|
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
@ -7,8 +7,8 @@ import androidx.preference.ListPreference
|
|||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import com.github.libretube.BuildConfig
|
import com.github.libretube.BuildConfig
|
||||||
|
import com.github.libretube.Globals
|
||||||
import com.github.libretube.R
|
import com.github.libretube.R
|
||||||
import com.github.libretube.activities.isCurrentViewMainSettings
|
|
||||||
import com.github.libretube.dialogs.RequireRestartDialog
|
import com.github.libretube.dialogs.RequireRestartDialog
|
||||||
import com.github.libretube.util.ThemeHelper
|
import com.github.libretube.util.ThemeHelper
|
||||||
import com.github.libretube.util.checkUpdate
|
import com.github.libretube.util.checkUpdate
|
||||||
@ -94,7 +94,7 @@ class MainSettings : PreferenceFragmentCompat() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun navigateToSettingsFragment(newFragment: Fragment) {
|
private fun navigateToSettingsFragment(newFragment: Fragment) {
|
||||||
isCurrentViewMainSettings = false
|
Globals.isCurrentViewMainSettings = false
|
||||||
parentFragmentManager.beginTransaction()
|
parentFragmentManager.beginTransaction()
|
||||||
.replace(R.id.settings, newFragment)
|
.replace(R.id.settings, newFragment)
|
||||||
.commitNow()
|
.commitNow()
|
||||||
|
@ -12,23 +12,42 @@ import androidx.appcompat.app.AppCompatDelegate
|
|||||||
import androidx.core.text.HtmlCompat
|
import androidx.core.text.HtmlCompat
|
||||||
import com.github.libretube.R
|
import com.github.libretube.R
|
||||||
import com.github.libretube.preferences.PreferenceHelper
|
import com.github.libretube.preferences.PreferenceHelper
|
||||||
|
import com.google.android.material.color.DynamicColors
|
||||||
|
|
||||||
object ThemeHelper {
|
object ThemeHelper {
|
||||||
|
|
||||||
fun updateTheme(context: Context) {
|
fun updateTheme(activity: AppCompatActivity) {
|
||||||
updateAccentColor(context)
|
updateAccentColor(activity)
|
||||||
updateThemeMode(context)
|
updateThemeMode(activity)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateAccentColor(context: Context) {
|
private fun updateAccentColor(activity: AppCompatActivity) {
|
||||||
when (PreferenceHelper.getString(context, "accent_color", "purple")) {
|
val theme = when (
|
||||||
"my" -> context.setTheme(R.style.MaterialYou)
|
PreferenceHelper.getString(
|
||||||
"red" -> context.setTheme(R.style.Theme_Red)
|
activity,
|
||||||
"blue" -> context.setTheme(R.style.Theme_Blue)
|
"accent_color",
|
||||||
"yellow" -> context.setTheme(R.style.Theme_Yellow)
|
"purple"
|
||||||
"green" -> context.setTheme(R.style.Theme_Green)
|
)
|
||||||
"purple" -> context.setTheme(R.style.Theme_Purple)
|
) {
|
||||||
|
"my" -> {
|
||||||
|
applyDynamicColors(activity)
|
||||||
|
R.style.MaterialYou
|
||||||
|
}
|
||||||
|
"red" -> R.style.Theme_Red
|
||||||
|
"blue" -> R.style.Theme_Blue
|
||||||
|
"yellow" -> R.style.Theme_Yellow
|
||||||
|
"green" -> R.style.Theme_Green
|
||||||
|
"purple" -> R.style.Theme_Purple
|
||||||
|
else -> R.style.Theme_Purple
|
||||||
}
|
}
|
||||||
|
activity.setTheme(theme)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun applyDynamicColors(activity: AppCompatActivity) {
|
||||||
|
/**
|
||||||
|
* apply dynamic colors to the activity
|
||||||
|
*/
|
||||||
|
DynamicColors.applyToActivityIfAvailable(activity)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateThemeMode(context: Context) {
|
private fun updateThemeMode(context: Context) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user