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