diff options
| author | Charles Lombardo <clombardo169@gmail.com> | 2023-04-23 18:46:05 -0400 | 
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2023-06-03 00:05:54 -0700 | 
| commit | d7178ed16e192fc5a64554526c8deb45c7eb3fe0 (patch) | |
| tree | ceba18655b1c3df3e90184ee524b002eeccfd9e5 /src/android | |
| parent | d9684a2010c1e4643ba7882b2616823814a45342 (diff) | |
android: Add black backgrounds toggle
Diffstat (limited to 'src/android')
6 files changed, 42 insertions, 1 deletions
| diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Settings.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Settings.kt index 2cf9d704e..b71291609 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Settings.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Settings.kt @@ -137,6 +137,7 @@ class Settings {          const val PREF_FIRST_APP_LAUNCH = "FirstApplicationLaunch"          const val PREF_THEME = "Theme"          const val PREF_THEME_MODE = "ThemeMode" +        const val PREF_BLACK_BACKGROUNDS = "BlackBackgrounds"          private val configFileSectionsMap: MutableMap<String, List<String>> = HashMap() diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt index d8fa321ad..1aae96bc3 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt @@ -10,6 +10,7 @@ import androidx.appcompat.app.AppCompatActivity  import androidx.preference.PreferenceManager  import org.yuzu.yuzu_emu.R  import org.yuzu.yuzu_emu.YuzuApplication +import org.yuzu.yuzu_emu.features.settings.model.AbstractBooleanSetting  import org.yuzu.yuzu_emu.features.settings.model.AbstractIntSetting  import org.yuzu.yuzu_emu.features.settings.model.AbstractSetting  import org.yuzu.yuzu_emu.features.settings.model.IntSetting @@ -380,6 +381,28 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)                      R.array.themeModeValues                  )              ) + +            val blackBackgrounds: AbstractBooleanSetting = object : AbstractBooleanSetting { +                override var boolean: Boolean +                    get() = preferences.getBoolean(Settings.PREF_BLACK_BACKGROUNDS, false) +                    set(value) { +                        preferences.edit().putBoolean(Settings.PREF_BLACK_BACKGROUNDS, value).apply() +                        settingsActivity.recreate() +                    } +                override val key: String? = null +                override val section: String? = null +                override val isRuntimeEditable: Boolean = true +                override val valueAsString: String +                    get() = preferences.getBoolean(Settings.PREF_BLACK_BACKGROUNDS, false).toString() +            } + +            add( +                SwitchSetting( +                    blackBackgrounds, +                    R.string.use_black_backgrounds, +                    R.string.use_black_backgrounds_description +                ) +            )          }      }  } diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ThemeHelper.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ThemeHelper.kt index 467978e6d..7c8f1d80b 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ThemeHelper.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/ThemeHelper.kt @@ -33,6 +33,9 @@ object ThemeHelper {              DEFAULT -> activity.setTheme(R.style.Theme_Yuzu_Main)              MATERIAL_YOU -> activity.setTheme(R.style.Theme_Yuzu_Main_MaterialYou)          } +        if (preferences.getBoolean(Settings.PREF_BLACK_BACKGROUNDS, false)) { +            activity.setTheme(R.style.ThemeOverlay_Yuzu_Dark) +        }      }      @JvmStatic diff --git a/src/android/app/src/main/res/layout/activity_settings.xml b/src/android/app/src/main/res/layout/activity_settings.xml index dc23200ea..2745599f4 100644 --- a/src/android/app/src/main/res/layout/activity_settings.xml +++ b/src/android/app/src/main/res/layout/activity_settings.xml @@ -4,7 +4,8 @@      xmlns:android="http://schemas.android.com/apk/res/android"      xmlns:app="http://schemas.android.com/apk/res-auto"      android:layout_width="match_parent" -    android:layout_height="match_parent"> +    android:layout_height="match_parent" +    android:background="?attr/colorSurface">      <com.google.android.material.appbar.AppBarLayout          android:id="@+id/appbar_settings" diff --git a/src/android/app/src/main/res/values-night/themes.xml b/src/android/app/src/main/res/values-night/themes.xml new file mode 100644 index 000000000..d7d24c24d --- /dev/null +++ b/src/android/app/src/main/res/values-night/themes.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + +    <style name="ThemeOverlay.Yuzu.Dark" parent=""> +        <item name="colorSurface">@android:color/black</item> +        <item name="android:colorBackground">@android:color/black</item> +    </style> + +</resources> diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 28c9af7bd..d37ffba0d 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -241,4 +241,8 @@      <string name="theme_mode_light">Light</string>      <string name="theme_mode_dark">Dark</string> +    <!-- Black backgrounds theme --> +    <string name="use_black_backgrounds">Use Black Backgrounds</string> +    <string name="use_black_backgrounds_description">When using the dark theme, apply black backgrounds.</string> +  </resources> | 
