Android: Don't require Settings object for reading a setting

Made unnecessary by the previous commit.
This commit is contained in:
JosJuice
2023-03-11 18:10:48 +01:00
parent 68fd133057
commit 58fc347f8d
44 changed files with 197 additions and 203 deletions

View File

@ -400,7 +400,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
WindowManager.LayoutParams attributes = getWindow().getAttributes(); WindowManager.LayoutParams attributes = getWindow().getAttributes();
attributes.layoutInDisplayCutoutMode = attributes.layoutInDisplayCutoutMode =
BooleanSetting.MAIN_EXPAND_TO_CUTOUT_AREA.getBoolean(mSettings) ? BooleanSetting.MAIN_EXPAND_TO_CUTOUT_AREA.getBoolean() ?
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES : WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES :
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER; WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER;
@ -437,7 +437,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
setTitle(NativeLibrary.GetCurrentTitleDescription()); setTitle(NativeLibrary.GetCurrentTitleDescription());
mEmulationFragment.refreshInputOverlay(mSettings); mEmulationFragment.refreshInputOverlay();
} }
@Override @Override
@ -521,7 +521,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
private void updateOrientation() private void updateOrientation()
{ {
setRequestedOrientation(IntSetting.MAIN_EMULATION_ORIENTATION.getInt(mSettings)); setRequestedOrientation(IntSetting.MAIN_EMULATION_ORIENTATION.getInt());
} }
private boolean closeSubmenu() private boolean closeSubmenu()
@ -589,11 +589,11 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
// Populate the switch value for joystick center on touch // Populate the switch value for joystick center on touch
menu.findItem(R.id.menu_emulation_joystick_rel_center) menu.findItem(R.id.menu_emulation_joystick_rel_center)
.setChecked(BooleanSetting.MAIN_JOYSTICK_REL_CENTER.getBoolean(mSettings)); .setChecked(BooleanSetting.MAIN_JOYSTICK_REL_CENTER.getBoolean());
if (wii) if (wii)
{ {
menu.findItem(R.id.menu_emulation_ir_recenter) menu.findItem(R.id.menu_emulation_ir_recenter)
.setChecked(BooleanSetting.MAIN_IR_ALWAYS_RECENTER.getBoolean(mSettings)); .setChecked(BooleanSetting.MAIN_IR_ALWAYS_RECENTER.getBoolean());
} }
popup.setOnMenuItemClickListener(this::onOptionsItemSelected); popup.setOnMenuItemClickListener(this::onOptionsItemSelected);
@ -794,7 +794,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
private void toggleRecenter(boolean state) private void toggleRecenter(boolean state)
{ {
BooleanSetting.MAIN_IR_ALWAYS_RECENTER.setBoolean(mSettings, state); BooleanSetting.MAIN_IR_ALWAYS_RECENTER.setBoolean(mSettings, state);
mEmulationFragment.refreshOverlayPointer(mSettings); mEmulationFragment.refreshOverlayPointer();
} }
private void editControlsPlacement() private void editControlsPlacement()
@ -831,7 +831,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this) MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this)
.setTitle(R.string.emulation_toggle_controls); .setTitle(R.string.emulation_toggle_controls);
int currentController = InputOverlay.getConfiguredControllerType(mSettings); int currentController = InputOverlay.getConfiguredControllerType();
if (currentController == InputOverlay.OVERLAY_GAMECUBE) if (currentController == InputOverlay.OVERLAY_GAMECUBE)
{ {
@ -840,7 +840,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
for (int i = 0; i < gcEnabledButtons.length; i++) for (int i = 0; i < gcEnabledButtons.length; i++)
{ {
gcEnabledButtons[i] = BooleanSetting.valueOf(gcSettingBase + i).getBoolean(mSettings); gcEnabledButtons[i] = BooleanSetting.valueOf(gcSettingBase + i).getBoolean();
} }
builder.setMultiChoiceItems(R.array.gcpadButtons, gcEnabledButtons, builder.setMultiChoiceItems(R.array.gcpadButtons, gcEnabledButtons,
(dialog, indexSelected, isChecked) -> BooleanSetting (dialog, indexSelected, isChecked) -> BooleanSetting
@ -854,7 +854,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
for (int i = 0; i < wiiClassicEnabledButtons.length; i++) for (int i = 0; i < wiiClassicEnabledButtons.length; i++)
{ {
wiiClassicEnabledButtons[i] = wiiClassicEnabledButtons[i] =
BooleanSetting.valueOf(classicSettingBase + i).getBoolean(mSettings); BooleanSetting.valueOf(classicSettingBase + i).getBoolean();
} }
builder.setMultiChoiceItems(R.array.classicButtons, wiiClassicEnabledButtons, builder.setMultiChoiceItems(R.array.classicButtons, wiiClassicEnabledButtons,
(dialog, indexSelected, isChecked) -> BooleanSetting (dialog, indexSelected, isChecked) -> BooleanSetting
@ -868,7 +868,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
for (int i = 0; i < wiiEnabledButtons.length; i++) for (int i = 0; i < wiiEnabledButtons.length; i++)
{ {
wiiEnabledButtons[i] = BooleanSetting.valueOf(wiiSettingBase + i).getBoolean(mSettings); wiiEnabledButtons[i] = BooleanSetting.valueOf(wiiSettingBase + i).getBoolean();
} }
if (currentController == InputOverlay.OVERLAY_WIIMOTE_NUNCHUK) if (currentController == InputOverlay.OVERLAY_WIIMOTE_NUNCHUK)
{ {
@ -887,15 +887,15 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
builder.setNeutralButton(R.string.emulation_toggle_all, builder.setNeutralButton(R.string.emulation_toggle_all,
(dialogInterface, i) -> mEmulationFragment.toggleInputOverlayVisibility(mSettings)) (dialogInterface, i) -> mEmulationFragment.toggleInputOverlayVisibility(mSettings))
.setPositiveButton(R.string.ok, (dialogInterface, i) -> .setPositiveButton(R.string.ok, (dialogInterface, i) ->
mEmulationFragment.refreshInputOverlay(mSettings)) mEmulationFragment.refreshInputOverlay())
.show(); .show();
} }
public void chooseDoubleTapButton() public void chooseDoubleTapButton()
{ {
int currentValue = IntSetting.MAIN_DOUBLE_TAP_BUTTON.getInt(mSettings); int currentValue = IntSetting.MAIN_DOUBLE_TAP_BUTTON.getInt();
int buttonList = InputOverlay.getConfiguredControllerType(mSettings) == int buttonList = InputOverlay.getConfiguredControllerType() ==
InputOverlay.OVERLAY_WIIMOTE_CLASSIC ? R.array.doubleTapWithClassic : R.array.doubleTap; InputOverlay.OVERLAY_WIIMOTE_CLASSIC ? R.array.doubleTapWithClassic : R.array.doubleTap;
int checkedItem = -1; int checkedItem = -1;
@ -914,7 +914,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
(DialogInterface dialog, int which) -> IntSetting.MAIN_DOUBLE_TAP_BUTTON.setInt( (DialogInterface dialog, int which) -> IntSetting.MAIN_DOUBLE_TAP_BUTTON.setInt(
mSettings, InputOverlayPointer.DOUBLE_TAP_OPTIONS.get(which))) mSettings, InputOverlayPointer.DOUBLE_TAP_OPTIONS.get(which)))
.setPositiveButton(R.string.ok, .setPositiveButton(R.string.ok,
(dialogInterface, i) -> mEmulationFragment.initInputPointer(mSettings)) (dialogInterface, i) -> mEmulationFragment.initInputPointer())
.show(); .show();
} }
@ -925,7 +925,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
final Slider scaleSlider = dialogBinding.inputScaleSlider; final Slider scaleSlider = dialogBinding.inputScaleSlider;
final TextView scaleValue = dialogBinding.inputScaleValue; final TextView scaleValue = dialogBinding.inputScaleValue;
scaleSlider.setValueTo(150); scaleSlider.setValueTo(150);
scaleSlider.setValue(IntSetting.MAIN_CONTROL_SCALE.getInt(mSettings)); scaleSlider.setValue(IntSetting.MAIN_CONTROL_SCALE.getInt());
scaleSlider.setStepSize(1); scaleSlider.setStepSize(1);
scaleSlider.addOnChangeListener( scaleSlider.addOnChangeListener(
(slider, progress, fromUser) -> scaleValue.setText(((int) progress + 50) + "%")); (slider, progress, fromUser) -> scaleValue.setText(((int) progress + 50) + "%"));
@ -935,7 +935,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
final Slider sliderOpacity = dialogBinding.inputOpacitySlider; final Slider sliderOpacity = dialogBinding.inputOpacitySlider;
final TextView valueOpacity = dialogBinding.inputOpacityValue; final TextView valueOpacity = dialogBinding.inputOpacityValue;
sliderOpacity.setValueTo(100); sliderOpacity.setValueTo(100);
sliderOpacity.setValue(IntSetting.MAIN_CONTROL_OPACITY.getInt(mSettings)); sliderOpacity.setValue(IntSetting.MAIN_CONTROL_OPACITY.getInt());
sliderOpacity.setStepSize(1); sliderOpacity.setStepSize(1);
sliderOpacity.addOnChangeListener( sliderOpacity.addOnChangeListener(
(slider, progress, fromUser) -> valueOpacity.setText(((int) progress) + "%")); (slider, progress, fromUser) -> valueOpacity.setText(((int) progress) + "%"));
@ -948,13 +948,13 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
{ {
IntSetting.MAIN_CONTROL_SCALE.setInt(mSettings, (int) scaleSlider.getValue()); IntSetting.MAIN_CONTROL_SCALE.setInt(mSettings, (int) scaleSlider.getValue());
IntSetting.MAIN_CONTROL_OPACITY.setInt(mSettings, (int) sliderOpacity.getValue()); IntSetting.MAIN_CONTROL_OPACITY.setInt(mSettings, (int) sliderOpacity.getValue());
mEmulationFragment.refreshInputOverlay(mSettings); mEmulationFragment.refreshInputOverlay();
}) })
.setNeutralButton(R.string.default_values, (dialog, which) -> .setNeutralButton(R.string.default_values, (dialog, which) ->
{ {
IntSetting.MAIN_CONTROL_SCALE.delete(mSettings); IntSetting.MAIN_CONTROL_SCALE.delete(mSettings);
IntSetting.MAIN_CONTROL_OPACITY.delete(mSettings); IntSetting.MAIN_CONTROL_OPACITY.delete(mSettings);
mEmulationFragment.refreshInputOverlay(mSettings); mEmulationFragment.refreshInputOverlay();
}) })
.show(); .show();
} }
@ -962,7 +962,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
private void addControllerIfNotNone(List<CharSequence> entries, List<Integer> values, private void addControllerIfNotNone(List<CharSequence> entries, List<Integer> values,
IntSetting controller, int entry, int value) IntSetting controller, int entry, int value)
{ {
if (controller.getInt(mSettings) != 0) if (controller.getInt() != 0)
{ {
entries.add(getString(entry)); entries.add(getString(entry));
values.add(value); values.add(value);
@ -992,7 +992,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
IntSetting controllerSetting = NativeLibrary.IsEmulatingWii() ? IntSetting controllerSetting = NativeLibrary.IsEmulatingWii() ?
IntSetting.MAIN_OVERLAY_WII_CONTROLLER : IntSetting.MAIN_OVERLAY_GC_CONTROLLER; IntSetting.MAIN_OVERLAY_WII_CONTROLLER : IntSetting.MAIN_OVERLAY_GC_CONTROLLER;
int currentValue = controllerSetting.getInt(mSettings); int currentValue = controllerSetting.getInt();
int checkedItem = -1; int checkedItem = -1;
for (int i = 0; i < values.size(); i++) for (int i = 0; i < values.size(); i++)
@ -1013,7 +1013,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
.setPositiveButton(R.string.ok, (dialogInterface, i) -> .setPositiveButton(R.string.ok, (dialogInterface, i) ->
{ {
editor.apply(); editor.apply();
mEmulationFragment.refreshInputOverlay(mSettings); mEmulationFragment.refreshInputOverlay();
}) })
.setNeutralButton(R.string.emulation_more_controller_settings, .setNeutralButton(R.string.emulation_more_controller_settings,
(dialogInterface, i) -> SettingsActivity.launch(this, MenuTag.SETTINGS)) (dialogInterface, i) -> SettingsActivity.launch(this, MenuTag.SETTINGS))
@ -1025,11 +1025,11 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
new MaterialAlertDialogBuilder(this) new MaterialAlertDialogBuilder(this)
.setTitle(R.string.emulation_ir_mode) .setTitle(R.string.emulation_ir_mode)
.setSingleChoiceItems(R.array.irModeEntries, .setSingleChoiceItems(R.array.irModeEntries,
IntSetting.MAIN_IR_MODE.getInt(mSettings), IntSetting.MAIN_IR_MODE.getInt(),
(dialog, indexSelected) -> (dialog, indexSelected) ->
IntSetting.MAIN_IR_MODE.setInt(mSettings, indexSelected)) IntSetting.MAIN_IR_MODE.setInt(mSettings, indexSelected))
.setPositiveButton(R.string.ok, (dialogInterface, i) -> .setPositiveButton(R.string.ok, (dialogInterface, i) ->
mEmulationFragment.refreshOverlayPointer(mSettings)) mEmulationFragment.refreshOverlayPointer())
.show(); .show();
} }
@ -1065,7 +1065,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
new MaterialAlertDialogBuilder(this) new MaterialAlertDialogBuilder(this)
.setTitle(getString(R.string.emulation_touch_overlay_reset)) .setTitle(getString(R.string.emulation_touch_overlay_reset))
.setPositiveButton(R.string.yes, .setPositiveButton(R.string.yes,
(dialogInterface, i) -> mEmulationFragment.resetInputOverlay(mSettings)) (dialogInterface, i) -> mEmulationFragment.resetInputOverlay())
.setNegativeButton(R.string.cancel, null) .setNegativeButton(R.string.cancel, null)
.show(); .show();
} }
@ -1160,7 +1160,7 @@ public final class EmulationActivity extends AppCompatActivity implements ThemeP
public void initInputPointer() public void initInputPointer()
{ {
mEmulationFragment.initInputPointer(mSettings); mEmulationFragment.initInputPointer();
} }
@Override @Override

View File

@ -42,8 +42,8 @@ abstract class SettingDisabledWarningFragment(
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
val activity = requireActivity() as CheatsActivity val activity = requireActivity() as CheatsActivity
activity.loadGameSpecificSettings().use { settings -> activity.loadGameSpecificSettings().use {
val cheatsEnabled = setting.getBoolean(settings) val cheatsEnabled = setting.getBoolean()
requireView().visibility = if (cheatsEnabled) View.GONE else View.VISIBLE requireView().visibility = if (cheatsEnabled) View.GONE else View.VISIBLE
} }
} }

View File

@ -2,6 +2,8 @@
package org.dolphinemu.dolphinemu.features.input.model; package org.dolphinemu.dolphinemu.features.input.model;
import androidx.annotation.NonNull;
import org.dolphinemu.dolphinemu.features.input.model.controlleremu.ControlGroup; import org.dolphinemu.dolphinemu.features.input.model.controlleremu.ControlGroup;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractBooleanSetting; import org.dolphinemu.dolphinemu.features.settings.model.AbstractBooleanSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings; import org.dolphinemu.dolphinemu.features.settings.model.Settings;
@ -16,19 +18,19 @@ public class ControlGroupEnabledSetting implements AbstractBooleanSetting
} }
@Override @Override
public boolean getBoolean(Settings settings) public boolean getBoolean()
{ {
return mControlGroup.getEnabled(); return mControlGroup.getEnabled();
} }
@Override @Override
public void setBoolean(Settings settings, boolean newValue) public void setBoolean(@NonNull Settings settings, boolean newValue)
{ {
mControlGroup.setEnabled(newValue); mControlGroup.setEnabled(newValue);
} }
@Override @Override
public boolean isOverridden(Settings settings) public boolean isOverridden()
{ {
return false; return false;
} }
@ -40,7 +42,7 @@ public class ControlGroupEnabledSetting implements AbstractBooleanSetting
} }
@Override @Override
public boolean delete(Settings settings) public boolean delete(@NonNull Settings settings)
{ {
boolean newValue = mControlGroup.getDefaultEnabledValue() != ControlGroup.DEFAULT_ENABLED_NO; boolean newValue = mControlGroup.getDefaultEnabledValue() != ControlGroup.DEFAULT_ENABLED_NO;
mControlGroup.setEnabled(newValue); mControlGroup.setEnabled(newValue);

View File

@ -2,6 +2,8 @@
package org.dolphinemu.dolphinemu.features.input.model; package org.dolphinemu.dolphinemu.features.input.model;
import androidx.annotation.NonNull;
import org.dolphinemu.dolphinemu.features.input.model.controlleremu.NumericSetting; import org.dolphinemu.dolphinemu.features.input.model.controlleremu.NumericSetting;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractBooleanSetting; import org.dolphinemu.dolphinemu.features.settings.model.AbstractBooleanSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings; import org.dolphinemu.dolphinemu.features.settings.model.Settings;
@ -16,19 +18,19 @@ public class InputMappingBooleanSetting implements AbstractBooleanSetting
} }
@Override @Override
public boolean getBoolean(Settings settings) public boolean getBoolean()
{ {
return mNumericSetting.getBooleanValue(); return mNumericSetting.getBooleanValue();
} }
@Override @Override
public void setBoolean(Settings settings, boolean newValue) public void setBoolean(@NonNull Settings settings, boolean newValue)
{ {
mNumericSetting.setBooleanValue(newValue); mNumericSetting.setBooleanValue(newValue);
} }
@Override @Override
public boolean isOverridden(Settings settings) public boolean isOverridden()
{ {
return false; return false;
} }
@ -40,7 +42,7 @@ public class InputMappingBooleanSetting implements AbstractBooleanSetting
} }
@Override @Override
public boolean delete(Settings settings) public boolean delete(@NonNull Settings settings)
{ {
mNumericSetting.setBooleanValue(mNumericSetting.getBooleanDefaultValue()); mNumericSetting.setBooleanValue(mNumericSetting.getBooleanDefaultValue());
return true; return true;

View File

@ -2,6 +2,8 @@
package org.dolphinemu.dolphinemu.features.input.model; package org.dolphinemu.dolphinemu.features.input.model;
import androidx.annotation.NonNull;
import org.dolphinemu.dolphinemu.features.input.model.controlleremu.NumericSetting; import org.dolphinemu.dolphinemu.features.input.model.controlleremu.NumericSetting;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractFloatSetting; import org.dolphinemu.dolphinemu.features.settings.model.AbstractFloatSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings; import org.dolphinemu.dolphinemu.features.settings.model.Settings;
@ -17,19 +19,19 @@ public class InputMappingDoubleSetting implements AbstractFloatSetting
} }
@Override @Override
public float getFloat(Settings settings) public float getFloat()
{ {
return (float) mNumericSetting.getDoubleValue(); return (float) mNumericSetting.getDoubleValue();
} }
@Override @Override
public void setFloat(Settings settings, float newValue) public void setFloat(@NonNull Settings settings, float newValue)
{ {
mNumericSetting.setDoubleValue(newValue); mNumericSetting.setDoubleValue(newValue);
} }
@Override @Override
public boolean isOverridden(Settings settings) public boolean isOverridden()
{ {
return false; return false;
} }
@ -41,7 +43,7 @@ public class InputMappingDoubleSetting implements AbstractFloatSetting
} }
@Override @Override
public boolean delete(Settings settings) public boolean delete(@NonNull Settings settings)
{ {
mNumericSetting.setDoubleValue(mNumericSetting.getDoubleDefaultValue()); mNumericSetting.setDoubleValue(mNumericSetting.getDoubleDefaultValue());
return true; return true;

View File

@ -2,6 +2,8 @@
package org.dolphinemu.dolphinemu.features.input.model; package org.dolphinemu.dolphinemu.features.input.model;
import androidx.annotation.NonNull;
import org.dolphinemu.dolphinemu.features.input.model.controlleremu.NumericSetting; import org.dolphinemu.dolphinemu.features.input.model.controlleremu.NumericSetting;
import org.dolphinemu.dolphinemu.features.settings.model.AbstractIntSetting; import org.dolphinemu.dolphinemu.features.settings.model.AbstractIntSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings; import org.dolphinemu.dolphinemu.features.settings.model.Settings;
@ -16,19 +18,19 @@ public class InputMappingIntSetting implements AbstractIntSetting
} }
@Override @Override
public int getInt(Settings settings) public int getInt()
{ {
return mNumericSetting.getIntValue(); return mNumericSetting.getIntValue();
} }
@Override @Override
public void setInt(Settings settings, int newValue) public void setInt(@NonNull Settings settings, int newValue)
{ {
mNumericSetting.setIntValue(newValue); mNumericSetting.setIntValue(newValue);
} }
@Override @Override
public boolean isOverridden(Settings settings) public boolean isOverridden()
{ {
return false; return false;
} }
@ -40,7 +42,7 @@ public class InputMappingIntSetting implements AbstractIntSetting
} }
@Override @Override
public boolean delete(Settings settings) public boolean delete(@NonNull Settings settings)
{ {
mNumericSetting.setIntValue(mNumericSetting.getIntDefaultValue()); mNumericSetting.setIntValue(mNumericSetting.getIntDefaultValue());
return true; return true;

View File

@ -24,13 +24,13 @@ public class InputDeviceSetting extends StringSingleChoiceSetting
} }
@Override @Override
public String getSelectedChoice(Settings settings) public String getSelectedChoice()
{ {
return mController.getDefaultDevice(); return mController.getDefaultDevice();
} }
@Override @Override
public String getSelectedValue(Settings settings) public String getSelectedValue()
{ {
return mController.getDefaultDevice(); return mController.getDefaultDevice();
} }

View File

@ -6,7 +6,7 @@ import androidx.annotation.NonNull;
public interface AbstractBooleanSetting extends AbstractSetting public interface AbstractBooleanSetting extends AbstractSetting
{ {
boolean getBoolean(@NonNull Settings settings); boolean getBoolean();
void setBoolean(@NonNull Settings settings, boolean newValue); void setBoolean(@NonNull Settings settings, boolean newValue);
} }

View File

@ -6,7 +6,7 @@ import androidx.annotation.NonNull;
public interface AbstractFloatSetting extends AbstractSetting public interface AbstractFloatSetting extends AbstractSetting
{ {
float getFloat(@NonNull Settings settings); float getFloat();
void setFloat(@NonNull Settings settings, float newValue); void setFloat(@NonNull Settings settings, float newValue);
} }

View File

@ -6,7 +6,7 @@ import androidx.annotation.NonNull;
public interface AbstractIntSetting extends AbstractSetting public interface AbstractIntSetting extends AbstractSetting
{ {
int getInt(@NonNull Settings settings); int getInt();
void setInt(@NonNull Settings settings, int newValue); void setInt(@NonNull Settings settings, int newValue);
} }

View File

@ -6,7 +6,7 @@ import androidx.annotation.NonNull;
public interface AbstractSetting public interface AbstractSetting
{ {
boolean isOverridden(@NonNull Settings settings); boolean isOverridden();
boolean isRuntimeEditable(); boolean isRuntimeEditable();

View File

@ -7,7 +7,7 @@ import androidx.annotation.NonNull;
public interface AbstractStringSetting extends AbstractSetting public interface AbstractStringSetting extends AbstractSetting
{ {
@NonNull @NonNull
String getString(@NonNull Settings settings); String getString();
void setString(@NonNull Settings settings, @NonNull String newValue); void setString(@NonNull Settings settings, @NonNull String newValue);
} }

View File

@ -25,7 +25,7 @@ public class AdHocBooleanSetting implements AbstractBooleanSetting
} }
@Override @Override
public boolean isOverridden(@NonNull Settings settings) public boolean isOverridden()
{ {
return NativeConfig.isOverridden(mFile, mSection, mKey); return NativeConfig.isOverridden(mFile, mSection, mKey);
} }
@ -43,7 +43,7 @@ public class AdHocBooleanSetting implements AbstractBooleanSetting
} }
@Override @Override
public boolean getBoolean(@NonNull Settings settings) public boolean getBoolean()
{ {
return NativeConfig.getBoolean(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue); return NativeConfig.getBoolean(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue);
} }

View File

@ -25,7 +25,7 @@ public class AdHocStringSetting implements AbstractStringSetting
} }
@Override @Override
public boolean isOverridden(@NonNull Settings settings) public boolean isOverridden()
{ {
return NativeConfig.isOverridden(mFile, mSection, mKey); return NativeConfig.isOverridden(mFile, mSection, mKey);
} }
@ -43,7 +43,7 @@ public class AdHocStringSetting implements AbstractStringSetting
} }
@NonNull @Override @NonNull @Override
public String getString(@NonNull Settings settings) public String getString()
{ {
return NativeConfig.getString(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue); return NativeConfig.getString(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue);
} }

View File

@ -296,7 +296,7 @@ public enum BooleanSetting implements AbstractBooleanSetting
} }
@Override @Override
public boolean isOverridden(@NonNull Settings settings) public boolean isOverridden()
{ {
return NativeConfig.isOverridden(mFile, mSection, mKey); return NativeConfig.isOverridden(mFile, mSection, mKey);
} }
@ -329,7 +329,7 @@ public enum BooleanSetting implements AbstractBooleanSetting
} }
@Override @Override
public boolean getBoolean(@NonNull Settings settings) public boolean getBoolean()
{ {
return NativeConfig.getBoolean(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue); return NativeConfig.getBoolean(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue);
} }

View File

@ -25,7 +25,7 @@ public enum FloatSetting implements AbstractFloatSetting
} }
@Override @Override
public boolean isOverridden(@NonNull Settings settings) public boolean isOverridden()
{ {
return NativeConfig.isOverridden(mFile, mSection, mKey); return NativeConfig.isOverridden(mFile, mSection, mKey);
} }
@ -49,7 +49,7 @@ public enum FloatSetting implements AbstractFloatSetting
} }
@Override @Override
public float getFloat(@NonNull Settings settings) public float getFloat()
{ {
return NativeConfig.getFloat(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue); return NativeConfig.getFloat(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue);
} }

View File

@ -121,7 +121,7 @@ public enum IntSetting implements AbstractIntSetting
} }
@Override @Override
public boolean isOverridden(@NonNull Settings settings) public boolean isOverridden()
{ {
return NativeConfig.isOverridden(mFile, mSection, mKey); return NativeConfig.isOverridden(mFile, mSection, mKey);
} }
@ -154,7 +154,7 @@ public enum IntSetting implements AbstractIntSetting
} }
@Override @Override
public int getInt(@NonNull Settings settings) public int getInt()
{ {
return NativeConfig.getInt(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue); return NativeConfig.getInt(NativeConfig.LAYER_ACTIVE, mFile, mSection, mKey, mDefaultValue);
} }

View File

@ -6,8 +6,8 @@ class ScaledIntSetting(
private val scale: Int, private val scale: Int,
private val setting: AbstractIntSetting private val setting: AbstractIntSetting
) : AbstractIntSetting { ) : AbstractIntSetting {
override fun isOverridden(settings: Settings): Boolean { override fun isOverridden(): Boolean {
return setting.isOverridden(settings) return setting.isOverridden()
} }
override fun isRuntimeEditable(): Boolean { override fun isRuntimeEditable(): Boolean {
@ -18,8 +18,8 @@ class ScaledIntSetting(
return setting.delete(settings) return setting.delete(settings)
} }
override fun getInt(settings: Settings): Int { override fun getInt(): Int {
return setting.getInt(settings) / scale return setting.getInt() / scale
} }
override fun setInt(settings: Settings, newValue: Int) { override fun setInt(settings: Settings, newValue: Int) {

View File

@ -95,7 +95,7 @@ public class Settings implements Closeable
NativeConfig.loadGameInis(mGameId, mRevision); NativeConfig.loadGameInis(mGameId, mRevision);
} }
mLoadedRecursiveIsoPathsValue = BooleanSetting.MAIN_RECURSIVE_ISO_PATHS.getBoolean(this); mLoadedRecursiveIsoPathsValue = BooleanSetting.MAIN_RECURSIVE_ISO_PATHS.getBoolean();
} }
public void loadSettings(SettingsActivityView view, String gameId, int revision, boolean isWii) public void loadSettings(SettingsActivityView view, String gameId, int revision, boolean isWii)
@ -119,7 +119,7 @@ public class Settings implements Closeable
NativeLibrary.ReloadLoggerConfig(); NativeLibrary.ReloadLoggerConfig();
NativeLibrary.UpdateGCAdapterScanThread(); NativeLibrary.UpdateGCAdapterScanThread();
if (mLoadedRecursiveIsoPathsValue != BooleanSetting.MAIN_RECURSIVE_ISO_PATHS.getBoolean(this)) if (mLoadedRecursiveIsoPathsValue != BooleanSetting.MAIN_RECURSIVE_ISO_PATHS.getBoolean())
{ {
// Refresh game library // Refresh game library
GameFileCacheManager.startRescan(); GameFileCacheManager.startRescan();

View File

@ -65,7 +65,7 @@ public enum StringSetting implements AbstractStringSetting
} }
@Override @Override
public boolean isOverridden(@NonNull Settings settings) public boolean isOverridden()
{ {
return NativeConfig.isOverridden(mFile, mSection, mKey); return NativeConfig.isOverridden(mFile, mSection, mKey);
} }
@ -89,7 +89,7 @@ public enum StringSetting implements AbstractStringSetting
} }
@NonNull @Override @NonNull @Override
public String getString(@NonNull Settings settings) public String getString()
{ {
if (!NativeConfig.isSettingSaveable(mFile, mSection, mKey)) if (!NativeConfig.isSettingSaveable(mFile, mSection, mKey))
{ {

View File

@ -25,7 +25,7 @@ class DateTimeChoiceSetting(
setting.setString(settings, selection) setting.setString(settings, selection)
} }
fun getSelectedValue(settings: Settings): String { fun getSelectedValue(): String {
return setting.getString(settings) return setting.getString()
} }
} }

View File

@ -25,9 +25,9 @@ public final class FilePicker extends SettingsItem
mDefaultPathRelativeToUserDirectory = defaultPathRelativeToUserDirectory; mDefaultPathRelativeToUserDirectory = defaultPathRelativeToUserDirectory;
} }
public String getSelectedValue(Settings settings) public String getSelectedValue()
{ {
return mSetting.getString(settings); return mSetting.getString();
} }
public void setSelectedValue(Settings settings, String selection) public void setSelectedValue(Settings settings, String selection)

View File

@ -26,9 +26,9 @@ public class FloatSliderSetting extends SliderSetting
mSetting = setting; mSetting = setting;
} }
public int getSelectedValue(Settings settings) public int getSelectedValue()
{ {
return Math.round(mSetting.getFloat(settings)); return Math.round(mSetting.getFloat());
} }
public void setSelectedValue(Settings settings, float selection) public void setSelectedValue(Settings settings, float selection)

View File

@ -43,9 +43,9 @@ public class InputStringSetting extends SettingsItem
this(context, setting, titleId, descriptionId, choicesId, valuesId, null); this(context, setting, titleId, descriptionId, choicesId, valuesId, null);
} }
public String getSelectedValue(Settings settings) public String getSelectedValue()
{ {
return mSetting.getString(settings); return mSetting.getString();
} }
public MenuTag getMenuTag() public MenuTag getMenuTag()

View File

@ -19,9 +19,9 @@ public final class IntSliderSetting extends SliderSetting
mSetting = setting; mSetting = setting;
} }
public int getSelectedValue(Settings settings) public int getSelectedValue()
{ {
return mSetting.getInt(settings); return mSetting.getInt();
} }
public void setSelectedValue(Settings settings, int selection) public void setSelectedValue(Settings settings, int selection)

View File

@ -17,9 +17,9 @@ public final class InvertedSwitchSetting extends SwitchSetting
} }
@Override @Override
public boolean isChecked(Settings settings) public boolean isChecked()
{ {
return !mSetting.getBoolean(settings); return !mSetting.getBoolean();
} }
@Override @Override

View File

@ -17,9 +17,9 @@ public final class PercentSliderSetting extends FloatSliderSetting
} }
@Override @Override
public int getSelectedValue(Settings settings) public int getSelectedValue()
{ {
return Math.round(mSetting.getFloat(settings) * 100); return Math.round(mSetting.getFloat() * 100);
} }
@Override @Override

View File

@ -75,10 +75,10 @@ public abstract class SettingsItem
protected abstract AbstractSetting getSetting(); protected abstract AbstractSetting getSetting();
public boolean isOverridden(Settings settings) public boolean isOverridden()
{ {
AbstractSetting setting = getSetting(); AbstractSetting setting = getSetting();
return setting != null && setting.isOverridden(settings); return setting != null && setting.isOverridden();
} }
public boolean isEditable() public boolean isEditable()

View File

@ -43,9 +43,9 @@ public final class SingleChoiceSetting extends SettingsItem
return mValuesId; return mValuesId;
} }
public int getSelectedValue(Settings settings) public int getSelectedValue()
{ {
return mSetting.getInt(settings); return mSetting.getInt();
} }
public MenuTag getMenuTag() public MenuTag getMenuTag()

View File

@ -60,9 +60,9 @@ public final class SingleChoiceSettingDynamicDescriptions extends SettingsItem
return mDescriptionValuesId; return mDescriptionValuesId;
} }
public int getSelectedValue(Settings settings) public int getSelectedValue()
{ {
return mSetting.getInt(settings); return mSetting.getInt();
} }
public MenuTag getMenuTag() public MenuTag getMenuTag()

View File

@ -31,7 +31,7 @@ public abstract class SliderSetting extends SettingsItem
mUnits = units; mUnits = units;
} }
public abstract int getSelectedValue(Settings settings); public abstract int getSelectedValue();
public int getMin() public int getMin()
{ {

View File

@ -94,19 +94,19 @@ public class StringSingleChoiceSetting extends SettingsItem
return ""; return "";
} }
public String getSelectedChoice(Settings settings) public String getSelectedChoice()
{ {
return getChoiceAt(getSelectedValueIndex(settings)); return getChoiceAt(getSelectedValueIndex());
} }
public String getSelectedValue(Settings settings) public String getSelectedValue()
{ {
return mSetting.getString(settings); return mSetting.getString();
} }
public int getSelectedValueIndex(Settings settings) public int getSelectedValueIndex()
{ {
String selectedValue = getSelectedValue(settings); String selectedValue = getSelectedValue();
for (int i = 0; i < mValues.length; i++) for (int i = 0; i < mValues.length; i++)
{ {
if (mValues[i].equals(selectedValue)) if (mValues[i].equals(selectedValue))

View File

@ -26,9 +26,9 @@ public class SwitchSetting extends SettingsItem
mSetting = setting; mSetting = setting;
} }
public boolean isChecked(Settings settings) public boolean isChecked()
{ {
return mSetting.getBoolean(settings); return mSetting.getBoolean();
} }
public void setChecked(Settings settings, boolean checked) public void setChecked(Settings settings, boolean checked)

View File

@ -217,7 +217,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
DialogInputStringBinding binding = DialogInputStringBinding.inflate(inflater); DialogInputStringBinding binding = DialogInputStringBinding.inflate(inflater);
TextInputEditText input = binding.input; TextInputEditText input = binding.input;
input.setText(item.getSelectedValue(getSettings())); input.setText(item.getSelectedValue());
mDialog = new MaterialAlertDialogBuilder(mView.getActivity()) mDialog = new MaterialAlertDialogBuilder(mView.getActivity())
.setView(binding.getRoot()) .setView(binding.getRoot())
@ -226,7 +226,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
{ {
String editTextInput = input.getText().toString(); String editTextInput = input.getText().toString();
if (!item.getSelectedValue(mView.getSettings()).equals(editTextInput)) if (!item.getSelectedValue().equals(editTextInput))
{ {
notifyItemChanged(position); notifyItemChanged(position);
mView.onSettingChanged(); mView.onSettingChanged();
@ -272,7 +272,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
{ {
mDialog = new MaterialAlertDialogBuilder(mView.getActivity()) mDialog = new MaterialAlertDialogBuilder(mView.getActivity())
.setTitle(item.getName()) .setTitle(item.getName())
.setSingleChoiceItems(item.getChoices(), item.getSelectedValueIndex(getSettings()), .setSingleChoiceItems(item.getChoices(), item.getSelectedValueIndex(),
this) this)
.show(); .show();
} }
@ -296,7 +296,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
{ {
mClickedItem = item; mClickedItem = item;
mClickedPosition = position; mClickedPosition = position;
mSeekbarProgress = item.getSelectedValue(getSettings()); mSeekbarProgress = item.getSelectedValue();
LayoutInflater inflater = LayoutInflater.from(mView.getActivity()); LayoutInflater inflater = LayoutInflater.from(mView.getActivity());
DialogSliderBinding binding = DialogSliderBinding.inflate(inflater); DialogSliderBinding binding = DialogSliderBinding.inflate(inflater);
@ -430,8 +430,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
{ {
intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, filePicker.getSelectedValue());
filePicker.getSelectedValue(mView.getSettings()));
} }
mView.getActivity().startActivityForResult(intent, filePicker.getRequestType()); mView.getActivity().startActivityForResult(intent, filePicker.getRequestType());
@ -441,7 +440,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
{ {
mClickedItem = item; mClickedItem = item;
mClickedPosition = position; mClickedPosition = position;
long storedTime = Long.decode(item.getSelectedValue(mView.getSettings())) * 1000; long storedTime = Long.decode(item.getSelectedValue()) * 1000;
// Helper to extract hour and minute from epoch time // Helper to extract hour and minute from epoch time
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
@ -481,7 +480,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
epochTime += (long) timePicker.getHour() * 60 * 60; epochTime += (long) timePicker.getHour() * 60 * 60;
epochTime += (long) timePicker.getMinute() * 60; epochTime += (long) timePicker.getMinute() * 60;
String rtcString = "0x" + Long.toHexString(epochTime); String rtcString = "0x" + Long.toHexString(epochTime);
if (!item.getSelectedValue(mView.getSettings()).equals(rtcString)) if (!item.getSelectedValue().equals(rtcString))
{ {
notifyItemChanged(mClickedPosition); notifyItemChanged(mClickedPosition);
mView.onSettingChanged(); mView.onSettingChanged();
@ -498,7 +497,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
{ {
FilePicker filePicker = (FilePicker) mClickedItem; FilePicker filePicker = (FilePicker) mClickedItem;
if (!filePicker.getSelectedValue(mView.getSettings()).equals(selectedFile)) if (!filePicker.getSelectedValue().equals(selectedFile))
{ {
notifyItemChanged(mClickedPosition); notifyItemChanged(mClickedPosition);
mView.onSettingChanged(); mView.onSettingChanged();
@ -543,7 +542,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
SingleChoiceSetting scSetting = (SingleChoiceSetting) mClickedItem; SingleChoiceSetting scSetting = (SingleChoiceSetting) mClickedItem;
int value = getValueForSingleChoiceSelection(scSetting, which); int value = getValueForSingleChoiceSelection(scSetting, which);
if (scSetting.getSelectedValue(getSettings()) != value) if (scSetting.getSelectedValue() != value)
mView.onSettingChanged(); mView.onSettingChanged();
scSetting.setSelectedValue(getSettings(), value); scSetting.setSelectedValue(getSettings(), value);
@ -556,7 +555,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
(SingleChoiceSettingDynamicDescriptions) mClickedItem; (SingleChoiceSettingDynamicDescriptions) mClickedItem;
int value = getValueForSingleChoiceDynamicDescriptionsSelection(scSetting, which); int value = getValueForSingleChoiceDynamicDescriptionsSelection(scSetting, which);
if (scSetting.getSelectedValue(getSettings()) != value) if (scSetting.getSelectedValue() != value)
mView.onSettingChanged(); mView.onSettingChanged();
scSetting.setSelectedValue(getSettings(), value); scSetting.setSelectedValue(getSettings(), value);
@ -567,7 +566,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
{ {
StringSingleChoiceSetting scSetting = (StringSingleChoiceSetting) mClickedItem; StringSingleChoiceSetting scSetting = (StringSingleChoiceSetting) mClickedItem;
String value = scSetting.getValueAt(which); String value = scSetting.getValueAt(which);
if (!scSetting.getSelectedValue(getSettings()).equals(value)) if (!scSetting.getSelectedValue().equals(value))
mView.onSettingChanged(); mView.onSettingChanged();
scSetting.setSelectedValue(getSettings(), value); scSetting.setSelectedValue(getSettings(), value);
@ -577,7 +576,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
else if (mClickedItem instanceof IntSliderSetting) else if (mClickedItem instanceof IntSliderSetting)
{ {
IntSliderSetting sliderSetting = (IntSliderSetting) mClickedItem; IntSliderSetting sliderSetting = (IntSliderSetting) mClickedItem;
if (sliderSetting.getSelectedValue(getSettings()) != mSeekbarProgress) if (sliderSetting.getSelectedValue() != mSeekbarProgress)
mView.onSettingChanged(); mView.onSettingChanged();
sliderSetting.setSelectedValue(getSettings(), mSeekbarProgress); sliderSetting.setSelectedValue(getSettings(), mSeekbarProgress);
@ -587,7 +586,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
else if (mClickedItem instanceof FloatSliderSetting) else if (mClickedItem instanceof FloatSliderSetting)
{ {
FloatSliderSetting sliderSetting = (FloatSliderSetting) mClickedItem; FloatSliderSetting sliderSetting = (FloatSliderSetting) mClickedItem;
if (sliderSetting.getSelectedValue(getSettings()) != mSeekbarProgress) if (sliderSetting.getSelectedValue() != mSeekbarProgress)
mView.onSettingChanged(); mView.onSettingChanged();
sliderSetting.setSelectedValue(getSettings(), mSeekbarProgress); sliderSetting.setSelectedValue(getSettings(), mSeekbarProgress);
@ -637,7 +636,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
private int getSelectionForSingleChoiceValue(SingleChoiceSetting item) private int getSelectionForSingleChoiceValue(SingleChoiceSetting item)
{ {
int value = item.getSelectedValue(getSettings()); int value = item.getSelectedValue();
int valuesId = item.getValuesId(); int valuesId = item.getValuesId();
if (valuesId > 0) if (valuesId > 0)
@ -679,7 +678,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
private int getSelectionForSingleChoiceDynamicDescriptionsValue( private int getSelectionForSingleChoiceDynamicDescriptionsValue(
SingleChoiceSettingDynamicDescriptions item) SingleChoiceSettingDynamicDescriptions item)
{ {
int value = item.getSelectedValue(getSettings()); int value = item.getSelectedValue();
int valuesId = item.getValuesId(); int valuesId = item.getValuesId();
if (valuesId > 0) if (valuesId > 0)

View File

@ -368,9 +368,9 @@ public final class SettingsFragmentPresenter
AbstractIntSetting appTheme = new AbstractIntSetting() AbstractIntSetting appTheme = new AbstractIntSetting()
{ {
@Override @Override
public boolean isOverridden(@NonNull Settings settings) public boolean isOverridden()
{ {
return IntSetting.MAIN_INTERFACE_THEME.isOverridden(settings); return IntSetting.MAIN_INTERFACE_THEME.isOverridden();
} }
@Override @Override
@ -388,9 +388,9 @@ public final class SettingsFragmentPresenter
} }
@Override @Override
public int getInt(@NonNull Settings settings) public int getInt()
{ {
return IntSetting.MAIN_INTERFACE_THEME.getInt(settings); return IntSetting.MAIN_INTERFACE_THEME.getInt();
} }
@Override @Override
@ -416,9 +416,9 @@ public final class SettingsFragmentPresenter
AbstractIntSetting themeMode = new AbstractIntSetting() AbstractIntSetting themeMode = new AbstractIntSetting()
{ {
@Override @Override
public boolean isOverridden(@NonNull Settings settings) public boolean isOverridden()
{ {
return IntSetting.MAIN_INTERFACE_THEME_MODE.isOverridden(settings); return IntSetting.MAIN_INTERFACE_THEME_MODE.isOverridden();
} }
@Override @Override
@ -436,9 +436,9 @@ public final class SettingsFragmentPresenter
} }
@Override @Override
public int getInt(@NonNull Settings settings) public int getInt()
{ {
return IntSetting.MAIN_INTERFACE_THEME_MODE.getInt(settings); return IntSetting.MAIN_INTERFACE_THEME_MODE.getInt();
} }
@Override @Override
@ -455,9 +455,9 @@ public final class SettingsFragmentPresenter
AbstractBooleanSetting blackBackgrounds = new AbstractBooleanSetting() AbstractBooleanSetting blackBackgrounds = new AbstractBooleanSetting()
{ {
@Override @Override
public boolean isOverridden(@NonNull Settings settings) public boolean isOverridden()
{ {
return BooleanSetting.MAIN_USE_BLACK_BACKGROUNDS.isOverridden(settings); return BooleanSetting.MAIN_USE_BLACK_BACKGROUNDS.isOverridden();
} }
@Override @Override
@ -474,9 +474,9 @@ public final class SettingsFragmentPresenter
} }
@Override @Override
public boolean getBoolean(@NonNull Settings settings) public boolean getBoolean()
{ {
return BooleanSetting.MAIN_USE_BLACK_BACKGROUNDS.getBoolean(settings); return BooleanSetting.MAIN_USE_BLACK_BACKGROUNDS.getBoolean();
} }
@Override @Override
@ -500,15 +500,15 @@ public final class SettingsFragmentPresenter
AbstractIntSetting dspEmulationEngine = new AbstractIntSetting() AbstractIntSetting dspEmulationEngine = new AbstractIntSetting()
{ {
@Override @Override
public int getInt(@NonNull Settings settings) public int getInt()
{ {
if (BooleanSetting.MAIN_DSP_HLE.getBoolean(settings)) if (BooleanSetting.MAIN_DSP_HLE.getBoolean())
{ {
return DSP_HLE; return DSP_HLE;
} }
else else
{ {
boolean jit = BooleanSetting.MAIN_DSP_JIT.getBoolean(settings); boolean jit = BooleanSetting.MAIN_DSP_JIT.getBoolean();
return jit ? DSP_LLE_RECOMPILER : DSP_LLE_INTERPRETER; return jit ? DSP_LLE_RECOMPILER : DSP_LLE_INTERPRETER;
} }
} }
@ -536,10 +536,10 @@ public final class SettingsFragmentPresenter
} }
@Override @Override
public boolean isOverridden(@NonNull Settings settings) public boolean isOverridden()
{ {
return BooleanSetting.MAIN_DSP_HLE.isOverridden(settings) || return BooleanSetting.MAIN_DSP_HLE.isOverridden() ||
BooleanSetting.MAIN_DSP_JIT.isOverridden(settings); BooleanSetting.MAIN_DSP_JIT.isOverridden();
} }
@Override @Override
@ -681,15 +681,15 @@ public final class SettingsFragmentPresenter
AbstractIntSetting synchronizeGpuThread = new AbstractIntSetting() AbstractIntSetting synchronizeGpuThread = new AbstractIntSetting()
{ {
@Override @Override
public int getInt(@NonNull Settings settings) public int getInt()
{ {
if (BooleanSetting.MAIN_SYNC_GPU.getBoolean(settings)) if (BooleanSetting.MAIN_SYNC_GPU.getBoolean())
{ {
return SYNC_GPU_ALWAYS; return SYNC_GPU_ALWAYS;
} }
else else
{ {
boolean syncOnSkipIdle = BooleanSetting.MAIN_SYNC_ON_SKIP_IDLE.getBoolean(settings); boolean syncOnSkipIdle = BooleanSetting.MAIN_SYNC_ON_SKIP_IDLE.getBoolean();
return syncOnSkipIdle ? SYNC_GPU_ON_IDLE_SKIP : SYNC_GPU_NEVER; return syncOnSkipIdle ? SYNC_GPU_ON_IDLE_SKIP : SYNC_GPU_NEVER;
} }
} }
@ -717,10 +717,10 @@ public final class SettingsFragmentPresenter
} }
@Override @Override
public boolean isOverridden(@NonNull Settings settings) public boolean isOverridden()
{ {
return BooleanSetting.MAIN_SYNC_ON_SKIP_IDLE.isOverridden(settings) || return BooleanSetting.MAIN_SYNC_ON_SKIP_IDLE.isOverridden() ||
BooleanSetting.MAIN_SYNC_GPU.isOverridden(settings); BooleanSetting.MAIN_SYNC_GPU.isOverridden();
} }
@Override @Override
@ -879,7 +879,7 @@ public final class SettingsFragmentPresenter
R.string.texture_filtering, R.string.texture_filtering_description, R.string.texture_filtering, R.string.texture_filtering_description,
R.array.textureFilteringEntries, R.array.textureFilteringValues)); R.array.textureFilteringEntries, R.array.textureFilteringValues));
int stereoModeValue = IntSetting.GFX_STEREO_MODE.getInt(mSettings); int stereoModeValue = IntSetting.GFX_STEREO_MODE.getInt();
final int anaglyphMode = 3; final int anaglyphMode = 3;
String[] shaderList = stereoModeValue == anaglyphMode ? String[] shaderList = stereoModeValue == anaglyphMode ?
PostProcessing.getAnaglyphShaderList() : PostProcessing.getShaderList(); PostProcessing.getAnaglyphShaderList() : PostProcessing.getShaderList();
@ -1216,7 +1216,7 @@ public final class SettingsFragmentPresenter
sl.add(new SwitchSetting(mContext, new AbstractBooleanSetting() sl.add(new SwitchSetting(mContext, new AbstractBooleanSetting()
{ {
@Override @Override
public boolean isOverridden(Settings settings) public boolean isOverridden()
{ {
return false; return false;
} }
@ -1228,20 +1228,20 @@ public final class SettingsFragmentPresenter
} }
@Override @Override
public boolean delete(Settings settings) public boolean delete(@NonNull Settings settings)
{ {
mView.setMappingAllDevices(false); mView.setMappingAllDevices(false);
return true; return true;
} }
@Override @Override
public boolean getBoolean(Settings settings) public boolean getBoolean()
{ {
return mView.isMappingAllDevices(); return mView.isMappingAllDevices();
} }
@Override @Override
public void setBoolean(Settings settings, boolean newValue) public void setBoolean(@NonNull Settings settings, boolean newValue)
{ {
mView.setMappingAllDevices(newValue); mView.setMappingAllDevices(newValue);
} }

View File

@ -22,7 +22,7 @@ class DateTimeSettingViewHolder(
override fun bind(item: SettingsItem) { override fun bind(item: SettingsItem) {
mItem = item as DateTimeChoiceSetting mItem = item as DateTimeChoiceSetting
val inputTime = mItem!!.getSelectedValue(adapter.settings) val inputTime = mItem!!.getSelectedValue()
binding.textSettingName.text = item.getName() binding.textSettingName.text = item.getName()
if (!TextUtils.isEmpty(inputTime)) { if (!TextUtils.isEmpty(inputTime)) {

View File

@ -35,7 +35,7 @@ public final class FilePickerViewHolder extends SettingViewHolder
mFilePicker = (FilePicker) item; mFilePicker = (FilePicker) item;
mItem = item; mItem = item;
String path = mFilePicker.getSelectedValue(getAdapter().getSettings()); String path = mFilePicker.getSelectedValue();
if (FileBrowserHelper.isPathEmptyOrValid(path)) if (FileBrowserHelper.isPathEmptyOrValid(path))
{ {

View File

@ -31,7 +31,7 @@ public final class InputStringSettingViewHolder extends SettingViewHolder
{ {
mInputString = (InputStringSetting) item; mInputString = (InputStringSetting) item;
String inputString = mInputString.getSelectedValue(getAdapter().getSettings()); String inputString = mInputString.getSelectedValue();
mBinding.textSettingName.setText(item.getName()); mBinding.textSettingName.setText(item.getName());

View File

@ -41,7 +41,7 @@ public abstract class SettingViewHolder extends RecyclerView.ViewHolder
protected void setStyle(TextView textView, SettingsItem settingsItem) protected void setStyle(TextView textView, SettingsItem settingsItem)
{ {
boolean overridden = settingsItem.isOverridden(mAdapter.getSettings()); boolean overridden = settingsItem.isOverridden();
textView.setTypeface(null, overridden ? Typeface.BOLD : Typeface.NORMAL); textView.setTypeface(null, overridden ? Typeface.BOLD : Typeface.NORMAL);
if (!settingsItem.isEditable()) if (!settingsItem.isEditable())

View File

@ -18,7 +18,7 @@ import org.dolphinemu.dolphinemu.features.settings.model.view.StringSingleChoice
import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag; import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag;
import org.dolphinemu.dolphinemu.features.settings.ui.SettingsAdapter; import org.dolphinemu.dolphinemu.features.settings.ui.SettingsAdapter;
import java.util.function.Function; import java.util.function.Supplier;
public final class SingleChoiceViewHolder extends SettingViewHolder public final class SingleChoiceViewHolder extends SettingViewHolder
{ {
@ -39,9 +39,6 @@ public final class SingleChoiceViewHolder extends SettingViewHolder
mBinding.textSettingName.setText(item.getName()); mBinding.textSettingName.setText(item.getName());
SettingsAdapter adapter = getAdapter();
Settings settings = adapter.getSettings();
if (!TextUtils.isEmpty(item.getDescription())) if (!TextUtils.isEmpty(item.getDescription()))
{ {
mBinding.textSettingDescription.setText(item.getDescription()); mBinding.textSettingDescription.setText(item.getDescription());
@ -49,7 +46,7 @@ public final class SingleChoiceViewHolder extends SettingViewHolder
else if (item instanceof SingleChoiceSetting) else if (item instanceof SingleChoiceSetting)
{ {
SingleChoiceSetting setting = (SingleChoiceSetting) item; SingleChoiceSetting setting = (SingleChoiceSetting) item;
int selected = setting.getSelectedValue(settings); int selected = setting.getSelectedValue();
Resources resMgr = mBinding.textSettingDescription.getContext().getResources(); Resources resMgr = mBinding.textSettingDescription.getContext().getResources();
String[] choices = resMgr.getStringArray(setting.getChoicesId()); String[] choices = resMgr.getStringArray(setting.getChoicesId());
int[] values = resMgr.getIntArray(setting.getValuesId()); int[] values = resMgr.getIntArray(setting.getValuesId());
@ -64,14 +61,14 @@ public final class SingleChoiceViewHolder extends SettingViewHolder
else if (item instanceof StringSingleChoiceSetting) else if (item instanceof StringSingleChoiceSetting)
{ {
StringSingleChoiceSetting setting = (StringSingleChoiceSetting) item; StringSingleChoiceSetting setting = (StringSingleChoiceSetting) item;
String choice = setting.getSelectedChoice(settings); String choice = setting.getSelectedChoice();
mBinding.textSettingDescription.setText(choice); mBinding.textSettingDescription.setText(choice);
} }
else if (item instanceof SingleChoiceSettingDynamicDescriptions) else if (item instanceof SingleChoiceSettingDynamicDescriptions)
{ {
SingleChoiceSettingDynamicDescriptions setting = SingleChoiceSettingDynamicDescriptions setting =
(SingleChoiceSettingDynamicDescriptions) item; (SingleChoiceSettingDynamicDescriptions) item;
int selected = setting.getSelectedValue(settings); int selected = setting.getSelectedValue();
Resources resMgr = mBinding.textSettingDescription.getContext().getResources(); Resources resMgr = mBinding.textSettingDescription.getContext().getResources();
String[] choices = resMgr.getStringArray(setting.getDescriptionChoicesId()); String[] choices = resMgr.getStringArray(setting.getDescriptionChoicesId());
int[] values = resMgr.getIntArray(setting.getDescriptionValuesId()); int[] values = resMgr.getIntArray(setting.getDescriptionValuesId());
@ -85,7 +82,7 @@ public final class SingleChoiceViewHolder extends SettingViewHolder
} }
MenuTag menuTag = null; MenuTag menuTag = null;
Function<Settings, Integer> getSelectedValue = null; Supplier<Integer> getSelectedValue = null;
if (item instanceof SingleChoiceSetting) if (item instanceof SingleChoiceSetting)
{ {
SingleChoiceSetting setting = (SingleChoiceSetting) item; SingleChoiceSetting setting = (SingleChoiceSetting) item;
@ -99,15 +96,14 @@ public final class SingleChoiceViewHolder extends SettingViewHolder
getSelectedValue = setting::getSelectedValueIndex; getSelectedValue = setting::getSelectedValueIndex;
} }
if (menuTag != null && if (menuTag != null && getAdapter().hasMenuTagActionForValue(menuTag, getSelectedValue.get()))
adapter.hasMenuTagActionForValue(menuTag, getSelectedValue.apply(settings)))
{ {
mBinding.buttonMoreSettings.setVisibility(View.VISIBLE); mBinding.buttonMoreSettings.setVisibility(View.VISIBLE);
final MenuTag finalMenuTag = menuTag; final MenuTag finalMenuTag = menuTag;
final Function<Settings, Integer> finalGetSelectedValue = getSelectedValue; final Supplier<Integer> finalGetSelectedValue = getSelectedValue;
mBinding.buttonMoreSettings.setOnClickListener((view) -> mBinding.buttonMoreSettings.setOnClickListener((view) ->
adapter.onMenuTagAction(finalMenuTag, finalGetSelectedValue.apply(settings))); getAdapter().onMenuTagAction(finalMenuTag, finalGetSelectedValue.get()));
} }
else else
{ {

View File

@ -44,9 +44,8 @@ public final class SliderViewHolder extends SettingViewHolder
} }
else else
{ {
mBinding.textSettingDescription.setText(mContext mBinding.textSettingDescription.setText(mContext.getString(R.string.slider_setting_value,
.getString(R.string.slider_setting_value, mItem.getSelectedValue(), mItem.getUnits()));
mItem.getSelectedValue(getAdapter().getSettings()), mItem.getUnits()));
} }
setStyle(mBinding.textSettingName, mItem); setStyle(mBinding.textSettingName, mItem);

View File

@ -38,7 +38,7 @@ public final class SwitchSettingViewHolder extends SettingViewHolder
mBinding.textSettingName.setText(item.getName()); mBinding.textSettingName.setText(item.getName());
mBinding.textSettingDescription.setText(item.getDescription()); mBinding.textSettingDescription.setText(item.getDescription());
mBinding.settingSwitch.setChecked(mItem.isChecked(getAdapter().getSettings())); mBinding.settingSwitch.setChecked(mItem.isChecked());
mBinding.settingSwitch.setEnabled(mItem.isEditable()); mBinding.settingSwitch.setEnabled(mItem.isEditable());
// Check for IPL to make sure user can skip. // Check for IPL to make sure user can skip.
@ -56,14 +56,7 @@ public final class SwitchSettingViewHolder extends SettingViewHolder
} }
} }
if (mItem.isChecked(getAdapter().getSettings())) mBinding.settingSwitch.setEnabled(iplExists || !mItem.isChecked());
{
mBinding.settingSwitch.setEnabled(iplExists);
}
else
{
mBinding.settingSwitch.setEnabled(true);
}
} }
mBinding.settingSwitch.setOnCheckedChangeListener((buttonView, isChecked) -> mBinding.settingSwitch.setOnCheckedChangeListener((buttonView, isChecked) ->
@ -95,7 +88,7 @@ public final class SwitchSettingViewHolder extends SettingViewHolder
if (mItem.getSetting() == BooleanSetting.MAIN_SKIP_IPL && !iplExists) if (mItem.getSetting() == BooleanSetting.MAIN_SKIP_IPL && !iplExists)
{ {
if (mItem.isChecked(getAdapter().getSettings())) if (mItem.isChecked())
{ {
showIplNotAvailableError(); showIplNotAvailableError();
return; return;

View File

@ -115,7 +115,7 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C
{ {
int overlayX = mInputOverlay.getLeft(); int overlayX = mInputOverlay.getLeft();
int overlayY = mInputOverlay.getTop(); int overlayY = mInputOverlay.getTop();
mInputOverlay.setSurfacePosition(activity.getSettings(), new Rect( mInputOverlay.setSurfacePosition(new Rect(
surfaceView.getLeft() - overlayX, surfaceView.getTop() - overlayY, surfaceView.getLeft() - overlayX, surfaceView.getTop() - overlayY,
surfaceView.getRight() - overlayX, surfaceView.getBottom() - overlayY)); surfaceView.getRight() - overlayX, surfaceView.getBottom() - overlayY));
}); });
@ -135,7 +135,7 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C
super.onResume(); super.onResume();
if (mInputOverlay != null && NativeLibrary.IsGameMetadataValid()) if (mInputOverlay != null && NativeLibrary.IsGameMetadataValid())
mInputOverlay.refreshControls(activity.getSettings()); mInputOverlay.refreshControls();
run(activity.isActivityRecreated()); run(activity.isActivityRecreated());
} }
@ -171,34 +171,34 @@ public final class EmulationFragment extends Fragment implements SurfaceHolder.C
public void toggleInputOverlayVisibility(Settings settings) public void toggleInputOverlayVisibility(Settings settings)
{ {
BooleanSetting.MAIN_SHOW_INPUT_OVERLAY BooleanSetting.MAIN_SHOW_INPUT_OVERLAY
.setBoolean(settings, !BooleanSetting.MAIN_SHOW_INPUT_OVERLAY.getBoolean(settings)); .setBoolean(settings, !BooleanSetting.MAIN_SHOW_INPUT_OVERLAY.getBoolean());
if (mInputOverlay != null) if (mInputOverlay != null)
mInputOverlay.refreshControls(settings); mInputOverlay.refreshControls();
} }
public void initInputPointer(Settings settings) public void initInputPointer()
{ {
if (mInputOverlay != null) if (mInputOverlay != null)
mInputOverlay.initTouchPointer(settings); mInputOverlay.initTouchPointer();
} }
public void refreshInputOverlay(Settings settings) public void refreshInputOverlay()
{ {
if (mInputOverlay != null) if (mInputOverlay != null)
mInputOverlay.refreshControls(settings); mInputOverlay.refreshControls();
} }
public void refreshOverlayPointer(Settings settings) public void refreshOverlayPointer()
{ {
if (mInputOverlay != null) if (mInputOverlay != null)
mInputOverlay.refreshOverlayPointer(settings); mInputOverlay.refreshOverlayPointer();
} }
public void resetInputOverlay(Settings settings) public void resetInputOverlay()
{ {
if (mInputOverlay != null) if (mInputOverlay != null)
mInputOverlay.resetButtonPlacement(settings); mInputOverlay.resetButtonPlacement();
} }
@Override @Override

View File

@ -36,7 +36,6 @@ import org.dolphinemu.dolphinemu.features.input.model.controlleremu.EmulatedCont
import org.dolphinemu.dolphinemu.features.input.model.controlleremu.NumericSetting; import org.dolphinemu.dolphinemu.features.input.model.controlleremu.NumericSetting;
import org.dolphinemu.dolphinemu.features.settings.model.BooleanSetting; import org.dolphinemu.dolphinemu.features.settings.model.BooleanSetting;
import org.dolphinemu.dolphinemu.features.settings.model.IntSetting; import org.dolphinemu.dolphinemu.features.settings.model.IntSetting;
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -145,13 +144,13 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener
requestFocus(); requestFocus();
} }
public void setSurfacePosition(Settings settings, Rect rect) public void setSurfacePosition(Rect rect)
{ {
mSurfacePosition = rect; mSurfacePosition = rect;
initTouchPointer(settings); initTouchPointer();
} }
public void initTouchPointer(Settings settings) public void initTouchPointer()
{ {
// Check if we have all the data we need yet // Check if we have all the data we need yet
boolean aspectRatioAvailable = NativeLibrary.IsRunningAndStarted(); boolean aspectRatioAvailable = NativeLibrary.IsRunningAndStarted();
@ -164,7 +163,7 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener
int doubleTapButton = IntSetting.MAIN_DOUBLE_TAP_BUTTON.getIntGlobal(); int doubleTapButton = IntSetting.MAIN_DOUBLE_TAP_BUTTON.getIntGlobal();
if (getConfiguredControllerType(settings) != InputOverlay.OVERLAY_WIIMOTE_CLASSIC && if (getConfiguredControllerType() != InputOverlay.OVERLAY_WIIMOTE_CLASSIC &&
doubleTapButton == ButtonType.CLASSIC_BUTTON_A) doubleTapButton == ButtonType.CLASSIC_BUTTON_A)
{ {
doubleTapButton = ButtonType.WIIMOTE_BUTTON_A; doubleTapButton = ButtonType.WIIMOTE_BUTTON_A;
@ -792,7 +791,7 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener
} }
} }
public void refreshControls(Settings settings) public void refreshControls()
{ {
unregisterControllers(); unregisterControllers();
@ -805,11 +804,11 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener
getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT ? getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT ?
"-Portrait" : ""; "-Portrait" : "";
mControllerType = getConfiguredControllerType(settings); mControllerType = getConfiguredControllerType();
IntSetting controllerSetting = NativeLibrary.IsEmulatingWii() ? IntSetting controllerSetting = NativeLibrary.IsEmulatingWii() ?
IntSetting.MAIN_OVERLAY_WII_CONTROLLER : IntSetting.MAIN_OVERLAY_GC_CONTROLLER; IntSetting.MAIN_OVERLAY_WII_CONTROLLER : IntSetting.MAIN_OVERLAY_GC_CONTROLLER;
int controllerIndex = controllerSetting.getInt(settings); int controllerIndex = controllerSetting.getInt();
if (BooleanSetting.MAIN_SHOW_INPUT_OVERLAY.getBooleanGlobal()) if (BooleanSetting.MAIN_SHOW_INPUT_OVERLAY.getBooleanGlobal())
{ {
@ -817,7 +816,7 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener
switch (mControllerType) switch (mControllerType)
{ {
case OVERLAY_GAMECUBE: case OVERLAY_GAMECUBE:
if (IntSetting.getSettingForSIDevice(controllerIndex).getInt(settings) == if (IntSetting.getSettingForSIDevice(controllerIndex).getInt() ==
DISABLED_GAMECUBE_CONTROLLER && mIsFirstRun) DISABLED_GAMECUBE_CONTROLLER && mIsFirstRun)
{ {
Toast.makeText(getContext(), R.string.disabled_gc_overlay_notice, Toast.LENGTH_SHORT) Toast.makeText(getContext(), R.string.disabled_gc_overlay_notice, Toast.LENGTH_SHORT)
@ -866,21 +865,21 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener
invalidate(); invalidate();
} }
public void refreshOverlayPointer(Settings settings) public void refreshOverlayPointer()
{ {
if (overlayPointer != null) if (overlayPointer != null)
{ {
overlayPointer.setMode(IntSetting.MAIN_IR_MODE.getInt(settings)); overlayPointer.setMode(IntSetting.MAIN_IR_MODE.getInt());
overlayPointer.setRecenter(BooleanSetting.MAIN_IR_ALWAYS_RECENTER.getBoolean(settings)); overlayPointer.setRecenter(BooleanSetting.MAIN_IR_ALWAYS_RECENTER.getBoolean());
} }
} }
public void resetButtonPlacement(Settings settings) public void resetButtonPlacement()
{ {
boolean isLandscape = boolean isLandscape =
getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;
final int controller = getConfiguredControllerType(settings); final int controller = getConfiguredControllerType();
if (controller == OVERLAY_GAMECUBE) if (controller == OVERLAY_GAMECUBE)
{ {
if (isLandscape) if (isLandscape)
@ -908,26 +907,26 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener
wiiOnlyPortraitDefaultOverlay(); wiiOnlyPortraitDefaultOverlay();
} }
} }
refreshControls(settings); refreshControls();
} }
public static int getConfiguredControllerType(Settings settings) public static int getConfiguredControllerType()
{ {
IntSetting controllerSetting = NativeLibrary.IsEmulatingWii() ? IntSetting controllerSetting = NativeLibrary.IsEmulatingWii() ?
IntSetting.MAIN_OVERLAY_WII_CONTROLLER : IntSetting.MAIN_OVERLAY_GC_CONTROLLER; IntSetting.MAIN_OVERLAY_WII_CONTROLLER : IntSetting.MAIN_OVERLAY_GC_CONTROLLER;
int controllerIndex = controllerSetting.getInt(settings); int controllerIndex = controllerSetting.getInt();
if (controllerIndex >= 0 && controllerIndex < 4) if (controllerIndex >= 0 && controllerIndex < 4)
{ {
// GameCube controller // GameCube controller
if (IntSetting.getSettingForSIDevice(controllerIndex).getInt(settings) == 6) if (IntSetting.getSettingForSIDevice(controllerIndex).getInt() == 6)
return OVERLAY_GAMECUBE; return OVERLAY_GAMECUBE;
} }
else if (controllerIndex >= 4 && controllerIndex < 8) else if (controllerIndex >= 4 && controllerIndex < 8)
{ {
// Wii Remote // Wii Remote
int wiimoteIndex = controllerIndex - 4; int wiimoteIndex = controllerIndex - 4;
if (IntSetting.getSettingForWiimoteSource(wiimoteIndex).getInt(settings) == 1) if (IntSetting.getSettingForWiimoteSource(wiimoteIndex).getInt() == 1)
{ {
int attachmentIndex = EmulatedController.getSelectedWiimoteAttachment(wiimoteIndex); int attachmentIndex = EmulatedController.getSelectedWiimoteAttachment(wiimoteIndex);
switch (attachmentIndex) switch (attachmentIndex)
@ -939,7 +938,7 @@ public final class InputOverlay extends SurfaceView implements OnTouchListener
} }
NumericSetting sidewaysSetting = EmulatedController.getSidewaysWiimoteSetting(wiimoteIndex); NumericSetting sidewaysSetting = EmulatedController.getSidewaysWiimoteSetting(wiimoteIndex);
boolean sideways = new InputMappingBooleanSetting(sidewaysSetting).getBoolean(settings); boolean sideways = new InputMappingBooleanSetting(sidewaysSetting).getBoolean();
return sideways ? OVERLAY_WIIMOTE_SIDEWAYS : OVERLAY_WIIMOTE; return sideways ? OVERLAY_WIIMOTE_SIDEWAYS : OVERLAY_WIIMOTE;
} }