From 8c723d05841c784c7af90e6f29eb82c2120358f5 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Thu, 24 Dec 2020 14:55:10 +0100 Subject: [PATCH] Android: Only have one settings entrypoint per activity/dialog Basically, instead of having one button for config, one button for graphics settings and so on, we now have just one settings button which takes you to a screen where you pick between config/graphics/GameCube controllers/Wii Remotes. The main reason I want to do this is because people still have trouble finding Overlay Controls in the "new" in-game menu. Typically (depending on the screen size and the length of the game name), the scrollable part of the menu can fit 4 items, and merging Config and Graphics Settings into one item would move Overlay Controls from 5th place to 4th place (assuming the user doesn't have savestates enabled), which makes it findable even for users who don't realize the menu can be scrolled. The dialog that's shown when long pressing a game in the game list is also shortened. While not a pressing matter, I think it was getting a bit long. An additional reason to do this is because we probably will want to make it possible to edit the controller settings from the in-game menu at some point in the future. With the old approach, this would require us to dedicate a whopping 4 menu items just for settings (not including Overlay Controls), which I think is excessive. --- .../activities/EmulationActivity.java | 13 +++------- .../features/settings/ui/MenuTag.java | 1 + .../settings/ui/SettingsFragment.java | 9 ++++--- .../ui/SettingsFragmentPresenter.java | 20 +++++++++++++-- .../dolphinemu/fragments/MenuFragment.java | 4 +-- .../dolphinemu/ui/main/MainPresenter.java | 16 ++---------- .../dolphinemu/ui/main/TvMainActivity.java | 18 +++---------- .../main/res/drawable-hdpi/ic_settings.png | Bin 0 -> 460 bytes .../res/drawable-hdpi/ic_settings_core.png | Bin 228 -> 0 bytes .../res/drawable-hdpi/ic_settings_gcpad.png | Bin 231 -> 0 bytes .../drawable-hdpi/ic_settings_graphics.png | Bin 266 -> 0 bytes .../res/drawable-hdpi/ic_settings_wiimote.png | Bin 386 -> 0 bytes .../res/drawable-mdpi/ic_settings_gcpad.png | Bin 140 -> 0 bytes .../res/drawable-mdpi/ic_settings_wiimote.png | Bin 264 -> 0 bytes .../main/res/drawable-xhdpi/ic_settings.png | Bin 0 -> 554 bytes .../res/drawable-xhdpi/ic_settings_core.png | Bin 190 -> 0 bytes .../res/drawable-xhdpi/ic_settings_gcpad.png | Bin 212 -> 0 bytes .../drawable-xhdpi/ic_settings_graphics.png | Bin 300 -> 0 bytes .../drawable-xhdpi/ic_settings_wiimote.png | Bin 451 -> 0 bytes .../main/res/drawable-xxhdpi/ic_settings.png | Bin 0 -> 788 bytes .../res/drawable-xxhdpi/ic_settings_core.png | Bin 251 -> 0 bytes .../res/drawable-xxhdpi/ic_settings_gcpad.png | Bin 288 -> 0 bytes .../drawable-xxhdpi/ic_settings_graphics.png | Bin 450 -> 0 bytes .../drawable-xxhdpi/ic_settings_wiimote.png | Bin 653 -> 0 bytes .../main/res/drawable-xxxhdpi/ic_settings.png | Bin 0 -> 1026 bytes .../res/drawable-xxxhdpi/ic_settings_core.png | Bin 318 -> 0 bytes .../drawable-xxxhdpi/ic_settings_gcpad.png | Bin 375 -> 0 bytes .../drawable-xxxhdpi/ic_settings_graphics.png | Bin 569 -> 0 bytes .../drawable-xxxhdpi/ic_settings_wiimote.png | Bin 862 -> 0 bytes .../main/res/drawable/ic_settings_core_tv.png | Bin 318 -> 0 bytes .../main/res/drawable/ic_settings_gcpad.png | Bin 375 -> 0 bytes .../res/drawable/ic_settings_graphics_tv.png | Bin 569 -> 0 bytes .../src/main/res/drawable/ic_settings_tv.png | Bin 0 -> 1026 bytes .../main/res/drawable/ic_settings_wiimote.png | Bin 862 -> 0 bytes .../main/res/layout/fragment_ingame_menu.xml | 15 ++++------- .../app/src/main/res/menu/menu_game_grid.xml | 24 +++--------------- .../app/src/main/res/values/strings.xml | 11 +++++--- 37 files changed, 49 insertions(+), 82 deletions(-) create mode 100644 Source/Android/app/src/main/res/drawable-hdpi/ic_settings.png delete mode 100644 Source/Android/app/src/main/res/drawable-hdpi/ic_settings_core.png delete mode 100644 Source/Android/app/src/main/res/drawable-hdpi/ic_settings_gcpad.png delete mode 100644 Source/Android/app/src/main/res/drawable-hdpi/ic_settings_graphics.png delete mode 100644 Source/Android/app/src/main/res/drawable-hdpi/ic_settings_wiimote.png delete mode 100644 Source/Android/app/src/main/res/drawable-mdpi/ic_settings_gcpad.png delete mode 100644 Source/Android/app/src/main/res/drawable-mdpi/ic_settings_wiimote.png create mode 100644 Source/Android/app/src/main/res/drawable-xhdpi/ic_settings.png delete mode 100644 Source/Android/app/src/main/res/drawable-xhdpi/ic_settings_core.png delete mode 100644 Source/Android/app/src/main/res/drawable-xhdpi/ic_settings_gcpad.png delete mode 100644 Source/Android/app/src/main/res/drawable-xhdpi/ic_settings_graphics.png delete mode 100644 Source/Android/app/src/main/res/drawable-xhdpi/ic_settings_wiimote.png create mode 100644 Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings.png delete mode 100644 Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings_core.png delete mode 100644 Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings_gcpad.png delete mode 100644 Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings_graphics.png delete mode 100644 Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings_wiimote.png create mode 100644 Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings.png delete mode 100644 Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings_core.png delete mode 100644 Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings_gcpad.png delete mode 100644 Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings_graphics.png delete mode 100644 Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings_wiimote.png delete mode 100644 Source/Android/app/src/main/res/drawable/ic_settings_core_tv.png delete mode 100644 Source/Android/app/src/main/res/drawable/ic_settings_gcpad.png delete mode 100644 Source/Android/app/src/main/res/drawable/ic_settings_graphics_tv.png create mode 100644 Source/Android/app/src/main/res/drawable/ic_settings_tv.png delete mode 100644 Source/Android/app/src/main/res/drawable/ic_settings_wiimote.png diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java index 9bb3be3878..7ca2ae0c9e 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java @@ -99,7 +99,7 @@ public final class EmulationActivity extends AppCompatActivity MENU_ACTION_LOAD_SLOT6, MENU_ACTION_EXIT, MENU_ACTION_CHANGE_DISC, MENU_ACTION_RESET_OVERLAY, MENU_SET_IR_SENSITIVITY, MENU_ACTION_CHOOSE_DOUBLETAP, MENU_ACTION_MOTION_CONTROLS, MENU_ACTION_PAUSE_EMULATION, MENU_ACTION_UNPAUSE_EMULATION, - MENU_ACTION_OVERLAY_CONTROLS, MENU_ACTION_SETTINGS_CORE, MENU_ACTION_SETTINGS_GRAPHICS}) + MENU_ACTION_OVERLAY_CONTROLS, MENU_ACTION_SETTINGS}) public @interface MenuAction { } @@ -137,8 +137,7 @@ public final class EmulationActivity extends AppCompatActivity public static final int MENU_ACTION_PAUSE_EMULATION = 30; public static final int MENU_ACTION_UNPAUSE_EMULATION = 31; public static final int MENU_ACTION_OVERLAY_CONTROLS = 32; - public static final int MENU_ACTION_SETTINGS_CORE = 33; - public static final int MENU_ACTION_SETTINGS_GRAPHICS = 34; + public static final int MENU_ACTION_SETTINGS = 33; private static final SparseIntArray buttonsActionsMap = new SparseIntArray(); @@ -656,12 +655,8 @@ public final class EmulationActivity extends AppCompatActivity showMotionControlsOptions(); break; - case MENU_ACTION_SETTINGS_CORE: - SettingsActivity.launch(this, MenuTag.CONFIG); - break; - - case MENU_ACTION_SETTINGS_GRAPHICS: - SettingsActivity.launch(this, MenuTag.GRAPHICS); + case MENU_ACTION_SETTINGS: + SettingsActivity.launch(this, MenuTag.SETTINGS); break; case MENU_ACTION_EXIT: diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/MenuTag.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/MenuTag.java index 8422f2903b..721cd52a6a 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/MenuTag.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/MenuTag.java @@ -4,6 +4,7 @@ import androidx.annotation.NonNull; public enum MenuTag { + SETTINGS("settings"), CONFIG("config"), CONFIG_GENERAL("config_general"), CONFIG_INTERFACE("config_interface"), diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java index 155cf1bfac..405040f391 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.java @@ -35,7 +35,8 @@ public final class SettingsFragment extends Fragment implements SettingsFragment static { - titles.put(MenuTag.CONFIG, R.string.preferences_settings); + titles.put(MenuTag.SETTINGS, R.string.preferences_settings); + titles.put(MenuTag.CONFIG, R.string.config); titles.put(MenuTag.CONFIG_GENERAL, R.string.general_submenu); titles.put(MenuTag.CONFIG_INTERFACE, R.string.interface_submenu); titles.put(MenuTag.CONFIG_AUDIO, R.string.audio_submenu); @@ -43,10 +44,10 @@ public final class SettingsFragment extends Fragment implements SettingsFragment titles.put(MenuTag.CONFIG_GAME_CUBE, R.string.gamecube_submenu); titles.put(MenuTag.CONFIG_WII, R.string.wii_submenu); titles.put(MenuTag.CONFIG_ADVANCED, R.string.advanced_submenu); - titles.put(MenuTag.WIIMOTE, R.string.grid_menu_wiimote_settings); + titles.put(MenuTag.WIIMOTE, R.string.wiimote_settings); titles.put(MenuTag.WIIMOTE_EXTENSION, R.string.wiimote_extensions); - titles.put(MenuTag.GCPAD_TYPE, R.string.grid_menu_gcpad_settings); - titles.put(MenuTag.GRAPHICS, R.string.grid_menu_graphics_settings); + titles.put(MenuTag.GCPAD_TYPE, R.string.gcpad_settings); + titles.put(MenuTag.GRAPHICS, R.string.graphics_settings); titles.put(MenuTag.HACKS, R.string.hacks_submenu); titles.put(MenuTag.CONFIG_LOG, R.string.log_submenu); titles.put(MenuTag.DEBUG, R.string.debug_submenu); diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java index 8f50dac6e1..622e552f63 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java @@ -122,6 +122,10 @@ public final class SettingsFragmentPresenter switch (mMenuTag) { + case SETTINGS: + addTopLevelSettings(sl); + break; + case CONFIG: addConfigSettings(sl); break; @@ -216,6 +220,20 @@ public final class SettingsFragmentPresenter mView.showSettingsList(mSettingsList); } + private void addTopLevelSettings(ArrayList sl) + { + sl.add(new SubmenuSetting(R.string.config, MenuTag.CONFIG)); + sl.add(new SubmenuSetting(R.string.graphics_settings, MenuTag.GRAPHICS)); + + if (!NativeLibrary.IsRunning()) + { + sl.add(new SubmenuSetting(R.string.gcpad_settings, MenuTag.GCPAD_TYPE)); + sl.add(new SubmenuSetting(R.string.wiimote_settings, MenuTag.WIIMOTE)); + } + + sl.add(new HeaderSetting(R.string.setting_clear_info, 0)); + } + private void addConfigSettings(ArrayList sl) { sl.add(new SubmenuSetting(R.string.general_submenu, MenuTag.CONFIG_GENERAL)); @@ -227,7 +245,6 @@ public final class SettingsFragmentPresenter sl.add(new SubmenuSetting(R.string.advanced_submenu, MenuTag.CONFIG_ADVANCED)); sl.add(new SubmenuSetting(R.string.log_submenu, MenuTag.CONFIG_LOG)); sl.add(new SubmenuSetting(R.string.debug_submenu, MenuTag.DEBUG)); - sl.add(new HeaderSetting(R.string.setting_clear_info, 0)); } private void addGeneralSettings(ArrayList sl) @@ -513,7 +530,6 @@ public final class SettingsFragmentPresenter sl.add(new HeaderSetting(R.string.graphics_enhancements_and_hacks, 0)); sl.add(new SubmenuSetting(R.string.enhancements_submenu, MenuTag.ENHANCEMENTS)); sl.add(new SubmenuSetting(R.string.hacks_submenu, MenuTag.HACKS)); - sl.add(new HeaderSetting(R.string.setting_clear_info, 0)); } private void addEnhanceSettings(ArrayList sl) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.java index 90b3ee7d2d..555b20097d 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.java @@ -48,9 +48,7 @@ public final class MenuFragment extends Fragment implements View.OnClickListener .append(R.id.menu_refresh_wiimotes, EmulationActivity.MENU_ACTION_REFRESH_WIIMOTES); buttonsActionsMap.append(R.id.menu_change_disc, EmulationActivity.MENU_ACTION_CHANGE_DISC); buttonsActionsMap.append(R.id.menu_exit, EmulationActivity.MENU_ACTION_EXIT); - buttonsActionsMap.append(R.id.menu_settings_core, EmulationActivity.MENU_ACTION_SETTINGS_CORE); - buttonsActionsMap.append(R.id.menu_settings_graphics, - EmulationActivity.MENU_ACTION_SETTINGS_GRAPHICS); + buttonsActionsMap.append(R.id.menu_settings, EmulationActivity.MENU_ACTION_SETTINGS); } public static MenuFragment newInstance() diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.java index 75f2002ba3..8db0ee44a1 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.java @@ -71,20 +71,8 @@ public final class MainPresenter { switch (itemId) { - case R.id.menu_settings_core: - mView.launchSettingsActivity(MenuTag.CONFIG); - return true; - - case R.id.menu_settings_graphics: - mView.launchSettingsActivity(MenuTag.GRAPHICS); - return true; - - case R.id.menu_settings_gcpad: - mView.launchSettingsActivity(MenuTag.GCPAD_TYPE); - return true; - - case R.id.menu_settings_wiimote: - mView.launchSettingsActivity(MenuTag.WIIMOTE); + case R.id.menu_settings: + mView.launchSettingsActivity(MenuTag.SETTINGS); return true; case R.id.menu_refresh: diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/TvMainActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/TvMainActivity.java index 23d1050d04..c7bc923461 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/TvMainActivity.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/TvMainActivity.java @@ -313,21 +313,9 @@ public final class TvMainActivity extends FragmentActivity implements MainView { ArrayObjectAdapter rowItems = new ArrayObjectAdapter(new SettingsRowPresenter()); - rowItems.add(new TvSettingsItem(R.id.menu_settings_core, - R.drawable.ic_settings_core_tv, - R.string.grid_menu_config)); - - rowItems.add(new TvSettingsItem(R.id.menu_settings_graphics, - R.drawable.ic_settings_graphics_tv, - R.string.grid_menu_graphics_settings)); - - rowItems.add(new TvSettingsItem(R.id.menu_settings_gcpad, - R.drawable.ic_settings_gcpad, - R.string.grid_menu_gcpad_settings)); - - rowItems.add(new TvSettingsItem(R.id.menu_settings_wiimote, - R.drawable.ic_settings_wiimote, - R.string.grid_menu_wiimote_settings)); + rowItems.add(new TvSettingsItem(R.id.menu_settings, + R.drawable.ic_settings_tv, + R.string.grid_menu_settings)); rowItems.add(new TvSettingsItem(R.id.button_add_directory, R.drawable.ic_add_tv, diff --git a/Source/Android/app/src/main/res/drawable-hdpi/ic_settings.png b/Source/Android/app/src/main/res/drawable-hdpi/ic_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..9059e0021a811f9204faf233c427916399a79b73 GIT binary patch literal 460 zcmV;-0WHIe!VrcK4u^0EhcF!AFobYu zUxah+z5efXd#EoTh`asRy-sIG)2Z!t>!M$v2gk;sF;u}4>!99jh6{Bf- z(ykCA-@@Q+R6cgXkEhr#uWgTCjuI6}U$!S&zBH!C~l5-a3e8r&mBJ|C{>n8u#t z-xS>A7OFzjq+hJUkb8f_rxASo#B^S=P{u(Go2qRl2YH#cNr~DEC`gHdFkUh(iI&@# zpoXQ%5+dcE=FM(StH%e8wY23=ZL|xy^0y|g#`;Eb+A1CAtG(cwKmV-Z^DjwptBh;& ehwNq_1M~!SBWiQ$kNbfD0000|k0wldT1B8LpI!_nJkP61PSKJw!9Rykv`!c!0 z7=#W8h0B}~Retec+B*jRBMf^)s@iY*-mhObS-*t2%gybs@tPzim!8Szeqvv+a-B6sEU| zC0m<2Rb`IItoZj>=iJJv%Mb7W``VkS>oQrDOy>(Si}}6bzs-5= fcB@49$9KNiuzNZihbUA~ktDnm{r-UW|)FD=d diff --git a/Source/Android/app/src/main/res/drawable-hdpi/ic_settings_graphics.png b/Source/Android/app/src/main/res/drawable-hdpi/ic_settings_graphics.png deleted file mode 100644 index a0a50b4fcbd55fe8c6898c6c24a1285b4c62ba6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmV+l0rmcgP)@>Lqg_8b`>nuP>Tlm&dG8 zk01oPqD5-Sa|{6N(v94a>WDUJ=kfbz^dJv3lc|bM$s>1+0fWdha_p;#`jH2!>7xpH zL7*a*UAlJB9!6>eIQZAS{g)*x;NO zKKSI7OExOdIBb4!_aJ+`7gQhYGB6p`)K<~;#b%A-piv$HIAgxynyaR=riPj46o7|@ zMnO}&2kg>2@TGg(19)q4IMl%%JTxu{Das^Ia8tWLsEFF9<*(~{3hi^x2OmAKPocWM zM%p@9#1uinsceqd%GPVMRZ8>w8#sdCI;?(jsGU3DifOv5rmF6yy9#b2?xcr;OLpk4HP*P77do!ik5+A` z@R02xBu_Y z!mz4{J=;M;eGTg(Mn(slJq;1Od;c$On8CsubP0l+XkKXRRvi diff --git a/Source/Android/app/src/main/res/drawable-mdpi/ic_settings_wiimote.png b/Source/Android/app/src/main/res/drawable-mdpi/ic_settings_wiimote.png deleted file mode 100644 index 545d95b68e9e9f4673e49bf46879af72cf5c3faf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmV+j0r&oiP)IV3(3X`a!v9)Y#{r47P)JRugKh5k;swMD%(D=Mi$v@*an3B1HJ%<;(X5nu+{+ne$o5)wrtV> O0000Z&Tf}to%Q53;21Vd32MNt$m6h$!hZ>BJ3(} zJDLVZ$~%a+gcdrH1J}wsiyY`gUGNSgzz}EHocnd2Ebj@OxgI*l2rxh^s=}q$X1K$( zYBF5m0h!lMq6%zdW_4b$8L9AK^=={s_BBI>PbsPMTXkbhRQHse=?VJiqCJ;nJq)Gm zMp-zuybPzsH|tWGUX+D)LIWSCM{}WDY{ar~hD@=?gdQ6zHp5X=fjx}n+fAt3lW&C2 zQ3rgn*h~5oCD(q`1;-Y9jzpNe$%_>y7VAeMjMHOt3HWBQNhCm9zP+deI`|`BC!uav zz5%xC`0`W5?h|VF6`LeAGg`Pw8uj&0`V1E-18iASbW0{$W_gEE7A~Z_M`yv-;!(P< z%O=EFH52slj2CIrXAOFqV<%FeZ}sjX6?UxFwDLw9w>f*AU#h#uz`tG8wX~fACb+`K zxnVc9ya5j8Zu=H9zz7>r2W;YSQ9*3rPI=!8p4nZr<1OK&0n6QVIQZY!>)Xo7qN$K6 sHjJjiPsOgHsnEh+&e@Gxt*x#71sJoMwuG#lPXGV_07*qoM6N<$g249n#sB~S literal 0 HcmV?d00001 diff --git a/Source/Android/app/src/main/res/drawable-xhdpi/ic_settings_core.png b/Source/Android/app/src/main/res/drawable-xhdpi/ic_settings_core.png deleted file mode 100644 index 6d00c290ad08d94f3cfae4da49963aa752abc74b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}b0DR!*fnL^b4EsW%ei^;^bc^(asKneleOl3vBCrKd&`*8*8h7UE-n!N`?0CR*}qn4 oKAn?=1OMN+zm;JT6U!OK3ER_S_OaE8ppTHZgu(^FLHUF^_@q&IJZ0iIXDpraGnFU}Mud@0WUmLDKaTn}$Y^ z*@2BqQsqxfXY9M^m%W2+!`GI~hBDiWdj&n7SHD%h#L#!qH~Yup0}sPDPiJpD?5^~K zzbyV$IMXlpk{?%Po`r`6|7}}*-{|Y?e_NWr-B8M5U}OPx# diff --git a/Source/Android/app/src/main/res/drawable-xhdpi/ic_settings_graphics.png b/Source/Android/app/src/main/res/drawable-xhdpi/ic_settings_graphics.png deleted file mode 100644 index 8d8bae42a42a66317a788e794fec69c91a33c9ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 zcmV+{0n`48P)F}V|;bWH1&T0>NzA-hl)_ZBr!DgJK&fYI{6(CO9n820SsV(tQul0C190ODp*ei z*rWP+ed(H&4EtktUn~5=AZh0PIjD zC!`5ifJV{64Hq=YoHUUYAW?|>=+zl*B0E5%_}kh>z^fdLu y?=&$qk@f{-pW44)p{6(q2xo#?dyO?fY(D_4=}nCpY#V?80000&NWZ_Y(YAB7|V8U z@PRanC?$(e++hb3@k*~wJ#1wh7bqYZ1zch*R<(keyh09dnW0?JoqH(Z0bP{{=95Dt zAK1rC`VhcY5d!pO76JA`USGOOh~*qZA`xhaACp1YD&v7KzY}n+O;q z=O1iE{AHP8F}VP2l>7%m@tpw?Z5yN5$0PnyQW5^}kiCqEx;zK-lZ{HQqL8RLSj|@w z@r4!GBUdO8h|rJcq~Zy^wA{&)$VG~5#;O-=qLzG)FqyVEDndJ^a4g~hvQD)?Tu~=z z88_0JGvdloBM@OT%ae|+VT1J3RC6!|)A&m={xDg);4i88tz95RV-mb!94_2U;GGeI zH~2)KpLhBT#zpl`)L-C=>h=68ziCpP`B>vAkxNMwhAb3gz9002ovPDHLkV1jgyz8(Mo diff --git a/Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings.png b/Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..45d855b496b4e931cf040de9871bbe61b2a71dda GIT binary patch literal 788 zcmV+v1MB>WP)@B82b|42M_9PHH-QmG2}q9q#12N==7>e7&ZJ^P9<3O%G_*i6 z7}!GB$9g%zc%w#BptQeJ&l&y4kl{Dx5j=%)Z-F0qtpyk0lDcf#&FAAu^yd&2tnL z&IeS=dBiEU(ZMEmaE`umMp&BWZT${wX$*Ampo}jO0bQ0T?lN}J6Yf0;dIGCb`G&V2@D-tu{QGI=^rP45mBR{W-Z1`a<^B#6fw~fEacQGXc z5MQtm9nK2=Gr6t!0yRq)OOf?PCB_h|6K?I57=w@#J+8zW=By;_q7v&qBA~7^F0fQ{ zBKAfZ7cpCUITdcOhjlDt1sgcPZQ*ObZ~O5-b`n3)(Hu{B7yo*rIkrMQn!o$t0f<(s)oQg`t^WZ#$B|h2 S9W*)s0000K+)khVT z2(Z>Jk_uX}V9Uvg(i2PqTuXY{ekty<=QUB=HIpq$U-(!Rn`Fv`M!vO+*ZfaZXy&nM z+X3hWr diff --git a/Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings_gcpad.png b/Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings_gcpad.png deleted file mode 100644 index 1063b3d0ee12698b265d7817b03197bc566fcad2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXhawo_o4DhEy=Vy>WczVFeMEguvFk zkcHE3D80zJ%6!+NK>9g@#q!F3Hiu(>om|+wF-byYf&&vLlsGIeWMnt9r-h-M>q;_< zw(>8jCmeH{LYkRwaH?uF&JAfYx^YtVMN(Ji&wU&zLME;)?al5-rtr^7viNnWK~q{} z^<3>uj{BG@%}#_Wd|#@2(eI|q{&vPzxXD9z0!WgTPd>@vU~3AT{HJy zPQY%4Rjob!3(KZWbo^?yMEQ+=1JI6R>n}Z%lfH4@@c%RUHD+r?Ec~mgTKDedK)7`a Z!{134uTIH`+z9kCgQu&X%Q~loCIIy0c6I;& diff --git a/Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings_graphics.png b/Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings_graphics.png deleted file mode 100644 index 5edb430018109b2fe6cdccb07d127f71aff10c56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 450 zcmV;z0X_bSP)Gpcf{*Og>_by+UhvOggo@S&$Setnpkmxz))8+_1a1^ouad5Gc$eI(2OB-1=UK`XpD{-rgIo~S-a zKa=c(BBxfpXPMKP9<0Q4X|`RPy}VU!6JBt70_y~Z7uZSDm`YPzqraTGtf0gaFIc-ns0FqJK#LYW)t`t sf9Pe|r&GCyUtE=ad!q_SKmrob4ovIrc9ayfF8}}l07*qoM6N<$g36x4>i_@% diff --git a/Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings_wiimote.png b/Source/Android/app/src/main/res/drawable-xxhdpi/ic_settings_wiimote.png deleted file mode 100644 index 32e7995e37d6c229441048d2beba6251d25e7fdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 653 zcmV;80&@L{P)bi53~S@;`*(wCGU@HkzR796FIxW|))uO* z#Sm6;j(fZ(mSnpzyyG5cS;-)(W2x2sBDv|qF5Z$_UbCH^f*B(k5Hp#_y-t9y)q@>3*KpaFa)6nRHK@1TMlK%OM-u#RE0qZ0YaZnprHY0q$c zgpq_io5|w^RGmjs$^`~f^uJ3MVm0y@aG3i{znawxxFz6hlM%pc4#Fk*cQ;q^iAjLDx(VU}65IH(Pmh;O| zYUw`?d9MK(P#!iAj+2BFAh&+d2HYf|9~6$8eAf?hne+!Tpjg(@oIG}0;3F=rL9b}= z&(ub|NlQ>HHb-b<;?oYaRyv12?LhLI>y~K;lHZ}`Goas*-f&u*mI1pnlc`J9H00000NkvXXu0mjf*Rv%h diff --git a/Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings.png b/Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..46180dd6f35b8c47229be2f9253e6e9f6eac7228 GIT binary patch literal 1026 zcmV+d1pWJoP)@>W#&`aUzu!_p_ zP4GU2r@^`Q9HplT7;4W|dYXVo?YT?!1-#L&D%BV8m-a2EdICOc-)5>O;D`2oOZ5c& zt$oL-o`3;BgrWuD!P7)2iUsWB96MNS_#0dDsPHK@fF8c$9J^^A;nbfVae@yuZ~P8M z^1H)UssU>_#l)ZXUs~d9Fzc2=ZfLgYTqXF>SI;9(u!02~qEb$Uz1gE3 zvt6WlfGy38&5yBW)>BDX#K`~G4Hi-<*cZO067Uui;Q>o!D^}q+bqQ+#AXHc>o2v=e z<#YAnV;5oPZ{>|~gKPZ4EgqCN${Lp9Ksf{KGCKu;73||yIeRGwEMcm9H&}1DLLceg zW0r0_Y?R5)u*w8+!Py8BhX;(jg+0;n8rr1d(V6EkOVXa90qPcslmha=_*Gp;}!L8@J#?m}> zMEvkPpI=BFqryR&M>x?;gIila#p&v znkR=|#wC^;mP`A(H_7=K`l*ZxKk(;OPt~iR~VvF)_wNH z84iTzA#}EADD+cTuq^;U)p>sq{t*C9%bgDq9`PoXfHPsYbX(%1IaFXTKpFV1nacdA z3Y^4Pq~*K91vasSOXVG-hb{D9WOoEMYpf9W@ODN>`=EPwSf7#eI>JM~>Rkr7nl;*M z?!f$ksr<&+#bS*G=QjEo8g#R6UFy#o?KL07p*$w|hQ)@N;3M>LgoX5)q0+va6zaj9 z_Fbe<53aQDFok+>T<~bIfN$EjkwQJ#)V_Bq)PrU1nx>*66unJFMJRfio+jX`UdAWNVCL*S{f zBFEsPx}qlRCW3#=T`lvBn`6G~+txoXx3)eiAJ4?X@k7+Rfq{{U#pdPS$Nx1Pz-*lj z=Pbir%8yEBpLxpUw(aEFjprt?N?0ygRNE$Vz$|oaDudXH)rR8y5z9ACtvFygb?y=7 zbt~Q&F--X2IHlkx(J-p{f7^=B%`a3Ifa#jhVMVADB1OpX9Ee2&-`gX9zr z@ZL=iDU;!kSiEUz#Q~Y#RZ_+i8-6v;embXfZDXz0t)=G~Z3M1mrd*3yc3yV(oa9zv wz0P-&lBe1Ix>H^h4mN9t@*Ido3JwQs-?+}5%{7&=4j3*Bp00i_>zopr0OuNVx&QzG diff --git a/Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings_gcpad.png b/Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings_gcpad.png deleted file mode 100644 index cb8e91181da45d6a5c04b3a6aae3809169b1386e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 375 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%&M7z-Z^`;uuoF`1aP(nTH(&ToQFl zO{_EP;{D~Lh>udkumOO~ZBiK?CY znsH&@vaF(IuQb9KotQ0C7DVv9IHCGBwIL{YXUeJ~!3)!ae|0xR`K=UZRJKgr!g0gQ zHEvhHIw=N*13tE)T&-GPO^TUSY*XDU!it#A?DMx*KU2eCE9$-KIrEBXOj_~|I;<=V z``uSqY|#556wk2Xr|~Q136th+w%x1Y>DO@9x3insY<|K#Z)UUYr92F?og1+c&C?+7Kj6*&UimIeI;IW8^K|udS?83{1OWf4h2Q`H diff --git a/Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings_graphics.png b/Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings_graphics.png deleted file mode 100644 index d99de55020b842e4ce8c786e8463cb53b80ddc45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 569 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%&M7z{KF`;uuoF`1ZEymXJV^V;_6H zldBq=b#kTGzxfBSg`TibPYMau_L#WPM?Mm<-S-cVnX zp42d3i+hLr>NiJcZSmmzam;N0KcTn_I*%hJ|591PD0B3~rkVO@!@`Rj{GFH%crHua z|5c&>xn=hTv%8Y)0(Gk-n*Yq3Bpbo5yNmb7fvPw1b5F9`94O?;KcM2m{^sDUEeC7s zo_u+~T022ViTT(DvDj1I4D&7=VA?hL2Sa@9wN24KPq~{VHR?WMt|{I6GVxn7<5$lP z&JR~bm)da_GP-X(aaWT2!D{WQZV90Bz}J%n7%!BR9-ZIvs^Qsc?Sm>WnspgjW@Opd z?Dh8BDat3IviwUM^R<9U-d8PEQjS4H8B-1WR9~~XU*@=V0+R%Tr>mdKI;Vst05zEPP5=M^ diff --git a/Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings_wiimote.png b/Source/Android/app/src/main/res/drawable-xxxhdpi/ic_settings_wiimote.png deleted file mode 100644 index fc8be98566621b6af1143adcb9ebd3e17e1feea6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862 zcmV-k1EKthP)>f~1>bNVIcUaJ!-!__2=$ppkW><2Ds_37EN1{7q9Z%V zB-`k~19k!m_=!d6&3t|!-+DkX|F9RMvYS6Cv<{F%1$!_$yZD7{D*#Wj470MBN6iHk z(up&enbWkVz%0Q1tODemU=CfV<}LhOLm}C*7IF=K-lB%C%;O{=XBmDo0N)Zu$|lRO-dR&f{VXveiM@W=` zO72E8p~u? zw58k$E3(hoN2b}sC-wqL8I0caqu4IMZLGwIEaPT70QVcZr1V=4_*Ynz%%BPHa}VWY z$6C%kyiYS`3X7pXEd>a3q%Hi#)d^p5E&s4pp7WRv5D0ttC4~uaF2A!+9=?eHfiQqe zQ-0Ou43UR#JU}L#;O7ixpQnKOPS_i*$7>nA?k)aDvman{6+i(LKmqVGh7jo{$Y?xH z0QfjYra6koe!v*?WTgFo5PA}@AD}ZAEkFSjU@;ZkMSiSzQ^`_y0m2t-zh_ZF#4Ug@ z&&7S_3q)K25Dq^o-2hlDo^~#EKA=K;cD3^XcZtvTI3FM%A{8ir=>Yiz)9ZXdrTFYx z=L43KCHxs(?tFmshqMOV0EqBH+-JT-)ExkbP;uT5QWiBt-8G$FN;Mt|V)atXadAWNVCL*S{f zBFEsPx}qlRCW3#=T`lvBn`6G~+txoXx3)eiAJ4?X@k7+Rfq{{U#pdPS$Nx1Pz-*lj z=Pbir%8yEBpLxpUw(aEFjprt?N?0ygRNE$Vz$|oaDudXH)rR8y5z9ACtvFygb?y=7 zbt~Q&F--X2IHlkx(J-p{f7^=B%`a3Ifa#jhVMVADB1OpX9Ee2&-`gX9zr z@ZL=iDU;!kSiEUz#Q~Y#RZ_+i8-6v;embXfZDXz0t)=G~Z3M1mrd*3yc3yV(oa9zv wz0P-&lBe1Ix>H^h4mN9t@*Ido3JwQs-?+}5%{7&=4j3*Bp00i_>zopr0OuNVx&QzG diff --git a/Source/Android/app/src/main/res/drawable/ic_settings_gcpad.png b/Source/Android/app/src/main/res/drawable/ic_settings_gcpad.png deleted file mode 100644 index cb8e91181da45d6a5c04b3a6aae3809169b1386e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 375 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%&M7z-Z^`;uuoF`1aP(nTH(&ToQFl zO{_EP;{D~Lh>udkumOO~ZBiK?CY znsH&@vaF(IuQb9KotQ0C7DVv9IHCGBwIL{YXUeJ~!3)!ae|0xR`K=UZRJKgr!g0gQ zHEvhHIw=N*13tE)T&-GPO^TUSY*XDU!it#A?DMx*KU2eCE9$-KIrEBXOj_~|I;<=V z``uSqY|#556wk2Xr|~Q136th+w%x1Y>DO@9x3insY<|K#Z)UUYr92F?og1+c&C?+7Kj6*&UimIeI;IW8^K|udS?83{1OWf4h2Q`H diff --git a/Source/Android/app/src/main/res/drawable/ic_settings_graphics_tv.png b/Source/Android/app/src/main/res/drawable/ic_settings_graphics_tv.png deleted file mode 100644 index d99de55020b842e4ce8c786e8463cb53b80ddc45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 569 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%&M7z{KF`;uuoF`1ZEymXJV^V;_6H zldBq=b#kTGzxfBSg`TibPYMau_L#WPM?Mm<-S-cVnX zp42d3i+hLr>NiJcZSmmzam;N0KcTn_I*%hJ|591PD0B3~rkVO@!@`Rj{GFH%crHua z|5c&>xn=hTv%8Y)0(Gk-n*Yq3Bpbo5yNmb7fvPw1b5F9`94O?;KcM2m{^sDUEeC7s zo_u+~T022ViTT(DvDj1I4D&7=VA?hL2Sa@9wN24KPq~{VHR?WMt|{I6GVxn7<5$lP z&JR~bm)da_GP-X(aaWT2!D{WQZV90Bz}J%n7%!BR9-ZIvs^Qsc?Sm>WnspgjW@Opd z?Dh8BDat3IviwUM^R<9U-d8PEQjS4H8B-1WR9~~XU*@=V0+R%Tr>mdKI;Vst05zEPP5=M^ diff --git a/Source/Android/app/src/main/res/drawable/ic_settings_tv.png b/Source/Android/app/src/main/res/drawable/ic_settings_tv.png new file mode 100644 index 0000000000000000000000000000000000000000..46180dd6f35b8c47229be2f9253e6e9f6eac7228 GIT binary patch literal 1026 zcmV+d1pWJoP)@>W#&`aUzu!_p_ zP4GU2r@^`Q9HplT7;4W|dYXVo?YT?!1-#L&D%BV8m-a2EdICOc-)5>O;D`2oOZ5c& zt$oL-o`3;BgrWuD!P7)2iUsWB96MNS_#0dDsPHK@fF8c$9J^^A;nbfVae@yuZ~P8M z^1H)UssU>_#l)ZXUs~d9Fzc2=ZfLgYTqXF>SI;9(u!02~qEb$Uz1gE3 zvt6WlfGy38&5yBW)>BDX#K`~G4Hi-<*cZO067Uui;Q>o!D^}q+bqQ+#AXHc>o2v=e z<#YAnV;5oPZ{>|~gKPZ4EgqCN${Lp9Ksf{KGCKu;73||yIeRGwEMcm9H&}1DLLceg zW0r0_Y?R5)u*w8+!Py8BhX;(jg+0;n8rr1d(V6EkOVXa90qPcslmha=_*Gp;}!L8@J#?m}> zMEvkPpI=BFqryR&M>x?;gIila#p&v znkR=|#wC^;mP`A(H_7=K`l*ZxKk(;OPt~iR~VvF)_wNH z84iTzA#}EADD+cTuq^;U)p>sq{t*C9%bgDq9`PoXfHPsYbX(%1IaFXTKpFV1nacdA z3Y^4Pq~*K91vasSOXVG-hb{D9WOoEMYpf9W@ODN>`=EPwSf7#eI>JM~>Rkr7nl;*M z?!f$ksr<&+#bS*G=QjEo8g#R6UFy#o?KL07p*$w|hQ)@N;3M>LgoX5)q0+va6zaj9 z_Fbe<53aQDFok+>T<~bIfN$EjkwQJ#)V_Bq)PrU1nx>*66unJFMJRfio+jX`U>f~1>bNVIcUaJ!-!__2=$ppkW><2Ds_37EN1{7q9Z%V zB-`k~19k!m_=!d6&3t|!-+DkX|F9RMvYS6Cv<{F%1$!_$yZD7{D*#Wj470MBN6iHk z(up&enbWkVz%0Q1tODemU=CfV<}LhOLm}C*7IF=K-lB%C%;O{=XBmDo0N)Zu$|lRO-dR&f{VXveiM@W=` zO72E8p~u? zw58k$E3(hoN2b}sC-wqL8I0caqu4IMZLGwIEaPT70QVcZr1V=4_*Ynz%%BPHa}VWY z$6C%kyiYS`3X7pXEd>a3q%Hi#)d^p5E&s4pp7WRv5D0ttC4~uaF2A!+9=?eHfiQqe zQ-0Ou43UR#JU}L#;O7ixpQnKOPS_i*$7>nA?k)aDvman{6+i(LKmqVGh7jo{$Y?xH z0QfjYra6koe!v*?WTgFo5PA}@AD}ZAEkFSjU@;ZkMSiSzQ^`_y0m2t-zh_ZF#4Ug@ z&&7S_3q)K25Dq^o-2hlDo^~#EKA=K;cD3^XcZtvTI3FM%A{8ir=>Yiz)9ZXdrTFYx z=L43KCHxs(?tFmshqMOV0EqBH+-JT-)ExkbP;uT5QWiBt-8G$FN;Mt|V)atXa -