Android: Add theme mode switcher

Similar to app themes, theme modes have to be loaded before directory initialization is ready. So we save the proper key the same way.
This commit is contained in:
Charles Lombardo committed 2022-12-02 13:31:57 -05:00
1 parent 385dfb60a0
commit b9fffa2e66
16 files changed
+170 -55

No files matched your search

@@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="?attr/colorOnSurface"
android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
</vector>
@@ -2,7 +2,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="true"
android:drawable="@color/dolphin_primary"/>
android:drawable="@color/dolphin_blue"/>
<item
android:drawable="@color/tv_card_unselected"/>
</selector>
@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="lightSystemBars">false</bool>
</resources>
@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.V27.Dolphin" parent="Theme.Dolphin">
<item name="android:windowLightNavigationBar">@bool/lightSystemBars</item>
</style>
<style name="Theme.Dolphin.Main" parent="Theme.V27.Dolphin" />
</resources>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.V29.Dolphin" parent="Theme.V27.Dolphin">
<style name="Theme.V29.Dolphin" parent="Theme.Dolphin">
<item name="android:enforceStatusBarContrast">false</item>
<item name="android:enforceNavigationBarContrast">false</item>
</style>
@@ -507,6 +507,17 @@
<item>4</item>
</integer-array>
<string-array name="themeModeEntries">
<item>Follow System</item>
<item>Light</item>
<item>Dark</item>
</string-array>
<integer-array name="themeModeValues">
<item>-1</item>
<item>1</item>
<item>2</item>
</integer-array>
<string-array name="synchronizeGpuThreadEntries">
<item>Never</item>
<item>On Idle Skipping</item>
@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="lightSystemBars">true</bool>
</resources>
@@ -196,6 +196,7 @@
<string name="show_titles_in_game_list">Show Titles in Game List</string>
<string name="show_titles_in_game_list_description">Show the title and creator below each game cover.</string>
<string name="change_theme">Change App Theme</string>
<string name="change_theme_mode">Change Theme Mode</string>
<!-- Online Update Region Select Fragment -->
<string name="region_select_title">Please select a region</string>
@@ -42,7 +42,7 @@
<style name="DolphinTVDialog" parent="Theme.Material3.DayNight.Dialog.Alert">
<item name="colorSurface">@color/dolphin_inverseOnSurface</item>
<item name="colorPrimary">@color/dolphin_primary</item>
<item name="colorPrimary">@color/dolphin_blue</item>
</style>
<style name="DolphinButton" parent="Widget.Material3.Button.TextButton.Dialog">
@@ -47,9 +47,6 @@
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="homeAsUpIndicator">@drawable/ic_back</item>
<item name="android:windowLightStatusBar" tools:targetApi="m">@bool/lightSystemBars</item>
<item name="android:windowLayoutInDisplayCutoutMode" tools:targetApi="o_mr1">default</item>
<item name="materialAlertDialogTheme">@style/DolphinMaterialDialog</item>
@@ -58,7 +55,7 @@
<item name="materialDividerStyle">@style/DolphinDivider</item>
</style>
<!-- Trick for API >= 27 specific changes -->
<!-- Trick for API >= 29 specific changes -->
<style name="Theme.Dolphin.Main" parent="Theme.Dolphin" />
<style name="Theme.Dolphin.Main.Material" parent="Theme.Dolphin.Main">