mirror of
https://github.com/meowarex/rl-mobile.git
synced 2026-08-26 22:17:44 +10:00
176 lines
7.6 KiB
Diff
176 lines
7.6 KiB
Diff
# rl-locals: com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali e( 71
|
|
--- a/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
|
|
+++ b/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
|
|
@@ -4221,6 +4221,153 @@
|
|
|
|
invoke-static {v6, v3, v4}, Landroidx/compose/runtime/Updater;->set-impl(Landroidx/compose/runtime/Composer;Ljava/lang/Object;Lem0/p;)V
|
|
|
|
+ move-object/from16 v57, v6 # capture live composer into free reg
|
|
+
|
|
+ const v58, 0x52414449 # slot table key
|
|
+
|
|
+ invoke-interface/range {v57 .. v58}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open group
|
|
+
|
|
+ move-object/from16 v3, p3 # player state
|
|
+
|
|
+ iget-object v3, v3, Lcom/tidal/android/feature/playerscreen/ui/s$a;->c:Lcom/tidal/android/feature/playerscreen/ui/d; # cover pager
|
|
+
|
|
+ iget-object v4, v3, Lcom/tidal/android/feature/playerscreen/ui/d;->a:Lzn0/b; # item list
|
|
+
|
|
+ iget v5, v3, Lcom/tidal/android/feature/playerscreen/ui/d;->b:I # current index
|
|
+
|
|
+ invoke-interface {v4}, Ljava/util/List;->size()I # list size
|
|
+
|
|
+ move-result v6 # size value
|
|
+
|
|
+ if-le v6, v5, :radiant_skip # bounds check
|
|
+
|
|
+ if-ltz v5, :radiant_skip # negative check
|
|
+
|
|
+ invoke-interface {v4, v5}, Ljava/util/List;->get(I)Ljava/lang/Object; # current item
|
|
+
|
|
+ move-result-object v4 # current item
|
|
+
|
|
+ instance-of v6, v4, Lcom/tidal/android/feature/playerscreen/ui/c$a; # still album cover?
|
|
+
|
|
+ if-eqz v6, :radiant_try_animated # if not, try animated album cover
|
|
+
|
|
+ check-cast v4, Lcom/tidal/android/feature/playerscreen/ui/c$a; # narrow type
|
|
+
|
|
+ iget v5, v4, Lcom/tidal/android/feature/playerscreen/ui/c$a;->b:I # album id
|
|
+
|
|
+ iget-object v4, v4, Lcom/tidal/android/feature/playerscreen/ui/c$a;->c:Ljava/lang/String; # cover uuid
|
|
+
|
|
+ goto :radiant_have_cover # cover resolved
|
|
+
|
|
+ :radiant_try_animated # animated album cover (c$b) shares albumId/cover layout
|
|
+ instance-of v6, v4, Lcom/tidal/android/feature/playerscreen/ui/c$b; # animated album cover?
|
|
+
|
|
+ if-eqz v6, :radiant_skip # neither -> skip (music video / unknown)
|
|
+
|
|
+ check-cast v4, Lcom/tidal/android/feature/playerscreen/ui/c$b; # narrow type
|
|
+
|
|
+ iget v5, v4, Lcom/tidal/android/feature/playerscreen/ui/c$b;->b:I # album id
|
|
+
|
|
+ iget-object v4, v4, Lcom/tidal/android/feature/playerscreen/ui/c$b;->c:Ljava/lang/String; # still cover uuid (blur this)
|
|
+
|
|
+ :radiant_have_cover # v5 = album id, v4 = cover uuid
|
|
+ new-instance v6, Lcom/tidal/android/feature/playerscreen/ui/composables/o0; # cover request lambda
|
|
+
|
|
+ invoke-direct {v6, v5, v4}, Lcom/tidal/android/feature/playerscreen/ui/composables/o0;-><init>(ILjava/lang/String;)V # build request
|
|
+
|
|
+ sget-object v5, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion; # base modifier
|
|
+
|
|
+ const/4 v7, 0x0 # fraction unused
|
|
+
|
|
+ const/4 v8, 0x1 # default fraction
|
|
+
|
|
+ const/4 v3, 0x0 # synthetic null
|
|
+
|
|
+ invoke-static {v5, v7, v8, v3}, Landroidx/compose/foundation/layout/SizeKt;->fillMaxSize$default(Landroidx/compose/ui/Modifier;FILjava/lang/Object;)Landroidx/compose/ui/Modifier; # fill the player root
|
|
+
|
|
+ move-result-object v5 # filled modifier
|
|
+
|
|
+ const v7, __RL_BLUR_BITS__ # blur dp bits (Advanced Options: Blur Strength)
|
|
+
|
|
+ invoke-static {v7}, Landroidx/compose/ui/unit/Dp;->constructor-impl(F)F # to Dp
|
|
+
|
|
+ move-result v7 # blur dp value
|
|
+
|
|
+ sget-object v8, Landroidx/compose/ui/draw/BlurredEdgeTreatment;->Companion:Landroidx/compose/ui/draw/BlurredEdgeTreatment$Companion; # blur edge companion
|
|
+
|
|
+ invoke-virtual {v8}, Landroidx/compose/ui/draw/BlurredEdgeTreatment$Companion;->getRectangle---Goahg()Landroidx/compose/ui/graphics/Shape; # rectangle treatment
|
|
+
|
|
+ move-result-object v8 # edge shape
|
|
+
|
|
+ invoke-static {v5, v7, v8}, Landroidx/compose/ui/draw/BlurKt;->blur-F8QBwvs(Landroidx/compose/ui/Modifier;FLandroidx/compose/ui/graphics/Shape;)Landroidx/compose/ui/Modifier; # apply blur
|
|
+
|
|
+ move-result-object v5 # blurred modifier
|
|
+
|
|
+ sget-object v7, Landroidx/compose/ui/layout/ContentScale;->Companion:Landroidx/compose/ui/layout/ContentScale$Companion; # scale companion
|
|
+
|
|
+ invoke-virtual {v7}, Landroidx/compose/ui/layout/ContentScale$Companion;->getCrop()Landroidx/compose/ui/layout/ContentScale; # cover-crop scaling
|
|
+
|
|
+ move-result-object v7 # crop scale
|
|
+
|
|
+ move-object/from16 v61, v6 # request
|
|
+
|
|
+ const/16 v62, 0x0 # contentDescription
|
|
+
|
|
+ move-object/from16 v63, v5 # blurred modifier
|
|
+
|
|
+ const/16 v64, 0x0 # colorFilter
|
|
+
|
|
+ move-object/from16 v65, v7 # contentScale
|
|
+
|
|
+ move-object/from16 v66, v4 # cover uuid
|
|
+
|
|
+ const/16 v67, 0x0 # null onError
|
|
+
|
|
+ move-object/from16 v68, v57 # composer
|
|
+
|
|
+ const/16 v69, 0x0 # changed flags
|
|
+
|
|
+ const/16 v70, 0x48 # default mask
|
|
+
|
|
+ invoke-static/range {v61 .. v70}, Lee0/e;->a(Lem0/l;Ljava/lang/String;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/ColorFilter;Landroidx/compose/ui/layout/ContentScale;Ljava/lang/Object;Lem0/a;Landroidx/compose/runtime/Composer;II)V # render blurred cover
|
|
+
|
|
+ sget-object v3, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion; # scrim chain start
|
|
+
|
|
+ const/4 v4, 0x0 # fraction unused
|
|
+
|
|
+ const/4 v5, 0x1 # default mask
|
|
+
|
|
+ const/4 v6, 0x0 # null obj
|
|
+
|
|
+ invoke-static {v3, v4, v5, v6}, Landroidx/compose/foundation/layout/SizeKt;->fillMaxSize$default(Landroidx/compose/ui/Modifier;FILjava/lang/Object;)Landroidx/compose/ui/Modifier; # fill screen
|
|
+
|
|
+ move-result-object v3 # fullscreen modifier
|
|
+
|
|
+ const v6, __RL_SCRIM_ARGB__ # scrim ARGB (Advanced Options: Backdrop Dimming)
|
|
+
|
|
+ invoke-static {v6}, Landroidx/compose/ui/graphics/ColorKt;->Color(I)J # pack color long
|
|
+
|
|
+ move-result-wide v6 # color long
|
|
+
|
|
+ invoke-static {}, Landroidx/compose/ui/graphics/RectangleShapeKt;->getRectangleShape()Landroidx/compose/ui/graphics/Shape; # rect shape
|
|
+
|
|
+ move-result-object v4 # rect shape
|
|
+
|
|
+ invoke-static {v3, v6, v7, v4}, Landroidx/compose/foundation/BackgroundKt;->background-bw27NRU(Landroidx/compose/ui/Modifier;JLandroidx/compose/ui/graphics/Shape;)Landroidx/compose/ui/Modifier; # tint with scrim
|
|
+
|
|
+ move-result-object v3 # tinted modifier
|
|
+
|
|
+ move-object/from16 v58, v3 # scrim modifier
|
|
+
|
|
+ move-object/from16 v59, v57 # composer
|
|
+
|
|
+ const/16 v60, 0x0 # changed flags
|
|
+
|
|
+ invoke-static/range {v58 .. v60}, Landroidx/compose/foundation/layout/SpacerKt;->Spacer(Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V # draw scrim
|
|
+
|
|
+ :radiant_skip # skip target
|
|
+ invoke-interface/range {v57 .. v57}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close group
|
|
+
|
|
.line 142
|
|
sget-object v3, Landroidx/compose/foundation/layout/BoxScopeInstance;->INSTANCE:Landroidx/compose/foundation/layout/BoxScopeInstance;
|
|
|
|
--- a/com/tidal/android/core/ui/composable/z.smali
|
|
+++ b/com/tidal/android/core/ui/composable/z.smali
|
|
@@ -13,13 +13,15 @@
|
|
.line 2
|
|
.line 3
|
|
.line 4
|
|
move-result p0
|
|
|
|
.line 5
|
|
- invoke-virtual {p2, p0}, Landroid/view/Window;->setNavigationBarColor(I)V
|
|
+ const/4 v3, 0x0
|
|
+
|
|
+ invoke-virtual {p2, v3}, Landroid/view/Window;->setNavigationBarColor(I)V # RL: force transparent nav bar so the player backdrop shows through (was p0 = TIDAL's extracted single-color BG). Luminance below still uses p0 so the light/dark icon choice adapts to the backdrop behind the now-transparent bar.
|
|
|
|
.line 6
|
|
.line 7
|
|
.line 8
|
|
sget p1, Landroid/os/Build$VERSION;->SDK_INT:I
|