diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt
index 3c14cc89cb..29e01afc55 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt
@@ -34,7 +34,7 @@ import com.google.android.material.slider.Slider
import org.dolphinemu.dolphinemu.NativeLibrary
import org.dolphinemu.dolphinemu.R
import org.dolphinemu.dolphinemu.databinding.ActivityEmulationBinding
-import org.dolphinemu.dolphinemu.databinding.DialogHapticsAdjustBinding
+import org.dolphinemu.dolphinemu.databinding.DialogOverlayHapticsBinding
import org.dolphinemu.dolphinemu.databinding.DialogInputAdjustBinding
import org.dolphinemu.dolphinemu.databinding.DialogNfcFiguresManagerBinding
import org.dolphinemu.dolphinemu.features.infinitybase.InfinityConfig
@@ -452,7 +452,7 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
if (!DolphinVibratorManagerFactory.getSystemVibratorManager().getDefaultVibrator()
.hasVibrator()
) {
- menu.findItem(R.id.menu_emulation_haptics).isVisible = false
+ menu.findItem(R.id.menu_emulation_touch_haptics).isVisible = false
}
popup.setOnMenuItemClickListener { item: MenuItem -> onOptionsItemSelected(item) }
popup.show()
@@ -529,7 +529,7 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
MENU_ACTION_SKYLANDERS -> showSkylanderPortalSettings()
MENU_ACTION_INFINITY_BASE -> showInfinityBaseSettings()
MENU_ACTION_EXIT -> emulationFragment!!.stopEmulation()
- MENU_ACTION_ADJUST_HAPTICS -> adjustHaptics()
+ MENU_ACTION_ADJUST_OVERLAY_HAPTICS -> adjustOverlayHaptics()
}
}
@@ -711,28 +711,34 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
.show()
}
- private fun adjustHaptics() {
- val dialogBinding = DialogHapticsAdjustBinding.inflate(layoutInflater)
+ private fun adjustOverlayHaptics() {
+ val dialogBinding = DialogOverlayHapticsBinding.inflate(layoutInflater)
val hapticsProvider = HapticsProvider()
dialogBinding.apply {
val checkboxes =
- listOf(hapticsOnPressCheckbox, hapticsOnReleaseCheckbox, hapticsJoystickCheckbox)
+ listOf(
+ overlayHapticsOnPressCheckbox,
+ overlayHapticsOnReleaseCheckbox,
+ overlayHapticsJoystickCheckbox
+ )
val toggleVibrationSettings = {
checkboxes.any { it.isChecked }.let { enabled ->
- hapticsUseVibratorDirectlyName.isEnabled = enabled
- hapticsUseVibratorDirectlySwitch.isEnabled = enabled
- (hapticsUseVibratorDirectlySwitch.isChecked && enabled).let { enabled ->
- hapticsIntensityName.isEnabled = enabled
- hapticsIntensitySlider.isEnabled = enabled
- hapticsIntensityValue.isEnabled = enabled
+ overlayHapticsUseVibratorDirectlyName.isEnabled = enabled
+ overlayHapticsUseVibratorDirectlySwitch.isEnabled = enabled
+ (overlayHapticsUseVibratorDirectlySwitch.isChecked && enabled).let { enabled ->
+ overlayHapticsIntensityName.isEnabled = enabled
+ overlayHapticsIntensitySlider.isEnabled = enabled
+ overlayHapticsIntensityValue.isEnabled = enabled
}
}
}
- hapticsOnPressCheckbox.isChecked = BooleanSetting.MAIN_OVERLAY_HAPTICS_ON_PRESS.boolean
- hapticsOnReleaseCheckbox.isChecked =
+ overlayHapticsOnPressCheckbox.isChecked =
+ BooleanSetting.MAIN_OVERLAY_HAPTICS_ON_PRESS.boolean
+ overlayHapticsOnReleaseCheckbox.isChecked =
BooleanSetting.MAIN_OVERLAY_HAPTICS_ON_RELEASE.boolean
- hapticsJoystickCheckbox.isChecked = BooleanSetting.MAIN_OVERLAY_HAPTICS_JOYSTICK.boolean
- hapticsUseVibratorDirectlySwitch.isChecked =
+ overlayHapticsJoystickCheckbox.isChecked =
+ BooleanSetting.MAIN_OVERLAY_HAPTICS_JOYSTICK.boolean
+ overlayHapticsUseVibratorDirectlySwitch.isChecked =
BooleanSetting.MAIN_OVERLAY_HAPTICS_USE_VIBRATOR_DIRECTLY.boolean
toggleVibrationSettings()
checkboxes.forEach { checkbox ->
@@ -740,12 +746,12 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
toggleVibrationSettings()
}
}
- hapticsUseVibratorDirectlySwitch.setOnCheckedChangeListener { _, _ ->
+ overlayHapticsUseVibratorDirectlySwitch.setOnCheckedChangeListener { _, _ ->
toggleVibrationSettings()
}
- hapticsIntensitySlider.apply {
+ overlayHapticsIntensitySlider.apply {
val setValueText = { value: Float ->
- hapticsIntensityValue.text =
+ overlayHapticsIntensityValue.text =
getString(R.string.slider_setting_value, value * 100f, '%')
}
stepSize = 0.1f
@@ -762,19 +768,19 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
.setView(dialogBinding.root)
.setPositiveButton(R.string.ok) { _: DialogInterface?, _: Int ->
BooleanSetting.MAIN_OVERLAY_HAPTICS_ON_PRESS.setBoolean(
- settings, dialogBinding.hapticsOnPressCheckbox.isChecked
+ settings, dialogBinding.overlayHapticsOnPressCheckbox.isChecked
)
BooleanSetting.MAIN_OVERLAY_HAPTICS_ON_RELEASE.setBoolean(
- settings, dialogBinding.hapticsOnReleaseCheckbox.isChecked
+ settings, dialogBinding.overlayHapticsOnReleaseCheckbox.isChecked
)
BooleanSetting.MAIN_OVERLAY_HAPTICS_JOYSTICK.setBoolean(
- settings, dialogBinding.hapticsJoystickCheckbox.isChecked
+ settings, dialogBinding.overlayHapticsJoystickCheckbox.isChecked
)
BooleanSetting.MAIN_OVERLAY_HAPTICS_USE_VIBRATOR_DIRECTLY.setBoolean(
- settings, dialogBinding.hapticsUseVibratorDirectlySwitch.isChecked
+ settings, dialogBinding.overlayHapticsUseVibratorDirectlySwitch.isChecked
)
FloatSetting.MAIN_OVERLAY_HAPTICS_SCALE.setFloat(
- settings, dialogBinding.hapticsIntensitySlider.value
+ settings, dialogBinding.overlayHapticsIntensitySlider.value
)
}
.show()
@@ -1158,7 +1164,7 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
const val MENU_ACTION_SKYLANDERS = 36
const val MENU_ACTION_INFINITY_BASE = 37
const val MENU_ACTION_LATCHING_CONTROLS = 38
- const val MENU_ACTION_ADJUST_HAPTICS = 39
+ const val MENU_ACTION_ADJUST_OVERLAY_HAPTICS = 39
init {
buttonsActionsMap.apply {
@@ -1172,7 +1178,7 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
append(R.id.menu_emulation_ir_recenter, MENU_SET_IR_RECENTER)
append(R.id.menu_emulation_set_ir_mode, MENU_SET_IR_MODE)
append(R.id.menu_emulation_choose_doubletap, MENU_ACTION_CHOOSE_DOUBLETAP)
- append(R.id.menu_emulation_haptics, MENU_ACTION_ADJUST_HAPTICS)
+ append(R.id.menu_emulation_touch_haptics, MENU_ACTION_ADJUST_OVERLAY_HAPTICS)
}
}
diff --git a/Source/Android/app/src/main/res/layout/dialog_haptics_adjust.xml b/Source/Android/app/src/main/res/layout/dialog_overlay_haptics.xml
similarity index 64%
rename from Source/Android/app/src/main/res/layout/dialog_haptics_adjust.xml
rename to Source/Android/app/src/main/res/layout/dialog_overlay_haptics.xml
index 06ff0fac4b..ae89e9820f 100644
--- a/Source/Android/app/src/main/res/layout/dialog_haptics_adjust.xml
+++ b/Source/Android/app/src/main/res/layout/dialog_overlay_haptics.xml
@@ -7,133 +7,132 @@
android:orientation="vertical">
+ app:layout_constraintTop_toTopOf="@id/overlay_haptics_on_release_checkbox" />
+ app:layout_constraintEnd_toStartOf="@+id/overlay_haptics_joystick_checkbox"
+ app:layout_constraintStart_toEndOf="@+id/overlay_haptics_on_press_checkbox"
+ app:layout_constraintTop_toBottomOf="@+id/overlay_haptics_text" />
+ app:layout_constraintStart_toEndOf="@+id/overlay_haptics_on_release_checkbox"
+ app:layout_constraintTop_toTopOf="@id/overlay_haptics_on_release_checkbox" />
+ app:layout_constraintTop_toTopOf="@+id/overlay_haptics_use_vibrator_directly_switch" />
-
diff --git a/Source/Android/app/src/main/res/menu/menu_overlay_controls_gc.xml b/Source/Android/app/src/main/res/menu/menu_overlay_controls_gc.xml
index a946ebb4f3..427129070d 100644
--- a/Source/Android/app/src/main/res/menu/menu_overlay_controls_gc.xml
+++ b/Source/Android/app/src/main/res/menu/menu_overlay_controls_gc.xml
@@ -28,8 +28,8 @@
android:title="@string/emulation_choose_controller"/>
+ android:id="@+id/menu_emulation_touch_haptics"
+ android:title="@string/emulation_touch_haptics"/>
+ android:id="@+id/menu_emulation_touch_haptics"
+ android:title="@string/emulation_touch_haptics"/>
- IR Mode
IR Sensitivity
Double tap button
- Touch Haptics
+ Touch Haptics
Enable Vibration
@@ -841,12 +841,12 @@ It can efficiently compress both junk data and encrypted Wii data.
Follow
Drag
-
- On Press
- On Release
- Joystick
- Use vibrator directly
- Intensity
+
+ On Press
+ On Release
+ Joystick
+ Use vibrator directly
+ Intensity
Button A