fix reset not resetting individual scale
All checks were successful
eden-license / license-header (pull_request) Successful in 20s

This commit is contained in:
nyx 2025-09-25 15:49:00 +02:00
parent 15e784609c
commit 1cf6c9362d
2 changed files with 13 additions and 0 deletions

View file

@ -924,6 +924,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
IntSetting.OVERLAY_OPACITY.reset() IntSetting.OVERLAY_OPACITY.reset()
binding.surfaceInputOverlay.post { binding.surfaceInputOverlay.post {
binding.surfaceInputOverlay.resetLayoutVisibilityAndPlacement() binding.surfaceInputOverlay.resetLayoutVisibilityAndPlacement()
binding.surfaceInputOverlay.resetIndividualControlScale()
} }
} }
@ -1546,6 +1547,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
.setNeutralButton(R.string.slider_default) { _: DialogInterface?, _: Int -> .setNeutralButton(R.string.slider_default) { _: DialogInterface?, _: Int ->
setControlScale(50) setControlScale(50)
setControlOpacity(100) setControlOpacity(100)
binding.surfaceInputOverlay.resetIndividualControlScale()
} }
.show() .show()
} }

View file

@ -837,6 +837,17 @@ class InputOverlay(context: Context, attrs: AttributeSet?) :
refreshControls() refreshControls()
} }
fun resetIndividualControlScale() {
val overlayControlData = NativeConfig.getOverlayControlData()
overlayControlData.forEach { data ->
val defaultControlData = OverlayControl.from(data.id) ?: return@forEach
data.individualScale = defaultControlData.defaultIndividualScaleResource
}
NativeConfig.setOverlayControlData(overlayControlData)
NativeConfig.saveGlobalConfig()
refreshControls()
}
private fun defaultOverlayPositionByLayout(layout: OverlayLayout) { private fun defaultOverlayPositionByLayout(layout: OverlayLayout) {
val overlayControlData = NativeConfig.getOverlayControlData() val overlayControlData = NativeConfig.getOverlayControlData()
for (data in overlayControlData) { for (data in overlayControlData) {