Manager UI Updates & New patch logic <3

This commit is contained in:
2026-05-24 01:20:42 +10:00
parent 6a9b3f9d05
commit 691bcaa2b8
24 changed files with 229 additions and 205 deletions
-30
View File
@@ -1,30 +0,0 @@
--- a/com/tidal/android/feature/playerscreen/ui/composables/LyricsKt.smali
+++ b/com/tidal/android/feature/playerscreen/ui/composables/LyricsKt.smali
@@ -110,16 +110,18 @@
.line 36
move-result-wide v6
- .line 37
- sget-object v5, Lcom/tidal/android/feature/playerscreen/ui/composables/LyricsKt;->b:[F
+ add-int/lit8 v8, v3, -0xa # i - 10 (10 = active line index)
- .line 38
- .line 39
- rsub-int/lit8 v8, v3, 0xa
-
- .line 40
- .line 41
- aget v8, v5, v8
+ if-nez v8, :radiant_alpha_zero # not active line -> hide
+
+ const/high16 v8, 0x3f800000 # alpha 1.0 (visible)
+
+ goto :radiant_alpha_done
+
+ :radiant_alpha_zero
+ const/4 v8, 0x0 # alpha 0.0 (hidden)
+
+ :radiant_alpha_done
.line 42
.line 43
+39 -27
View File
@@ -1,63 +1,75 @@
--- a/com/tidal/android/feature/playerscreen/ui/b0.smali
+++ b/com/tidal/android/feature/playerscreen/ui/b0.smali
@@ -45,7 +45,7 @@
# virtual methods
.method public final invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
- .locals 17
+ .locals 26 # extra regs for the pill AndroidView call
+ .locals 26 # extra regs for AndroidView
.line 1
move-object/from16 v0, p0
@@ -460,6 +460,52 @@
@@ -460,6 +460,64 @@
.line 200
invoke-static/range {v2 .. v9}, Lcom/tidal/android/feature/playerscreen/ui/composables/LyricsKt;->a(Lcom/tidal/android/feature/playerscreen/ui/g;Ltl0/l;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/layout/PaddingValues;Ltl0/l;Landroidx/compose/runtime/Composer;II)V
+ sget-object v17, Lradiant/SpvFactory;->a:Lradiant/SpvFactory; # factory that builds the legacy progress view
+ sget-object v17, Lradiant/SpvFactory;->a:Lradiant/SpvFactory; # progress view factory
+
+ sget-object v18, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion;
+ sget-object v18, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion; # base modifier
+
+ const/16 v19, 0x0
+ const/16 v19, 0x0 # clickable enabled=true default
+
+ const/16 v20, 0x0
+ const/16 v20, 0x0 # null role
+
+ const/16 v21, 0x0
+ const/16 v21, 0x0 # null onClickLabel
+
+ sget-object v22, Lradiant/NoOp;->a:Lradiant/NoOp; # swallow taps so lyrics behind don't trigger
+ sget-object v22, Lradiant/NoOp;->a:Lradiant/NoOp; # swallow taps
+
+ const/16 v23, 0xe
+ const/16 v23, 0xe # default-flag bitmask
+
+ const/16 v24, 0x0
+ const/16 v24, 0x0 # synthetic null
+
+ invoke-static/range {v18 .. v24}, Landroidx/compose/foundation/ClickableKt;->clickable-XHw0xAI$default(Landroidx/compose/ui/Modifier;ZLjava/lang/String;Landroidx/compose/ui/semantics/Role;Ltl0/a;ILjava/lang/Object;)Landroidx/compose/ui/Modifier;
+ invoke-static/range {v18 .. v24}, Landroidx/compose/foundation/ClickableKt;->clickable-XHw0xAI$default(Landroidx/compose/ui/Modifier;ZLjava/lang/String;Landroidx/compose/ui/semantics/Role;Ltl0/a;ILjava/lang/Object;)Landroidx/compose/ui/Modifier; # apply clickable
+
+ move-result-object v23
+ move-result-object v23 # clickable modifier
+
+ const/high16 v24, 0x41800000 # 16f (horizontal padding dp)
+ move-object/from16 v0, v23 # mod to low reg
+
+ invoke-static/range {v24 .. v24}, Landroidx/compose/ui/unit/Dp;->constructor-impl(F)F
+ const/4 v1, 0x0 # ignored fraction
+
+ move-result v24
+ const/4 v2, 0x1 # use default fraction
+
+ const/high16 v25, 0x42a00000 # 80f (vertical padding dp)
+ const/4 v3, 0x0 # synthetic null
+
+ invoke-static/range {v25 .. v25}, Landroidx/compose/ui/unit/Dp;->constructor-impl(F)F
+ invoke-static {v0, v1, v2, v3}, Landroidx/compose/foundation/layout/SizeKt;->fillMaxWidth$default(Landroidx/compose/ui/Modifier;FILjava/lang/Object;)Landroidx/compose/ui/Modifier; # apply fillMaxWidth
+
+ move-result v25
+ move-result-object v23 # width-filled modifier
+
+ invoke-static/range {v23 .. v25}, Landroidx/compose/foundation/layout/PaddingKt;->padding-VpY3zN4(Landroidx/compose/ui/Modifier;FF)Landroidx/compose/ui/Modifier;
+ const/high16 v24, 0x41800000 # 16f horizontal dp
+
+ move-result-object v18
+ invoke-static/range {v24 .. v24}, Landroidx/compose/ui/unit/Dp;->constructor-impl(F)F # to Dp
+
+ const/16 v19, 0x0
+ move-result v24 # horiz padding dp
+
+ const/high16 v25, 0x42a00000 # 80f vertical dp
+
+ invoke-static/range {v25 .. v25}, Landroidx/compose/ui/unit/Dp;->constructor-impl(F)F # to Dp
+
+ move-result v25 # vert padding dp
+
+ invoke-static/range {v23 .. v25}, Landroidx/compose/foundation/layout/PaddingKt;->padding-VpY3zN4(Landroidx/compose/ui/Modifier;FF)Landroidx/compose/ui/Modifier; # apply padding
+
+ move-result-object v18 # final modifier
+
+ const/16 v19, 0x0 # null update lambda
+
+ move-object/from16 v20, v7 # composer
+
+ const/16 v21, 0x0
+ const/16 v21, 0x0 # changed flags
+
+ const/16 v22, 0x4
+ const/16 v22, 0x4 # default mask
+
+ invoke-static/range {v17 .. v22}, Landroidx/compose/ui/viewinterop/AndroidView_androidKt;->AndroidView(Ltl0/l;Landroidx/compose/ui/Modifier;Ltl0/l;Landroidx/compose/runtime/Composer;II)V # mount the progress pill on top of the lyrics
+ invoke-static/range {v17 .. v22}, Landroidx/compose/ui/viewinterop/AndroidView_androidKt;->AndroidView(Ltl0/l;Landroidx/compose/ui/Modifier;Ltl0/l;Landroidx/compose/runtime/Composer;II)V # mount progress pill
+
.line 201
.line 202
@@ -1,16 +0,0 @@
# rl-locals: com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali e( 79
--- a/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
+++ b/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
@@ -4931,7 +4931,11 @@
const/4 v10, 0x0
.line 226
- invoke-static {v10, v9, v4, v2, v7}, Lcom/tidal/android/feature/playerscreen/ui/composables/h1;->a(Landroidx/compose/ui/Modifier;Ltl0/a;ZLandroidx/compose/runtime/Composer;I)V
+ const v10, 0x52414448 # empty group key
+
+ invoke-interface {v2, v10}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open empty
+
+ invoke-interface {v2}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close empty
.line 227
invoke-interface {v2}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V
@@ -1,26 +0,0 @@
# rl-locals: com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali e( 79
--- a/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
+++ b/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
@@ -5838,6 +5838,22 @@
:cond_51
check-cast v4, Ltl0/a;
+ new-instance v74, Lc8/j; # build lyrics-toggle lambda (same one h1 used)
+
+ move-object/from16 v75, p5 # p5 holds the lambda receiver
+
+ const/16 v76, 0x1 # discriminator 1 = lyrics action
+
+ invoke-direct/range {v74 .. v76}, Lc8/j;-><init>(Ljava/lang/Object;I)V # construct lambda
+
+ const/16 v71, 0x0 # $$changed flags
+
+ move-object/from16 v72, v7 # composer
+
+ const/16 v73, 0x0 # modifier (null -> Companion)
+
+ invoke-static/range {v71 .. v74}, Lradiant/SparkleButton;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Ltl0/a;)V # render bottom-left sparkle
+
const/4 v2, 0x0
invoke-static {v13, v7, v2, v4}, Lcom/tidal/android/feature/playerscreen/ui/composables/h3;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Ltl0/a;)V