Update APK Version & Add Playing From

This commit is contained in:
2026-07-05 20:58:22 +10:00
parent 08aee155c9
commit aae2f54fab
50 changed files with 914 additions and 615 deletions
+9 -9
View File
@@ -1,11 +1,11 @@
--- a/com/tidal/android/feature/appscaffold/ui/p.smali --- a/com/tidal/android/feature/appscaffold/ui/r.smali
+++ b/com/tidal/android/feature/appscaffold/ui/p.smali +++ b/com/tidal/android/feature/appscaffold/ui/r.smali
@@ -51,6 +51,8 @@ @@ -48,6 +48,8 @@
.line 10 .line 5
iput-object p4, p0, Lcom/tidal/android/feature/appscaffold/ui/p;->d:Ljava/lang/String; iput-object p4, p0, Lcom/tidal/android/feature/appscaffold/ui/r;->d:Ljava/lang/String;
+ invoke-static {p3, p4}, Lradiant/HomeBackdrop;->fromMiniPlayer(ILjava/lang/String;)V # capture cover state + invoke-static {p3, p4}, Lradiant/HomeBackdrop;->fromMiniPlayer(ILjava/lang/String;)V # capture cover state
+ +
.line 11 .line 6
.line 12 iput-boolean p5, p0, Lcom/tidal/android/feature/appscaffold/ui/r;->e:Z
iput-boolean p5, p0, Lcom/tidal/android/feature/appscaffold/ui/p;->e:Z
+2 -2
View File
@@ -1,5 +1,5 @@
{ {
"tidalVersionCode": 9090, "tidalVersionCode": 10002,
"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.9.15" "patchesVersion": "0.10.0"
} }
+10 -9
View File
@@ -3,17 +3,17 @@
@@ -54,6 +54,9 @@ @@ -54,6 +54,9 @@
.method public final a()Z .method public final a()Z
.locals 2 .locals 2
+ const/4 v0, 0x1 # force true + const/4 v0, 0x1 # force true
+ return v0 # bypass debug flag + return v0 # bypass debug flag
+ +
.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;
@@ -98,6 +101,14 @@ @@ -99,6 +102,14 @@
} }
.end annotation .end annotation
+ sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean; # always-true value + sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean; # always-true value
+ +
+ invoke-static {v0}, Lkotlinx/coroutines/flow/StateFlowKt;->MutableStateFlow(Ljava/lang/Object;)Lkotlinx/coroutines/flow/MutableStateFlow; # wrap in flow + invoke-static {v0}, Lkotlinx/coroutines/flow/StateFlowKt;->MutableStateFlow(Ljava/lang/Object;)Lkotlinx/coroutines/flow/MutableStateFlow; # wrap in flow
@@ -23,14 +23,15 @@
+ return-object v0 # short-circuit b() + return-object v0 # short-circuit b()
+ +
.line 1 .line 1
sget-object v0, Lj50/a;->a:Ljava/lang/String; sget-object v0, Lp50/a;->a:Ljava/lang/String;
@@ -261,5 +272,8 @@ @@ -261,6 +272,9 @@
.method public final c()Z .method public final c()Z
.locals 3 .locals 3
+ const/4 v0, 0x1 # force true + const/4 v0, 0x1 # force true
+ return v0 # bypass debug flag + return v0 # bypass debug flag
+ +
.line 1 .line 1
sget-object v0, Lj50/a;->a:Ljava/lang/String; sget-object v0, Lp50/a;->a:Ljava/lang/String;
+5 -6
View File
@@ -1,12 +1,11 @@
--- a/kg/e.smali --- a/jg/d.smali
+++ b/kg/e.smali +++ b/jg/d.smali
@@ -26,8 +26,8 @@ @@ -27,7 +27,7 @@
new-instance v0, Lkg/e;
.line 2 .line 2
.line 3 .line 3
- const-string v1, "player-market-ui" - const-string v1, "player-market-ui"
+ const-string v1, "player-market-ui-rl-forced-off" # break flag key lookup + const-string v1, "player-market-ui-rl-forced-off" # break flag key lookup
.line 4 .line 4
.line 5 .line 5
@@ -1,13 +1,12 @@
.class public final Lcom/tidal/android/feature/appscaffold/ui/q$c; .class public final Lcom/tidal/android/feature/appscaffold/ui/s$c;
.super Lcom/tidal/android/feature/appscaffold/ui/q; .super Lcom/tidal/android/feature/appscaffold/ui/s;
.source "SourceFile" .source "SourceFile"
# Synthetic mini-player event used by right swipe (previous/rewind). # Synthetic mini-player event used by right swipe (previous/rewind).
# TIDAL already exposes q$a for next in this path
# annotations # annotations
.annotation system Ldalvik/annotation/EnclosingClass; .annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/tidal/android/feature/appscaffold/ui/q; value = Lcom/tidal/android/feature/appscaffold/ui/s;
.end annotation .end annotation
.annotation system Ldalvik/annotation/InnerClass; .annotation system Ldalvik/annotation/InnerClass;
@@ -17,18 +16,18 @@
# static fields # static fields
.field public static final a:Lcom/tidal/android/feature/appscaffold/ui/q$c; .field public static final a:Lcom/tidal/android/feature/appscaffold/ui/s$c;
# direct methods # direct methods
.method static constructor <clinit>()V .method static constructor <clinit>()V
.locals 1 .locals 1
new-instance v0, Lcom/tidal/android/feature/appscaffold/ui/q$c; new-instance v0, Lcom/tidal/android/feature/appscaffold/ui/s$c;
invoke-direct {v0}, Lcom/tidal/android/feature/appscaffold/ui/q;-><init>()V invoke-direct {v0}, Lcom/tidal/android/feature/appscaffold/ui/s;-><init>()V
sput-object v0, Lcom/tidal/android/feature/appscaffold/ui/q$c;->a:Lcom/tidal/android/feature/appscaffold/ui/q$c; sput-object v0, Lcom/tidal/android/feature/appscaffold/ui/s$c;->a:Lcom/tidal/android/feature/appscaffold/ui/s$c;
return-void return-void
.end method .end method
@@ -45,7 +44,7 @@
return v0 return v0
:cond_0 :cond_0
instance-of p1, p1, Lcom/tidal/android/feature/appscaffold/ui/q$c; instance-of p1, p1, Lcom/tidal/android/feature/appscaffold/ui/s$c;
if-nez p1, :cond_1 if-nez p1, :cond_1
+3 -3
View File
@@ -273,9 +273,9 @@
sget v2, Lradiant/HomeBackdrop;->currentAlbumId:I sget v2, Lradiant/HomeBackdrop;->currentAlbumId:I
new-instance v3, Lcom/tidal/android/feature/playerscreen/ui/composables/n0; new-instance v3, Lcom/tidal/android/feature/playerscreen/ui/composables/o0;
invoke-direct {v3, v2, v1}, Lcom/tidal/android/feature/playerscreen/ui/composables/n0;-><init>(ILjava/lang/String;)V invoke-direct {v3, v2, v1}, Lcom/tidal/android/feature/playerscreen/ui/composables/o0;-><init>(ILjava/lang/String;)V
sget-object v4, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion; sget-object v4, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion;
@@ -331,7 +331,7 @@
const/16 v15, 0x48 const/16 v15, 0x48
invoke-static/range {v6 .. v15}, 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 invoke-static/range {v6 .. v15}, 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
sget-object v3, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion; sget-object v3, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion;
@@ -0,0 +1,21 @@
.class public final Lradiant/LyricsReinitGuard;
.super Ljava/lang/Object;
.source "LyricsReinitGuard.smali"
# static fields
# stuff that makes lyrics view stays open.. i forgot what it actually does other than short circuit a call or some shit <3
.field public static lastMediaId:I
# direct methods
.method static constructor <clinit>()V
.locals 1
const/4 v0, -0x1
sput v0, Lradiant/LyricsReinitGuard;->lastMediaId:I
return-void
.end method
@@ -83,7 +83,7 @@
const/16 v7, 0x8 const/16 v7, 0x8
invoke-static/range {v0 .. v7}, Landroidx/compose/animation/SingleValueAnimationKt;->animateColorAsState-euL9pac(JLandroidx/compose/animation/core/AnimationSpec;Ljava/lang/String;Lyl0/l;Landroidx/compose/runtime/Composer;II)Landroidx/compose/runtime/State; invoke-static/range {v0 .. v7}, Landroidx/compose/animation/SingleValueAnimationKt;->animateColorAsState-euL9pac(JLandroidx/compose/animation/core/AnimationSpec;Ljava/lang/String;Lem0/l;Landroidx/compose/runtime/Composer;II)Landroidx/compose/runtime/State;
move-result-object v0 move-result-object v0
@@ -1,6 +1,6 @@
.class public final Lradiant/MiniPlayerGestures$FeedbackLayer; .class public final Lradiant/MiniPlayerGestures$FeedbackLayer;
.super Ljava/lang/Object; .super Ljava/lang/Object;
.implements Lyl0/l; .implements Lem0/l;
# annotations # annotations
@@ -41,7 +41,7 @@
# virtual methods # virtual methods
.method public final invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/u; .method public final invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/v;
.locals 1 .locals 1
sget-object v0, Lradiant/MiniPlayerGestures;->v:Landroidx/compose/runtime/MutableFloatState; sget-object v0, Lradiant/MiniPlayerGestures;->v:Landroidx/compose/runtime/MutableFloatState;
@@ -52,7 +52,7 @@
invoke-interface {p1, v0}, Landroidx/compose/ui/graphics/GraphicsLayerScope;->setTranslationY(F)V invoke-interface {p1, v0}, Landroidx/compose/ui/graphics/GraphicsLayerScope;->setTranslationY(F)V
sget-object p1, Lkotlin/u;->a:Lkotlin/u; sget-object p1, Lkotlin/v;->a:Lkotlin/v;
return-object p1 return-object p1
.end method .end method
@@ -62,7 +62,7 @@
check-cast p1, Landroidx/compose/ui/graphics/GraphicsLayerScope; check-cast p1, Landroidx/compose/ui/graphics/GraphicsLayerScope;
invoke-virtual {p0, p1}, Lradiant/MiniPlayerGestures$FeedbackLayer;->invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/u; invoke-virtual {p0, p1}, Lradiant/MiniPlayerGestures$FeedbackLayer;->invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/v;
move-result-object p1 move-result-object p1
@@ -1,6 +1,6 @@
.class public final Lradiant/MiniPlayerGestures$Gesture; .class public final Lradiant/MiniPlayerGestures$Gesture;
.super Ljava/lang/Object; .super Ljava/lang/Object;
.implements Lyl0/l; .implements Lem0/l;
# annotations # annotations
.annotation system Ldalvik/annotation/EnclosingClass; .annotation system Ldalvik/annotation/EnclosingClass;
@@ -14,7 +14,7 @@
# instance fields # instance fields
.field public final a:Lyl0/l; .field public final a:Lem0/l;
# Y at ACTION_DOWN # Y at ACTION_DOWN
.field public b:F .field public b:F
@@ -43,12 +43,12 @@
# direct methods # direct methods
.method public constructor <init>(Lyl0/l;Landroidx/compose/material3/SheetState;Z)V .method public constructor <init>(Lem0/l;Landroidx/compose/material3/SheetState;Z)V
.locals 0 .locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/MiniPlayerGestures$Gesture;->a:Lyl0/l; iput-object p1, p0, Lradiant/MiniPlayerGestures$Gesture;->a:Lem0/l;
iput-object p2, p0, Lradiant/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState; iput-object p2, p0, Lradiant/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
@@ -90,9 +90,9 @@
iget-object v0, p0, Lradiant/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState; iget-object v0, p0, Lradiant/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
iget-object v1, p0, Lradiant/MiniPlayerGestures$Gesture;->a:Lyl0/l; iget-object v1, p0, Lradiant/MiniPlayerGestures$Gesture;->a:Lem0/l;
invoke-static {v0, v1, p1}, Lradiant/MiniPlayerGestures;->finishDrag(Landroidx/compose/material3/SheetState;Lyl0/l;F)V invoke-static {v0, v1, p1}, Lradiant/MiniPlayerGestures;->finishDrag(Landroidx/compose/material3/SheetState;Lem0/l;F)V
return-void return-void
.end method .end method
@@ -100,11 +100,11 @@
.method private openPlayer()V .method private openPlayer()V
.locals 2 .locals 2
iget-object v0, p0, Lradiant/MiniPlayerGestures$Gesture;->a:Lyl0/l; iget-object v0, p0, Lradiant/MiniPlayerGestures$Gesture;->a:Lem0/l;
sget-object v1, Lcom/tidal/android/feature/appscaffold/ui/b$b;->a:Lcom/tidal/android/feature/appscaffold/ui/b$b; sget-object v1, Lcom/tidal/android/feature/appscaffold/ui/b$b;->a:Lcom/tidal/android/feature/appscaffold/ui/b$b;
invoke-interface {v0, v1}, Lyl0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; invoke-interface {v0, v1}, Lem0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
return-void return-void
.end method .end method
@@ -174,7 +174,7 @@
# virtual methods # virtual methods
# Listens for MotionEvents # Listens for MotionEvents
.method public final invoke(Landroid/view/MotionEvent;)Lkotlin/u; .method public final invoke(Landroid/view/MotionEvent;)Lkotlin/v;
.locals 11 .locals 11
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
@@ -467,9 +467,9 @@
move-result v0 move-result v0
iget-object v1, p0, Lradiant/MiniPlayerGestures$Gesture;->a:Lyl0/l; iget-object v1, p0, Lradiant/MiniPlayerGestures$Gesture;->a:Lem0/l;
invoke-static {v1, v0}, Lradiant/MiniPlayerGestures;->completeSimpleSwipe(Lyl0/l;F)Z invoke-static {v1, v0}, Lradiant/MiniPlayerGestures;->completeSimpleSwipe(Lem0/l;F)Z
invoke-static {}, Lradiant/MiniPlayerGestures;->animateSwipeFeedbackReset()V invoke-static {}, Lradiant/MiniPlayerGestures;->animateSwipeFeedbackReset()V
@@ -489,9 +489,9 @@
iget-object v0, p0, Lradiant/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState; iget-object v0, p0, Lradiant/MiniPlayerGestures$Gesture;->f:Landroidx/compose/material3/SheetState;
iget-object v1, p0, Lradiant/MiniPlayerGestures$Gesture;->a:Lyl0/l; iget-object v1, p0, Lradiant/MiniPlayerGestures$Gesture;->a:Lem0/l;
invoke-static {v0, v1}, Lradiant/MiniPlayerGestures;->cancelDrag(Landroidx/compose/material3/SheetState;Lyl0/l;)V invoke-static {v0, v1}, Lradiant/MiniPlayerGestures;->cancelDrag(Landroidx/compose/material3/SheetState;Lem0/l;)V
goto :cancel_reset goto :cancel_reset
@@ -503,7 +503,7 @@
:done :done
sget-object p1, Lkotlin/u;->a:Lkotlin/u; sget-object p1, Lkotlin/v;->a:Lkotlin/v;
return-object p1 return-object p1
.end method .end method
@@ -513,7 +513,7 @@
check-cast p1, Landroid/view/MotionEvent; check-cast p1, Landroid/view/MotionEvent;
invoke-virtual {p0, p1}, Lradiant/MiniPlayerGestures$Gesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/u; invoke-virtual {p0, p1}, Lradiant/MiniPlayerGestures$Gesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/v;
move-result-object p1 move-result-object p1
@@ -1,6 +1,6 @@
.class public final Lradiant/MiniPlayerGestures$RootGesture; .class public final Lradiant/MiniPlayerGestures$RootGesture;
.super Ljava/lang/Object; .super Ljava/lang/Object;
.implements Lyl0/l; .implements Lem0/l;
# annotations # annotations
@@ -15,18 +15,18 @@
# instance fields # instance fields
.field public final a:Lyl0/l; .field public final a:Lem0/l;
.field public final b:Landroidx/compose/material3/SheetState; .field public final b:Landroidx/compose/material3/SheetState;
# direct methods # direct methods
.method public constructor <init>(Lyl0/l;Landroidx/compose/material3/SheetState;)V .method public constructor <init>(Lem0/l;Landroidx/compose/material3/SheetState;)V
.locals 0 .locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/MiniPlayerGestures$RootGesture;->a:Lyl0/l; iput-object p1, p0, Lradiant/MiniPlayerGestures$RootGesture;->a:Lem0/l;
iput-object p2, p0, Lradiant/MiniPlayerGestures$RootGesture;->b:Landroidx/compose/material3/SheetState; iput-object p2, p0, Lradiant/MiniPlayerGestures$RootGesture;->b:Landroidx/compose/material3/SheetState;
@@ -35,7 +35,7 @@
# virtual methods # virtual methods
.method public final invoke(Landroid/view/MotionEvent;)Lkotlin/u; .method public final invoke(Landroid/view/MotionEvent;)Lkotlin/v;
.locals 6 .locals 6
iget-object v0, p0, Lradiant/MiniPlayerGestures$RootGesture;->b:Landroidx/compose/material3/SheetState; iget-object v0, p0, Lradiant/MiniPlayerGestures$RootGesture;->b:Landroidx/compose/material3/SheetState;
@@ -100,9 +100,9 @@
move-result v1 move-result v1
iget-object v2, p0, Lradiant/MiniPlayerGestures$RootGesture;->a:Lyl0/l; iget-object v2, p0, Lradiant/MiniPlayerGestures$RootGesture;->a:Lem0/l;
invoke-static {v2, v1}, Lradiant/MiniPlayerGestures;->completeSimpleSwipe(Lyl0/l;F)Z invoke-static {v2, v1}, Lradiant/MiniPlayerGestures;->completeSimpleSwipe(Lem0/l;F)Z
invoke-static {}, Lradiant/MiniPlayerGestures;->animateSwipeFeedbackReset()V invoke-static {}, Lradiant/MiniPlayerGestures;->animateSwipeFeedbackReset()V
@@ -143,9 +143,9 @@
move-result v1 move-result v1
iget-object v2, p0, Lradiant/MiniPlayerGestures$RootGesture;->a:Lyl0/l; iget-object v2, p0, Lradiant/MiniPlayerGestures$RootGesture;->a:Lem0/l;
invoke-static {v0, v2, v1}, Lradiant/MiniPlayerGestures;->finishDrag(Landroidx/compose/material3/SheetState;Lyl0/l;F)V invoke-static {v0, v2, v1}, Lradiant/MiniPlayerGestures;->finishDrag(Landroidx/compose/material3/SheetState;Lem0/l;F)V
invoke-static {}, Lradiant/MiniPlayerGestures;->animateSwipeFeedbackReset()V invoke-static {}, Lradiant/MiniPlayerGestures;->animateSwipeFeedbackReset()V
@@ -153,14 +153,14 @@
# ACTION_CANCEL # ACTION_CANCEL
:cancel :cancel
iget-object v2, p0, Lradiant/MiniPlayerGestures$RootGesture;->a:Lyl0/l; iget-object v2, p0, Lradiant/MiniPlayerGestures$RootGesture;->a:Lem0/l;
invoke-static {v0, v2}, Lradiant/MiniPlayerGestures;->cancelDrag(Landroidx/compose/material3/SheetState;Lyl0/l;)V invoke-static {v0, v2}, Lradiant/MiniPlayerGestures;->cancelDrag(Landroidx/compose/material3/SheetState;Lem0/l;)V
invoke-static {}, Lradiant/MiniPlayerGestures;->animateSwipeFeedbackReset()V invoke-static {}, Lradiant/MiniPlayerGestures;->animateSwipeFeedbackReset()V
:done :done
sget-object p1, Lkotlin/u;->a:Lkotlin/u; sget-object p1, Lkotlin/v;->a:Lkotlin/v;
return-object p1 return-object p1
.end method .end method
@@ -170,7 +170,7 @@
check-cast p1, Landroid/view/MotionEvent; check-cast p1, Landroid/view/MotionEvent;
invoke-virtual {p0, p1}, Lradiant/MiniPlayerGestures$RootGesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/u; invoke-virtual {p0, p1}, Lradiant/MiniPlayerGestures$RootGesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/v;
move-result-object p1 move-result-object p1
@@ -23,7 +23,7 @@
.field private static g:Landroidx/compose/material3/SheetState; .field private static g:Landroidx/compose/material3/SheetState;
# Material3 settle lambda # Material3 settle lambda
.field private static h:Lyl0/l; .field private static h:Lem0/l;
# Latest MotionEvent eventTime for drag updates # Latest MotionEvent eventTime for drag updates
.field private static i:J .field private static i:J
@@ -51,7 +51,7 @@
.field private static r:Z .field private static r:Z
# AppScaffold context # AppScaffold context
.field private static s:Lyl0/l; .field private static s:Lem0/l;
.field private static t:Landroidx/compose/material3/SheetState; .field private static t:Landroidx/compose/material3/SheetState;
@@ -321,7 +321,7 @@
sput-object v0, Lradiant/MiniPlayerGestures;->g:Landroidx/compose/material3/SheetState; sput-object v0, Lradiant/MiniPlayerGestures;->g:Landroidx/compose/material3/SheetState;
sput-object v0, Lradiant/MiniPlayerGestures;->h:Lyl0/l; sput-object v0, Lradiant/MiniPlayerGestures;->h:Lem0/l;
sput v0, Lradiant/MiniPlayerGestures;->d:F sput v0, Lradiant/MiniPlayerGestures;->d:F
@@ -437,7 +437,7 @@
return-void return-void
.end method .end method
.method public static cancelDrag(Landroidx/compose/material3/SheetState;Lyl0/l;)V .method public static cancelDrag(Landroidx/compose/material3/SheetState;Lem0/l;)V
.locals 1 .locals 1
invoke-static {p0}, Lradiant/MiniPlayerGestures;->isDragging(Landroidx/compose/material3/SheetState;)Z invoke-static {p0}, Lradiant/MiniPlayerGestures;->isDragging(Landroidx/compose/material3/SheetState;)Z
@@ -450,13 +450,13 @@
sget-object p0, Lcom/tidal/android/feature/appscaffold/ui/b$a;->a:Lcom/tidal/android/feature/appscaffold/ui/b$a; sget-object p0, Lcom/tidal/android/feature/appscaffold/ui/b$a;->a:Lcom/tidal/android/feature/appscaffold/ui/b$a;
invoke-interface {p1, p0}, Lyl0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; invoke-interface {p1, p0}, Lem0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
:done :done
return-void return-void
.end method .end method
.method public static finishDrag(Landroidx/compose/material3/SheetState;Lyl0/l;F)V .method public static finishDrag(Landroidx/compose/material3/SheetState;Lem0/l;F)V
.locals 6 .locals 6
invoke-static {p0}, Lradiant/MiniPlayerGestures;->isDragging(Landroidx/compose/material3/SheetState;)Z invoke-static {p0}, Lradiant/MiniPlayerGestures;->isDragging(Landroidx/compose/material3/SheetState;)Z
@@ -469,7 +469,7 @@
if-ne v0, p0, :fallback_snap if-ne v0, p0, :fallback_snap
sget-object v0, Lradiant/MiniPlayerGestures;->h:Lyl0/l; sget-object v0, Lradiant/MiniPlayerGestures;->h:Lem0/l;
if-eqz v0, :fallback_snap if-eqz v0, :fallback_snap
@@ -485,7 +485,7 @@
move-result-object p0 move-result-object p0
invoke-interface {v0, p0}, Lyl0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; invoke-interface {v0, p0}, Lem0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
goto/16 :done goto/16 :done
@@ -589,7 +589,7 @@
sget-object p0, Lcom/tidal/android/feature/appscaffold/ui/b$a;->a:Lcom/tidal/android/feature/appscaffold/ui/b$a; sget-object p0, Lcom/tidal/android/feature/appscaffold/ui/b$a;->a:Lcom/tidal/android/feature/appscaffold/ui/b$a;
invoke-interface {p1, p0}, Lyl0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; invoke-interface {p1, p0}, Lem0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
:done :done
return-void return-void
@@ -748,10 +748,10 @@
return-void return-void
.end method .end method
.method public static configure(Lyl0/l;Landroidx/compose/material3/SheetState;Z)V .method public static configure(Lem0/l;Landroidx/compose/material3/SheetState;Z)V
.locals 0 .locals 0
sput-object p0, Lradiant/MiniPlayerGestures;->s:Lyl0/l; sput-object p0, Lradiant/MiniPlayerGestures;->s:Lem0/l;
sput-object p1, Lradiant/MiniPlayerGestures;->t:Landroidx/compose/material3/SheetState; sput-object p1, Lradiant/MiniPlayerGestures;->t:Landroidx/compose/material3/SheetState;
@@ -798,7 +798,7 @@
sget-object v0, Lradiant/MiniPlayerGestures$FeedbackLayer;->INSTANCE:Lradiant/MiniPlayerGestures$FeedbackLayer; sget-object v0, Lradiant/MiniPlayerGestures$FeedbackLayer;->INSTANCE:Lradiant/MiniPlayerGestures$FeedbackLayer;
invoke-static {p0, v0}, Landroidx/compose/ui/graphics/GraphicsLayerModifierKt;->graphicsLayer(Landroidx/compose/ui/Modifier;Lyl0/l;)Landroidx/compose/ui/Modifier; invoke-static {p0, v0}, Landroidx/compose/ui/graphics/GraphicsLayerModifierKt;->graphicsLayer(Landroidx/compose/ui/Modifier;Lem0/l;)Landroidx/compose/ui/Modifier;
move-result-object p0 move-result-object p0
@@ -848,14 +848,14 @@
return p0 return p0
.end method .end method
.method public static modifier(Landroidx/compose/ui/Modifier;Lyl0/l;Landroidx/compose/material3/SheetState;Z)Landroidx/compose/ui/Modifier; .method public static modifier(Landroidx/compose/ui/Modifier;Lem0/l;Landroidx/compose/material3/SheetState;Z)Landroidx/compose/ui/Modifier;
.locals 1 .locals 1
new-instance v0, Lradiant/MiniPlayerGestures$Gesture; new-instance v0, Lradiant/MiniPlayerGestures$Gesture;
invoke-direct {v0, p1, p2, p3}, Lradiant/MiniPlayerGestures$Gesture;-><init>(Lyl0/l;Landroidx/compose/material3/SheetState;Z)V invoke-direct {v0, p1, p2, p3}, Lradiant/MiniPlayerGestures$Gesture;-><init>(Lem0/l;Landroidx/compose/material3/SheetState;Z)V
invoke-static {p0, v0}, Landroidx/compose/ui/input/pointer/PointerInteropFilter_androidKt;->motionEventSpy(Landroidx/compose/ui/Modifier;Lyl0/l;)Landroidx/compose/ui/Modifier; invoke-static {p0, v0}, Landroidx/compose/ui/input/pointer/PointerInteropFilter_androidKt;->motionEventSpy(Landroidx/compose/ui/Modifier;Lem0/l;)Landroidx/compose/ui/Modifier;
move-result-object p0 move-result-object p0
@@ -865,7 +865,7 @@
.method public static trackAreaModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; .method public static trackAreaModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
.locals 3 .locals 3
sget-object v0, Lradiant/MiniPlayerGestures;->s:Lyl0/l; sget-object v0, Lradiant/MiniPlayerGestures;->s:Lem0/l;
if-eqz v0, :done if-eqz v0, :done
@@ -875,7 +875,7 @@
sget-boolean v2, Lradiant/MiniPlayerGestures;->u:Z sget-boolean v2, Lradiant/MiniPlayerGestures;->u:Z
invoke-static {p0, v0, v1, v2}, Lradiant/MiniPlayerGestures;->modifier(Landroidx/compose/ui/Modifier;Lyl0/l;Landroidx/compose/material3/SheetState;Z)Landroidx/compose/ui/Modifier; invoke-static {p0, v0, v1, v2}, Lradiant/MiniPlayerGestures;->modifier(Landroidx/compose/ui/Modifier;Lem0/l;Landroidx/compose/material3/SheetState;Z)Landroidx/compose/ui/Modifier;
move-result-object p0 move-result-object p0
@@ -988,7 +988,7 @@
return-void return-void
.end method .end method
.method public static completeSimpleSwipe(Lyl0/l;F)Z .method public static completeSimpleSwipe(Lem0/l;F)Z
.locals 4 .locals 4
sget-boolean v0, Lradiant/MiniPlayerGestures;->u:Z sget-boolean v0, Lradiant/MiniPlayerGestures;->u:Z
@@ -1035,7 +1035,7 @@
sget-object v0, Lcom/tidal/android/feature/appscaffold/ui/b$b;->a:Lcom/tidal/android/feature/appscaffold/ui/b$b; sget-object v0, Lcom/tidal/android/feature/appscaffold/ui/b$b;->a:Lcom/tidal/android/feature/appscaffold/ui/b$b;
invoke-interface {p0, v0}, Lyl0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; invoke-interface {p0, v0}, Lem0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
const/4 v0, 0x1 const/4 v0, 0x1
@@ -1307,26 +1307,26 @@
return p0 return p0
.end method .end method
.method public static rootModifier(Landroidx/compose/ui/Modifier;Lyl0/l;Landroidx/compose/material3/SheetState;)Landroidx/compose/ui/Modifier; .method public static rootModifier(Landroidx/compose/ui/Modifier;Lem0/l;Landroidx/compose/material3/SheetState;)Landroidx/compose/ui/Modifier;
.locals 1 .locals 1
new-instance v0, Lradiant/MiniPlayerGestures$RootGesture; new-instance v0, Lradiant/MiniPlayerGestures$RootGesture;
invoke-direct {v0, p1, p2}, Lradiant/MiniPlayerGestures$RootGesture;-><init>(Lyl0/l;Landroidx/compose/material3/SheetState;)V invoke-direct {v0, p1, p2}, Lradiant/MiniPlayerGestures$RootGesture;-><init>(Lem0/l;Landroidx/compose/material3/SheetState;)V
invoke-static {p0, v0}, Landroidx/compose/ui/input/pointer/PointerInteropFilter_androidKt;->motionEventSpy(Landroidx/compose/ui/Modifier;Lyl0/l;)Landroidx/compose/ui/Modifier; invoke-static {p0, v0}, Landroidx/compose/ui/input/pointer/PointerInteropFilter_androidKt;->motionEventSpy(Landroidx/compose/ui/Modifier;Lem0/l;)Landroidx/compose/ui/Modifier;
move-result-object p0 move-result-object p0
return-object p0 return-object p0
.end method .end method
.method public static setSettleCallback(Landroidx/compose/material3/SheetState;Lyl0/l;)V .method public static setSettleCallback(Landroidx/compose/material3/SheetState;Lem0/l;)V
.locals 0 .locals 0
sput-object p0, Lradiant/MiniPlayerGestures;->g:Landroidx/compose/material3/SheetState; sput-object p0, Lradiant/MiniPlayerGestures;->g:Landroidx/compose/material3/SheetState;
sput-object p1, Lradiant/MiniPlayerGestures;->h:Lyl0/l; sput-object p1, Lradiant/MiniPlayerGestures;->h:Lem0/l;
return-void return-void
.end method .end method
@@ -1,6 +1,6 @@
.class public final Lradiant/MiniPlayerTrackGestures$Gesture; .class public final Lradiant/MiniPlayerTrackGestures$Gesture;
.super Ljava/lang/Object; .super Ljava/lang/Object;
.implements Lyl0/l; .implements Lem0/l;
# annotations # annotations
@@ -15,16 +15,16 @@
# instance fields # instance fields
.field public final a:Lyl0/l; .field public final a:Lem0/l;
# direct methods # direct methods
.method public constructor <init>(Lyl0/l;)V .method public constructor <init>(Lem0/l;)V
.locals 0 .locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/MiniPlayerTrackGestures$Gesture;->a:Lyl0/l; iput-object p1, p0, Lradiant/MiniPlayerTrackGestures$Gesture;->a:Lem0/l;
return-void return-void
.end method .end method
@@ -32,11 +32,11 @@
.method private nextTrack()V .method private nextTrack()V
.locals 2 .locals 2
iget-object v0, p0, Lradiant/MiniPlayerTrackGestures$Gesture;->a:Lyl0/l; iget-object v0, p0, Lradiant/MiniPlayerTrackGestures$Gesture;->a:Lem0/l;
sget-object v1, Lcom/tidal/android/feature/appscaffold/ui/q$a;->a:Lcom/tidal/android/feature/appscaffold/ui/q$a; # Tidal's built-in next track mini-player event sget-object v1, Lcom/tidal/android/feature/appscaffold/ui/s$a;->a:Lcom/tidal/android/feature/appscaffold/ui/s$a; # Tidal's built-in next track mini-player event
invoke-interface {v0, v1}, Lyl0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; invoke-interface {v0, v1}, Lem0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
return-void return-void
.end method .end method
@@ -44,18 +44,18 @@
.method private previousTrack()V .method private previousTrack()V
.locals 2 .locals 2
iget-object v0, p0, Lradiant/MiniPlayerTrackGestures$Gesture;->a:Lyl0/l; iget-object v0, p0, Lradiant/MiniPlayerTrackGestures$Gesture;->a:Lem0/l;
sget-object v1, Lcom/tidal/android/feature/appscaffold/ui/q$c;->a:Lcom/tidal/android/feature/appscaffold/ui/q$c; # Our synthetic previous track event sget-object v1, Lcom/tidal/android/feature/appscaffold/ui/s$c;->a:Lcom/tidal/android/feature/appscaffold/ui/s$c; # Our synthetic previous track event
invoke-interface {v0, v1}, Lyl0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; invoke-interface {v0, v1}, Lem0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
return-void return-void
.end method .end method
# virtual methods # virtual methods
.method public final invoke(Landroid/view/MotionEvent;)Lkotlin/u; .method public final invoke(Landroid/view/MotionEvent;)Lkotlin/v;
.locals 3 .locals 3
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
@@ -132,7 +132,7 @@
invoke-static {}, Lradiant/MiniPlayerTrackGestures;->cancelDrag()V invoke-static {}, Lradiant/MiniPlayerTrackGestures;->cancelDrag()V
:done :done
sget-object p1, Lkotlin/u;->a:Lkotlin/u; sget-object p1, Lkotlin/v;->a:Lkotlin/v;
return-object p1 return-object p1
.end method .end method
@@ -142,7 +142,7 @@
check-cast p1, Landroid/view/MotionEvent; check-cast p1, Landroid/view/MotionEvent;
invoke-virtual {p0, p1}, Lradiant/MiniPlayerTrackGestures$Gesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/u; invoke-virtual {p0, p1}, Lradiant/MiniPlayerTrackGestures$Gesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/v;
move-result-object p1 move-result-object p1
@@ -1,6 +1,6 @@
.class public final Lradiant/MiniPlayerTrackGestures$OffsetLayer; .class public final Lradiant/MiniPlayerTrackGestures$OffsetLayer;
.super Ljava/lang/Object; .super Ljava/lang/Object;
.implements Lyl0/l; .implements Lem0/l;
# annotations # annotations
@@ -41,7 +41,7 @@
# virtual methods # virtual methods
.method public final invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/u; .method public final invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/v;
.locals 1 .locals 1
sget-object v0, Lradiant/MiniPlayerTrackGestures;->b:Landroidx/compose/runtime/MutableFloatState; sget-object v0, Lradiant/MiniPlayerTrackGestures;->b:Landroidx/compose/runtime/MutableFloatState;
@@ -52,7 +52,7 @@
invoke-interface {p1, v0}, Landroidx/compose/ui/graphics/GraphicsLayerScope;->setTranslationX(F)V invoke-interface {p1, v0}, Landroidx/compose/ui/graphics/GraphicsLayerScope;->setTranslationX(F)V
sget-object p1, Lkotlin/u;->a:Lkotlin/u; sget-object p1, Lkotlin/v;->a:Lkotlin/v;
return-object p1 return-object p1
.end method .end method
@@ -62,7 +62,7 @@
check-cast p1, Landroidx/compose/ui/graphics/GraphicsLayerScope; check-cast p1, Landroidx/compose/ui/graphics/GraphicsLayerScope;
invoke-virtual {p0, p1}, Lradiant/MiniPlayerTrackGestures$OffsetLayer;->invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/u; invoke-virtual {p0, p1}, Lradiant/MiniPlayerTrackGestures$OffsetLayer;->invoke(Landroidx/compose/ui/graphics/GraphicsLayerScope;)Lkotlin/v;
move-result-object p1 move-result-object p1
@@ -1,6 +1,6 @@
.class public final Lradiant/MiniPlayerTrackGestures$TextDraw; .class public final Lradiant/MiniPlayerTrackGestures$TextDraw;
.super Ljava/lang/Object; .super Ljava/lang/Object;
.implements Lyl0/l; .implements Lem0/l;
# annotations # annotations
@@ -41,7 +41,7 @@
# virtual methods # virtual methods
.method public final invoke(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)Lkotlin/u; .method public final invoke(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)Lkotlin/v;
.locals 12 .locals 12
sget-object v0, Lradiant/MiniPlayerTrackGestures;->b:Landroidx/compose/runtime/MutableFloatState; sget-object v0, Lradiant/MiniPlayerTrackGestures;->b:Landroidx/compose/runtime/MutableFloatState;
@@ -101,16 +101,28 @@
:try_end_0 :try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-static {v7, v8, v9}, Landroidx/compose/animation/i;->b(Landroidx/compose/ui/graphics/drawscope/DrawContext;J)V invoke-interface {v7}, Landroidx/compose/ui/graphics/drawscope/DrawContext;->getCanvas()Landroidx/compose/ui/graphics/Canvas;
sget-object p1, Lkotlin/u;->a:Lkotlin/u; move-result-object v0
invoke-interface {v0}, Landroidx/compose/ui/graphics/Canvas;->restore()V
invoke-interface {v7, v8, v9}, Landroidx/compose/ui/graphics/drawscope/DrawContext;->setSize-uvyYCjk(J)V
sget-object p1, Lkotlin/v;->a:Lkotlin/v;
return-object p1 return-object p1
:catchall_0 :catchall_0
move-exception v0 move-exception v0
invoke-static {v7, v8, v9}, Landroidx/compose/animation/i;->b(Landroidx/compose/ui/graphics/drawscope/DrawContext;J)V invoke-interface {v7}, Landroidx/compose/ui/graphics/drawscope/DrawContext;->getCanvas()Landroidx/compose/ui/graphics/Canvas;
move-result-object v1
invoke-interface {v1}, Landroidx/compose/ui/graphics/Canvas;->restore()V
invoke-interface {v7, v8, v9}, Landroidx/compose/ui/graphics/drawscope/DrawContext;->setSize-uvyYCjk(J)V
throw v0 throw v0
.end method .end method
@@ -120,7 +132,7 @@
check-cast p1, Landroidx/compose/ui/graphics/drawscope/ContentDrawScope; check-cast p1, Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;
invoke-virtual {p0, p1}, Lradiant/MiniPlayerTrackGestures$TextDraw;->invoke(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)Lkotlin/u; invoke-virtual {p0, p1}, Lradiant/MiniPlayerTrackGestures$TextDraw;->invoke(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)Lkotlin/v;
move-result-object p1 move-result-object p1
@@ -419,7 +419,7 @@
sget-object v0, Lradiant/MiniPlayerTrackGestures$OffsetLayer;->INSTANCE:Lradiant/MiniPlayerTrackGestures$OffsetLayer; sget-object v0, Lradiant/MiniPlayerTrackGestures$OffsetLayer;->INSTANCE:Lradiant/MiniPlayerTrackGestures$OffsetLayer;
invoke-static {p0, v0}, Landroidx/compose/ui/graphics/GraphicsLayerModifierKt;->graphicsLayer(Landroidx/compose/ui/Modifier;Lyl0/l;)Landroidx/compose/ui/Modifier; invoke-static {p0, v0}, Landroidx/compose/ui/graphics/GraphicsLayerModifierKt;->graphicsLayer(Landroidx/compose/ui/Modifier;Lem0/l;)Landroidx/compose/ui/Modifier;
move-result-object p0 move-result-object p0
@@ -431,7 +431,7 @@
sget-object v0, Lradiant/MiniPlayerTrackGestures$TextDraw;->INSTANCE:Lradiant/MiniPlayerTrackGestures$TextDraw; # text clip on right only sget-object v0, Lradiant/MiniPlayerTrackGestures$TextDraw;->INSTANCE:Lradiant/MiniPlayerTrackGestures$TextDraw; # text clip on right only
invoke-static {p0, v0}, Landroidx/compose/ui/draw/DrawModifierKt;->drawWithContent(Landroidx/compose/ui/Modifier;Lyl0/l;)Landroidx/compose/ui/Modifier; invoke-static {p0, v0}, Landroidx/compose/ui/draw/DrawModifierKt;->drawWithContent(Landroidx/compose/ui/Modifier;Lem0/l;)Landroidx/compose/ui/Modifier;
move-result-object p0 move-result-object p0
@@ -590,14 +590,14 @@
return-void return-void
.end method .end method
.method public static trackModifier(Landroidx/compose/ui/Modifier;Lyl0/l;)Landroidx/compose/ui/Modifier; .method public static trackModifier(Landroidx/compose/ui/Modifier;Lem0/l;)Landroidx/compose/ui/Modifier;
.locals 1 .locals 1
new-instance v0, Lradiant/MiniPlayerTrackGestures$Gesture; new-instance v0, Lradiant/MiniPlayerTrackGestures$Gesture;
invoke-direct {v0, p1}, Lradiant/MiniPlayerTrackGestures$Gesture;-><init>(Lyl0/l;)V invoke-direct {v0, p1}, Lradiant/MiniPlayerTrackGestures$Gesture;-><init>(Lem0/l;)V
invoke-static {p0, v0}, Landroidx/compose/ui/input/pointer/PointerInteropFilter_androidKt;->motionEventSpy(Landroidx/compose/ui/Modifier;Lyl0/l;)Landroidx/compose/ui/Modifier; invoke-static {p0, v0}, Landroidx/compose/ui/input/pointer/PointerInteropFilter_androidKt;->motionEventSpy(Landroidx/compose/ui/Modifier;Lem0/l;)Landroidx/compose/ui/Modifier;
move-result-object p0 move-result-object p0
@@ -1,7 +1,7 @@
.class public final Lradiant/MiniSeekerFloating; .class public final Lradiant/MiniSeekerFloating;
.super Ljava/lang/Object; .super Ljava/lang/Object;
.implements Lyl0/l; .implements Lem0/l;
# static fields # static fields
@@ -46,7 +46,7 @@
.catch Ljava/lang/Throwable; {:try_start .. :try_end} :swallow .catch Ljava/lang/Throwable; {:try_start .. :try_end} :swallow
:swallow :swallow
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # Unit sget-object v0, Lkotlin/v;->a:Lkotlin/v; # Unit
return-object v0 return-object v0
.end method .end method
+13 -13
View File
@@ -5,7 +5,7 @@
# static fields # static fields
.field public static progressState:Landroidx/compose/runtime/MutableFloatState; .field public static progressState:Landroidx/compose/runtime/MutableFloatState;
.field public static volatile vm:Ljh/h; .field public static volatile vm:Lih/g;
.field public static volatile sub:Lio/reactivex/disposables/Disposable; .field public static volatile sub:Lio/reactivex/disposables/Disposable;
@@ -57,7 +57,7 @@
:start_block :start_block
:try_start :try_start
sget-object v0, Lradiant/MiniSeekerLine;->vm:Ljh/h; # cached vm sget-object v0, Lradiant/MiniSeekerLine;->vm:Lih/g; # cached vm
if-nez v0, :got_vm # reuse if present if-nez v0, :got_vm # reuse if present
@@ -65,32 +65,32 @@
move-result-object v0 # app move-result-object v0 # app
invoke-virtual {v0}, Lcom/aspiro/wamp/App;->e()Lf5/c; # dagger component invoke-virtual {v0}, Lcom/aspiro/wamp/App;->e()Le5/c; # dagger component
move-result-object v0 # component move-result-object v0 # component
check-cast v0, Lf5/d0$n2; # narrow type check-cast v0, Le5/u$n2; # narrow type
iget-object v0, v0, Lf5/d0$n2;->z0:Ldagger/internal/j; # playqueue provider iget-object v0, v0, Le5/u$n2;->z0:Ldagger/internal/j; # playqueue provider
invoke-interface {v0}, Lol0/a;->get()Ljava/lang/Object; # resolve invoke-interface {v0}, Lul0/a;->get()Ljava/lang/Object; # resolve
move-result-object v0 # playqueue move-result-object v0 # playqueue
check-cast v0, Lcom/aspiro/wamp/playqueue/z0; # narrow type check-cast v0, Lcom/aspiro/wamp/playqueue/y0; # narrow type
new-instance v1, Ljh/h; # build vm new-instance v1, Lih/g; # build vm
invoke-direct {v1, v0}, Ljh/h;-><init>(Lcom/aspiro/wamp/playqueue/z0;)V # ctor invoke-direct {v1, v0}, Lih/g;-><init>(Lcom/aspiro/wamp/playqueue/y0;)V # ctor
sput-object v1, Lradiant/MiniSeekerLine;->vm:Ljh/h; # cache sput-object v1, Lradiant/MiniSeekerLine;->vm:Lih/g; # cache
:got_vm :got_vm
sget-object v0, Lradiant/MiniSeekerLine;->vm:Ljh/h; # vm ref sget-object v0, Lradiant/MiniSeekerLine;->vm:Lih/g; # vm ref
invoke-virtual {v0}, Ljh/h;->a()V # activate emission invoke-virtual {v0}, Lih/g;->a()V # activate emission
iget-object v0, v0, Ljh/h;->d:Lio/reactivex/subjects/BehaviorSubject; # position subject iget-object v0, v0, Lih/g;->d:Lio/reactivex/subjects/BehaviorSubject; # position subject
invoke-static {}, Lio/reactivex/android/schedulers/AndroidSchedulers;->mainThread()Lio/reactivex/Scheduler; # main scheduler invoke-static {}, Lio/reactivex/android/schedulers/AndroidSchedulers;->mainThread()Lio/reactivex/Scheduler; # main scheduler
+2 -2
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 Lyl0/a; .implements Lem0/a;
# static fields # static fields
@@ -33,7 +33,7 @@
.method public final invoke()Ljava/lang/Object; .method public final invoke()Ljava/lang/Object;
.locals 1 .locals 1
sget-object v0, Lkotlin/u;->a:Lkotlin/u; sget-object v0, Lkotlin/v;->a:Lkotlin/v;
return-object v0 return-object v0
.end method .end method
@@ -0,0 +1,9 @@
.class public final Lradiant/PlayingFrom;
.super Ljava/lang/Object;
.source "PlayingFrom.smali"
# static fields
# puts the "Playing from" source above track title
.field public static a:Ljava/lang/String;
+6 -6
View File
@@ -85,15 +85,15 @@
return-object p0 return-object p0
.end method .end method
.method public static style(ILn20/e2;)Ln20/e2; .method public static style(ILr20/c2;)Lr20/c2;
.registers 16 .registers 16
invoke-static {p0}, Lradiant/QualityBadge;->textArgb(I)I invoke-static {p0}, Lradiant/QualityBadge;->textArgb(I)I
move-result v0 move-result v0
new-instance v1, Lc20/a; new-instance v1, Lg20/a;
invoke-direct {v1, v0}, Lc20/a;-><init>(I)V invoke-direct {v1, v0}, Lg20/a;-><init>(I)V
new-instance v0, Lc20/d; new-instance v0, Lg20/d;
const/4 v2, 0x0 const/4 v2, 0x0
const/4 v3, 0x0 const/4 v3, 0x0
const/4 v4, 0x0 const/4 v4, 0x0
@@ -107,7 +107,7 @@
const/4 v12, 0x0 const/4 v12, 0x0
const/16 v13, 0xffe const/16 v13, 0xffe
const/4 v14, 0x0 const/4 v14, 0x0
invoke-direct/range {v0 .. v14}, Lc20/d;-><init>(Lc20/a;Lc20/a;Lc20/a;Lc20/a;Lc20/a;Lc20/a;Lc20/a;Lc20/a;Lc20/a;Lc20/a;Lc20/a;Lc20/a;ILkotlin/jvm/internal/DefaultConstructorMarker;)V invoke-direct/range {v0 .. v14}, Lg20/d;-><init>(Lg20/a;Lg20/a;Lg20/a;Lg20/a;Lg20/a;Lg20/a;Lg20/a;Lg20/a;Lg20/a;Lg20/a;Lg20/a;Lg20/a;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
move-object v9, v0 move-object v9, v0
move-object/from16 v0, p1 move-object/from16 v0, p1
@@ -118,7 +118,7 @@
const/4 v5, 0x0 const/4 v5, 0x0
const/16 v6, 0x1d const/16 v6, 0x1d
const/4 v7, 0x0 const/4 v7, 0x0
invoke-static/range {v0 .. v7}, Ln20/e2;->g(Ln20/e2;Ln20/u4;Lc20/d;Lcom/squareup/ui/market/core/text/MarketTextAlignment;Lcom/squareup/ui/market/core/text/MarketTextTransform;Ln20/t4;ILjava/lang/Object;)Ln20/e2; invoke-static/range {v0 .. v7}, Lr20/c2;->g(Lr20/c2;Lr20/s4;Lg20/d;Lcom/squareup/ui/market/core/text/MarketTextAlignment;Lcom/squareup/ui/market/core/text/MarketTextTransform;Lr20/r4;ILjava/lang/Object;)Lr20/c2;
move-result-object p0 move-result-object p0
return-object p0 return-object p0
.end method .end method
@@ -65,10 +65,6 @@
invoke-static {p1}, Lradiant/HomeBackdrop;->onTrack(Lcom/aspiro/wamp/model/Track;)V invoke-static {p1}, Lradiant/HomeBackdrop;->onTrack(Lcom/aspiro/wamp/model/Track;)V
const/4 v3, 0x0
sput-boolean v3, Lradiant/RLAPILyricsHook;->isRlState:Z
const-string v3, "onWampTrack: hook entered" const-string v3, "onWampTrack: hook entered"
invoke-static {v3}, Lradiant/RLAPILyricsHook;->dlog(Ljava/lang/String;)V invoke-static {v3}, Lradiant/RLAPILyricsHook;->dlog(Ljava/lang/String;)V
@@ -157,6 +153,25 @@
move-result-object v4 move-result-object v4
sget-object v5, Lradiant/RLAPILyricsHook;->currentKey:Ljava/lang/String;
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :rl_new_track
const-string v5, "onWampTrack: same track re-fired, skipping duplicate fetch"
invoke-static {v5}, Lradiant/RLAPILyricsHook;->dlog(Ljava/lang/String;)V
return-void
:rl_new_track
const/4 v5, 0x0
sput-boolean v5, Lradiant/RLAPILyricsHook;->isRlState:Z
sput-object v4, Lradiant/RLAPILyricsHook;->currentKey:Ljava/lang/String; sput-object v4, Lradiant/RLAPILyricsHook;->currentKey:Ljava/lang/String;
new-instance v5, Ljava/lang/StringBuilder; new-instance v5, Ljava/lang/StringBuilder;
@@ -396,13 +396,23 @@
invoke-static {v4}, Lradiant/RLAPILyricsHook;->dlog(Ljava/lang/String;)V invoke-static {v4}, Lradiant/RLAPILyricsHook;->dlog(Ljava/lang/String;)V
iget-object v4, p0, Lradiant/RLAPILyricsWorker;->key:Ljava/lang/String;
sget-object v5, Lradiant/RLAPILyricsHook;->currentKey:Ljava/lang/String;
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :no_close # Smthn needed to keep lyrics open
sget-boolean v4, Lradiant/StickyLyrics;->enabled:Z sget-boolean v4, Lradiant/StickyLyrics;->enabled:Z
if-nez v4, :no_close if-nez v4, :no_close
iget-object v4, p0, Lradiant/RLAPILyricsWorker;->vm:Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel; iget-object v4, p0, Lradiant/RLAPILyricsWorker;->vm:Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;
iget-object v5, v4, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->N:Lkotlinx/coroutines/flow/MutableStateFlow; iget-object v5, v4, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->O:Lkotlinx/coroutines/flow/MutableStateFlow;
sget-object v6, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean; sget-object v6, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
@@ -475,9 +485,9 @@
:key_ok :key_ok
iget-object v4, p0, Lradiant/RLAPILyricsWorker;->vm:Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel; iget-object v4, p0, Lradiant/RLAPILyricsWorker;->vm:Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;
iget-object v5, v4, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->M:Lkotlinx/coroutines/flow/MutableStateFlow; iget-object v5, v4, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->N:Lkotlinx/coroutines/flow/MutableStateFlow;
invoke-static {v3}, Ltn0/a;->c(Ljava/lang/Iterable;)Ltn0/b; invoke-static {v3}, Lzn0/a;->c(Ljava/lang/Iterable;)Lzn0/b;
move-result-object v6 move-result-object v6
@@ -494,9 +504,9 @@
const/4 v10, 0x0 const/4 v10, 0x0
invoke-direct {v8, v7, v6, v9, v10}, Lcom/tidal/android/feature/playerscreen/ui/g$c;-><init>(Ljava/lang/String;Ltn0/b;IZ)V invoke-direct {v8, v7, v6, v9, v10}, Lcom/tidal/android/feature/playerscreen/ui/g$c;-><init>(Ljava/lang/String;Lzn0/b;IZ)V
const-string v6, "publishing g$c -> J=true N=true M=g$c" const-string v6, "publishing g$c -> K=true (O=true if sticky) N=g$c"
invoke-static {v6}, Lradiant/RLAPILyricsHook;->dlog(Ljava/lang/String;)V invoke-static {v6}, Lradiant/RLAPILyricsHook;->dlog(Ljava/lang/String;)V
@@ -504,7 +514,7 @@
sput-boolean v6, Lradiant/RLAPILyricsHook;->isRlState:Z sput-boolean v6, Lradiant/RLAPILyricsHook;->isRlState:Z
iget-object v6, v4, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->J:Lkotlinx/coroutines/flow/MutableStateFlow; iget-object v6, v4, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->K:Lkotlinx/coroutines/flow/MutableStateFlow;
sget-object v7, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean; sget-object v7, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
@@ -514,7 +524,7 @@
if-eqz v9, :skip_n if-eqz v9, :skip_n
iget-object v6, v4, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->N:Lkotlinx/coroutines/flow/MutableStateFlow; iget-object v6, v4, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->O:Lkotlinx/coroutines/flow/MutableStateFlow;
invoke-interface {v6, v7}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V invoke-interface {v6, v7}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V
@@ -20,13 +20,13 @@
if-eqz p1, :ret # null guard if-eqz p1, :ret # null guard
instance-of v0, p1, Ljh/b; # type guard instance-of v0, p1, Lih/b; # type guard
if-eqz v0, :ret # skip if wrong type if-eqz v0, :ret # skip if wrong type
check-cast p1, Ljh/b; # narrow type check-cast p1, Lih/b; # narrow type
iget v0, p1, Ljh/b;->b:F # raw progress iget v0, p1, Lih/b;->b:F # raw progress
invoke-static {v0}, Ljava/lang/Float;->isNaN(F)Z # nan check invoke-static {v0}, Ljava/lang/Float;->isNaN(F)Z # nan check
@@ -4,7 +4,7 @@
# direct methods # direct methods
.method public static final a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lyl0/a;)V .method public static final a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lem0/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/x;->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/y;->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;)Ln20/w1; 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;)Lr20/u1;
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, Ln20/w1; check-cast v9, Lr20/u1;
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(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/range {v1 .. v13}, Lcom/squareup/ui/market/components/MarketIconButtonKt;->c(Lem0/a;Ljava/lang/String;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/interaction/MutableInteractionSource;ZLcom/squareup/ui/market/components/n;Lem0/a;Ljava/lang/String;Lr20/u1;Lem0/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 Lyl0/p; .implements Lem0/p;
# virtual methods # virtual methods
@@ -35,7 +35,7 @@
invoke-static {v0, p2, v1, v2}, Landroidx/compose/runtime/ComposerKt;->traceEventStart(IIILjava/lang/String;)V invoke-static {v0, p2, v1, v2}, Landroidx/compose/runtime/ComposerKt;->traceEventStart(IIILjava/lang/String;)V
:cond_0 :cond_0
const p2, 0x7f08051d const p2, 0x7f080521
const/4 v0, 0x0 const/4 v0, 0x0
+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 Lyl0/l; .implements Lem0/l;
# static fields # static fields
+15 -14
View File
@@ -1,16 +1,16 @@
--- a/com/tidal/android/feature/home/ui/k.smali --- a/com/tidal/android/feature/home/ui/k.smali
+++ b/com/tidal/android/feature/home/ui/k.smali +++ b/com/tidal/android/feature/home/ui/k.smali
@@ -424,7 +424,7 @@ @@ -427,7 +427,7 @@
const/4 v6, 0x0 const/4 v6, 0x0
.line 181
- move-wide v7, v8
+ const-wide/16 v7, 0x0 # transparent containerColor
.line 182 .line 182
- move-wide v7, v9
+ const-wide/16 v7, 0x0 # transparent containerColor
.line 183
const-wide/16 v9, 0x0 const-wide/16 v9, 0x0
--- a/com/tidal/android/feature/home/ui/p.smali --- a/com/tidal/android/feature/home/ui/n.smali
+++ b/com/tidal/android/feature/home/ui/p.smali +++ b/com/tidal/android/feature/home/ui/n.smali
@@ -187,6 +187,10 @@ @@ -187,6 +187,10 @@
.line 61 .line 61
.line 62 .line 62
@@ -20,24 +20,25 @@
+ invoke-static {v4, v0}, Lradiant/HomeBackdrop;->render(Landroidx/compose/runtime/Composer;I)V # render album-art backdrop + invoke-static {v4, v0}, Lradiant/HomeBackdrop;->render(Landroidx/compose/runtime/Composer;I)V # render album-art backdrop
+ +
invoke-interface {p1}, Landroidx/compose/foundation/layout/PaddingValues;->calculateTopPadding-D9Ej5fM()F invoke-interface {p1}, Landroidx/compose/foundation/layout/PaddingValues;->calculateTopPadding-D9Ej5fM()F
.line 63 .line 63
--- a/com/tidal/android/feature/home/ui/composables/e.smali --- a/com/tidal/android/feature/home/ui/composables/f.smali
+++ b/com/tidal/android/feature/home/ui/composables/e.smali +++ b/com/tidal/android/feature/home/ui/composables/f.smali
@@ -790,6 +790,8 @@ @@ -790,6 +790,8 @@
.line 104 .line 104
move-result-wide v14 move-result-wide v14
+ const-wide/16 v14, 0x0 # transparent topBar background + const-wide/16 v14, 0x0 # transparent topBar background
+ +
.line 105 .line 105
const/16 v17, 0x2 const/16 v17, 0x2
@@ -850,6 +852,8 @@ @@ -850,6 +852,8 @@
.line 134 .line 134
move-result-wide v14 move-result-wide v14
+ const-wide/16 v14, 0x0 # transparent TopAppBar containerColor + const-wide/16 v14, 0x0 # transparent TopAppBar containerColor
+ +
.line 135 .line 135
sget-object v3, Landroidx/compose/ui/graphics/Color;->Companion:Landroidx/compose/ui/graphics/Color$Companion; sget-object v3, Landroidx/compose/ui/graphics/Color;->Companion:Landroidx/compose/ui/graphics/Color$Companion;
+7 -7
View File
@@ -1,23 +1,23 @@
--- a/com/tidal/android/feature/playerscreen/ui/h0.smali --- a/com/tidal/android/feature/playerscreen/ui/v0.smali
+++ b/com/tidal/android/feature/playerscreen/ui/h0.smali +++ b/com/tidal/android/feature/playerscreen/ui/v0.smali
@@ -669,8 +669,23 @@ @@ -669,8 +669,23 @@
move-object v5, v1 move-object v5, v1
.line 289 .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/h0;->b:Lcom/tidal/android/feature/playerscreen/ui/r$a; # player state + iget-object v1, v0, Lcom/tidal/android/feature/playerscreen/ui/v0;->b:Lcom/tidal/android/feature/playerscreen/ui/s$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/s$a;->j:Lcom/tidal/android/feature/playerscreen/ui/g; # current view mode
+ +
+ instance-of v1, v1, Lcom/tidal/android/feature/playerscreen/ui/g$a; # cover mode only + 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;Lyl0/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;Lem0/l;FLandroidx/compose/ui/Modifier;ZLandroidx/compose/runtime/Composer;II)V
+ :radiant_after_cover # skip target + :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
+ +
+11 -12
View File
@@ -1,16 +1,15 @@
--- a/com/tidal/android/feature/playerscreen/ui/composables/o1.smali --- a/com/tidal/android/feature/playerscreen/ui/composables/l1.smali
+++ b/com/tidal/android/feature/playerscreen/ui/composables/o1.smali +++ b/com/tidal/android/feature/playerscreen/ui/composables/l1.smali
@@ -64,26 +64,29 @@ @@ -64,7 +64,7 @@
.line 16 .line 16
.line 17 .line 17
- iget v2, p0, Lcom/tidal/android/feature/playerscreen/ui/composables/o1;->a:F - iget v2, p0, Lcom/tidal/android/feature/playerscreen/ui/composables/l1;->a:F
+ const/high16 v2, 0x43200000 # 160f start dp + const/high16 v2, 0x43200000 # 160f start dp
.line 18 .line 18
.line 19 .line 19
invoke-interface {p1, v2}, Landroidx/compose/ui/unit/Density;->toPx-0680j_4(F)F @@ -73,7 +73,13 @@
.line 20 .line 20
.line 21 .line 21
.line 22 .line 22
@@ -22,16 +21,16 @@
+ invoke-interface {p1, v3}, Landroidx/compose/ui/unit/Density;->toPx-0680j_4(F)F # dp to px + 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
.line 23 .line 23
const/16 v5, 0x8 const/16 v5, 0x8
@@ -82,9 +88,6 @@
.line 24
.line 25 .line 25
const/4 v6, 0x0 const/4 v6, 0x0
- .line 26 - .line 26
- const/4 v2, 0x0 - const/4 v2, 0x0
- -
.line 27 .line 27
const/4 v4, 0x0 const/4 v4, 0x0
@@ -13,3 +13,20 @@
.line 27 .line 27
.line 28 .line 28
iput v2, p0, Lcom/tidal/android/feature/playerscreen/ui/PlayerScreenKt$PlayerScreenPortrait$2$1;->label:I iput v2, p0, Lcom/tidal/android/feature/playerscreen/ui/PlayerScreenKt$PlayerScreenPortrait$2$1;->label:I
--- a/com/tidal/android/feature/playerscreen/ui/PlayerViewModel.smali
+++ b/com/tidal/android/feature/playerscreen/ui/PlayerViewModel.smali
@@ -1299,6 +1299,14 @@
.line 109
.line 110
move-result v1
+ sget v4, Lradiant/LyricsReinitGuard;->lastMediaId:I
+ if-eq v1, v4, :rl_skip_reinit # same track re-emitted -> skip the redundant re-init (avoids the loading-state flash)
+ sput v1, Lradiant/LyricsReinitGuard;->lastMediaId:I
+ goto :rl_reinit_ok
+ :rl_skip_reinit
+ sget-object v4, Lkotlin/v;->a:Lkotlin/v;
+ return-object v4
+ :rl_reinit_ok
.line 111
invoke-static {v1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
+10 -10
View File
@@ -1,18 +1,18 @@
--- a/com/tidal/android/feature/playerscreen/ui/c0.smali --- a/com/tidal/android/feature/playerscreen/ui/s0.smali
+++ b/com/tidal/android/feature/playerscreen/ui/c0.smali +++ b/com/tidal/android/feature/playerscreen/ui/s0.smali
@@ -47,7 +47,7 @@ @@ -45,7 +45,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;
- .locals 17 - .locals 17
+ .locals 26 # extra regs for AndroidView + .locals 26 # extra regs for AndroidView
.line 1 .line 1
move-object/from16 v0, p0 move-object/from16 v0, p0
@@ -461,6 +461,64 @@ @@ -460,6 +460,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;Lyl0/l;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/layout/PaddingValues;Lyl0/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;Lem0/l;Landroidx/compose/ui/Modifier;Landroidx/compose/foundation/layout/PaddingValues;Lem0/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
+ +
+ sget-object v18, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion; # base modifier + sget-object v18, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion; # base modifier
@@ -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;Lyl0/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;Lem0/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(Lyl0/l;Landroidx/compose/ui/Modifier;Lyl0/l;Landroidx/compose/runtime/Composer;II)V # mount progress pill + invoke-static/range {v17 .. v22}, Landroidx/compose/ui/viewinterop/AndroidView_androidKt;->AndroidView(Lem0/l;Landroidx/compose/ui/Modifier;Lem0/l;Landroidx/compose/runtime/Composer;II)V # mount progress pill
+ +
.line 201 .line 201
.line 202 .line 202
+22 -22
View File
@@ -1,34 +1,30 @@
# 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
@@ -4945,7 +4945,11 @@ @@ -5002,7 +5002,11 @@
const/4 v7, 0x0 const/4 v13, 0x0
.line 226 .line 230
- 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 - invoke-static {v13, v6, v4, v14, v11}, Lcom/tidal/android/feature/playerscreen/ui/composables/h1;->a(Landroidx/compose/ui/Modifier;Lem0/a;ZLandroidx/compose/runtime/Composer;I)V
+ const v10, 0x52414448 # empty group key + const v13, 0x52414448 # empty group key
+ +
+ invoke-interface {v2, v10}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open empty + invoke-interface {v14, v13}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open empty
+ +
+ invoke-interface {v2}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close empty + invoke-interface {v14}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close empty
.line 227 .line 231
invoke-interface {v2}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V invoke-interface {v14}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V
@@ -5720,6 +5724,22 @@ @@ -5791,6 +5795,22 @@
:cond_51
check-cast v4, Lyl0/a; invoke-static {v15, v7, v8, v3}, Lcom/tidal/android/feature/playerscreen/ui/composables/i3;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lem0/a;)V
const/4 v2, 0x0 + new-instance v74, Lcom/tidal/android/feature/playerscreen/ui/u0; # lyrics toggle lambda
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, Lcom/tidal/android/feature/playerscreen/ui/g0; # lyrics toggle lambda
+ +
+ move-object/from16 v75, p5 # action dispatcher + move-object/from16 v75, p5 # action dispatcher
+ +
+ const/16 v76, 0x0 # lyrics action disc + const/16 v76, 0x0 # lyrics action disc
+ +
+ invoke-direct/range {v74 .. v76}, Lcom/tidal/android/feature/playerscreen/ui/g0;-><init>(Ljava/lang/Object;I)V # build lambda + invoke-direct/range {v74 .. v76}, Lcom/tidal/android/feature/playerscreen/ui/u0;-><init>(Ljava/lang/Object;I)V # build lambda
+ +
+ const/16 v71, 0x0 # changed flags + const/16 v71, 0x0 # changed flags
+ +
@@ -36,4 +32,8 @@
+ +
+ 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;Lyl0/a;)V # render sparkle button + invoke-static/range {v71 .. v74}, Lradiant/SparkleButton;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lem0/a;)V # render sparkle button
+
.line 336
iget-object v3, v10, Lcom/tidal/android/feature/playerscreen/ui/s$a;->l:Lcom/tidal/android/feature/playerscreen/ui/p;
+39 -43
View File
@@ -1,50 +1,46 @@
--- 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
@@ -5094,7 +5094,11 @@ @@ -5155,7 +5155,11 @@
const/4 v13, 0x0 const/4 v13, 0x0
.line 247 .line 251
- 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 - invoke-static {v6, v10, v13, v14, v7}, Lcom/tidal/android/feature/playerscreen/ui/composables/BroadcastButtonKt;->b(Lcom/tidal/android/feature/playerscreen/ui/b;Lem0/a;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V
+ const v9, 0x52414244 # empty group key + const v13, 0x52414244 # empty group key
+ +
+ invoke-interface {v2, v9}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open empty + invoke-interface {v14, v13}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open empty
+ +
+ invoke-interface {v2}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close empty + invoke-interface {v14}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close empty
.line 248 .line 252
invoke-interface {v2}, Landroidx/compose/runtime/Composer;->endNode()V invoke-interface {v14}, Landroidx/compose/runtime/Composer;->endNode()V
@@ -5770,16 +5774,20 @@ @@ -5978,11 +5982,11 @@
.line 335 .line 356
:cond_53 :cond_59
- new-instance v4, Lcom/aspiro/wamp/tidalconnect/playback/i; :goto_29
- - new-instance v0, Lcom/tidal/android/feature/playerscreen/ui/i0;
- invoke-direct {v4, v11, v1}, Lcom/aspiro/wamp/tidalconnect/playback/i;-><init>(Ljava/lang/Object;I)V + new-instance v0, Lcom/squareup/ui/market/modal/o; # connect click lambda (was share i0)
-
- .line 336 - const/4 v15, 0x0
- invoke-interface {v7, v4}, Landroidx/compose/runtime/Composer;->updateRememberedValue(Ljava/lang/Object;)V + const/4 v15, 0x1 # connect-clicked disc
-
- .line 337 - invoke-direct {v0, v11, v15}, Lcom/tidal/android/feature/playerscreen/ui/i0;-><init>(Ljava/lang/Object;I)V
- :cond_54 + invoke-direct {v0, v11, v15}, Lcom/squareup/ui/market/modal/o;-><init>(Ljava/lang/Object;I)V # build connect lambda
- check-cast v4, Lyl0/a;
- .line 357
- const/4 v2, 0x0 invoke-interface {v7, v0}, Landroidx/compose/runtime/Composer;->updateRememberedValue(Ljava/lang/Object;)V
- @@ -5991,9 +5995,13 @@
- 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 :goto_2a
+ new-instance v4, Landroidx/navigation/fragment/k; # connect click lambda factory check-cast v0, Lem0/a;
- const/4 v8, 0x0
+ iget-object v8, v10, Lcom/tidal/android/feature/playerscreen/ui/s$a;->d:Lcom/tidal/android/feature/playerscreen/ui/b; # broadcast state
+ +
+ move-object/from16 v6, p5 # action dispatcher + const/4 v13, 0x0 # null modifier
+ +
+ const/4 v8, 0x1 # connect-clicked disc + const/4 v15, 0x0 # changed flags
+
+ invoke-direct {v4, v6, v8}, Landroidx/navigation/fragment/k;-><init>(Ljava/lang/Object;I)V # build lambda - invoke-static {v15, v7, v8, v0}, Lcom/tidal/android/feature/playerscreen/ui/composables/t4;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lem0/a;)V
+ + invoke-static {v8, v0, v13, v7, v15}, Lcom/tidal/android/feature/playerscreen/ui/composables/BroadcastButtonKt;->b(Lcom/tidal/android/feature/playerscreen/ui/b;Lem0/a;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V # render connect button
+ invoke-interface {v7, v4}, Landroidx/compose/runtime/Composer;->updateRememberedValue(Ljava/lang/Object;)V # cache lambda
+ if-ne v1, v2, :cond_5a
+ :cond_54 # cache join
+ 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
+
+ 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;Lyl0/a;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V # render connect button
+51 -6
View File
@@ -1,21 +1,66 @@
--- a/com/tidal/android/feature/playerscreen/ui/PlayerViewModel.smali --- a/com/tidal/android/feature/playerscreen/ui/PlayerViewModel.smali
+++ b/com/tidal/android/feature/playerscreen/ui/PlayerViewModel.smali +++ b/com/tidal/android/feature/playerscreen/ui/PlayerViewModel.smali
@@ -1277,7 +1277,9 @@ @@ -1291,6 +1291,8 @@
.line 104
.line 105 .line 105
check-cast v1, Lcom/aspiro/wamp/model/Track; check-cast v1, Lcom/aspiro/wamp/model/Track;
+ invoke-static {v0, v1}, Lradiant/RLAPILyricsHook;->onWampTrack(Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;Lcom/aspiro/wamp/model/Track;)V # RL API lyrics hook + invoke-static {v0, v1}, Lradiant/RLAPILyricsHook;->onWampTrack(Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;Lcom/aspiro/wamp/model/Track;)V # RL API lyrics hook
+ +
.line 106 .line 106
.line 107 .line 107
invoke-virtual {v1}, Lcom/aspiro/wamp/model/MediaItem;->getId()I invoke-virtual {v1}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
@@ -1551,7 +1553,7 @@ @@ -1564,7 +1566,7 @@
.line 235 .line 235
.line 236 .line 236
.line 237 .line 237
- if-nez v9, :cond_a - if-nez v9, :cond_a
+ goto :cond_a # skip TIDAL N=false setter + goto :cond_a # RL: skip TIDAL O=false in the has-lyrics path
.line 238 .line 238
.line 239 .line 239
@@ -2256,7 +2258,10 @@
.line 568
:goto_c
+ sget-boolean v5, Lradiant/RLAPILyricsHook;->isRlState:Z
+ if-nez v5, :rl_keep_n2 # RL active -> keep worker content
invoke-interface {v9, v1}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V
+ :rl_keep_n2
.line 569
.line 570
@@ -2305,7 +2310,10 @@
.line 591
.line 592
+ sget-boolean v7, Lradiant/RLAPILyricsHook;->isRlState:Z
+ if-nez v7, :rl_keep_o # RL active -> keep view-open flag
invoke-interface {v1, v5}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V
+ :rl_keep_o
.line 593
.line 594
@@ -2334,7 +2342,10 @@
.line 606
.line 607
+ sget-boolean v7, Lradiant/RLAPILyricsHook;->isRlState:Z
+ if-nez v7, :rl_keep_n # RL active -> keep worker content
invoke-interface {v1, v6}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V
+ :rl_keep_n
.line 608
.line 609
--- a/com/tidal/android/feature/playerscreen/ui/PlayerViewModel$special$$inlined$mapNotNull$1$2.smali
+++ b/com/tidal/android/feature/playerscreen/ui/PlayerViewModel$special$$inlined$mapNotNull$1$2.smali
@@ -2202,6 +2202,10 @@
.line 1011
.line 1012
move-result v31
+ sget-boolean v5, Lradiant/RLAPILyricsHook;->isRlState:Z
+ if-eqz v5, :rl_hl_done # not RL -> use TIDAL's hasLyrics
+ const/16 v31, 0x1 # RL lyrics active -> force hasLyrics so the sparkle stays
+ :rl_hl_done
.line 1013
iget-object v5, v1, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->O:Lkotlinx/coroutines/flow/MutableStateFlow;
@@ -1,32 +1,24 @@
--- 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
@@ -5725,17 +5725,38 @@ @@ -5795,6 +5795,14 @@
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
+ invoke-static {v15, v7, v8, v3}, Lcom/tidal/android/feature/playerscreen/ui/composables/i3;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lem0/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/s$a;->i:Z # hasLyrics flag
+ +
+ if-eqz v2, :cond_sparkle_no_lyrics # branch when no lyrics + if-eqz v2, :cond_sparkle_no_lyrics # branch when no lyrics
+ +
+ const v2, 0x30551b59 # group key (lyrics) + const v2, 0x30551b59 # group key (lyrics)
+ +
+ 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, Lcom/tidal/android/feature/playerscreen/ui/g0; # lyrics toggle lambda
move-object/from16 v75, p5 # action dispatcher
const/16 v76, 0x0 # lyrics action disc
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
move-object/from16 v72, v7 # composer
const/16 v73, 0x0 # null modifier
invoke-static/range {v71 .. v74}, Lradiant/SparkleButton;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lyl0/a;)V # render sparkle button
+ +
new-instance v74, Lcom/tidal/android/feature/playerscreen/ui/u0; # lyrics toggle lambda
move-object/from16 v75, p5 # action dispatcher
@@ -5811,6 +5819,19 @@
invoke-static/range {v71 .. v74}, Lradiant/SparkleButton;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lem0/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
@@ -39,3 +31,7 @@
+ 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 # join target + :goto_sparkle_done # join target
+
.line 336
iget-object v3, v10, Lcom/tidal/android/feature/playerscreen/ui/s$a;->l:Lcom/tidal/android/feature/playerscreen/ui/p;
+135 -35
View File
@@ -4,11 +4,15 @@
{ {
"id": "EnableLegacyUi", "id": "EnableLegacyUi",
"order": 10, "order": 10,
"fileNames": ["enable-legacy-ui.patch"], "fileNames": [
"enable-legacy-ui.patch"
],
"title": "Enable Legacy UI", "title": "Enable Legacy UI",
"description": "[This patch will stop working soon] - Replaces the New Compose based UI with the Legacy UI (disables player-market-ui feature flag)", "description": "[This patch will stop working soon] - Replaces the New Compose based UI with the Legacy UI (disables player-market-ui feature flag)",
"default": false, "default": false,
"requires": ["DebugMenuUnlock"], "requires": [
"DebugMenuUnlock"
],
"disables": [ "disables": [
"LyricsDisableCover", "LyricsDisableCover",
"LyricsReplaceLyricsButton", "LyricsReplaceLyricsButton",
@@ -24,7 +28,10 @@
{ {
"id": "LyricsRlApi", "id": "LyricsRlApi",
"order": 20, "order": 20,
"fileNames": ["lyrics-rl-api.patch", "lyrics-rl-api-observer.patch"], "fileNames": [
"lyrics-rl-api.patch",
"lyrics-rl-api-observer.patch"
],
"title": "Radiant Lyrics API - WIP", "title": "Radiant Lyrics API - WIP",
"description": "Use Radiant Lyrics API to fetch Lyrics (Higher quality & More providers)", "description": "Use Radiant Lyrics API to fetch Lyrics (Higher quality & More providers)",
"default": false "default": false
@@ -32,7 +39,9 @@
{ {
"id": "PlayerBackdrop", "id": "PlayerBackdrop",
"order": 30, "order": 30,
"fileNames": ["player-backdrop.patch"], "fileNames": [
"player-backdrop.patch"
],
"title": "Player Backdrop", "title": "Player Backdrop",
"description": "Restores the legacy translucent backdrop blur behind the player", "description": "Restores the legacy translucent backdrop blur behind the player",
"default": true, "default": true,
@@ -48,7 +57,10 @@
"steps": 19, "steps": 19,
"displayAsPercent": true, "displayAsPercent": true,
"token": "RL_BLUR_BITS", "token": "RL_BLUR_BITS",
"encode": { "kind": "floatBits", "scale": 1.8 } "encode": {
"kind": "floatBits",
"scale": 1.8
}
}, },
{ {
"type": "slider", "type": "slider",
@@ -61,7 +73,9 @@
"steps": 19, "steps": 19,
"displayAsPercent": true, "displayAsPercent": true,
"token": "RL_SCRIM_ARGB", "token": "RL_SCRIM_ARGB",
"encode": { "kind": "argbAlpha" } "encode": {
"kind": "argbAlpha"
}
}, },
{ {
"type": "toggle", "type": "toggle",
@@ -70,14 +84,20 @@
"description": "Applies the blurred backdrop to every Compose based page (Home & Collection)", "description": "Applies the blurred backdrop to every Compose based page (Home & Collection)",
"default": false, "default": false,
"inline": true, "inline": true,
"fileNames": ["home-backdrop.patch", "collection-backdrop.patch", "cover-capture.patch"] "fileNames": [
"home-backdrop.patch",
"collection-backdrop.patch",
"cover-capture.patch"
]
} }
] ]
}, },
{ {
"id": "QualityBadgeColors", "id": "QualityBadgeColors",
"order": 36, "order": 36,
"fileNames": ["player-quality-badge-colors.patch"], "fileNames": [
"player-quality-badge-colors.patch"
],
"title": "Quality Badge Colors", "title": "Quality Badge Colors",
"description": "Brings color back to the player quality badge.", "description": "Brings color back to the player quality badge.",
"default": true "default": true
@@ -85,7 +105,9 @@
{ {
"id": "PlayerOneHanded", "id": "PlayerOneHanded",
"order": 37, "order": 37,
"fileNames": ["player-one-handed.patch"], "fileNames": [
"player-one-handed.patch"
],
"title": "One-Handed Mode", "title": "One-Handed Mode",
"description": "Mirrors the bottom player buttons left-to-right for easier one-handed reach.", "description": "Mirrors the bottom player buttons left-to-right for easier one-handed reach.",
"default": false "default": false
@@ -93,16 +115,25 @@
{ {
"id": "LyricsProgressPill", "id": "LyricsProgressPill",
"order": 40, "order": 40,
"fileNames": ["lyrics-progress-pill.patch", "lyrics-fade-region.patch"], "fileNames": [
"lyrics-progress-pill.patch",
"lyrics-fade-region.patch"
],
"title": "Lyrics Progress Pill", "title": "Lyrics Progress Pill",
"description": "Restores the old Track Progress Pill in the top of the Lyrics screen!", "description": "Restores the old Track Progress Pill in the top of the Lyrics screen!",
"default": true, "default": true,
"requires": ["LyricsDisableCover", "LyricsReplaceLyricsButton", "LyricsReplaceShareButton"] "requires": [
"LyricsDisableCover",
"LyricsReplaceLyricsButton",
"LyricsReplaceShareButton"
]
}, },
{ {
"id": "LyricsDisableCover", "id": "LyricsDisableCover",
"order": 41, "order": 41,
"fileNames": ["lyrics-disable-cover.patch"], "fileNames": [
"lyrics-disable-cover.patch"
],
"title": "Disable Lyrics Cover", "title": "Disable Lyrics Cover",
"description": "Removes the mini track cover from the lyrics screen.", "description": "Removes the mini track cover from the lyrics screen.",
"default": true "default": true
@@ -110,7 +141,10 @@
{ {
"id": "LyricsReplaceLyricsButton", "id": "LyricsReplaceLyricsButton",
"order": 42, "order": 42,
"fileNames": ["lyrics-replace-lyrics-button.patch", "lyrics-sparkle-conditional-visibility.patch"], "fileNames": [
"lyrics-replace-lyrics-button.patch",
"lyrics-sparkle-conditional-visibility.patch"
],
"title": "Replace Lyrics Button", "title": "Replace Lyrics Button",
"description": "Replaces the Lyrics button with the RL Sparkle!", "description": "Replaces the Lyrics button with the RL Sparkle!",
"default": true "default": true
@@ -118,11 +152,26 @@
{ {
"id": "LyricsReplaceShareButton", "id": "LyricsReplaceShareButton",
"order": 43, "order": 43,
"fileNames": ["lyrics-replace-share-button.patch"], "fileNames": [
"lyrics-replace-share-button.patch"
],
"title": "Replace Share Button", "title": "Replace Share Button",
"description": "Replaces the share button with the Tidal Connect button from the top of the screen. (it's in the menu already)", "description": "Replaces the share button with the Tidal Connect button from the top of the screen. (it's in the menu already)",
"default": true "default": true
}, },
{
"id": "PlayerMovePlayingFrom",
"order": 44,
"fileNames": [
"player-move-playing-from.patch"
],
"extensionFiles": [
"radiant/PlayingFrom.smali"
],
"title": "Move Playing From",
"description": "Shows the source name (e.g. the playlist or album you're playing from) just above the track title, in the artist text style, instead of at the bottom of the player.",
"default": false
},
{ {
"id": "MiniPlayerRedesign", "id": "MiniPlayerRedesign",
"order": 50, "order": 50,
@@ -132,9 +181,22 @@
"default": false, "default": false,
"defaultVariantIndex": 2, "defaultVariantIndex": 2,
"variants": [ "variants": [
{ "title": "Floating", "fileNames": [] }, {
{ "title": "Grey", "fileNames": ["mini-player-grey.patch"] }, "title": "Floating",
{ "title": "Black", "fileNames": ["mini-player-black.patch"] } "fileNames": []
},
{
"title": "Grey",
"fileNames": [
"mini-player-grey.patch"
]
},
{
"title": "Black",
"fileNames": [
"mini-player-black.patch"
]
}
], ],
"advancedOptions": [ "advancedOptions": [
{ {
@@ -144,10 +206,18 @@
"description": "Colorizes the Mini-Player depending on the currently playing track.", "description": "Colorizes the Mini-Player depending on the currently playing track.",
"default": false, "default": false,
"inline": true, "inline": true,
"fileNames": ["mini-player-dynamic-bg.patch"], "fileNames": [
"extensionFiles": ["radiant/MiniPlayerBackground.smali"], "mini-player-dynamic-bg.patch"
"hidesVariants": [2], ],
"relabelVariants": { "1": "Legacy" } "extensionFiles": [
"radiant/MiniPlayerBackground.smali"
],
"hidesVariants": [
2
],
"relabelVariants": {
"1": "Legacy"
}
}, },
{ {
"type": "toggle", "type": "toggle",
@@ -156,8 +226,12 @@
"description": "Draws an animated progress ring around the floating mini-player. Requires the Floating style.", "description": "Draws an animated progress ring around the floating mini-player. Requires the Floating style.",
"default": false, "default": false,
"requiresVariant": 0, "requiresVariant": 0,
"fileNames": ["mini-player-floating-border.patch"], "fileNames": [
"extensionFiles": ["radiant/MiniSeekerFloating.smali"] "mini-player-floating-border.patch"
],
"extensionFiles": [
"radiant/MiniSeekerFloating.smali"
]
}, },
{ {
"type": "toggle", "type": "toggle",
@@ -165,7 +239,9 @@
"title": "Mini-Player Gestures", "title": "Mini-Player Gestures",
"description": "Adds swipe up gesture to the mini-player to reopen the player", "description": "Adds swipe up gesture to the mini-player to reopen the player",
"default": true, "default": true,
"fileNames": ["mini-player-gestures.patch"], "fileNames": [
"mini-player-gestures.patch"
],
"extensionFiles": [ "extensionFiles": [
"radiant/MiniPlayerGestures.smali", "radiant/MiniPlayerGestures.smali",
"radiant/MiniPlayerGestures$Gesture.smali", "radiant/MiniPlayerGestures$Gesture.smali",
@@ -179,8 +255,14 @@
"type": "choice", "type": "choice",
"key": "swipe_up_drag", "key": "swipe_up_drag",
"title": "Swipe Up Style", "title": "Swipe Up Style",
"entries": ["Static", "Drag"], "entries": [
"values": ["0x0", "0x1"], "Static",
"Drag"
],
"values": [
"0x0",
"0x1"
],
"defaultIndex": 1, "defaultIndex": 1,
"requiresOption": "gestures", "requiresOption": "gestures",
"token": "RL_MINI_PLAYER_SWIPE_UP_DRAG" "token": "RL_MINI_PLAYER_SWIPE_UP_DRAG"
@@ -192,14 +274,16 @@
"description": "Swipe left or right on the mini-player to skip tracks.", "description": "Swipe left or right on the mini-player to skip tracks.",
"default": false, "default": false,
"requiresOption": "gestures", "requiresOption": "gestures",
"fileNames": ["mini-player-gestures-left-right.patch"], "fileNames": [
"mini-player-gestures-left-right.patch"
],
"extensionFiles": [ "extensionFiles": [
"radiant/MiniPlayerTrackGestures.smali", "radiant/MiniPlayerTrackGestures.smali",
"radiant/MiniPlayerTrackGestures$Gesture.smali", "radiant/MiniPlayerTrackGestures$Gesture.smali",
"radiant/MiniPlayerTrackGestures$OffsetLayer.smali", "radiant/MiniPlayerTrackGestures$OffsetLayer.smali",
"radiant/MiniPlayerTrackGestures$ResetAnimator.smali", "radiant/MiniPlayerTrackGestures$ResetAnimator.smali",
"radiant/MiniPlayerTrackGestures$TextDraw.smali", "radiant/MiniPlayerTrackGestures$TextDraw.smali",
"com/tidal/android/feature/appscaffold/ui/q$c.smali" "com/tidal/android/feature/appscaffold/ui/s$c.smali"
] ]
} }
] ]
@@ -207,9 +291,14 @@
{ {
"id": "LyricsKeepControlsVisible", "id": "LyricsKeepControlsVisible",
"order": 60, "order": 60,
"fileNames": ["lyrics-keep-controls-visible.patch"], "fileNames": [
"lyrics-keep-controls-visible.patch"
],
"extensionFiles": [
"radiant/LyricsReinitGuard.smali"
],
"title": "Keep Controls Visible", "title": "Keep Controls Visible",
"description": "Inverts the auto-hide behavior on the lyrics screen, playback controls stay visible by default and only hide when you tap them off.", "description": "Inverts the auto-hide behavior on the lyrics screen, playback controls stay visible by default and only hide when you tap them off. Also stops the open lyrics view from randomly closing when the player re-fetches the same track.",
"default": true "default": true
}, },
{ {
@@ -217,8 +306,13 @@
"order": 90, "order": 90,
"category": "integration", "category": "integration",
"pathLocked": true, "pathLocked": true,
"fileNames": ["waze-media-browser.patch"], "fileNames": [
"extensionFiles": ["radiant/WazeInitReceiver.smali", "radiant/WazeServiceConnection.smali"], "waze-media-browser.patch"
],
"extensionFiles": [
"radiant/WazeInitReceiver.smali",
"radiant/WazeServiceConnection.smali"
],
"title": "Waze Integration", "title": "Waze Integration",
"description": "Control TIDAL playback from the Waze app", "description": "Control TIDAL playback from the Waze app",
"default": true, "default": true,
@@ -227,7 +321,11 @@
"type": "choice", "type": "choice",
"key": "browse_root", "key": "browse_root",
"title": "Media Menu", "title": "Media Menu",
"entries": ["Auto Menu", "Home", "Recents"], "entries": [
"Auto Menu",
"Home",
"Recents"
],
"values": [ "values": [
"ROOT_AUTO", "ROOT_AUTO",
"HOME_V2::home_page_v2_id", "HOME_V2::home_page_v2_id",
@@ -248,10 +346,12 @@
{ {
"id": "DebugMenuUnlock", "id": "DebugMenuUnlock",
"order": 100, "order": 100,
"fileNames": ["debug-menu-unlock.patch"], "fileNames": [
"debug-menu-unlock.patch"
],
"title": "Unlock Debug Menu", "title": "Unlock Debug Menu",
"description": "Reveals TIDAL's hidden Debug Menu in Settings. (Unlocks Feature Flags & the legacy Debug Options)", "description": "Reveals TIDAL's hidden Debug Menu in Settings. (Unlocks Feature Flags & the legacy Debug Options)",
"default": false "default": false
} }
] ]
} }
+31 -32
View File
@@ -20,61 +20,60 @@
.line 71 .line 71
--- a/com/tidal/android/feature/appscaffold/ui/composable/i.smali --- a/com/tidal/android/feature/appscaffold/ui/composable/i.smali
+++ b/com/tidal/android/feature/appscaffold/ui/composable/i.smali +++ b/com/tidal/android/feature/appscaffold/ui/composable/i.smali
@@ -2756,12 +2756,7 @@ @@ -2275,11 +2275,7 @@
invoke-static {v0, v8, v11, v12}, Landroidx/compose/foundation/layout/SizeKt;->fillMaxWidth$default(Landroidx/compose/ui/Modifier;FILjava/lang/Object;)Landroidx/compose/ui/Modifier;
move-result-object v0 move-result-object v2
- .line 143
- invoke-static {v2}, Landroidx/compose/foundation/layout/WindowInsetsPadding_androidKt;->navigationBarsPadding(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
- -
- .line 140 - move-result-object v2
- invoke-static {v0}, Landroidx/compose/foundation/layout/WindowInsetsPadding_androidKt;->navigationBarsPadding(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
-
- move-result-object v0
- -
+ # flush bottom; skip nav inset + # flush bottom; skip nav inset
.line 141 .line 144
invoke-interface/range {v17 .. v17}, Landroidx/compose/runtime/State;->getValue()Ljava/lang/Object; invoke-interface/range {v21 .. v21}, Landroidx/compose/runtime/State;->getValue()Ljava/lang/Object;
@@ -2773,6 +2768,8 @@ @@ -2291,6 +2287,8 @@
move-result v10 move-result v4
+ const/4 v10, 0x0 # zero horizontal padding + const/4 v4, 0x0 # zero horizontal padding
+ +
const/4 v11, 0x2 const/4 v6, 0x2
.line 142 .line 145
@@ -2816,6 +2813,12 @@ @@ -2334,6 +2332,12 @@
move-result-wide v10 move-result-wide v3
+ const v8, -0x1000000 # 0xFF000000 opaque black + const v5, -0x1000000 # 0xFF000000 opaque black
+ +
+ invoke-static {v8}, Landroidx/compose/ui/graphics/ColorKt;->Color(I)J # pack to color long + invoke-static {v5}, Landroidx/compose/ui/graphics/ColorKt;->Color(I)J # pack to color long
+ +
+ move-result-wide v10 # override theme color + move-result-wide v3 # override theme color
+ +
.line 147 .line 150
sget-object v8, Lcom/tidal/android/feature/appscaffold/ui/composable/a;->c:Landroidx/compose/foundation/shape/RoundedCornerShape; sget-object v5, Lcom/tidal/android/feature/appscaffold/ui/composable/a;->c:Landroidx/compose/foundation/shape/RoundedCornerShape;
@@ -2857,6 +2860,10 @@ @@ -2375,6 +2379,10 @@
move-result-object v0 move-result-object v2
+ invoke-static {v0}, Landroidx/compose/foundation/layout/WindowInsetsPadding_androidKt;->navigationBarsPadding(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # inset bar content above nav bar (Prevents Bleeding behind Nav Buttons) + invoke-static {v2}, Landroidx/compose/foundation/layout/WindowInsetsPadding_androidKt;->navigationBarsPadding(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # inset bar content above nav bar (Prevents Bleeding behind Nav Buttons)
+ +
+ move-result-object v0 + move-result-object v2
+ +
.line 155 .line 158
sget-object v8, Landroidx/compose/foundation/layout/Arrangement;->INSTANCE:Landroidx/compose/foundation/layout/Arrangement; sget-object v3, Landroidx/compose/foundation/layout/Arrangement;->INSTANCE:Landroidx/compose/foundation/layout/Arrangement;
@@ -2969,6 +2976,10 @@ @@ -2487,6 +2495,10 @@
invoke-static {v12, v0, v8}, Landroidx/compose/runtime/Updater;->set-impl(Landroidx/compose/runtime/Composer;Ljava/lang/Object;Lyl0/p;)V invoke-static {v6, v2, v3}, Landroidx/compose/runtime/Updater;->set-impl(Landroidx/compose/runtime/Composer;Ljava/lang/Object;Lem0/p;)V
+ const/4 v8, 0x0 # composer $changed flags + const/4 v8, 0x0 # composer $changed flags
+ +
+ invoke-static {v15, v8}, Lradiant/MiniSeekerLine;->render(Landroidx/compose/runtime/Composer;I)V # draw top-edge seeker + invoke-static {v7, v8}, Lradiant/MiniSeekerLine;->render(Landroidx/compose/runtime/Composer;I)V # draw top-edge seeker
+ +
.line 172 .line 175
sget-object v0, Landroidx/compose/foundation/layout/ColumnScopeInstance;->INSTANCE:Landroidx/compose/foundation/layout/ColumnScopeInstance; sget-object v2, Landroidx/compose/foundation/layout/ColumnScopeInstance;->INSTANCE:Landroidx/compose/foundation/layout/ColumnScopeInstance;
+16 -17
View File
@@ -1,33 +1,32 @@
--- a/com/tidal/android/feature/appscaffold/ui/composable/i.smali --- a/com/tidal/android/feature/appscaffold/ui/composable/i.smali
+++ b/com/tidal/android/feature/appscaffold/ui/composable/i.smali +++ b/com/tidal/android/feature/appscaffold/ui/composable/i.smali
@@ -2819,4 +2819,10 @@ @@ -2334,6 +2334,12 @@
.line 147
+ const/4 v8, 0x0 move-result-wide v3
+ const/4 v5, 0x0
+ +
+ invoke-static {v10, v11, v15, v8}, Lradiant/MiniPlayerBackground;->color(JLandroidx/compose/runtime/Composer;I)J # dynamic bg or fallback + invoke-static {v3, v4, v7, v5}, Lradiant/MiniPlayerBackground;->color(JLandroidx/compose/runtime/Composer;I)J # dynamic bg or fallback
+ +
+ move-result-wide v10 + move-result-wide v3
+ +
sget-object v8, Lcom/tidal/android/feature/appscaffold/ui/composable/a;->c:Landroidx/compose/foundation/shape/RoundedCornerShape; .line 150
sget-object v5, Lcom/tidal/android/feature/appscaffold/ui/composable/a;->c:Landroidx/compose/foundation/shape/RoundedCornerShape;
.line 148
--- a/com/tidal/android/feature/playerscreen/ui/PlayerViewModel.smali --- a/com/tidal/android/feature/playerscreen/ui/PlayerViewModel.smali
+++ b/com/tidal/android/feature/playerscreen/ui/PlayerViewModel.smali +++ b/com/tidal/android/feature/playerscreen/ui/PlayerViewModel.smali
@@ -1047,9 +1047,13 @@ @@ -1063,6 +1063,10 @@
invoke-static {v2, v1, v4, v3}, Lkotlinx/coroutines/flow/FlowKt;->stateIn(Lkotlinx/coroutines/flow/Flow;Lkotlinx/coroutines/CoroutineScope;Lkotlinx/coroutines/flow/SharingStarted;Ljava/lang/Object;)Lkotlinx/coroutines/flow/StateFlow;
move-result-object v1 iput-object v1, v0, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->V:Lkotlinx/coroutines/flow/StateFlow;
iput-object v1, v0, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->U:Lkotlinx/coroutines/flow/StateFlow; + iget-object v1, v0, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->P:Lkotlin/i;
+ iget-object v1, v0, Lcom/tidal/android/feature/playerscreen/ui/PlayerViewModel;->O:Lkotlin/h;
+ +
+ invoke-interface {v1}, Lkotlin/h;->getValue()Ljava/lang/Object; # init player bg color + invoke-interface {v1}, Lkotlin/i;->getValue()Ljava/lang/Object; # init player bg color
+ +
return-void return-void
.end method .end method
@@ -1607,6 +1611,8 @@ @@ -1620,6 +1624,8 @@
:goto_6 :goto_6
invoke-interface {v9, v10}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V invoke-interface {v9, v10}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V
@@ -36,7 +35,7 @@
.line 263 .line 263
.line 264 .line 264
.line 265 .line 265
@@ -2306,6 +2312,8 @@ @@ -2319,6 +2325,8 @@
.line 598 .line 598
invoke-interface {v1, v5}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V invoke-interface {v1, v5}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V
@@ -45,7 +44,7 @@
.line 599 .line 599
.line 600 .line 600
.line 601 .line 601
@@ -2523,6 +2531,8 @@ @@ -2536,6 +2544,8 @@
.line 704 .line 704
invoke-interface {v1, v5}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V invoke-interface {v1, v5}, Lkotlinx/coroutines/flow/MutableStateFlow;->setValue(Ljava/lang/Object;)V
+7 -7
View File
@@ -1,15 +1,15 @@
--- a/com/tidal/android/feature/appscaffold/ui/composable/i.smali --- a/com/tidal/android/feature/appscaffold/ui/composable/i.smali
+++ b/com/tidal/android/feature/appscaffold/ui/composable/i.smali +++ b/com/tidal/android/feature/appscaffold/ui/composable/i.smali
@@ -2829,6 +2829,12 @@ @@ -2347,6 +2347,12 @@
move-result-object v0 move-result-object v2
+ sget-object v8, Lradiant/MiniSeekerFloating;->INSTANCE:Lradiant/MiniSeekerFloating; # draw lambda + sget-object v5, Lradiant/MiniSeekerFloating;->INSTANCE:Lradiant/MiniSeekerFloating; # draw lambda
+ +
+ invoke-static {v0, v8}, Landroidx/compose/ui/draw/DrawModifierKt;->drawWithContent(Landroidx/compose/ui/Modifier;Lyl0/l;)Landroidx/compose/ui/Modifier; # overlay perimeter stroke + invoke-static {v2, v5}, Landroidx/compose/ui/draw/DrawModifierKt;->drawWithContent(Landroidx/compose/ui/Modifier;Lem0/l;)Landroidx/compose/ui/Modifier; # overlay perimeter stroke
+ +
+ move-result-object v0 # updated modifier + move-result-object v2 # updated modifier
+ +
.line 150 .line 153
sget-object v8, Lkotlin/u;->a:Lkotlin/u; sget-object v3, Lkotlin/v;->a:Lkotlin/v;
+44 -40
View File
@@ -1,40 +1,50 @@
--- a/com/tidal/android/feature/appscaffold/ui/composable/MiniPlayerKt.smali --- a/com/tidal/android/feature/appscaffold/ui/composable/MiniPlayerKt.smali
+++ b/com/tidal/android/feature/appscaffold/ui/composable/MiniPlayerKt.smali +++ b/com/tidal/android/feature/appscaffold/ui/composable/MiniPlayerKt.smali
@@ -1768,3 +1768,7 @@ @@ -1215,6 +1215,10 @@
move-result-object v6 move-result-object v6
-
+ + invoke-static {v6, v1}, Lradiant/MiniPlayerTrackGestures;->trackModifier(Landroidx/compose/ui/Modifier;Lem0/l;)Landroidx/compose/ui/Modifier; # attach horizontal swipe listener
+ invoke-static {v6, v1}, Lradiant/MiniPlayerTrackGestures;->trackModifier(Landroidx/compose/ui/Modifier;Lyl0/l;)Landroidx/compose/ui/Modifier; # attach horizontal swipe listener
+ +
+ move-result-object v6 + move-result-object v6
+ +
.line 38 .line 38
@@ -1884,5 +1888,5 @@ sget-object v21, Landroidx/compose/ui/Alignment;->Companion:Landroidx/compose/ui/Alignment$Companion;
@@ -1352,6 +1356,8 @@
.line 56 .line 56
iget-object v6, v0, Lcom/tidal/android/feature/appscaffold/ui/s;->b:Lcom/tidal/android/feature/appscaffold/ui/p; iget-object v6, v0, Lcom/tidal/android/feature/appscaffold/ui/u;->b:Lcom/tidal/android/feature/appscaffold/ui/r;
-
+ invoke-static {v6}, Lradiant/MiniPlayerTrackGestures;->onRenderedItem(Ljava/lang/Object;)V # reset stale drag offset if track metadata changes mid-gesture + invoke-static {v6}, Lradiant/MiniPlayerTrackGestures;->onRenderedItem(Ljava/lang/Object;)V # reset stale drag offset if track metadata changes mid-gesture
+
.line 57 .line 57
invoke-virtual/range {v16 .. v16}, Lcom/squareup/ui/market/core/theme/MarketStylesheet;->getBorderRadii()Lcom/squareup/ui/market/core/theme/MarketStylesheet$b; invoke-virtual/range {v16 .. v16}, Lcom/squareup/ui/market/core/theme/MarketStylesheet;->getBorderRadii()Lcom/squareup/ui/market/core/theme/MarketStylesheet$b;
@@ -1919,5 +1923,6 @@
invoke-static {v5, v4}, Landroidx/compose/foundation/layout/SizeKt;->size-3ABfNKs(Landroidx/compose/ui/Modifier;F)Landroidx/compose/ui/Modifier; @@ -1388,6 +1394,10 @@
-
move-result-object v4 move-result-object v4
-
+ invoke-static {v4}, Lradiant/MiniPlayerTrackGestures;->feedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move the whole cover container with horizontal swipe + invoke-static {v4}, Lradiant/MiniPlayerTrackGestures;->feedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move the whole cover container with horizontal swipe
+
+ move-result-object v4 + move-result-object v4
+ +
.line 63 .line 63
@@ -2032,3 +2038,5 @@ invoke-virtual/range {v22 .. v22}, Lcom/squareup/ui/market/core/theme/MarketStylesheet$c;->p0()Lg20/a;
@@ -1499,6 +1509,10 @@
move-result-object v4 move-result-object v4
-
+ invoke-static {v4}, Lradiant/MiniPlayerTrackGestures;->textFeedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move title/artist + invoke-static {v4}, Lradiant/MiniPlayerTrackGestures;->textFeedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move title/artist
+
+ move-result-object v4 + move-result-object v4
+ +
.line 72 .line 72
invoke-virtual/range {v31 .. v31}, Landroidx/compose/foundation/layout/Arrangement;->getTop()Landroidx/compose/foundation/layout/Arrangement$Vertical;
--- a/com/tidal/android/feature/appscaffold/ui/MiniPlayerViewModel.smali --- a/com/tidal/android/feature/appscaffold/ui/MiniPlayerViewModel.smali
+++ b/com/tidal/android/feature/appscaffold/ui/MiniPlayerViewModel.smali +++ b/com/tidal/android/feature/appscaffold/ui/MiniPlayerViewModel.smali
@@ -816,10 +816,10 @@ @@ -595,10 +595,10 @@
.line 111 .line 111
.line 112 .line 112
.line 113 .line 113
@@ -47,21 +57,19 @@
.line 115 .line 115
.line 116 .line 116
@@ -997,11 +997,32 @@ @@ -778,6 +778,28 @@
:cond_e
return-void
- .line 195 .line 195
:cond_f :cond_f
+ sget-object v0, Lcom/tidal/android/feature/appscaffold/ui/q$c;->a:Lcom/tidal/android/feature/appscaffold/ui/q$c; + sget-object v0, Lcom/tidal/android/feature/appscaffold/ui/s$c;->a:Lcom/tidal/android/feature/appscaffold/ui/s$c; # our synthetic previous-track event
+ +
+ invoke-virtual {p1, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z + invoke-virtual {p1, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z # is this the swipe-previous event?
+ +
+ move-result p1 + move-result p1
+ +
+ if-eqz p1, :unknown_event + if-eqz p1, :unknown_event
+ +
+ invoke-interface {v3}, Lei/e;->canSkipToPreviousOrRewind()Z + invoke-interface {v3}, Ldi/e;->canSkipToPreviousOrRewind()Z
+ +
+ move-result p1 + move-result p1
+ +
@@ -69,36 +77,32 @@
+ +
+ const/4 p1, 0x0 + const/4 p1, 0x0
+ +
+ invoke-interface {v3, p1}, Lei/e;->h(Z)V # false = previous/rewind + invoke-interface {v3, p1}, Ldi/e;->h(Z)V # false = previous/rewind
+ +
+ :previous_done + :previous_done
+ return-void + return-void
+ +
+ :unknown_event + :unknown_event
invoke-static {}, Landroidx/compose/ui/graphics/y;->b()V invoke-static {}, Lcoil/util/i;->a()V
.line 196 .line 196
.line 197 --- a/com/aspiro/wamp/util/m.smali
.line 198 +++ b/com/aspiro/wamp/util/m.smali
return-void @@ -61,6 +61,17 @@
--- a/com/tidal/android/feature/appscaffold/ui/composable/e.smali
+++ b/com/tidal/android/feature/appscaffold/ui/composable/e.smali .line 15
@@ -75,6 +75,18 @@
.line 22
:pswitch_0 :pswitch_0
+ invoke-static {}, Lradiant/MiniPlayerTrackGestures;->consumeTapOpenSuppression()Z # prevent tap open after horizontal swipe + invoke-static {}, Lradiant/MiniPlayerTrackGestures;->consumeTapOpenSuppression()Z # skip open-player if a horizontal skip-swipe just happened
+ +
+ move-result v0 + move-result v0
+ +
+ if-eqz v0, :continue_open + if-eqz v0, :rl_continue_open
+ +
+ sget-object v0, Lkotlin/u;->a:Lkotlin/u; + sget-object v0, Lkotlin/v;->a:Lkotlin/v;
+ +
+ return-object v0 + return-object v0
+ +
+ :continue_open + :rl_continue_open
+ iget-object v0, p0, Lcom/aspiro/wamp/util/m;->b:Ljava/lang/Object;
iget-object v0, p0, Lcom/tidal/android/feature/appscaffold/ui/composable/e;->b:Ljava/lang/Object;
.line 23 .line 16
.line 24
+61 -48
View File
@@ -1,39 +1,32 @@
# rl-locals: com/tidal/android/feature/appscaffold/ui/composable/i.smali b( 52
--- a/com/tidal/android/feature/appscaffold/ui/composable/i.smali --- a/com/tidal/android/feature/appscaffold/ui/composable/i.smali
+++ b/com/tidal/android/feature/appscaffold/ui/composable/i.smali +++ b/com/tidal/android/feature/appscaffold/ui/composable/i.smali
@@ -2427,6 +2427,12 @@ @@ -1691,6 +1691,14 @@
move-object/from16 v16, v9
move-result-object v24
.line 99
+ move-object/from16 v9, v25 # SheetState + move-object/from16 v49, p5 # gesture expand lambda (AppScaffold Function1 param)
+ +
+ invoke-static {v5, v6, v9}, Lradiant/MiniPlayerGestures;->rootModifier(Landroidx/compose/ui/Modifier;Lyl0/l;Landroidx/compose/material3/SheetState;)Landroidx/compose/ui/Modifier; # continue drag after player recomposition + move-object/from16 v50, v24 # SheetState
+ +
+ move-result-object v5 + const/16 v51, __RL_MINI_PLAYER_SWIPE_UP_DRAG__ # Enable Drag option
+ +
invoke-static {v15, v5}, Landroidx/compose/ui/ComposedModifierKt;->materializeModifier(Landroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; + invoke-static/range {v49 .. v51}, Lradiant/MiniPlayerGestures;->configure(Lem0/l;Landroidx/compose/material3/SheetState;Z)V # wire swipe-up to expand the sheet
move-result-object v9
@@ -2832,2 +2838,8 @@
+ move-object/from16 v8, v25 # SheetState from AppScaffold
+ +
+ const/4 v10, __RL_MINI_PLAYER_SWIPE_UP_DRAG__ # Enable Drag option .line 69
+ invoke-static {}, Landroidx/compose/ui/platform/CompositionLocalsKt;->getLocalDensity()Landroidx/compose/runtime/ProvidableCompositionLocal;
+ invoke-static {v6, v8, v10}, Lradiant/MiniPlayerGestures;->configure(Lyl0/l;Landroidx/compose/material3/SheetState;Z)V
+
.line 150
sget-object v8, Lkotlin/u;->a:Lkotlin/u;
--- a/com/tidal/android/feature/appscaffold/ui/composable/MiniPlayerKt.smali --- a/com/tidal/android/feature/appscaffold/ui/composable/MiniPlayerKt.smali
+++ b/com/tidal/android/feature/appscaffold/ui/composable/MiniPlayerKt.smali +++ b/com/tidal/android/feature/appscaffold/ui/composable/MiniPlayerKt.smali
@@ -1243,5 +1243,21 @@ @@ -712,6 +712,22 @@
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
iget-object v3, v0, Lcom/tidal/android/feature/appscaffold/ui/s;->c:Lcom/tidal/android/feature/appscaffold/ui/MiniPlayerContract$PlayState; iget-object v3, v0, Lcom/tidal/android/feature/appscaffold/ui/u;->c:Lcom/tidal/android/feature/appscaffold/ui/MiniPlayerContract$PlayState;
+ iget-object v5, v0, Lcom/tidal/android/feature/appscaffold/ui/u;->a:Lcom/tidal/android/feature/appscaffold/ui/MiniPlayerContract$ItemType; # currently rendered mini player media type
+ +
+ iget-object v5, v0, Lcom/tidal/android/feature/appscaffold/ui/s;->a:Lcom/tidal/android/feature/appscaffold/ui/MiniPlayerContract$ItemType; # currently rendered mini player media type + sget-object v6, Lcom/tidal/android/feature/appscaffold/ui/MiniPlayerContract$ItemType;->Unknown:Lcom/tidal/android/feature/appscaffold/ui/MiniPlayerContract$ItemType; # Unknown = no media playing
+ +
+ sget-object v6, Lcom/tidal/android/feature/appscaffold/ui/MiniPlayerContract$ItemType;->Unknown:Lcom/tidal/android/feature/appscaffold/ui/MiniPlayerContract$ItemType; # Unknown = no media playing. other media types : Track, Video. + if-ne v5, v6, :rl_has_media # prevent swipe up when nothing playing
+
+ if-ne v5, v6, :rl_has_media # used to prevent swipe up when nothing is playing
+ +
+ const/4 v5, 0x0 + const/4 v5, 0x0
+ +
@@ -44,69 +37,89 @@
+ +
+ :rl_set_media + :rl_set_media
+ invoke-static {v5}, Lradiant/MiniPlayerGestures;->setHasMiniPlayerMedia(Z)V + invoke-static {v5}, Lradiant/MiniPlayerGestures;->setHasMiniPlayerMedia(Z)V
-
+ +
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class; invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
@@ -1750,2 +1766,6 @@
+ invoke-static {v6}, Lradiant/MiniPlayerGestures;->trackAreaModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # attach swipe up listener const v4, -0x571456a1
@@ -1215,6 +1231,10 @@
move-result-object v6
+ invoke-static {v6}, Lradiant/MiniPlayerGestures;->trackAreaModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # attach swipe up listener
+ +
+ move-result-object v6 + move-result-object v6
+ +
.line 38 .line 38
sget-object v21, Landroidx/compose/ui/Alignment;->Companion:Landroidx/compose/ui/Alignment$Companion; sget-object v21, Landroidx/compose/ui/Alignment;->Companion:Landroidx/compose/ui/Alignment$Companion;
@@ -1923,2 +1943,6 @@
+ invoke-static {v4}, Lradiant/MiniPlayerGestures;->feedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move cover (swipe up feedback) @@ -1388,6 +1408,10 @@
move-result-object v4
+ invoke-static {v4}, Lradiant/MiniPlayerGestures;->feedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move cover (swipe up feedback)
+ +
+ move-result-object v4 + move-result-object v4
+ +
.line 63 .line 63
invoke-virtual/range {v22 .. v22}, Lcom/squareup/ui/market/core/theme/MarketStylesheet$c;->p0()Lc20/a; invoke-virtual/range {v22 .. v22}, Lcom/squareup/ui/market/core/theme/MarketStylesheet$c;->p0()Lg20/a;
@@ -2034,2 +2058,6 @@
+ invoke-static {v4}, Lradiant/MiniPlayerGestures;->feedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move title/artist (swipe up feedback) @@ -1499,6 +1523,10 @@
move-result-object v4
+ invoke-static {v4}, Lradiant/MiniPlayerGestures;->feedbackModifier(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # move title/artist (swipe up feedback)
+ +
+ move-result-object v4 + move-result-object v4
+ +
.line 72 .line 72
invoke-virtual/range {p2 .. p2}, Landroidx/compose/foundation/layout/Arrangement;->getTop()Landroidx/compose/foundation/layout/Arrangement$Vertical; invoke-virtual/range {v31 .. v31}, Landroidx/compose/foundation/layout/Arrangement;->getTop()Landroidx/compose/foundation/layout/Arrangement$Vertical;
--- a/androidx/compose/material3/ModalBottomSheetKt$ModalBottomSheet$4$1.smali --- a/androidx/compose/material3/ModalBottomSheetKt$ModalBottomSheet$4$1.smali
+++ b/androidx/compose/material3/ModalBottomSheetKt$ModalBottomSheet$4$1.smali +++ b/androidx/compose/material3/ModalBottomSheetKt$ModalBottomSheet$4$1.smali
@@ -210,8 +210,10 @@ @@ -212,6 +212,12 @@
.line 22
.line 23
.line 24 .line 24
iget-object p1, p0, Landroidx/compose/material3/ModalBottomSheetKt$ModalBottomSheet$4$1;->$sheetState:Landroidx/compose/material3/SheetState; iget-object p1, p0, Landroidx/compose/material3/ModalBottomSheetKt$ModalBottomSheet$4$1;->$sheetState:Landroidx/compose/material3/SheetState;
-
+ invoke-static {p1}, Lradiant/MiniPlayerGestures;->suppressAutoShow(Landroidx/compose/material3/SheetState;)Z # avoid Material3 show() taking over manual drag + invoke-static {p1}, Lradiant/MiniPlayerGestures;->suppressAutoShow(Landroidx/compose/material3/SheetState;)Z # avoid Material3 show() taking over manual drag
+
+ move-result v1 + move-result v1
+
+ if-nez v1, :skip_show + if-nez v1, :skip_show
+
.line 25 .line 25
.line 26 .line 26
iput v2, p0, Landroidx/compose/material3/ModalBottomSheetKt$ModalBottomSheet$4$1;->label:I iput v2, p0, Landroidx/compose/material3/ModalBottomSheetKt$ModalBottomSheet$4$1;->label:I
@@ -231,7 +233,7 @@ @@ -232,6 +238,7 @@
.line 33
.line 34 .line 34
return-object v0 return-object v0
-
+ :skip_show + :skip_show
.line 35 .line 35
:cond_2 :cond_2
:goto_0 :goto_0
--- a/androidx/compose/material3/ModalBottomSheetKt.smali --- a/androidx/compose/material3/ModalBottomSheetKt.smali
+++ b/androidx/compose/material3/ModalBottomSheetKt.smali +++ b/androidx/compose/material3/ModalBottomSheetKt.smali
@@ -1370,3 +1370,6 @@ @@ -1291,6 +1291,12 @@
.line 34 .line 34
:cond_47 :cond_47
+ move-object v14, v12 + move-object v14, v12 # settle callback
+ check-cast v14, Lyl0/l; +
+ invoke-static {v13, v14}, Lradiant/MiniPlayerGestures;->setSettleCallback(Landroidx/compose/material3/SheetState;Lyl0/l;)V # reuse native settle animation on release + check-cast v14, Lem0/l; # to Function1
+
+ invoke-static {v13, v14}, Lradiant/MiniPlayerGestures;->setSettleCallback(Landroidx/compose/material3/SheetState;Lem0/l;)V # reuse native settle animation on release
+
move-object/from16 v32, v12 move-object/from16 v32, v12
check-cast v32, Lem0/l;
--- a/androidx/compose/material3/SheetDefaultsKt.smali --- a/androidx/compose/material3/SheetDefaultsKt.smali
+++ b/androidx/compose/material3/SheetDefaultsKt.smali +++ b/androidx/compose/material3/SheetDefaultsKt.smali
@@ -100,6 +100,5 @@ @@ -98,7 +98,7 @@
const/4 v2, 0x0
.line 16 .line 16
- const/16 v3, 0x12c - const/16 v3, 0x12c
-
+ const/16 v3, 0x64 # 100ms + const/16 v3, 0x64 # 100ms
.line 17 .line 17
.line 18 .line 18
const/4 v4, 0x0
+24 -25
View File
@@ -20,48 +20,47 @@
.line 71 .line 71
--- a/com/tidal/android/feature/appscaffold/ui/composable/i.smali --- a/com/tidal/android/feature/appscaffold/ui/composable/i.smali
+++ b/com/tidal/android/feature/appscaffold/ui/composable/i.smali +++ b/com/tidal/android/feature/appscaffold/ui/composable/i.smali
@@ -2756,12 +2756,7 @@ @@ -2275,11 +2275,7 @@
invoke-static {v0, v8, v11, v12}, Landroidx/compose/foundation/layout/SizeKt;->fillMaxWidth$default(Landroidx/compose/ui/Modifier;FILjava/lang/Object;)Landroidx/compose/ui/Modifier;
move-result-object v0 move-result-object v2
- .line 143
- invoke-static {v2}, Landroidx/compose/foundation/layout/WindowInsetsPadding_androidKt;->navigationBarsPadding(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
- -
- .line 140 - move-result-object v2
- invoke-static {v0}, Landroidx/compose/foundation/layout/WindowInsetsPadding_androidKt;->navigationBarsPadding(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
-
- move-result-object v0
- -
+ # flush bottom; skip nav inset + # flush bottom; skip nav inset
.line 141 .line 144
invoke-interface/range {v17 .. v17}, Landroidx/compose/runtime/State;->getValue()Ljava/lang/Object; invoke-interface/range {v21 .. v21}, Landroidx/compose/runtime/State;->getValue()Ljava/lang/Object;
@@ -2773,6 +2768,8 @@ @@ -2291,6 +2287,8 @@
move-result v10 move-result v4
+ const/4 v10, 0x0 # zero horizontal padding + const/4 v4, 0x0 # zero horizontal padding
+ +
const/4 v11, 0x2 const/4 v6, 0x2
.line 142 .line 145
@@ -2857,6 +2854,10 @@ @@ -2375,6 +2373,10 @@
move-result-object v0 move-result-object v2
+ invoke-static {v0}, Landroidx/compose/foundation/layout/WindowInsetsPadding_androidKt;->navigationBarsPadding(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # inset bar content above nav bar (Prevents Bleeding behind Nav Buttons) + invoke-static {v2}, Landroidx/compose/foundation/layout/WindowInsetsPadding_androidKt;->navigationBarsPadding(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier; # inset bar content above nav bar (Prevents Bleeding behind Nav Buttons)
+ +
+ move-result-object v0 + move-result-object v2
+ +
.line 155 .line 158
sget-object v8, Landroidx/compose/foundation/layout/Arrangement;->INSTANCE:Landroidx/compose/foundation/layout/Arrangement; sget-object v3, Landroidx/compose/foundation/layout/Arrangement;->INSTANCE:Landroidx/compose/foundation/layout/Arrangement;
@@ -2969,6 +2970,10 @@ @@ -2487,6 +2489,10 @@
invoke-static {v12, v0, v8}, Landroidx/compose/runtime/Updater;->set-impl(Landroidx/compose/runtime/Composer;Ljava/lang/Object;Lyl0/p;)V invoke-static {v6, v2, v3}, Landroidx/compose/runtime/Updater;->set-impl(Landroidx/compose/runtime/Composer;Ljava/lang/Object;Lem0/p;)V
+ const/4 v8, 0x0 # composer $changed flags + const/4 v8, 0x0 # composer $changed flags
+ +
+ invoke-static {v15, v8}, Lradiant/MiniSeekerLine;->render(Landroidx/compose/runtime/Composer;I)V # draw top-edge seeker + invoke-static {v7, v8}, Lradiant/MiniSeekerLine;->render(Landroidx/compose/runtime/Composer;I)V # draw top-edge seeker
+ +
.line 172 .line 175
sget-object v0, Landroidx/compose/foundation/layout/ColumnScopeInstance;->INSTANCE:Landroidx/compose/foundation/layout/ColumnScopeInstance; sget-object v2, Landroidx/compose/foundation/layout/ColumnScopeInstance;->INSTANCE:Landroidx/compose/foundation/layout/ColumnScopeInstance;
+23 -18
View File
@@ -1,19 +1,21 @@
# 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
@@ -4172,6 +4172,148 @@ @@ -4221,6 +4221,153 @@
invoke-static {v5, v3, v4}, Landroidx/compose/runtime/Updater;->set-impl(Landroidx/compose/runtime/Composer;Ljava/lang/Object;Lyl0/p;)V invoke-static {v6, v3, v4}, Landroidx/compose/runtime/Updater;->set-impl(Landroidx/compose/runtime/Composer;Ljava/lang/Object;Lem0/p;)V
+ const v3, 0x52414449 # slot table key + move-object/from16 v57, v6 # capture live composer into free reg
+ +
+ invoke-interface {v10, v3}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V # open group + 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 + move-object/from16 v3, p3 # player state
+ +
+ 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/s$a;->c:Lcom/tidal/android/feature/playerscreen/ui/d; # cover pager
+ +
+ iget-object v4, v3, Lcom/tidal/android/feature/playerscreen/ui/d;->a:Ltn0/b; # item list + 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 + iget v5, v3, Lcom/tidal/android/feature/playerscreen/ui/d;->b:I # current index
+ +
@@ -53,10 +55,9 @@
+ iget-object v4, v4, Lcom/tidal/android/feature/playerscreen/ui/c$b;->c:Ljava/lang/String; # still cover uuid (blur this) + 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 + :radiant_have_cover # v5 = album id, v4 = cover uuid
+ new-instance v6, Lcom/tidal/android/feature/playerscreen/ui/composables/o0; # cover request lambda
+ +
+ 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/o0;-><init>(ILjava/lang/String;)V # build request
+
+ 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; # base modifier + sget-object v5, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion; # base modifier
+ +
@@ -106,13 +107,13 @@
+ +
+ const/16 v67, 0x0 # null onError + const/16 v67, 0x0 # null onError
+ +
+ move-object/from16 v68, v10 # composer + move-object/from16 v68, v57 # composer
+ +
+ const/16 v69, 0x0 # changed flags + const/16 v69, 0x0 # changed flags
+ +
+ const/16 v70, 0x48 # default mask + const/16 v70, 0x48 # default mask
+ +
+ 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 + 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 + sget-object v3, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion; # scrim chain start
+ +
@@ -140,13 +141,17 @@
+ +
+ move-result-object v3 # tinted modifier + move-result-object v3 # tinted modifier
+ +
+ const/4 v4, 0x0 # changed flags + move-object/from16 v58, v3 # scrim modifier
+ +
+ invoke-static {v3, v10, v4}, Landroidx/compose/foundation/layout/SpacerKt;->Spacer(Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V # draw scrim + 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 + :radiant_skip # skip target
+ invoke-interface {v10}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close group + invoke-interface/range {v57 .. v57}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V # close group
+ +
.line 138 .line 142
sget-object v3, Landroidx/compose/foundation/layout/BoxScopeInstance;->INSTANCE:Landroidx/compose/foundation/layout/BoxScopeInstance; sget-object v3, Landroidx/compose/foundation/layout/BoxScopeInstance;->INSTANCE:Landroidx/compose/foundation/layout/BoxScopeInstance;
+20 -20
View File
@@ -1,24 +1,24 @@
--- a/com/tidal/android/feature/playerscreen/ui/composables/c1.smali --- a/com/tidal/android/feature/playerscreen/ui/composables/z0.smali
+++ b/com/tidal/android/feature/playerscreen/ui/composables/c1.smali +++ b/com/tidal/android/feature/playerscreen/ui/composables/z0.smali
@@ -259,7 +259,7 @@ @@ -91,7 +91,7 @@
.line 109 .line 32
.line 110 .line 33
- sget p2, Lcom/tidal/android/feature/playerscreen/ui/R$drawable;->ic_circle_checked:I - sget p2, Lcom/tidal/android/feature/playerscreen/ui/R$drawable;->ic_circle_checked:I
+ sget p2, Lcom/tidal/android/feature/playerscreen/ui/R$drawable;->ic_shapes_heart_filled_medium:I # favorited: filled heart (was circle-check) + sget p2, Lcom/tidal/android/feature/playerscreen/ui/R$drawable;->ic_shapes_heart_filled_medium:I # favorited: filled heart (was circle-check)
.line 111 .line 34
.line 112 .line 35
@@ -267,11 +267,7 @@ @@ -99,11 +99,7 @@
.line 113 .line 36
:cond_5 :cond_1
- sget-object p2, Lx20/b;->O:Lx20/a; - sget-object p2, Lb30/b;->O:Lb30/a;
- -
- .line 114 - .line 37
- .line 115 - .line 38
- iget p2, p2, Lx20/a;->a:I - iget p2, p2, Lb30/a;->a:I
+ sget p2, Lcom/tidal/android/feature/playerscreen/ui/R$drawable;->ic_shapes_heart_medium:I # not favorited: outline heart (was market plus) + sget p2, Lcom/tidal/android/feature/playerscreen/ui/R$drawable;->ic_shapes_heart_medium:I # not favorited: outline heart (was market plus)
.line 116 .line 39
.line 117 .line 40
+75
View File
@@ -0,0 +1,75 @@
# rl-locals: com/tidal/android/feature/playerscreen/ui/composables/k2.smali a( 42
--- a/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
+++ b/com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali
@@ -5023,6 +5023,20 @@
.line 233
:goto_1d
+ iget-object v0, v3, Lcom/tidal/android/feature/playerscreen/ui/s$a;->l:Lcom/tidal/android/feature/playerscreen/ui/p; # RL move-playing-from: SourceLabel — published in BOTH cover & lyrics view (may be null)
+
+ if-eqz v0, :rl_pf_null # no source -> clear
+
+ iget-object v0, v0, Lcom/tidal/android/feature/playerscreen/ui/p;->a:Ljava/lang/String; # sourceName
+
+ goto :rl_pf_set
+
+ :rl_pf_null
+ const/4 v0, 0x0
+
+ :rl_pf_set
+ sput-object v0, Lradiant/PlayingFrom;->a:Ljava/lang/String; # publish for k2 (rendered above the title)
+
iget-object v0, v3, Lcom/tidal/android/feature/playerscreen/ui/s$a;->c:Lcom/tidal/android/feature/playerscreen/ui/d;
.line 234
@@ -5794,6 +5814,8 @@
.line 336
iget-object v3, v10, Lcom/tidal/android/feature/playerscreen/ui/s$a;->l:Lcom/tidal/android/feature/playerscreen/ui/p;
+ const/4 v3, 0x0 # RL move-playing-from: force null -> hide source at bottom (rendered above the title instead)
+
if-nez v3, :cond_52
const v3, 0x26ba353b
--- a/com/tidal/android/feature/playerscreen/ui/composables/k2.smali
+++ b/com/tidal/android/feature/playerscreen/ui/composables/k2.smali
@@ -632,6 +632,39 @@
.line 42
:cond_1c
check-cast v5, Lr20/c2;
+ sget-object v30, Lradiant/PlayingFrom;->a:Ljava/lang/String; # RL: published "Playing from" source name
+
+ const v13, 0x52414450 # RL group key (v13 is dead here; the title setup below resets it)
+
+ invoke-interface {v1, v13}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V
+
+ if-eqz v30, :rl_pf_skip # no source -> render nothing above the title
+
+ sget-object v31, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion;
+
+ const/16 v32, 0x1 # maxLines = 1
+
+ const/16 v33, 0x0
+
+ const/16 v34, 0x0
+
+ const/16 v35, 0x0
+
+ const/16 v36, 0x0
+
+ move-object/from16 v37, v5 # reuse the artist PARAGRAPH_30 style (same colour + size as the artist names)
+
+ move-object/from16 v38, v1 # composer
+
+ const/16 v39, 0x0
+
+ const/16 v40, 0x78 # default-arg mask (matches the artist MarketLabel.e call)
+
+ invoke-static/range {v30 .. v40}, Lcom/squareup/ui/market/components/MarketLabelKt;->e(Ljava/lang/String;Landroidx/compose/ui/Modifier;IILcom/squareup/ui/market/text/a;Landroidx/compose/foundation/interaction/MutableInteractionSource;Lem0/l;Lr20/c2;Landroidx/compose/runtime/Composer;II)V
+
+ :rl_pf_skip
+ invoke-interface {v1}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V
+
.line 43
sget-object v13, Landroidx/compose/ui/Modifier;->Companion:Landroidx/compose/ui/Modifier$Companion;
+7 -19
View File
@@ -1,10 +1,7 @@
# rl-locals: com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali e( 80 # rl-locals: com/tidal/android/feature/playerscreen/ui/PlayerScreenKt.smali e( 80
--- 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
@@ -5650,12 +5650,26 @@ @@ -5579,6 +5579,20 @@
invoke-static {v2, v15, v7, v9}, Lcom/aspiro/wamp/dynamicpages/ui/compose/f;->a(FLandroidx/compose/ui/Modifier$Companion;Landroidx/compose/runtime/Composer;I)V
const/4 v2, 0x0
const/4 v9, 0x0 const/4 v9, 0x0
@@ -22,24 +19,15 @@
+ +
+ invoke-interface/range {v76 .. v77}, Landroidx/compose/runtime/Composer;->startProvider(Landroidx/compose/runtime/ProvidedValue;)V # open Rtl scope (mirror row) + invoke-interface/range {v76 .. v77}, Landroidx/compose/runtime/Composer;->startProvider(Landroidx/compose/runtime/ProvidedValue;)V # open Rtl scope (mirror row)
+ +
.line 302 .line 306
invoke-static {v15, v9, v1, v2}, Landroidx/compose/foundation/layout/SizeKt;->fillMaxWidth$default(Landroidx/compose/ui/Modifier;FILjava/lang/Object;)Landroidx/compose/ui/Modifier; invoke-static {v0, v9, v14, v8}, Landroidx/compose/foundation/layout/SizeKt;->fillMaxWidth$default(Landroidx/compose/ui/Modifier;FILjava/lang/Object;)Landroidx/compose/ui/Modifier;
move-result-object v4 @@ -6049,6 +6063,8 @@
.line 364
move/from16 v5, v58
@@ -6001,12 +6015,14 @@
invoke-static {v13, v7, v2, v4}, Lcom/tidal/android/feature/playerscreen/ui/composables/m0;->a(ILandroidx/compose/runtime/Composer;Landroidx/compose/ui/Modifier;Lyl0/a;)V
.line 343
invoke-interface {v7}, Landroidx/compose/runtime/Composer;->endNode()V invoke-interface {v7}, Landroidx/compose/runtime/Composer;->endNode()V
+ invoke-interface {v7}, Landroidx/compose/runtime/Composer;->endProvider()V # close Rtl scope (end mirror) + invoke-interface {v7}, Landroidx/compose/runtime/Composer;->endProvider()V # close Rtl scope (end mirror)
+ +
.line 344 .line 365
invoke-static/range {v40 .. v40}, Landroidx/compose/ui/unit/Dp;->constructor-impl(F)F invoke-static/range {v27 .. v27}, Landroidx/compose/ui/unit/Dp;->constructor-impl(F)F
move-result v20
const/16 v21, 0x7
+41 -40
View File
@@ -2,8 +2,8 @@
+++ b/com/tidal/android/feature/playerscreen/ui/composables/SeekbarAndTimeKt.smali +++ b/com/tidal/android/feature/playerscreen/ui/composables/SeekbarAndTimeKt.smali
@@ -372,6 +372,10 @@ @@ -372,6 +372,10 @@
.line 158 .line 158
sget v4, Lcom/tidal/android/feature/playerscreen/ui/composables/o4;->g:F sget v4, Lcom/tidal/android/feature/playerscreen/ui/composables/m4;->g:F
+ const/high16 v11, 0x40000000 # 2.0f + const/high16 v11, 0x40000000 # 2.0f
+ +
+ mul-float/2addr v4, v11 # scale atmos icon 2x as it is too small in stock app + mul-float/2addr v4, v11 # scale atmos icon 2x as it is too small in stock app
@@ -14,7 +14,7 @@
@@ -461,6 +465,8 @@ @@ -461,6 +465,8 @@
.line 200 .line 200
check-cast v3, Lcom/tidal/android/feature/playerscreen/ui/i$a; check-cast v3, Lcom/tidal/android/feature/playerscreen/ui/i$a;
+ iget v13, v3, Lcom/tidal/android/feature/playerscreen/ui/i$a;->b:I + iget v13, v3, Lcom/tidal/android/feature/playerscreen/ui/i$a;->b:I
+ +
.line 201 .line 201
@@ -23,29 +23,29 @@
@@ -481,6 +487,16 @@ @@ -481,6 +487,16 @@
.line 210 .line 210
move-object v1, v3 move-object v1, v3
+ invoke-static {v2, v13}, Lradiant/QualityBadge;->modifier(Landroidx/compose/ui/Modifier;I)Landroidx/compose/ui/Modifier; + invoke-static {v2, v13}, Lradiant/QualityBadge;->modifier(Landroidx/compose/ui/Modifier;I)Landroidx/compose/ui/Modifier;
+ +
+ move-result-object v2 + move-result-object v2
+ +
+ move-object/from16 v3, p1 + move-object/from16 v3, p1
+ +
+ invoke-static {v13, v3}, Lradiant/QualityBadge;->style(ILn20/e2;)Ln20/e2; + invoke-static {v13, v3}, Lradiant/QualityBadge;->style(ILr20/c2;)Lr20/c2;
+ +
+ move-result-object v8 + move-result-object v8
+ +
.line 211 .line 211
const/4 v3, 0x0 const/4 v3, 0x0
--- a/com/tidal/android/feature/playerscreen/ui/i$a.smali --- a/com/tidal/android/feature/playerscreen/ui/i$a.smali
+++ b/com/tidal/android/feature/playerscreen/ui/i$a.smali +++ b/com/tidal/android/feature/playerscreen/ui/i$a.smali
@@ -21,9 +21,21 @@ @@ -21,9 +21,21 @@
# instance fields # instance fields
.field public final a:Ljava/lang/String; .field public final a:Ljava/lang/String;
+.field public final b:I +.field public final b:I
+ +
# direct methods # direct methods
.method public constructor <init>(Ljava/lang/String;)V .method public constructor <init>(Ljava/lang/String;)V
+ .locals 1 + .locals 1
@@ -59,12 +59,12 @@
+ +
+.method public constructor <init>(Ljava/lang/String;I)V +.method public constructor <init>(Ljava/lang/String;I)V
.locals 0 .locals 0
.line 1 .line 1
@@ -34,6 +46,8 @@ @@ -34,6 +46,8 @@
.line 4 .line 4
iput-object p1, p0, Lcom/tidal/android/feature/playerscreen/ui/i$a;->a:Ljava/lang/String; iput-object p1, p0, Lcom/tidal/android/feature/playerscreen/ui/i$a;->a:Ljava/lang/String;
+ iput p2, p0, Lcom/tidal/android/feature/playerscreen/ui/i$a;->b:I + iput p2, p0, Lcom/tidal/android/feature/playerscreen/ui/i$a;->b:I
+ +
.line 5 .line 5
@@ -72,45 +72,46 @@
return-void return-void
--- a/com/tidal/android/feature/playerscreen/ui/PlayerViewModel$special$$inlined$mapNotNull$1$2.smali --- a/com/tidal/android/feature/playerscreen/ui/PlayerViewModel$special$$inlined$mapNotNull$1$2.smali
+++ b/com/tidal/android/feature/playerscreen/ui/PlayerViewModel$special$$inlined$mapNotNull$1$2.smali +++ b/com/tidal/android/feature/playerscreen/ui/PlayerViewModel$special$$inlined$mapNotNull$1$2.smali
@@ -1356,6 +1356,14 @@ @@ -1399,7 +1399,15 @@
.line 617 .line 634
- move-result v10 .line 635
+ move-result v10 # isCurrentStreamHiResLosslessQuality() result .line 636
- move-result v9
+ move-result v9 # isCurrentStreamHiResLosslessQuality() result
+
+ const/16 v31, 0x0 # LOW / HIGH quality + const/16 v31, 0x0 # LOW / HIGH quality
+ +
+ if-eqz v10, :radiant_qbc_not_hires + if-eqz v9, :radiant_qbc_not_hires
+ +
+ const/16 v31, 0x2 # HI_RES_LOSSLESS quality + const/16 v31, 0x2 # HI_RES_LOSSLESS quality
+ +
+ :radiant_qbc_not_hires + :radiant_qbc_not_hires
.line 637
if-nez v9, :cond_1e
@@ -1411,7 +1419,13 @@
.line 640
.line 641
.line 642
- move-result v9
+ move-result v9 # isCurrentStreamLossless() result
+ +
.line 618 + if-eqz v9, :radiant_qbc_not_lossless
if-nez v10, :cond_19
@@ -1368,6 +1376,12 @@
.line 623
- move-result v10
+ move-result v10 # isCurrentStreamLossless() result
+ if-eqz v10, :radiant_qbc_not_lossless
+ +
+ const/16 v31, 0x1 # LOSSLESS quality + const/16 v31, 0x1 # LOSSLESS quality
+ +
+ :radiant_qbc_not_lossless + :radiant_qbc_not_lossless
+
.line 624
if-eqz v10, :cond_18
@@ -1695,7 +1709,10 @@
.line 771
.line 772
- invoke-direct {v8, v5}, Lcom/tidal/android/feature/playerscreen/ui/i$a;-><init>(Ljava/lang/String;)V
+ move/from16 v10, v31 # quality
+
+ invoke-direct {v8, v5, v10}, Lcom/tidal/android/feature/playerscreen/ui/i$a;-><init>(Ljava/lang/String;I)V
+
.line 773 .line 643
.line 774 if-eqz v9, :cond_1d
@@ -1740,7 +1754,9 @@
.line 790
.line 791
- invoke-direct {v7, v5}, Lcom/tidal/android/feature/playerscreen/ui/i$a;-><init>(Ljava/lang/String;)V
+ move/from16 v9, v31 # quality
+
+ invoke-direct {v7, v5, v9}, Lcom/tidal/android/feature/playerscreen/ui/i$a;-><init>(Ljava/lang/String;I)V
.line 792
.line 793
+8 -12
View File
@@ -1,8 +1,7 @@
--- a/pb/c.smali --- a/ob/e.smali
+++ b/pb/c.smali +++ b/ob/e.smali
@@ -801,6 +801,26 @@ @@ -613,6 +613,25 @@
-
+
.line 236 .line 236
:goto_8 :goto_8
+ const-string/jumbo v5, "com.waze" + const-string/jumbo v5, "com.waze"
@@ -24,16 +23,13 @@
+ goto :goto_9 # trust Waze + goto :goto_9 # trust Waze
+ +
+ :rl_waze_done + :rl_waze_done
+
invoke-static {}, Landroid/os/Process;->myUid()I invoke-static {}, Landroid/os/Process;->myUid()I
-
+
.line 237 .line 237
@@ -957,6 +977,26 @@ @@ -769,6 +788,26 @@
:goto_b :goto_b
if-eqz v2, :cond_14 if-eqz v2, :cond_14
-
+
+ const-string/jumbo v1, "com.waze" + const-string/jumbo v1, "com.waze"
+ +
+ invoke-static {v3, v1}, Lkotlin/jvm/internal/n;->b(Ljava/lang/Object;Ljava/lang/Object;)Z # package match + invoke-static {v3, v1}, Lkotlin/jvm/internal/n;->b(Ljava/lang/Object;Ljava/lang/Object;)Z # package match
@@ -56,4 +52,4 @@
+ +
.line 306 .line 306
.line 307 .line 307
iget-object v1, v0, Lpb/c;->c:Ljava/util/Map; iget-object v1, v0, Lob/e;->c:Ljava/util/Map;