diff --git a/app/src/main/java/com/github/libretube/MainActivity.kt b/app/src/main/java/com/github/libretube/MainActivity.kt
index 6381140af..1328a6de1 100644
--- a/app/src/main/java/com/github/libretube/MainActivity.kt
+++ b/app/src/main/java/com/github/libretube/MainActivity.kt
@@ -35,6 +35,8 @@ import com.github.libretube.fragments.PlayerFragment
import com.github.libretube.fragments.isFullScreen
import com.github.libretube.util.CronetHelper
import com.github.libretube.util.RetrofitInstance
+import com.github.libretube.util.updateLanguage
+import com.github.libretube.util.updateTheme
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.google.android.material.color.DynamicColors
@@ -66,8 +68,7 @@ class MainActivity : AppCompatActivity() {
SponsorBlockSettings.outroEnabled =
sharedPreferences.getBoolean("outro_category_key", false)
- updateAccentColor(this)
- updateThemeMode(this)
+ updateTheme(this)
updateLanguage(this)
val connectivityManager =
diff --git a/app/src/main/java/com/github/libretube/RouterActivity.kt b/app/src/main/java/com/github/libretube/RouterActivity.kt
index dfd6921df..2131fa504 100644
--- a/app/src/main/java/com/github/libretube/RouterActivity.kt
+++ b/app/src/main/java/com/github/libretube/RouterActivity.kt
@@ -6,6 +6,7 @@ import android.net.Uri
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
+import com.github.libretube.util.restartMainActivity
class RouterActivity : AppCompatActivity() {
val TAG = "RouterActivity"
diff --git a/app/src/main/java/com/github/libretube/SettingsActivity.kt b/app/src/main/java/com/github/libretube/SettingsActivity.kt
index b6884c606..20a91a1c7 100644
--- a/app/src/main/java/com/github/libretube/SettingsActivity.kt
+++ b/app/src/main/java/com/github/libretube/SettingsActivity.kt
@@ -29,6 +29,9 @@ import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceManager
import com.github.libretube.dialogs.LoginDialog
import com.github.libretube.util.RetrofitInstance
+import com.github.libretube.util.changeIcon
+import com.github.libretube.util.restartMainActivity
+import com.github.libretube.util.updateTheme
import com.google.android.material.color.DynamicColors
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import java.io.IOException
@@ -48,8 +51,7 @@ class SettingsActivity :
override fun onCreate(savedInstanceState: Bundle?) {
DynamicColors.applyToActivityIfAvailable(this)
- updateAccentColor(this)
- updateThemeMode(this)
+ updateTheme(this)
super.onCreate(savedInstanceState)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
diff --git a/app/src/main/java/com/github/libretube/util/ThemeChanger.kt b/app/src/main/java/com/github/libretube/util/ThemeChanger.kt
index ab312f2ce..49b6c0695 100644
--- a/app/src/main/java/com/github/libretube/util/ThemeChanger.kt
+++ b/app/src/main/java/com/github/libretube/util/ThemeChanger.kt
@@ -1,4 +1,4 @@
-package com.github.libretube
+package com.github.libretube.util
import android.app.NotificationManager
import android.content.ComponentName
@@ -8,8 +8,14 @@ import android.content.pm.PackageManager
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate
import androidx.preference.PreferenceManager
+import com.github.libretube.R
import java.util.*
+fun updateTheme(context: Context) {
+ updateAccentColor(context)
+ updateThemeMode(context)
+}
+
fun updateAccentColor(context: Context) {
val colorAccent =
PreferenceManager.getDefaultSharedPreferences(context).getString("accent_color", "red")
@@ -30,15 +36,13 @@ fun updateThemeMode(context: Context) {
"A" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
"L" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
"D" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
- "O" -> oledMode(context)
+ "O" -> {
+ context.setTheme(R.style.OLED)
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
+ }
}
}
-fun oledMode(context: Context) {
- AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
- context.setTheme(R.style.Theme_OLED)
-}
-
fun updateLanguage(context: Context) {
val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
val languageName = sharedPreferences.getString("language", "sys")
diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml
index 047ad87fd..b023f75c9 100644
--- a/app/src/main/res/values-night/themes.xml
+++ b/app/src/main/res/values-night/themes.xml
@@ -148,14 +148,4 @@
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values/style.xml b/app/src/main/res/values/style.xml
index b2fd47858..aaffe0889 100644
--- a/app/src/main/res/values/style.xml
+++ b/app/src/main/res/values/style.xml
@@ -5,4 +5,14 @@
- rounded
- 10%
+
+
\ No newline at end of file