diff --git a/Manager/app/src/main/assets/patches-manifest.json b/Manager/app/src/main/assets/patches-manifest.json index 0ac26a2..b72add9 100644 --- a/Manager/app/src/main/assets/patches-manifest.json +++ b/Manager/app/src/main/assets/patches-manifest.json @@ -489,6 +489,13 @@ ], "defaultIndex": 0, "token": "RL_SWIPE_TO_QUEUE_DIRECTION" + }, + { + "type": "color", + "key": "background_color", + "title": "Background Color", + "default": -14749031, + "token": "RL_SWIPE_TO_QUEUE_COLOR" } ] }, diff --git a/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/legacy/screens/patchopts/components/PatchAdvancedOptionsSheet.kt b/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/legacy/screens/patchopts/components/PatchAdvancedOptionsSheet.kt index ea29b2e..a01827d 100644 --- a/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/legacy/screens/patchopts/components/PatchAdvancedOptionsSheet.kt +++ b/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/legacy/screens/patchopts/components/PatchAdvancedOptionsSheet.kt @@ -212,6 +212,7 @@ fun PatchAdvancedOptionsSheet( is OptionSpec.Color -> ColorOptionRow( title = option.title, color = state.color(patch, option), + defaultColor = option.default, onColorChange = { state.setColor(patch, option, it) }, ) } @@ -455,17 +456,24 @@ private fun ChoiceOptionRow( private fun ColorOptionRow( title: String, color: Int, + defaultColor: Int, onColorChange: (Int) -> Unit, ) { var showPicker by rememberSaveable { mutableStateOf(false) } val selectedColor = color.withOpaqueAlpha() val materialYouColor = MaterialTheme.colorScheme.primary.toArgb().withOpaqueAlpha() + val opaqueDefault = defaultColor.withOpaqueAlpha() + val defaultLabel = if (opaqueDefault == TIDAL_GREEN) { + stringResource(R.string.patch_color_green) + } else { + stringResource(R.string.patch_waze_color_waze_default) + } val presets = listOf( - stringResource(R.string.patch_waze_color_waze_default), + defaultLabel, stringResource(R.string.patch_waze_color_tidal_cyan), stringResource(R.string.patch_waze_color_material_you), ) - val presetColors = listOf(WAZE_DEFAULT, TIDAL_CYAN, materialYouColor) + val presetColors = listOf(opaqueDefault, TIDAL_CYAN, materialYouColor) val selectedPreset = presetColors.indexOf(selectedColor) Column( @@ -628,7 +636,7 @@ private fun formatSliderValue(option: OptionSpec.Slider, value: Float): String { } private const val OPAQUE_ALPHA = -0x1000000 -private const val WAZE_DEFAULT = -16747037 // #ff0075e3 +private const val TIDAL_GREEN = -14749031 // #ff1ef299 private const val TIDAL_CYAN = -14549268 // #ff21feec private fun Int.withOpaqueAlpha(): Int = (this and 0x00FFFFFF) or OPAQUE_ALPHA diff --git a/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/screens/patchopts/components/PatchAdvancedOptionsSheet.kt b/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/screens/patchopts/components/PatchAdvancedOptionsSheet.kt index 6a34223..3b929c8 100644 --- a/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/screens/patchopts/components/PatchAdvancedOptionsSheet.kt +++ b/Manager/app/src/main/kotlin/com/meowarex/rlmobile/ui/screens/patchopts/components/PatchAdvancedOptionsSheet.kt @@ -218,6 +218,7 @@ fun PatchAdvancedOptionsSheet( is OptionSpec.Color -> ColorOptionRow( title = option.title, color = state.color(patch, option), + defaultColor = option.default, onColorChange = { state.setColor(patch, option, it) }, ) } @@ -437,17 +438,24 @@ private fun ChoiceOptionRow( private fun ColorOptionRow( title: String, color: Int, + defaultColor: Int, onColorChange: (Int) -> Unit, ) { var showPicker by rememberSaveable { mutableStateOf(false) } val selectedColor = color.withOpaqueAlpha() val materialYouColor = MaterialTheme.colorScheme.primary.toArgb().withOpaqueAlpha() + val opaqueDefault = defaultColor.withOpaqueAlpha() + val defaultLabel = if (opaqueDefault == TIDAL_GREEN) { + stringResource(R.string.patch_color_green) + } else { + stringResource(R.string.patch_waze_color_waze_default) + } val presets = listOf( - stringResource(R.string.patch_waze_color_waze_default), + defaultLabel, stringResource(R.string.patch_waze_color_tidal_cyan), stringResource(R.string.patch_waze_color_material_you), ) - val presetColors = listOf(WAZE_DEFAULT, TIDAL_CYAN, materialYouColor) + val presetColors = listOf(opaqueDefault, TIDAL_CYAN, materialYouColor) val selectedPreset = presetColors.indexOf(selectedColor) Column( @@ -588,7 +596,7 @@ private fun formatSliderValue(option: OptionSpec.Slider, value: Float): String { } private const val OPAQUE_ALPHA = -0x1000000 -private const val WAZE_DEFAULT = -16747037 // #ff0075e3 +private const val TIDAL_GREEN = -14749031 // #ff1ef299 private const val TIDAL_CYAN = -14549268 // #ff21feec private fun Int.withOpaqueAlpha(): Int = (this and 0x00FFFFFF) or OPAQUE_ALPHA diff --git a/Manager/app/src/main/res/values/strings.xml b/Manager/app/src/main/res/values/strings.xml index d18b237..1a5afa2 100644 --- a/Manager/app/src/main/res/values/strings.xml +++ b/Manager/app/src/main/res/values/strings.xml @@ -305,6 +305,7 @@ Media Menu Accent Color Waze Default + Green TIDAL Cyan Material You Auto Menu diff --git a/patches/extension/radiant/SwipeToQueue.smali b/patches/extension/radiant/SwipeToQueue.smali index bf20676..36f1b08 100644 --- a/patches/extension/radiant/SwipeToQueue.smali +++ b/patches/extension/radiant/SwipeToQueue.smali @@ -49,11 +49,7 @@ new-instance v1, Landroid/graphics/drawable/ColorDrawable; - sget v2, Lcom/aspiro/wamp/R$color;->green:I - - invoke-virtual {v0, v2}, Landroid/content/Context;->getColor(I)I - - move-result v2 + const v2, __RL_SWIPE_TO_QUEUE_COLOR__ invoke-direct {v1, v2}, Landroid/graphics/drawable/ColorDrawable;->(I)V diff --git a/patches/extension/radiant/swipe/ComposeSwipeState$Draw.smali b/patches/extension/radiant/swipe/ComposeSwipeState$Draw.smali index 52bc098..0b043d0 100644 --- a/patches/extension/radiant/swipe/ComposeSwipeState$Draw.smali +++ b/patches/extension/radiant/swipe/ComposeSwipeState$Draw.smali @@ -108,7 +108,7 @@ :exposure_ready invoke-virtual {v7, v9, v1, v10, v4}, Landroid/graphics/Canvas;->clipRect(FFFF)Z - iget v11, v5, Lradiant/swipe/ComposeSwipeState;->green:I + iget v11, v5, Lradiant/swipe/ComposeSwipeState;->backgroundColor:I invoke-virtual {v7, v11}, Landroid/graphics/Canvas;->drawColor(I)V diff --git a/patches/extension/radiant/swipe/ComposeSwipeState.smali b/patches/extension/radiant/swipe/ComposeSwipeState.smali index 05bbae9..be5e69b 100644 --- a/patches/extension/radiant/swipe/ComposeSwipeState.smali +++ b/patches/extension/radiant/swipe/ComposeSwipeState.smali @@ -33,7 +33,7 @@ .field icon:Landroid/graphics/drawable/Drawable; -.field green:I +.field backgroundColor:I # direct methods @@ -606,13 +606,9 @@ :load_resources iput-object v0, p0, Lradiant/swipe/ComposeSwipeState;->context:Landroid/content/Context; - sget v1, Lcom/aspiro/wamp/R$color;->green:I + const v1, __RL_SWIPE_TO_QUEUE_COLOR__ - invoke-virtual {v0, v1}, Landroid/content/Context;->getColor(I)I - - move-result v1 - - iput v1, p0, Lradiant/swipe/ComposeSwipeState;->green:I + iput v1, p0, Lradiant/swipe/ComposeSwipeState;->backgroundColor:I sget v1, Lcom/aspiro/wamp/R$drawable;->ic_add_to_queue_last:I diff --git a/patches/manifest.json b/patches/manifest.json index 0ac26a2..b72add9 100644 --- a/patches/manifest.json +++ b/patches/manifest.json @@ -489,6 +489,13 @@ ], "defaultIndex": 0, "token": "RL_SWIPE_TO_QUEUE_DIRECTION" + }, + { + "type": "color", + "key": "background_color", + "title": "Background Color", + "default": -14749031, + "token": "RL_SWIPE_TO_QUEUE_COLOR" } ] },