From 8b78f73e80dbd7c98b778aa33d0e04d71987ba3c Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sun, 14 Aug 2022 13:05:30 +0200 Subject: Android: Add Default and Clear actions for controllers --- .../input/model/controlleremu/EmulatedController.java | 4 ++++ .../settings/ui/SettingsFragmentPresenter.java | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) (limited to 'Source/Android/app/src/main/java/org') diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/EmulatedController.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/EmulatedController.java index 5a5793f530..5f6275ffcd 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/EmulatedController.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/input/model/controlleremu/EmulatedController.java @@ -31,6 +31,10 @@ public class EmulatedController public native void updateSingleControlReference(ControlReference controlReference); + public native void loadDefaultSettings(); + + public native void clearSettings(); + public static native EmulatedController getGcPad(int controllerIndex); public static native EmulatedController getWiimote(int controllerIndex); 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 e2199d2922..8d9a34c252 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 @@ -1213,6 +1213,13 @@ public final class SettingsFragmentPresenter mView.setMappingAllDevices(newValue); } }, R.string.input_device_all_devices, R.string.input_device_all_devices_description)); + + sl.add(new RunRunnable(mContext, R.string.input_reset_to_default, + R.string.input_reset_to_default_description, R.string.input_reset_warning, 0, true, + () -> loadDefaultControllerSettings(controller))); + + sl.add(new RunRunnable(mContext, R.string.input_clear, R.string.input_clear_description, + R.string.input_reset_warning, 0, true, () -> clearControllerSettings(controller))); } /** @@ -1280,6 +1287,18 @@ public final class SettingsFragmentPresenter } } + private void loadDefaultControllerSettings(EmulatedController controller) + { + controller.loadDefaultSettings(); + mView.getAdapter().notifyAllSettingsChanged(); + } + + private void clearControllerSettings(EmulatedController controller) + { + controller.clearSettings(); + mView.getAdapter().notifyAllSettingsChanged(); + } + private static int getLogVerbosityEntries() { // Value obtained from LogLevel in Common/Logging/Log.h -- cgit v1.2.3