From acdf4e6823619eb6af921aa826f9dda3fa9a7e34 Mon Sep 17 00:00:00 2001 From: lynxnb Date: Wed, 22 Mar 2023 17:39:29 +0100 Subject: [PATCH] Introduce constants for default OSC config values --- .../emu/skyline/input/onscreen/OnScreenButton.kt | 2 +- .../skyline/input/onscreen/OnScreenConfiguration.kt | 12 +++++++++--- .../skyline/input/onscreen/OnScreenControllerView.kt | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/emu/skyline/input/onscreen/OnScreenButton.kt b/app/src/main/java/emu/skyline/input/onscreen/OnScreenButton.kt index f47c4c3e..060bbd04 100644 --- a/app/src/main/java/emu/skyline/input/onscreen/OnScreenButton.kt +++ b/app/src/main/java/emu/skyline/input/onscreen/OnScreenButton.kt @@ -243,6 +243,6 @@ abstract class OnScreenButton( open fun resetConfig() { resetRelativeValues() config.enabled = true - config.scale = 0f + config.scale = OnScreenConfiguration.DefaultScale } } diff --git a/app/src/main/java/emu/skyline/input/onscreen/OnScreenConfiguration.kt b/app/src/main/java/emu/skyline/input/onscreen/OnScreenConfiguration.kt index 5fe19ef8..06824f36 100644 --- a/app/src/main/java/emu/skyline/input/onscreen/OnScreenConfiguration.kt +++ b/app/src/main/java/emu/skyline/input/onscreen/OnScreenConfiguration.kt @@ -11,24 +11,30 @@ import emu.skyline.utils.SwitchColors import emu.skyline.utils.sharedPreferences class OnScreenConfiguration(private val context : Context, private val buttonId : ButtonId, defaultRelativeX : Float, defaultRelativeY : Float) { + companion object { + const val DefaultAlpha = 130 + const val DefaultGlobalScale = 1.15f + const val DefaultScale = 0.0f + } + private inline fun config(default : T, prefix : String = "${buttonId.name}_") = sharedPreferences(context, default, prefix, "controller_config") var enabled by config(true) - var alpha by config(155, "") + var alpha by config(DefaultAlpha, "") var textColor by config(SwitchColors.BLACK.color) var backgroundColor by config(SwitchColors.WHITE.color) /** * The global scale applied to all buttons */ - var globalScale by config(1.15f, "") + var globalScale by config(DefaultGlobalScale, "") /** * The scale of each button, this is added to the global scale * Allows buttons to have their own size, while still be controlled by the global scale */ - var scale by config(0.0f) + var scale by config(DefaultScale) var relativeX by config(defaultRelativeX) var relativeY by config(defaultRelativeY) diff --git a/app/src/main/java/emu/skyline/input/onscreen/OnScreenControllerView.kt b/app/src/main/java/emu/skyline/input/onscreen/OnScreenControllerView.kt index 702bade7..6aefe384 100644 --- a/app/src/main/java/emu/skyline/input/onscreen/OnScreenControllerView.kt +++ b/app/src/main/java/emu/skyline/input/onscreen/OnScreenControllerView.kt @@ -271,8 +271,8 @@ class OnScreenControllerView @JvmOverloads constructor(context : Context, attrs controls.allButtons.forEach { it.resetConfig() } - controls.globalScale = 1.15f - controls.alpha = 155 + controls.globalScale = OnScreenConfiguration.DefaultGlobalScale + controls.alpha = OnScreenConfiguration.DefaultAlpha invalidate() }