From cdff426d2312fa38948b31d966bef6c6dcf285bc Mon Sep 17 00:00:00 2001 From: JosJuice Date: Tue, 5 Apr 2022 18:58:29 +0200 Subject: [PATCH 1/2] Android: Fix displaying the current value of double tap setting --- .../dolphinemu/activities/EmulationActivity.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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 e8efa523e6..9d23b06a95 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 @@ -870,7 +870,18 @@ public final class EmulationActivity extends AppCompatActivity currentValue = InputOverlay.OVERLAY_WIIMOTE; } - builder.setSingleChoiceItems(buttonList, currentValue, + int checkedItem = -1; + int itemCount = getResources().getStringArray(buttonList).length; + for (int i = 0; i < itemCount; i++) + { + if (InputOverlayPointer.DOUBLE_TAP_OPTIONS.get(i) == currentValue) + { + checkedItem = i; + break; + } + } + + builder.setSingleChoiceItems(buttonList, checkedItem, (DialogInterface dialog, int which) -> IntSetting.MAIN_DOUBLE_TAP_BUTTON .setInt(mSettings, InputOverlayPointer.DOUBLE_TAP_OPTIONS.get(which))); From 4120870628f4cacb48dd2b894a0c53b1021cc293 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Tue, 5 Apr 2022 19:08:58 +0200 Subject: [PATCH 2/2] Android: Remove nonsense code from double tap setting dialog The currentValue variable doesn't use InputOverlay.OVERLAY_ constants, it uses NativeLibrary.ButtonType constants. Sigh, why do enums have to be so bad on Android that Google recommends against using them :( Anyway, simply not doing anything is a reasonable option here. What happens then is that if the currently selected button is invalid for the current controller, none of the available options in the dialog will be pre-selected. --- .../dolphinemu/dolphinemu/activities/EmulationActivity.java | 6 ------ 1 file changed, 6 deletions(-) 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 9d23b06a95..2c1fb6738e 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 @@ -864,12 +864,6 @@ public final class EmulationActivity extends AppCompatActivity int buttonList = currentController == InputOverlay.OVERLAY_WIIMOTE_CLASSIC ? R.array.doubleTapWithClassic : R.array.doubleTap; - if (currentController != InputOverlay.OVERLAY_WIIMOTE_CLASSIC && - currentValue == InputOverlay.OVERLAY_WIIMOTE_CLASSIC) - { - currentValue = InputOverlay.OVERLAY_WIIMOTE; - } - int checkedItem = -1; int itemCount = getResources().getStringArray(buttonList).length; for (int i = 0; i < itemCount; i++)