Player Backdrop Image Settings <3

This commit is contained in:
2026-07-14 01:33:30 +10:00
parent 2291f4064e
commit 90c008082f
7 changed files with 553 additions and 1 deletions
@@ -51,22 +51,95 @@
"title": "Static", "title": "Static",
"fileNames": [ "fileNames": [
"player-backdrop-static.patch" "player-backdrop-static.patch"
],
"extensionFiles": [
"radiant/BackdropFx.smali"
] ]
}, },
{ {
"title": "Animated", "title": "Animated",
"fileNames": [ "fileNames": [
"player-backdrop-animated.patch" "player-backdrop-animated.patch"
],
"extensionFiles": [
"radiant/BackdropFx.smali"
] ]
}, },
{ {
"title": "Playback", "title": "Playback",
"fileNames": [ "fileNames": [
"player-backdrop-playback.patch" "player-backdrop-playback.patch"
],
"extensionFiles": [
"radiant/BackdropFx.smali"
] ]
} }
], ],
"advancedOptions": [ "advancedOptions": [
{
"type": "slider",
"key": "blur_strength",
"title": "Blur Strength",
"description": "The value of Blur applied to the backdrop cover",
"default": 50,
"min": 0,
"max": 100,
"steps": 19,
"displayAsPercent": true,
"token": "RL_BLUR",
"encode": {
"kind": "int",
"scale": 1.0
}
},
{
"type": "slider",
"key": "contrast",
"title": "Contrast",
"description": "The value of Contrast applied to the backdrop cover",
"default": 50,
"min": 0,
"max": 100,
"steps": 19,
"displayAsPercent": true,
"token": "RL_CONTRAST",
"encode": {
"kind": "floatBits",
"scale": 0.02
}
},
{
"type": "slider",
"key": "saturation",
"title": "Saturation",
"description": "The value of Saturation applied to the backdrop cover",
"default": 50,
"min": 0,
"max": 100,
"steps": 19,
"displayAsPercent": true,
"token": "RL_SATURATION",
"encode": {
"kind": "floatBits",
"scale": 0.02
}
},
{
"type": "slider",
"key": "brightness",
"title": "Brightness",
"description": "The value of Brightness applied to the backdrop cover",
"default": 50,
"min": 0,
"max": 100,
"steps": 19,
"displayAsPercent": true,
"token": "RL_BRIGHTNESS",
"encode": {
"kind": "floatBits",
"scale": 0.02
}
},
{ {
"type": "toggle", "type": "toggle",
"key": "cover_everywhere", "key": "cover_everywhere",
+1 -1
View File
@@ -1,5 +1,5 @@
{ {
"tidalVersionCode": 10004, "tidalVersionCode": 10004,
"tidalApkUrl": "https://github.com/meowarex/rl-mobile/releases/download/latest/tidal-stock.apk", "tidalApkUrl": "https://github.com/meowarex/rl-mobile/releases/download/latest/tidal-stock.apk",
"patchesVersion": "0.11.0" "patchesVersion": "0.11.1"
} }
+133
View File
@@ -0,0 +1,133 @@
.class public final Lradiant/BackdropFx;
.super Ljava/lang/Object;
.method public static apply(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
.locals 14
const v0, __RL_CONTRAST__
const v1, __RL_SATURATION__
const v2, __RL_BRIGHTNESS__
# cm = ColorMatrix(); cm.setSaturation(s)
new-instance v3, Landroid/graphics/ColorMatrix;
invoke-direct {v3}, Landroid/graphics/ColorMatrix;-><init>()V
invoke-virtual {v3, v1}, Landroid/graphics/ColorMatrix;->setSaturation(F)V
# o = 128 - 128*c (contrast pivot at mid-grey, 0..255 space)
const/high16 v4, 0x43000000
mul-float v5, v4, v0
sub-float v5, v4, v5
# contrast matrix: diag = c, offset column = o
const/16 v6, 0x14
new-array v7, v6, [F
const/4 v8, 0x0
aput v0, v7, v8
const/4 v8, 0x4
aput v5, v7, v8
const/4 v8, 0x6
aput v0, v7, v8
const/16 v8, 0x9
aput v5, v7, v8
const/16 v8, 0xc
aput v0, v7, v8
const/16 v8, 0xe
aput v5, v7, v8
const/high16 v9, 0x3f800000
const/16 v8, 0x12
aput v9, v7, v8
new-instance v8, Landroid/graphics/ColorMatrix;
invoke-direct {v8, v7}, Landroid/graphics/ColorMatrix;-><init>([F)V
invoke-virtual {v3, v8}, Landroid/graphics/ColorMatrix;->postConcat(Landroid/graphics/ColorMatrix;)V
# brightness matrix: diag = b
new-array v7, v6, [F
const/4 v8, 0x0
aput v2, v7, v8
const/4 v8, 0x6
aput v2, v7, v8
const/16 v8, 0xc
aput v2, v7, v8
const/16 v8, 0x12
aput v9, v7, v8
new-instance v8, Landroid/graphics/ColorMatrix;
invoke-direct {v8, v7}, Landroid/graphics/ColorMatrix;-><init>([F)V
invoke-virtual {v3, v8}, Landroid/graphics/ColorMatrix;->postConcat(Landroid/graphics/ColorMatrix;)V
# out = createBitmap(w, h, ARGB_8888)
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v10
invoke-virtual {p0}, Landroid/graphics/Bitmap;->getHeight()I
move-result v11
sget-object v12, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {v10, v11, v12}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v10
# canvas over out
new-instance v11, Landroid/graphics/Canvas;
invoke-direct {v11, v10}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V
# paint with the color-matrix filter
new-instance v12, Landroid/graphics/Paint;
invoke-direct {v12}, Landroid/graphics/Paint;-><init>()V
new-instance v13, Landroid/graphics/ColorMatrixColorFilter;
invoke-direct {v13, v3}, Landroid/graphics/ColorMatrixColorFilter;-><init>(Landroid/graphics/ColorMatrix;)V
invoke-virtual {v12, v13}, Landroid/graphics/Paint;->setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;
# draw the blurred bitmap through the filter
const/4 v0, 0x0
invoke-virtual {v11, p0, v0, v0, v12}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
invoke-virtual {p0}, Landroid/graphics/Bitmap;->recycle()V
return-object v10
.end method
+73
View File
@@ -51,22 +51,95 @@
"title": "Static", "title": "Static",
"fileNames": [ "fileNames": [
"player-backdrop-static.patch" "player-backdrop-static.patch"
],
"extensionFiles": [
"radiant/BackdropFx.smali"
] ]
}, },
{ {
"title": "Animated", "title": "Animated",
"fileNames": [ "fileNames": [
"player-backdrop-animated.patch" "player-backdrop-animated.patch"
],
"extensionFiles": [
"radiant/BackdropFx.smali"
] ]
}, },
{ {
"title": "Playback", "title": "Playback",
"fileNames": [ "fileNames": [
"player-backdrop-playback.patch" "player-backdrop-playback.patch"
],
"extensionFiles": [
"radiant/BackdropFx.smali"
] ]
} }
], ],
"advancedOptions": [ "advancedOptions": [
{
"type": "slider",
"key": "blur_strength",
"title": "Blur Strength",
"description": "The value of Blur applied to the backdrop cover",
"default": 50,
"min": 0,
"max": 100,
"steps": 19,
"displayAsPercent": true,
"token": "RL_BLUR",
"encode": {
"kind": "int",
"scale": 1.0
}
},
{
"type": "slider",
"key": "contrast",
"title": "Contrast",
"description": "The value of Contrast applied to the backdrop cover",
"default": 50,
"min": 0,
"max": 100,
"steps": 19,
"displayAsPercent": true,
"token": "RL_CONTRAST",
"encode": {
"kind": "floatBits",
"scale": 0.02
}
},
{
"type": "slider",
"key": "saturation",
"title": "Saturation",
"description": "The value of Saturation applied to the backdrop cover",
"default": 50,
"min": 0,
"max": 100,
"steps": 19,
"displayAsPercent": true,
"token": "RL_SATURATION",
"encode": {
"kind": "floatBits",
"scale": 0.02
}
},
{
"type": "slider",
"key": "brightness",
"title": "Brightness",
"description": "The value of Brightness applied to the backdrop cover",
"default": 50,
"min": 0,
"max": 100,
"steps": 19,
"displayAsPercent": true,
"token": "RL_BRIGHTNESS",
"encode": {
"kind": "floatBits",
"scale": 0.02
}
},
{ {
"type": "toggle", "type": "toggle",
"key": "cover_everywhere", "key": "cover_everywhere",
+91
View File
@@ -28,3 +28,94 @@
.line 6 .line 6
.line 7 .line 7
--- a/de0/c.smali
+++ b/de0/c.smali
@@ -26,29 +26,26 @@
.line 2
.line 3
.line 4
- const-string v0, "HeavyBlurTransformation() "
-
- .line 5
- .line 6
- const-string v1, " "
-
- .line 7
- .line 8
- const/4 v2, 0x6
-
- .line 9
- const/16 v3, 0x19
-
- .line 10
- .line 11
- invoke-static {v2, v3, v0, v1}, Landroidx/compose/foundation/text/input/a;->b(IILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-
- .line 12
- .line 13
- .line 14
+ new-instance v0, Ljava/lang/StringBuilder;
+ invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
+ const-string v1, "RLBackdrop_b"
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+ const/16 v1, __RL_BLUR__
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+ const-string v1, "c"
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+ const v1, __RL_CONTRAST__
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+ const-string v1, "s"
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+ const v1, __RL_SATURATION__
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+ const-string v1, "r"
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+ const v1, __RL_BRIGHTNESS__
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
-
- .line 15
iput-object v0, p0, Lde0/c;->a:Ljava/lang/String;
.line 16
@@ -59,10 +56,17 @@
# virtual methods
.method public final a(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
- .locals 2
+ .locals 3
.line 1
- const/4 v0, 0x6
+ const/16 v2, __RL_BLUR__
+ mul-int/lit8 v0, v2, 0x6
+ const/16 v1, 0x32
+ div-int v0, v0, v1
+ const/4 v1, 0x1
+ if-ge v0, v1, :rl_ds_ok
+ const/4 v0, 0x1
+ :rl_ds_ok
.line 2
invoke-static {p1, v0}, Lcom/squareup/ui/market/layout/e;->c(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
@@ -82,7 +86,7 @@
.line 9
.line 10
.line 11
- const/16 v1, 0x19
+ div-int/lit8 v1, v2, 0x2
.line 12
.line 13
@@ -93,6 +97,10 @@
.line 16
move-result-object v1
+ invoke-static {v1}, Lradiant/BackdropFx;->apply(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
+
+ move-result-object v1
+
.line 17
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
+91
View File
@@ -24,3 +24,94 @@
.line 6 .line 6
.line 7 .line 7
--- a/de0/c.smali
+++ b/de0/c.smali
@@ -26,29 +26,26 @@
.line 2
.line 3
.line 4
- const-string v0, "HeavyBlurTransformation() "
-
- .line 5
- .line 6
- const-string v1, " "
-
- .line 7
- .line 8
- const/4 v2, 0x6
-
- .line 9
- const/16 v3, 0x19
-
- .line 10
- .line 11
- invoke-static {v2, v3, v0, v1}, Landroidx/compose/foundation/text/input/a;->b(IILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-
- .line 12
- .line 13
- .line 14
+ new-instance v0, Ljava/lang/StringBuilder;
+ invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
+ const-string v1, "RLBackdrop_b"
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+ const/16 v1, __RL_BLUR__
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+ const-string v1, "c"
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+ const v1, __RL_CONTRAST__
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+ const-string v1, "s"
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+ const v1, __RL_SATURATION__
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+ const-string v1, "r"
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+ const v1, __RL_BRIGHTNESS__
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
-
- .line 15
iput-object v0, p0, Lde0/c;->a:Ljava/lang/String;
.line 16
@@ -59,10 +56,17 @@
# virtual methods
.method public final a(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
- .locals 2
+ .locals 3
.line 1
- const/4 v0, 0x6
+ const/16 v2, __RL_BLUR__
+ mul-int/lit8 v0, v2, 0x6
+ const/16 v1, 0x32
+ div-int v0, v0, v1
+ const/4 v1, 0x1
+ if-ge v0, v1, :rl_ds_ok
+ const/4 v0, 0x1
+ :rl_ds_ok
.line 2
invoke-static {p1, v0}, Lcom/squareup/ui/market/layout/e;->c(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
@@ -82,7 +86,7 @@
.line 9
.line 10
.line 11
- const/16 v1, 0x19
+ div-int/lit8 v1, v2, 0x2
.line 12
.line 13
@@ -93,6 +97,10 @@
.line 16
move-result-object v1
+ invoke-static {v1}, Lradiant/BackdropFx;->apply(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
+
+ move-result-object v1
+
.line 17
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
+91
View File
@@ -28,3 +28,94 @@
.line 6 .line 6
.line 7 .line 7
--- a/de0/c.smali
+++ b/de0/c.smali
@@ -26,29 +26,26 @@
.line 2
.line 3
.line 4
- const-string v0, "HeavyBlurTransformation() "
-
- .line 5
- .line 6
- const-string v1, " "
-
- .line 7
- .line 8
- const/4 v2, 0x6
-
- .line 9
- const/16 v3, 0x19
-
- .line 10
- .line 11
- invoke-static {v2, v3, v0, v1}, Landroidx/compose/foundation/text/input/a;->b(IILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-
- .line 12
- .line 13
- .line 14
+ new-instance v0, Ljava/lang/StringBuilder;
+ invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
+ const-string v1, "RLBackdrop_b"
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+ const/16 v1, __RL_BLUR__
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+ const-string v1, "c"
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+ const v1, __RL_CONTRAST__
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+ const-string v1, "s"
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+ const v1, __RL_SATURATION__
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+ const-string v1, "r"
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+ const v1, __RL_BRIGHTNESS__
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+ invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
-
- .line 15
iput-object v0, p0, Lde0/c;->a:Ljava/lang/String;
.line 16
@@ -59,10 +56,17 @@
# virtual methods
.method public final a(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
- .locals 2
+ .locals 3
.line 1
- const/4 v0, 0x6
+ const/16 v2, __RL_BLUR__
+ mul-int/lit8 v0, v2, 0x6
+ const/16 v1, 0x32
+ div-int v0, v0, v1
+ const/4 v1, 0x1
+ if-ge v0, v1, :rl_ds_ok
+ const/4 v0, 0x1
+ :rl_ds_ok
.line 2
invoke-static {p1, v0}, Lcom/squareup/ui/market/layout/e;->c(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
@@ -82,7 +86,7 @@
.line 9
.line 10
.line 11
- const/16 v1, 0x19
+ div-int/lit8 v1, v2, 0x2
.line 12
.line 13
@@ -93,6 +97,10 @@
.line 16
move-result-object v1
+ invoke-static {v1}, Lradiant/BackdropFx;->apply(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
+
+ move-result-object v1
+
.line 17
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V