Update to TIDAL 2.192.1-9090

This commit is contained in:
2026-05-25 00:13:46 +10:00
parent e105a3eb35
commit 59fe232ae4
17 changed files with 135 additions and 138 deletions
+1 -1
View File
@@ -60,7 +60,7 @@ jobs:
if [[ "$tidal_src" == *.apkm ]]; then if [[ "$tidal_src" == *.apkm ]]; then
echo "Merging splits from $tidal_src via APKEditor" echo "Merging splits from $tidal_src via APKEditor"
curl --fail --location --retry 3 --retry-delay 2 -sSo /tmp/APKEditor.jar \ curl --fail --location --retry 3 --retry-delay 2 -sSo /tmp/APKEditor.jar \
https://github.com/REAndroid/APKEditor/releases/download/V1.4.3/APKEditor-1.4.3.jar https://github.com/REAndroid/APKEditor/releases/download/V1.4.9/APKEditor-1.4.9.jar
java -jar /tmp/APKEditor.jar m -i "$tidal_src" -o ./dist/tidal-stock.apk java -jar /tmp/APKEditor.jar m -i "$tidal_src" -o ./dist/tidal-stock.apk
echo "Merged tidal-stock.apk:" echo "Merged tidal-stock.apk:"
ls -la ./dist/tidal-stock.apk ls -la ./dist/tidal-stock.apk
+6 -1
View File
@@ -138,6 +138,11 @@
<string name="contributors_contributions">%s contributions</string> <string name="contributors_contributions">%s contributions</string>
<string name="network_load_fail">Failed to load</string> <string name="network_load_fail">Failed to load</string>
<string name="network_warning_title">Metered network</string>
<string
name="network_warning_body"
>It appears you are connected to mobile data or a potentially metered network. Continuing with the installation may result in several hundred megabytes being downloaded. Are you sure you want to continue?</string>
<string name="network_warning_disable">Don\'t show this again</string>
<string name="version_none">None</string> <string name="version_none">None</string>
<string name="version_stable">Stable</string> <string name="version_stable">Stable</string>
@@ -310,7 +315,7 @@
<string name="play_protect_warning_open_gpp">Open Play Protect</string> <string name="play_protect_warning_open_gpp">Open Play Protect</string>
<string name="play_protect_warning_disable">Don\'t show this again</string> <string name="play_protect_warning_disable">Don\'t show this again</string>
<string name="fun_fact_prefix">Fun Fact: %s</string> <string name="fun_fact_prefix">%s</string>
<string name="fun_fact_1">Did you know that TIDAL no longer like blur!</string> <string name="fun_fact_1">Did you know that TIDAL no longer like blur!</string>
<string name="fun_fact_2">Radiant Lyrics is also available for DESKTOP!!!</string> <string name="fun_fact_2">Radiant Lyrics is also available for DESKTOP!!!</string>
<string name="fun_fact_3">i am in your walls!</string> <string name="fun_fact_3">i am in your walls!</string>
+2 -2
View File
@@ -1,5 +1,5 @@
{ {
"tidalVersionCode": 9089, "tidalVersionCode": 9090,
"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.6.0" "patchesVersion": "0.7.6"
} }
+13 -20
View File
@@ -1,43 +1,36 @@
--- a/com/tidal/android/core/debug/DebugFeatureInteractorDefault.smali --- a/com/tidal/android/core/debug/DebugFeatureInteractorDefault.smali
+++ b/com/tidal/android/core/debug/DebugFeatureInteractorDefault.smali +++ b/com/tidal/android/core/debug/DebugFeatureInteractorDefault.smali
@@ -53,6 +53,11 @@ @@ -54,6 +54,9 @@
.method public final a()Z .method public final a()Z
.locals 2 .locals 2
+ # rl-debug-unlock: force a() to always return true, bypassing the + const/4 v0, 0x1 # force true
+ # "debug-menu" feature flag check that normally hides the Settings entry. + return v0 # bypass debug flag
+ const/4 v0, 0x1
+ return v0
+ +
.line 1 .line 1
iget-object v0, p0, Lcom/tidal/android/core/debug/DebugFeatureInteractorDefault;->a:Lcom/tidal/android/featureflags/l; iget-object v0, p0, Lcom/tidal/android/core/debug/DebugFeatureInteractorDefault;->a:Lcom/tidal/android/featureflags/l;
@@ -97,6 +102,14 @@ @@ -98,6 +101,14 @@
} }
.end annotation .end annotation
+ # rl-debug-unlock: short-circuit b() to always emit MutableStateFlow(TRUE). + sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean; # always-true value
+ # Mirrors the original ":cond_1 :goto_0" path the app uses for internal/test builds.
+ sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
+ +
+ invoke-static {v0}, Lkotlinx/coroutines/flow/StateFlowKt;->MutableStateFlow(Ljava/lang/Object;)Lkotlinx/coroutines/flow/MutableStateFlow; + invoke-static {v0}, Lkotlinx/coroutines/flow/StateFlowKt;->MutableStateFlow(Ljava/lang/Object;)Lkotlinx/coroutines/flow/MutableStateFlow; # wrap in flow
+ +
+ move-result-object v0 + move-result-object v0 # the flow
+ +
+ return-object v0 + return-object v0 # short-circuit b()
+ +
.line 1 .line 1
sget-object v0, Lh50/a;->a:Ljava/lang/String; sget-object v0, Lj50/a;->a:Ljava/lang/String;
@@ -261,6 +274,11 @@ @@ -261,5 +272,8 @@
.method public final c()Z .method public final c()Z
.locals 3 .locals 3
+ # rl-debug-unlock: force c() to always return true, bypassing the + const/4 v0, 0x1 # force true
+ # applicationId-substring / in-app-bug-reports / export-logs flag checks. + return v0 # bypass debug flag
+ const/4 v0, 0x1
+ return v0
+ +
.line 1 .line 1
sget-object v0, Lh50/a;->a:Ljava/lang/String; sget-object v0, Lj50/a;->a:Ljava/lang/String;
+3 -3
View File
@@ -1,7 +1,7 @@
--- a/ig/d.smali --- a/kg/e.smali
+++ b/ig/d.smali +++ b/kg/e.smali
@@ -26,8 +26,8 @@ @@ -26,8 +26,8 @@
new-instance v0, Lig/d; new-instance v0, Lkg/e;
.line 2 .line 2
.line 3 .line 3
+1 -1
View File
@@ -1,6 +1,6 @@
.class public final Lradiant/NoOp; .class public final Lradiant/NoOp;
.super Ljava/lang/Object; .super Ljava/lang/Object;
.implements Ltl0/a; .implements Lyl0/a;
# static fields # static fields
@@ -4,7 +4,7 @@
# direct methods # direct methods
.method public static final a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Ltl0/a;)V .method public static final a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lyl0/a;)V
.locals 21 .locals 21
.annotation build Landroidx/compose/runtime/Composable; .annotation build Landroidx/compose/runtime/Composable;
.end annotation .end annotation
@@ -98,7 +98,7 @@
const/4 v4, 0x6 const/4 v4, 0x6
invoke-static {v2, v11, v4}, Lcom/squareup/ui/market/core/theme/w;->t(Lcom/squareup/ui/market/core/theme/k$a;Landroidx/compose/runtime/Composer;I)Lcom/squareup/ui/market/core/theme/MarketStylesheet; invoke-static {v2, v11, v4}, Lcom/squareup/ui/market/core/theme/x;->t(Lcom/squareup/ui/market/core/theme/k$a;Landroidx/compose/runtime/Composer;I)Lcom/squareup/ui/market/core/theme/MarketStylesheet;
move-result-object v15 move-result-object v15
@@ -131,7 +131,7 @@
const/16 v18, 0x0 const/16 v18, 0x0
invoke-static/range {v15 .. v20}, Lcom/squareup/ui/market/components/MarketIconButtonKt;->P(Lcom/squareup/ui/market/core/theme/MarketStylesheet;Lcom/squareup/ui/market/core/components/properties/IconButton$Size;Lcom/squareup/ui/market/core/components/properties/IconButton$Rank;Lcom/squareup/ui/market/core/components/properties/IconButton$Variant;ILjava/lang/Object;)Ll20/v1; invoke-static/range {v15 .. v20}, Lcom/squareup/ui/market/components/MarketIconButtonKt;->P(Lcom/squareup/ui/market/core/theme/MarketStylesheet;Lcom/squareup/ui/market/core/components/properties/IconButton$Size;Lcom/squareup/ui/market/core/components/properties/IconButton$Rank;Lcom/squareup/ui/market/core/components/properties/IconButton$Variant;ILjava/lang/Object;)Ln20/w1;
move-result-object v4 move-result-object v4
@@ -140,7 +140,7 @@
:cond_5 :cond_5
move-object v9, v4 move-object v9, v4
check-cast v9, Ll20/v1; check-cast v9, Ln20/w1;
sget v2, Lcom/tidal/android/feature/playerscreen/ui/R$string;->lyrics:I sget v2, Lcom/tidal/android/feature/playerscreen/ui/R$string;->lyrics:I
@@ -172,7 +172,7 @@
const/4 v8, 0x0 const/4 v8, 0x0
invoke-static/range {v1 .. v13}, Lcom/squareup/ui/market/components/MarketIconButtonKt;->c(Ltl0/a;Ljava/lang/String;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/interaction/MutableInteractionSource;ZLcom/squareup/ui/market/components/n;Ltl0/a;Ljava/lang/String;Ll20/v1;Ltl0/p;Landroidx/compose/runtime/Composer;II)V invoke-static/range {v1 .. v13}, Lcom/squareup/ui/market/components/MarketIconButtonKt;->c(Lyl0/a;Ljava/lang/String;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/interaction/MutableInteractionSource;ZLcom/squareup/ui/market/components/n;Lyl0/a;Ljava/lang/String;Ln20/w1;Lyl0/p;Landroidx/compose/runtime/Composer;II)V
invoke-static {}, Landroidx/compose/runtime/ComposerKt;->isTraceInProgress()Z invoke-static {}, Landroidx/compose/runtime/ComposerKt;->isTraceInProgress()Z
@@ -3,7 +3,7 @@
.source "SourceFile" .source "SourceFile"
# interfaces # interfaces
.implements Ltl0/p; .implements Lyl0/p;
# virtual methods # virtual methods
+1 -1
View File
@@ -1,6 +1,6 @@
.class public final Lradiant/SpvFactory; .class public final Lradiant/SpvFactory;
.super Ljava/lang/Object; .super Ljava/lang/Object;
.implements Ltl0/l; .implements Lyl0/l;
# static fields # static fields
+9 -9
View File
@@ -1,26 +1,26 @@
--- a/com/tidal/android/feature/playerscreen/ui/g0.smali --- a/com/tidal/android/feature/playerscreen/ui/h0.smali
+++ b/com/tidal/android/feature/playerscreen/ui/g0.smali +++ b/com/tidal/android/feature/playerscreen/ui/h0.smali
@@ -666,8 +666,23 @@ @@ -669,8 +669,23 @@
move-object v5, v1 move-object v5, v1
.line 288 .line 289
+ const v1, 0x52414443 # group key + const v1, 0x52414443 # group key
+ +
+ invoke-interface {v7, v1}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open group around the cover + invoke-interface {v7, v1}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open group around the cover
+ +
+ iget-object v1, v0, Lcom/tidal/android/feature/playerscreen/ui/g0;->b:Lcom/tidal/android/feature/playerscreen/ui/r$a; # player state + iget-object v1, v0, Lcom/tidal/android/feature/playerscreen/ui/h0;->b:Lcom/tidal/android/feature/playerscreen/ui/r$a; # player state
+ +
+ iget-object v1, v1, Lcom/tidal/android/feature/playerscreen/ui/r$a;->j:Lcom/tidal/android/feature/playerscreen/ui/g; # current view mode + iget-object v1, v1, Lcom/tidal/android/feature/playerscreen/ui/r$a;->j:Lcom/tidal/android/feature/playerscreen/ui/g; # current view mode
+ +
+ instance-of v1, v1, Lcom/tidal/android/feature/playerscreen/ui/g$a; # only render when on cover mode + instance-of v1, v1, Lcom/tidal/android/feature/playerscreen/ui/g$a; # cover mode only
+ +
+ if-eqz v1, :radiant_after_cover # lyrics/credits mode -> skip cover + if-eqz v1, :radiant_after_cover # lyrics/credits mode -> skip cover
+ +
invoke-static/range {v2 .. v9}, Lcom/tidal/android/feature/playerscreen/ui/composables/CoverPagerKt;->c(Lcom/tidal/android/feature/playerscreen/ui/d;Ltl0/l;FLandroidx/compose/ui/Modifier;ZLandroidx/compose/runtime/Composer;II)V invoke-static/range {v2 .. v9}, Lcom/tidal/android/feature/playerscreen/ui/composables/CoverPagerKt;->c(Lcom/tidal/android/feature/playerscreen/ui/d;Lyl0/l;FLandroidx/compose/ui/Modifier;ZLandroidx/compose/runtime/Composer;II)V
+ :radiant_after_cover + :radiant_after_cover # skip target
+ invoke-interface {v7}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close group + invoke-interface {v7}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close group
+ +
.line 289
.line 290 .line 290
.line 291 .line 291
.line 292
+6 -6
View File
@@ -1,11 +1,11 @@
--- a/com/tidal/android/feature/playerscreen/ui/composables/k1.smali --- a/com/tidal/android/feature/playerscreen/ui/composables/o1.smali
+++ b/com/tidal/android/feature/playerscreen/ui/composables/k1.smali +++ b/com/tidal/android/feature/playerscreen/ui/composables/o1.smali
@@ -64,26 +64,29 @@ @@ -64,26 +64,29 @@
.line 16 .line 16
.line 17 .line 17
- iget v2, p0, Lcom/tidal/android/feature/playerscreen/ui/composables/k1;->a:F - iget v2, p0, Lcom/tidal/android/feature/playerscreen/ui/composables/o1;->a:F
+ const/high16 v2, 0x43200000 # 160f startDp — alpha clamps to 0 above this, hiding lyrics under the pill + const/high16 v2, 0x43200000 # 160f start dp
.line 18 .line 18
.line 19 .line 19
@@ -17,9 +17,9 @@
- move-result v3 - move-result v3
+ move-result v2 # startY in px + move-result v2 # startY in px
+ +
+ const/high16 v3, 0x435c0000 # 220f endDp — 60dp transition, alpha clamps to 1 below this + const/high16 v3, 0x435c0000 # 220f end dp
+ +
+ invoke-interface {p1, v3}, Landroidx/compose/ui/unit/Density;->toPx-0680j_4(F)F + invoke-interface {p1, v3}, Landroidx/compose/ui/unit/Density;->toPx-0680j_4(F)F # dp to px
+ +
+ move-result v3 # endY in px + move-result v3 # endY in px
+7 -7
View File
@@ -1,6 +1,6 @@
--- a/com/tidal/android/feature/playerscreen/ui/b0.smali --- a/com/tidal/android/feature/playerscreen/ui/c0.smali
+++ b/com/tidal/android/feature/playerscreen/ui/b0.smali +++ b/com/tidal/android/feature/playerscreen/ui/c0.smali
@@ -45,7 +45,7 @@ @@ -47,7 +47,7 @@
# virtual methods # virtual methods
.method public final invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .method public final invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
@@ -9,9 +9,9 @@
.line 1 .line 1
move-object/from16 v0, p0 move-object/from16 v0, p0
@@ -460,6 +460,64 @@ @@ -461,6 +461,64 @@
.line 200 .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 invoke-static/range {v2 .. v9}, Lcom/tidal/android/feature/playerscreen/ui/composables/LyricsKt;->a(Lcom/tidal/android/feature/playerscreen/ui/g;Lyl0/l;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/layout/PaddingValues;Lyl0/l;Landroidx/compose/runtime/Composer;II)V
+ sget-object v17, Lradiant/SpvFactory;->a:Lradiant/SpvFactory; # progress view factory + sget-object v17, Lradiant/SpvFactory;->a:Lradiant/SpvFactory; # progress view factory
+ +
@@ -29,7 +29,7 @@
+ +
+ const/16 v24, 0x0 # synthetic null + 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; # apply clickable + invoke-static/range {v18 .. v24}, Landroidx/compose/foundation/ClickableKt;->clickable-XHw0xAI$default(Landroidx/compose/ui/Modifier;ZLjava/lang/String;Landroidx/compose/ui/semantics/Role;Lyl0/a;ILjava/lang/Object;)Landroidx/compose/ui/Modifier; # apply clickable
+ +
+ move-result-object v23 # clickable modifier + move-result-object v23 # clickable modifier
+ +
@@ -69,7 +69,7 @@
+ +
+ const/16 v22, 0x4 # default mask + 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 progress pill + invoke-static/range {v17 .. v22}, Landroidx/compose/ui/viewinterop/AndroidView_androidKt;->AndroidView(Lyl0/l;Landroidx/compose/ui/Modifier;Lyl0/l;Landroidx/compose/runtime/Composer;II)V # mount progress pill
+ +
.line 201 .line 201
.line 202 .line 202
+11 -11
View File
@@ -1,11 +1,11 @@
# rl-locals: com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali e( 79 # rl-locals: com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali e( 79
--- a/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali --- a/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
+++ b/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali +++ b/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
@@ -4931,7 +4931,11 @@ @@ -4945,7 +4945,11 @@
const/4 v10, 0x0 const/4 v7, 0x0
.line 226 .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 - invoke-static {v7, v9, v4, v2, v10}, Lcom/tidal/android/feature/playerscreen/ui/composables/k1;->a(Landroidx/compose/ui/Modifier;Lyl0/a;ZLandroidx/compose/runtime/Composer;I)V
+ const v10, 0x52414448 # empty group key + const v10, 0x52414448 # empty group key
+ +
+ invoke-interface {v2, v10}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open empty + invoke-interface {v2, v10}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open empty
@@ -14,21 +14,21 @@
.line 227 .line 227
invoke-interface {v2}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V invoke-interface {v2}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V
@@ -5838,6 +5838,22 @@ @@ -5720,6 +5724,22 @@
:cond_51 :cond_51
check-cast v4, Ltl0/a; check-cast v4, Lyl0/a;
const/4 v2, 0x0 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 invoke-static {v13, v7, v2, v4}, Lcom/tidal/android/feature/playerscreen/ui/composables/l3;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lyl0/a;)V
+ +
+ new-instance v74, Lc8/j; # lyrics-toggle lambda + new-instance v74, Lcom/tidal/android/feature/playerscreen/ui/g0; # lyrics toggle lambda
+ +
+ move-object/from16 v75, p5 # lambda receiver + move-object/from16 v75, p5 # action dispatcher
+ +
+ const/16 v76, 0x1 # lyrics action + const/16 v76, 0x0 # lyrics action disc
+ +
+ invoke-direct/range {v74 .. v76}, Lc8/j;-><init>(Ljava/lang/Object;I)V # build lambda + invoke-direct/range {v74 .. v76}, Lcom/tidal/android/feature/playerscreen/ui/g0;-><init>(Ljava/lang/Object;I)V # build lambda
+ +
+ const/16 v71, 0x0 # changed flags + const/16 v71, 0x0 # changed flags
+ +
@@ -36,4 +36,4 @@
+ +
+ const/16 v73, 0x0 # null modifier + const/16 v73, 0x0 # null modifier
+ +
+ invoke-static/range {v71 .. v74}, Lradiant/SparkleButton;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Ltl0/a;)V # render sparkle button + invoke-static/range {v71 .. v74}, Lradiant/SparkleButton;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lyl0/a;)V # render sparkle button
+14 -15
View File
@@ -1,10 +1,10 @@
--- a/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali --- a/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
+++ b/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali +++ b/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
@@ -5086,7 +5086,11 @@ @@ -5094,7 +5094,11 @@
const/4 v13, 0x0 const/4 v13, 0x0
.line 247 .line 247
- invoke-static {v9, v0, v13, v2, v10}, Lcom/tidal/android/feature/playerscreen/ui/composables/BroadcastButtonKt;->b(Lcom/tidal/android/feature/playerscreen/ui/b;Ltl0/a;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V - invoke-static {v9, v0, v10, v2, v13}, Lcom/tidal/android/feature/playerscreen/ui/composables/BroadcastButtonKt;->b(Lcom/tidal/android/feature/playerscreen/ui/b;Lyl0/a;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V
+ const v9, 0x52414244 # empty group key + const v9, 0x52414244 # empty group key
+ +
+ invoke-interface {v2, v9}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open empty + invoke-interface {v2, v9}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open empty
@@ -13,39 +13,38 @@
.line 248 .line 248
invoke-interface {v2}, Landroidx/compose/runtime/Composer;->endNode()V invoke-interface {v2}, Landroidx/compose/runtime/Composer;->endNode()V
@@ -5758,17 +5758,19 @@ @@ -5770,16 +5774,20 @@
.line 335
:cond_53 :cond_53
- new-instance v4, Landroidx/compose/foundation/text/input/internal/selection/l; - new-instance v4, Lcom/aspiro/wamp/tidalconnect/playback/i;
- -
- const/4 v6, 0x2 - invoke-direct {v4, v11, v1}, Lcom/aspiro/wamp/tidalconnect/playback/i;-><init>(Ljava/lang/Object;I)V
-
- invoke-direct {v4, v11, v6}, Landroidx/compose/foundation/text/input/internal/selection/l;-><init>(Ljava/lang/Object;I)V
- -
- .line 336 - .line 336
- invoke-interface {v7, v4}, Landroidx/compose/runtime/Composer;->updateRememberedValue(Ljava/lang/Object;)V - invoke-interface {v7, v4}, Landroidx/compose/runtime/Composer;->updateRememberedValue(Ljava/lang/Object;)V
- -
- .line 337 - .line 337
- :cond_54 - :cond_54
- check-cast v4, Ltl0/a; - check-cast v4, Lyl0/a;
- -
- const/4 v2, 0x0 - const/4 v2, 0x0
- -
- invoke-static {v13, v7, v2, v4}, Lcom/tidal/android/feature/playerscreen/ui/composables/u4;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Ltl0/a;)V - invoke-static {v13, v7, v2, v4}, Lcom/tidal/android/feature/playerscreen/ui/composables/x4;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lyl0/a;)V
+ new-instance v4, Lcom/tidal/android/feature/playerscreen/ui/f0; # connect click lambda + new-instance v4, Lcom/aspiro/wamp/tidalconnect/playback/i; # connect click lambda factory
+ +
+ move-object/from16 v6, p5 # action dispatcher + move-object/from16 v6, p5 # action dispatcher
+ +
+ const/4 v8, 0x0 # connect-clicked discriminator + const/4 v8, 0x1 # connect-clicked disc
+ +
+ invoke-direct {v4, v6, v8}, Lcom/tidal/android/feature/playerscreen/ui/f0;-><init>(Ljava/lang/Object;I)V # build lambda + invoke-direct {v4, v6, v8}, Lcom/aspiro/wamp/tidalconnect/playback/i;-><init>(Ljava/lang/Object;I)V # build lambda
+ +
+ invoke-interface {v7, v4}, Landroidx/compose/runtime/Composer;->updateRememberedValue(Ljava/lang/Object;)V # cache lambda + invoke-interface {v7, v4}, Landroidx/compose/runtime/Composer;->updateRememberedValue(Ljava/lang/Object;)V # cache lambda
+ +
+ :cond_54 + :cond_54 # cache join
+ check-cast v4, Ltl0/a; + check-cast v4, Lyl0/a; # cast to Function0
+ +
+ iget-object v8, v10, Lcom/tidal/android/feature/playerscreen/ui/r$a;->d:Lcom/tidal/android/feature/playerscreen/ui/b; # broadcast state + iget-object v8, v10, Lcom/tidal/android/feature/playerscreen/ui/r$a;->d:Lcom/tidal/android/feature/playerscreen/ui/b; # broadcast state
+ +
+ const/4 v2, 0x0 # changed flags + const/4 v2, 0x0 # changed flags
+ +
+ invoke-static {v8, v4, v13, v7, v2}, Lcom/tidal/android/feature/playerscreen/ui/composables/BroadcastButtonKt;->b(Lcom/tidal/android/feature/playerscreen/ui/b;Ltl0/a;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V # render connect button + invoke-static {v8, v4, v13, v7, v2}, Lcom/tidal/android/feature/playerscreen/ui/composables/BroadcastButtonKt;->b(Lcom/tidal/android/feature/playerscreen/ui/b;Lyl0/a;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V # render connect button
@@ -1,7 +1,7 @@
--- a/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali --- a/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
+++ b/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali +++ b/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
@@ -5854,17 +5854,38 @@ @@ -5725,17 +5725,38 @@
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 invoke-static {v13, v7, v2, v4}, Lcom/tidal/android/feature/playerscreen/ui/composables/l3;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lyl0/a;)V
+ +
+ iget-boolean v2, v10, Lcom/tidal/android/feature/playerscreen/ui/r$a;->i:Z # hasLyrics flag + iget-boolean v2, v10, Lcom/tidal/android/feature/playerscreen/ui/r$a;->i:Z # hasLyrics flag
+ +
@@ -11,13 +11,13 @@
+ +
+ invoke-interface {v7, v2}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open lyrics branch + invoke-interface {v7, v2}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open lyrics branch
new-instance v74, Lc8/j; # lyrics-toggle lambda new-instance v74, Lcom/tidal/android/feature/playerscreen/ui/g0; # lyrics toggle lambda
move-object/from16 v75, p5 # lambda receiver move-object/from16 v75, p5 # action dispatcher
const/16 v76, 0x1 # lyrics action const/16 v76, 0x0 # lyrics action disc
invoke-direct/range {v74 .. v76}, Lc8/j;-><init>(Ljava/lang/Object;I)V # build lambda invoke-direct/range {v74 .. v76}, Lcom/tidal/android/feature/playerscreen/ui/g0;-><init>(Ljava/lang/Object;I)V # build lambda
const/16 v71, 0x0 # changed flags const/16 v71, 0x0 # changed flags
@@ -25,17 +25,17 @@
const/16 v73, 0x0 # null modifier const/16 v73, 0x0 # null modifier
invoke-static/range {v71 .. v74}, Lradiant/SparkleButton;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Ltl0/a;)V # render sparkle button invoke-static/range {v71 .. v74}, Lradiant/SparkleButton;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lyl0/a;)V # render sparkle button
+ +
+ invoke-interface {v7}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close lyrics branch + invoke-interface {v7}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close lyrics branch
+ +
+ goto :goto_sparkle_done # skip empty branch + goto :goto_sparkle_done # skip empty branch
+ +
+ :cond_sparkle_no_lyrics + :cond_sparkle_no_lyrics # no-lyrics branch
+ const v2, 0x3057f75c # group key (no lyrics) + const v2, 0x3057f75c # group key (no lyrics)
+ +
+ invoke-interface {v7, v2}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open empty + invoke-interface {v7, v2}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open empty
+ +
+ invoke-interface {v7}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close empty + invoke-interface {v7}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close empty
+ +
+ :goto_sparkle_done + :goto_sparkle_done # join target
+42 -42
View File
@@ -1,11 +1,11 @@
# rl-locals: com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali e( 71 # rl-locals: com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali e( 71
--- a/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali --- a/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
+++ b/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali +++ b/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
@@ -4164,6 +4164,133 @@ @@ -4172,6 +4172,133 @@
invoke-static {v5, v3, v4}, Landroidx/compose/runtime/Updater;->set-impl(Landroidx/compose/runtime/Composer;Ljava/lang/Object;Ltl0/p;)V invoke-static {v5, v3, v4}, Landroidx/compose/runtime/Updater;->set-impl(Landroidx/compose/runtime/Composer;Ljava/lang/Object;Lyl0/p;)V
+ const v3, 0x52414449 # group key for slot table + const v3, 0x52414449 # slot table key
+ +
+ invoke-interface {v10, v3}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open group + invoke-interface {v10, v3}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open group
+ +
@@ -13,75 +13,75 @@
+ +
+ iget-object v3, v3, Lcom/tidal/android/feature/playerscreen/ui/r$a;->c:Lcom/tidal/android/feature/playerscreen/ui/d; # cover pager + iget-object v3, v3, Lcom/tidal/android/feature/playerscreen/ui/r$a;->c:Lcom/tidal/android/feature/playerscreen/ui/d; # cover pager
+ +
+ iget-object v4, v3, Lcom/tidal/android/feature/playerscreen/ui/d;->a:Lon0/b; # item list + iget-object v4, v3, Lcom/tidal/android/feature/playerscreen/ui/d;->a:Ltn0/b; # item list
+ +
+ iget v5, v3, Lcom/tidal/android/feature/playerscreen/ui/d;->b:I # current index + iget v5, v3, Lcom/tidal/android/feature/playerscreen/ui/d;->b:I # current index
+ +
+ invoke-interface {v4}, Ljava/util/List;->size()I + invoke-interface {v4}, Ljava/util/List;->size()I # list size
+ +
+ move-result v6 + move-result v6 # size value
+ +
+ if-le v6, v5, :radiant_skip # index out of bounds -> skip + if-le v6, v5, :radiant_skip # bounds check
+ +
+ if-ltz v5, :radiant_skip + if-ltz v5, :radiant_skip # negative check
+ +
+ invoke-interface {v4, v5}, Ljava/util/List;->get(I)Ljava/lang/Object; + invoke-interface {v4, v5}, Ljava/util/List;->get(I)Ljava/lang/Object; # current item
+ +
+ move-result-object v4 + move-result-object v4 # current item
+ +
+ instance-of v6, v4, Lcom/tidal/android/feature/playerscreen/ui/c$a; # only album covers + instance-of v6, v4, Lcom/tidal/android/feature/playerscreen/ui/c$a; # only album covers
+ +
+ if-eqz v6, :radiant_skip + if-eqz v6, :radiant_skip # skip non-albums
+ +
+ check-cast v4, Lcom/tidal/android/feature/playerscreen/ui/c$a; + 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 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 + iget-object v4, v4, Lcom/tidal/android/feature/playerscreen/ui/c$a;->c:Ljava/lang/String; # cover uuid
+ +
+ new-instance v6, Lcom/tidal/android/feature/playerscreen/ui/composables/p0; # tidal's cover request + new-instance v6, Lcom/tidal/android/feature/playerscreen/ui/composables/n0; # cover request lambda
+ +
+ invoke-direct {v6, v5, v4}, Lcom/tidal/android/feature/playerscreen/ui/composables/p0;-><init>(ILjava/lang/String;)V + invoke-direct {v6, v5, v4}, Lcom/tidal/android/feature/playerscreen/ui/composables/n0;-><init>(ILjava/lang/String;)V # build request
+ +
+ sget-object v5, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion; + sget-object v5, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion; # base modifier
+ +
+ const/4 v7, 0x0 + const/4 v7, 0x0 # fraction unused
+ +
+ const/4 v8, 0x1 + const/4 v8, 0x1 # default fraction
+ +
+ const/4 v3, 0x0 + 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 + 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 + move-result-object v5 # filled modifier
+ +
+ const/high16 v7, 0x42b40000 # 90f (blur radius dp) + const/high16 v7, 0x42b40000 # 90f blur dp
+ +
+ invoke-static {v7}, Landroidx/compose/ui/unit/Dp;->constructor-impl(F)F + invoke-static {v7}, Landroidx/compose/ui/unit/Dp;->constructor-impl(F)F # to Dp
+ +
+ move-result v7 + move-result v7 # blur dp value
+ +
+ sget-object v8, Landroidx/compose/ui/draw/BlurredEdgeTreatment;->Companion:Landroidx/compose/ui/draw/BlurredEdgeTreatment$Companion; + 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; + invoke-virtual {v8}, Landroidx/compose/ui/draw/BlurredEdgeTreatment$Companion;->getRectangle---Goahg()Landroidx/compose/ui/graphics/Shape; # rectangle treatment
+ +
+ move-result-object v8 + 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 + 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 + move-result-object v5 # blurred modifier
+ +
+ sget-object v7, Landroidx/compose/ui/layout/ContentScale;->Companion:Landroidx/compose/ui/layout/ContentScale$Companion; + 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 + invoke-virtual {v7}, Landroidx/compose/ui/layout/ContentScale$Companion;->getCrop()Landroidx/compose/ui/layout/ContentScale; # cover-crop scaling
+ +
+ move-result-object v7 + move-result-object v7 # crop scale
+ +
+ move-object/from16 v61, v6 # request + move-object/from16 v61, v6 # request
+ +
+ const/16 v62, 0x0 # contentDescription + const/16 v62, 0x0 # contentDescription
+ +
+ move-object/from16 v63, v5 # modifier (blurred + fillMaxSize) + move-object/from16 v63, v5 # blurred modifier
+ +
+ const/16 v64, 0x0 # colorFilter + const/16 v64, 0x0 # colorFilter
+ +
@@ -89,47 +89,47 @@
+ +
+ move-object/from16 v66, v4 # cover uuid + move-object/from16 v66, v4 # cover uuid
+ +
+ const/16 v67, 0x0 + const/16 v67, 0x0 # null onError
+ +
+ move-object/from16 v68, v10 # composer + move-object/from16 v68, v10 # composer
+ +
+ const/16 v69, 0x0 + const/16 v69, 0x0 # changed flags
+ +
+ const/16 v70, 0x48 + const/16 v70, 0x48 # default mask
+ +
+ invoke-static/range {v61 .. v70}, Lsd0/f;->a(Ltl0/l;Ljava/lang/String;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/ColorFilter;Landroidx/compose/ui/layout/ContentScale;Ljava/lang/Object;Ltl0/a;Landroidx/compose/runtime/Composer;II)V # render blurred cover + invoke-static/range {v61 .. v70}, Lxd0/f;->a(Lyl0/l;Ljava/lang/String;Landroidx/compose/ui/Modifier;Landroidx/compose/ui/graphics/ColorFilter;Landroidx/compose/ui/layout/ContentScale;Ljava/lang/Object;Lyl0/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 + sget-object v3, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion; # scrim chain start
+ +
+ const/4 v4, 0x0 # fraction unused + const/4 v4, 0x0 # fraction unused
+ +
+ const/4 v5, 0x1 # $default mask + const/4 v5, 0x1 # default mask
+ +
+ const/4 v6, 0x0 # null obj + 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 + 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 # modifier + move-result-object v3 # fullscreen modifier
+ +
+ const v6, -0x80000000 # 0x80000000 = 50% black + const v6, -0x80000000 # 50% black ARGB
+ +
+ invoke-static {v6}, Landroidx/compose/ui/graphics/ColorKt;->Color(I)J # pack ARGB long + invoke-static {v6}, Landroidx/compose/ui/graphics/ColorKt;->Color(I)J # pack color long
+ +
+ move-result-wide v6 # color + move-result-wide v6 # color long
+ +
+ invoke-static {}, Landroidx/compose/ui/graphics/RectangleShapeKt;->getRectangleShape()Landroidx/compose/ui/graphics/Shape; # rect shape + invoke-static {}, Landroidx/compose/ui/graphics/RectangleShapeKt;->getRectangleShape()Landroidx/compose/ui/graphics/Shape; # rect shape
+ +
+ move-result-object v4 # 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 + 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 # modifier + move-result-object v3 # tinted modifier
+ +
+ const/4 v4, 0x0 # $changed flags + const/4 v4, 0x0 # changed flags
+ +
+ invoke-static {v3, v10, v4}, Landroidx/compose/foundation/layout/SpacerKt;->Spacer(Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V # draw scrim + invoke-static {v3, v10, v4}, Landroidx/compose/foundation/layout/SpacerKt;->Spacer(Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V # draw scrim
+ +
+ :radiant_skip + :radiant_skip # skip target
+ invoke-interface {v10}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close group + invoke-interface {v10}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close group
+ +
.line 138 .line 138