feat(swipe to queue): support homepage lists, updates, track suggestions, and artist track credits

This commit is contained in:
Se7en-dev committed 2026-08-20 22:22:10 +02:00
1 parent 10f3dd724d
commit 4dbbfba3a1
15 files changed
+2967 -6

No files matched your search

@@ -0,0 +1,161 @@
.class public final Lradiant/swipe/ArtistTrackCreditsQueue;
.super Ljava/lang/Object;
.source "ArtistTrackCreditsQueue.smali"
# direct methods
.method public static handle(Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/ArtistTrackCreditsModuleManager;Lradiant/swipe/ArtistTrackCreditsQueueEvent;)V
.locals 11
if-eqz p0, :done
if-eqz p1, :done
iget-object v0, p1, Lradiant/swipe/ArtistTrackCreditsQueueEvent;->pageId:Ljava/lang/String;
if-eqz v0, :done
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
if-lez v1, :done
iget-object v1, p1, Lradiant/swipe/ArtistTrackCreditsQueueEvent;->moduleUuid:Ljava/lang/String;
if-eqz v1, :done
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v2
if-lez v2, :done
iget-wide v2, p1, Lradiant/swipe/ArtistTrackCreditsQueueEvent;->trackId:J
const-wide/16 v4, 0x0
cmp-long v4, v2, v4
if-lez v4, :done
invoke-virtual {p0, v1}, Li60/c;->c(Ljava/lang/String;)Lc60/h;
move-result-object v4
instance-of v5, v4, Lc60/d;
if-eqz v5, :done
check-cast v4, Lc60/d;
iget-object v5, v4, Lc60/d;->b:Ljava/lang/String;
invoke-virtual {v1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :done
iget-object v1, v4, Lc60/d;->f:Ljava/util/ArrayList;
if-eqz v1, :done
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v1
:find_track
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :done
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
instance-of v6, v5, Lc60/r$b;
if-eqz v6, :find_track
check-cast v5, Lc60/r$b;
iget-object v5, v5, Lc60/r$b;->a:Lh40/n;
instance-of v6, v5, Lh40/p;
if-eqz v6, :find_track
check-cast v5, Lh40/p;
iget-wide v6, v5, Lh40/p;->a:J
cmp-long v6, v6, v2
if-nez v6, :find_track
iget-object v1, p0, Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/ArtistTrackCreditsModuleManager;->b:Lcom/tidal/android/dynamicpages/ui/b;
instance-of v2, v1, Lcom/tidal/android/dynamicpages/ui/c;
if-eqz v2, :done
check-cast v1, Lcom/tidal/android/dynamicpages/ui/c;
iget-object v6, v1, Lcom/tidal/android/dynamicpages/ui/c;->b:Lcom/tidal/android/navigation/NavigationInfo;
if-eqz v6, :done
iget-object v1, p1, Lradiant/swipe/ArtistTrackCreditsQueueEvent;->context:Landroid/content/Context;
if-eqz v1, :done
invoke-static {v5}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track;
move-result-object v7
if-eqz v7, :done
iget-object v2, v4, Lc60/d;->a:Ljava/lang/String;
if-eqz v2, :done
new-instance v8, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
iget v3, v4, Lc60/d;->e:I
invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v3
invoke-direct {v8, v0, v2, v3}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
iget-wide v2, p1, Lradiant/swipe/ArtistTrackCreditsQueueEvent;->trackId:J
invoke-static {v2, v3}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v2
iget-object v3, v4, Lc60/d;->c:Ljava/lang/String;
iget-object v10, v4, Lc60/d;->g:Ljava/lang/String;
invoke-static {v10}, Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$a;->a(Ljava/lang/String;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType;
move-result-object v4
invoke-static {v2, v3, v6, v4}, Lcom/aspiro/wamp/playqueue/source/model/b;->j(Ljava/lang/String;Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource;
move-result-object v9
if-eqz v9, :done
invoke-virtual {v9, v7}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
invoke-static {v1, v7, v8, v9}, Lradiant/swipe/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
:done
return-void
.end method
@@ -0,0 +1,95 @@
.class public final Lradiant/swipe/ArtistTrackCreditsQueueAction;
.super Ljava/lang/Object;
.source "ArtistTrackCreditsQueueAction.smali"
# interfaces
.implements Lradiant/swipe/ComposeSwipeAction;
# instance fields
.field private final callback:Lam0/l;
.field private context:Landroid/content/Context;
.field private final moduleUuid:Ljava/lang/String;
.field private final pageId:Ljava/lang/String;
.field private final trackId:J
# direct methods
.method public constructor <init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e$e;)V
.locals 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/swipe/ArtistTrackCreditsQueueAction;->callback:Lam0/l;
iput-object p2, p0, Lradiant/swipe/ArtistTrackCreditsQueueAction;->pageId:Ljava/lang/String;
iput-object p3, p0, Lradiant/swipe/ArtistTrackCreditsQueueAction;->moduleUuid:Ljava/lang/String;
iget-wide v0, p4, Lm40/e$e;->a:J
iput-wide v0, p0, Lradiant/swipe/ArtistTrackCreditsQueueAction;->trackId:J
return-void
.end method
# virtual methods
.method public invoke()Ljava/lang/Object;
.locals 7
iget-wide v1, p0, Lradiant/swipe/ArtistTrackCreditsQueueAction;->trackId:J
invoke-static {}, Lradiant/swipe/QueueExecutor;->hasActiveQueue()Z
move-result v0
if-nez v0, :active_queue
new-instance v0, Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b$a;
iget-object v3, p0, Lradiant/swipe/ArtistTrackCreditsQueueAction;->pageId:Ljava/lang/String;
iget-object v4, p0, Lradiant/swipe/ArtistTrackCreditsQueueAction;->moduleUuid:Ljava/lang/String;
invoke-direct {v0, v1, v2, v3, v4}, Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b$a;-><init>(JLjava/lang/String;Ljava/lang/String;)V
goto :emit
:active_queue
new-instance v0, Lradiant/swipe/ArtistTrackCreditsQueueEvent;
iget-object v1, p0, Lradiant/swipe/ArtistTrackCreditsQueueAction;->context:Landroid/content/Context;
if-eqz v1, :done
iget-object v2, p0, Lradiant/swipe/ArtistTrackCreditsQueueAction;->pageId:Ljava/lang/String;
iget-object v3, p0, Lradiant/swipe/ArtistTrackCreditsQueueAction;->moduleUuid:Ljava/lang/String;
iget-wide v4, p0, Lradiant/swipe/ArtistTrackCreditsQueueAction;->trackId:J
invoke-direct/range {v0 .. v5}, Lradiant/swipe/ArtistTrackCreditsQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;J)V
:emit
iget-object v6, p0, Lradiant/swipe/ArtistTrackCreditsQueueAction;->callback:Lam0/l;
invoke-interface {v6, v0}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
:done
sget-object v0, Lkotlin/u;->a:Lkotlin/u;
return-object v0
.end method
.method public setContext(Landroid/content/Context;)V
.locals 0
iput-object p1, p0, Lradiant/swipe/ArtistTrackCreditsQueueAction;->context:Landroid/content/Context;
return-void
.end method
@@ -0,0 +1,34 @@
.class public final Lradiant/swipe/ArtistTrackCreditsQueueEvent;
.super Ljava/lang/Object;
.source "ArtistTrackCreditsQueueEvent.smali"
# interfaces
.implements Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b;
# instance fields
.field public final context:Landroid/content/Context;
.field public final moduleUuid:Ljava/lang/String;
.field public final pageId:Ljava/lang/String;
.field public final trackId:J
# direct methods
.method public constructor <init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;J)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/swipe/ArtistTrackCreditsQueueEvent;->context:Landroid/content/Context;
iput-object p2, p0, Lradiant/swipe/ArtistTrackCreditsQueueEvent;->pageId:Ljava/lang/String;
iput-object p3, p0, Lradiant/swipe/ArtistTrackCreditsQueueEvent;->moduleUuid:Ljava/lang/String;
iput-wide p4, p0, Lradiant/swipe/ArtistTrackCreditsQueueEvent;->trackId:J
return-void
.end method
@@ -0,0 +1,263 @@
.class public final Lradiant/swipe/CompactGridMediaQueueAction;
.super Ljava/lang/Object;
.source "CompactGridMediaQueueAction.smali"
# interfaces
.implements Lradiant/swipe/ComposeSwipeAction;
# instance fields
.field private final callback:Lam0/l;
.field private context:Landroid/content/Context;
.field private final itemId:Ljava/lang/String;
.field private final mediaType:I
.field private final moduleUuid:Ljava/lang/String;
.field private final pageId:Ljava/lang/String;
# direct methods
.method public constructor <init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e;)V
.locals 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/swipe/CompactGridMediaQueueAction;->callback:Lam0/l;
iput-object p2, p0, Lradiant/swipe/CompactGridMediaQueueAction;->pageId:Ljava/lang/String;
iput-object p3, p0, Lradiant/swipe/CompactGridMediaQueueAction;->moduleUuid:Ljava/lang/String;
instance-of v0, p4, Lm40/e$a;
if-eqz v0, :mix
check-cast p4, Lm40/e$a;
iget-wide v0, p4, Lm40/e$a;->a:J
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v0
const/4 v1, 0x1
goto :store
:mix
instance-of v0, p4, Lm40/e$c;
if-eqz v0, :playlist
check-cast p4, Lm40/e$c;
iget-object v0, p4, Lm40/e$c;->a:Ljava/lang/String;
const/4 v1, 0x2
goto :store
:playlist
instance-of v0, p4, Lm40/e$d;
if-eqz v0, :track
check-cast p4, Lm40/e$d;
iget-object v0, p4, Lm40/e$d;->a:Ljava/lang/String;
const/4 v1, 0x3
goto :store
:track
instance-of v0, p4, Lm40/e$e;
if-eqz v0, :unsupported
check-cast p4, Lm40/e$e;
iget-wide v0, p4, Lm40/e$e;->a:J
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v0
const/4 v1, 0x4
goto :store
:unsupported
const/4 v0, 0x0
const/4 v1, 0x0
:store
iput-object v0, p0, Lradiant/swipe/CompactGridMediaQueueAction;->itemId:Ljava/lang/String;
iput v1, p0, Lradiant/swipe/CompactGridMediaQueueAction;->mediaType:I
return-void
.end method
.method public static isEligible(Lm40/e;)Z
.locals 1
instance-of v0, p0, Lm40/e$a;
if-eqz v0, :mix
check-cast p0, Lm40/e$a;
iget-boolean p0, p0, Lm40/e$a;->e:Z
return p0
:mix
instance-of v0, p0, Lm40/e$c;
if-eqz v0, :playlist
check-cast p0, Lm40/e$c;
iget-boolean p0, p0, Lm40/e$c;->h:Z
return p0
:playlist
instance-of v0, p0, Lm40/e$d;
if-eqz v0, :track
check-cast p0, Lm40/e$d;
iget-boolean p0, p0, Lm40/e$d;->g:Z
return p0
:track
instance-of v0, p0, Lm40/e$e;
if-eqz v0, :invalid
check-cast p0, Lm40/e$e;
iget-boolean p0, p0, Lm40/e$e;->j:Z
return p0
:invalid
const/4 p0, 0x0
return p0
.end method
# virtual methods
.method public invoke()Ljava/lang/Object;
.locals 7
iget-object v6, p0, Lradiant/swipe/CompactGridMediaQueueAction;->callback:Lam0/l;
if-eqz v6, :done
iget-object v4, p0, Lradiant/swipe/CompactGridMediaQueueAction;->itemId:Ljava/lang/String;
if-eqz v4, :done
iget v5, p0, Lradiant/swipe/CompactGridMediaQueueAction;->mediaType:I
if-eqz v5, :done
const/4 v1, 0x4
if-ne v5, v1, :queue_event
invoke-static {}, Lradiant/swipe/QueueExecutor;->hasActiveQueue()Z
move-result v1
if-nez v1, :queue_event
move-object v1, v4
goto :emit
:queue_event
iget-object v1, p0, Lradiant/swipe/CompactGridMediaQueueAction;->context:Landroid/content/Context;
if-eqz v1, :done
new-instance v0, Lradiant/swipe/DynamicMediaQueueEvent;
iget-object v2, p0, Lradiant/swipe/CompactGridMediaQueueAction;->pageId:Ljava/lang/String;
iget-object v3, p0, Lradiant/swipe/CompactGridMediaQueueAction;->moduleUuid:Ljava/lang/String;
invoke-direct/range {v0 .. v5}, Lradiant/swipe/DynamicMediaQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
move-object v1, v0
:emit
invoke-interface {v6, v1}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
:done
sget-object v0, Lkotlin/u;->a:Lkotlin/u;
return-object v0
.end method
.method public setContext(Landroid/content/Context;)V
.locals 0
iput-object p1, p0, Lradiant/swipe/CompactGridMediaQueueAction;->context:Landroid/content/Context;
return-void
.end method
.method public stableKey()Ljava/lang/String;
.locals 3
iget-object v0, p0, Lradiant/swipe/CompactGridMediaQueueAction;->itemId:Ljava/lang/String;
if-eqz v0, :invalid
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "cgc:"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, p0, Lradiant/swipe/CompactGridMediaQueueAction;->moduleUuid:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v2, 0x3a
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget v2, p0, Lradiant/swipe/CompactGridMediaQueueAction;->mediaType:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/16 v2, 0x3a
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
:invalid
const/4 v0, 0x0
return-object v0
.end method
@@ -448,11 +448,11 @@
cmpg-float v5, v2, v4
if-gez v5, :axis_ready
if-ltz v5, :axis_ready
cmpg-float v5, v3, v4
if-ltz v5, :done
if-gez v5, :done
:axis_ready
cmpg-float v5, v2, v3
@@ -0,0 +1,634 @@
.class public final Lradiant/swipe/DynamicMediaQueue;
.super Ljava/lang/Object;
.source "DynamicMediaQueue.smali"
# direct methods
.method public static handleCompact(Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;Lradiant/swipe/DynamicMediaQueueEvent;)V
.locals 13
if-eqz p0, :done
if-eqz p1, :done
iget-object v0, p1, Lradiant/swipe/DynamicMediaQueueEvent;->pageId:Ljava/lang/String;
iget-object v1, p1, Lradiant/swipe/DynamicMediaQueueEvent;->moduleUuid:Ljava/lang/String;
iget-object v2, p1, Lradiant/swipe/DynamicMediaQueueEvent;->itemId:Ljava/lang/String;
iget v3, p1, Lradiant/swipe/DynamicMediaQueueEvent;->mediaType:I
if-eqz v0, :done
if-eqz v1, :done
if-eqz v2, :done
const/4 v4, 0x1
if-lt v3, v4, :done
const/4 v4, 0x4
if-gt v3, v4, :done
invoke-virtual {p0, v1}, Li60/c;->c(Ljava/lang/String;)Lc60/h;
move-result-object v4
instance-of v5, v4, Lc60/f;
if-eqz v5, :done
check-cast v4, Lc60/f;
iget-object v5, v4, Lc60/f;->b:Ljava/lang/String;
invoke-virtual {v1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :done
iget-object v1, v4, Lc60/f;->g:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v1
:find_media
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :done
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v6
instance-of v5, v6, Lc60/r;
if-eqz v5, :find_media
check-cast v6, Lc60/r;
invoke-static {v6}, Lc60/s;->a(Lc60/r;)Ljava/lang/String;
move-result-object v5
invoke-virtual {v2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :find_media
instance-of v5, v6, Lc60/r$b;
if-eqz v5, :done
check-cast v6, Lc60/r$b;
iget-object v7, v6, Lc60/r$b;->a:Lh40/n;
const/4 v5, 0x1
if-ne v3, v5, :check_mix
instance-of v5, v7, Lh40/a;
if-eqz v5, :done
goto :dependencies
:check_mix
const/4 v5, 0x2
if-ne v3, v5, :check_playlist
instance-of v5, v7, Lh40/i;
if-eqz v5, :done
goto :dependencies
:check_playlist
const/4 v5, 0x3
if-ne v3, v5, :check_track
instance-of v5, v7, Lh40/j;
if-eqz v5, :done
goto :dependencies
:check_track
instance-of v5, v7, Lh40/p;
if-eqz v5, :done
:dependencies
iget-object v8, p0, Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;->b:Lcom/tidal/android/dynamicpages/ui/b;
instance-of v5, v8, Lcom/tidal/android/dynamicpages/ui/c;
if-eqz v5, :done
check-cast v8, Lcom/tidal/android/dynamicpages/ui/c;
iget-object v5, p1, Lradiant/swipe/DynamicMediaQueueEvent;->context:Landroid/content/Context;
if-eqz v5, :done
iget-object v9, v8, Lcom/tidal/android/dynamicpages/ui/c;->b:Lcom/tidal/android/navigation/NavigationInfo;
new-instance v10, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
iget-object v11, v4, Lc60/f;->a:Ljava/lang/String;
iget v12, v4, Lc60/f;->d:I
invoke-static {v12}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v12
invoke-direct {v10, v0, v11, v12}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
const/4 v0, 0x1
if-ne v3, v0, :mix
check-cast v7, Lh40/a;
invoke-static {v7}, Lie0/a;->a(Lh40/a;)Lcom/aspiro/wamp/model/Album;
move-result-object v12
invoke-static {v8}, Lradiant/swipe/DynamicMediaQueue;->menu(Lcom/tidal/android/dynamicpages/ui/c;)Lh4/a;
move-result-object v6
if-eqz v6, :done
invoke-static {v5, v12, v10, v9, v6}, Lradiant/swipe/QueueExecutor;->album(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable;
goto :done
:mix
const/4 v0, 0x2
if-ne v3, v0, :playlist
check-cast v7, Lh40/i;
invoke-static {v7}, Lie0/g;->b(Lh40/i;)Lcom/aspiro/wamp/mix/model/Mix;
move-result-object v12
invoke-static {v8}, Lradiant/swipe/DynamicMediaQueue;->menu(Lcom/tidal/android/dynamicpages/ui/c;)Lh4/a;
move-result-object v6
if-eqz v6, :done
invoke-static {v5, v12, v10, v9, v6}, Lradiant/swipe/QueueExecutor;->mix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable;
goto :done
:playlist
const/4 v0, 0x3
if-ne v3, v0, :track
check-cast v7, Lh40/j;
invoke-static {v7}, Lie0/h;->a(Lh40/j;)Lcom/aspiro/wamp/model/Playlist;
move-result-object v12
invoke-static {v5, v12, v10, v9}, Lradiant/swipe/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:track
check-cast v7, Lh40/p;
invoke-static {v7}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track;
move-result-object v12
const/4 v6, 0x0
if-eqz v9, :navigation_ready
invoke-static {v9}, Lcom/tidal/android/navigation/a;->b(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/tidal/android/navigation/NavigationInfo$Node;
move-result-object v6
:navigation_ready
iget-object v0, v4, Lc60/f;->e:Ljava/lang/String;
invoke-static {v2, v0, v6}, Lcom/aspiro/wamp/playqueue/source/model/b;->o(Ljava/lang/String;Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource;
move-result-object v11
invoke-virtual {v11, v12}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
invoke-static {v5, v12, v10, v11}, Lradiant/swipe/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
:done
return-void
.end method
.method public static handlePublicPlaylist(Lcom/tidal/android/dynamicpages/ui/modules/publicplaylistlist/PublicPlaylistListModuleManager;Lradiant/swipe/DynamicMediaQueueEvent;)V
.locals 11
if-eqz p0, :done
if-eqz p1, :done
iget v0, p1, Lradiant/swipe/DynamicMediaQueueEvent;->mediaType:I
const/4 v1, 0x3
if-ne v0, v1, :done
iget-object v0, p1, Lradiant/swipe/DynamicMediaQueueEvent;->pageId:Ljava/lang/String;
iget-object v1, p1, Lradiant/swipe/DynamicMediaQueueEvent;->moduleUuid:Ljava/lang/String;
iget-object v2, p1, Lradiant/swipe/DynamicMediaQueueEvent;->itemId:Ljava/lang/String;
if-eqz v0, :done
if-eqz v1, :done
if-eqz v2, :done
invoke-virtual {p0, v1}, Li60/c;->c(Ljava/lang/String;)Lc60/h;
move-result-object v3
instance-of v4, v3, Lc60/v;
if-eqz v4, :done
check-cast v3, Lc60/v;
iget-object v4, v3, Lc60/v;->b:Ljava/lang/String;
invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :done
iget-object v1, v3, Lc60/v;->f:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v1
:find_playlist
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :done
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
instance-of v5, v4, Lc60/r;
if-eqz v5, :find_playlist
check-cast v4, Lc60/r;
invoke-static {v4}, Lc60/s;->a(Lc60/r;)Ljava/lang/String;
move-result-object v5
invoke-virtual {v2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :find_playlist
instance-of v5, v4, Lc60/r$b;
if-eqz v5, :done
check-cast v4, Lc60/r$b;
iget-object v4, v4, Lc60/r$b;->a:Lh40/n;
instance-of v5, v4, Lh40/j;
if-eqz v5, :done
check-cast v4, Lh40/j;
iget-object v5, p0, Lcom/tidal/android/dynamicpages/ui/modules/publicplaylistlist/PublicPlaylistListModuleManager;->f:Lcom/tidal/android/dynamicpages/ui/b;
instance-of v6, v5, Lcom/tidal/android/dynamicpages/ui/c;
if-eqz v6, :done
check-cast v5, Lcom/tidal/android/dynamicpages/ui/c;
iget-object v6, p1, Lradiant/swipe/DynamicMediaQueueEvent;->context:Landroid/content/Context;
if-eqz v6, :done
iget-object v7, v5, Lcom/tidal/android/dynamicpages/ui/c;->b:Lcom/tidal/android/navigation/NavigationInfo;
new-instance v8, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
iget-object v9, v3, Lc60/v;->a:Ljava/lang/String;
iget v10, v3, Lc60/v;->e:I
invoke-static {v10}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v10
invoke-direct {v8, v0, v9, v10}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
invoke-static {v4}, Lie0/h;->a(Lh40/j;)Lcom/aspiro/wamp/model/Playlist;
move-result-object v4
invoke-static {v6, v4, v8, v7}, Lradiant/swipe/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
:done
return-void
.end method
.method public static handleVertical(Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/VerticalListCardModuleManager;Lradiant/swipe/DynamicMediaQueueEvent;)V
.locals 13
if-eqz p0, :done
if-eqz p1, :done
iget-object v0, p1, Lradiant/swipe/DynamicMediaQueueEvent;->pageId:Ljava/lang/String;
iget-object v1, p1, Lradiant/swipe/DynamicMediaQueueEvent;->moduleUuid:Ljava/lang/String;
iget-object v2, p1, Lradiant/swipe/DynamicMediaQueueEvent;->itemId:Ljava/lang/String;
iget v3, p1, Lradiant/swipe/DynamicMediaQueueEvent;->mediaType:I
if-eqz v0, :done
if-eqz v1, :done
if-eqz v2, :done
const/4 v4, 0x1
if-lt v3, v4, :done
const/4 v4, 0x4
if-gt v3, v4, :done
invoke-virtual {p0, v1}, Li60/c;->c(Ljava/lang/String;)Lc60/h;
move-result-object v4
instance-of v5, v4, Lc60/c0;
if-eqz v5, :done
check-cast v4, Lc60/c0;
iget-object v5, v4, Lc60/c0;->b:Ljava/lang/String;
invoke-virtual {v1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :done
iget-object v1, v4, Lc60/c0;->g:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v1
:find_media
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :done
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v6
instance-of v5, v6, Lc60/r;
if-eqz v5, :find_media
check-cast v6, Lc60/r;
invoke-static {v6}, Lc60/s;->a(Lc60/r;)Ljava/lang/String;
move-result-object v5
invoke-virtual {v2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :find_media
instance-of v5, v6, Lc60/r$b;
if-eqz v5, :done
check-cast v6, Lc60/r$b;
iget-object v7, v6, Lc60/r$b;->a:Lh40/n;
const/4 v5, 0x1
if-ne v3, v5, :check_mix
instance-of v5, v7, Lh40/a;
if-eqz v5, :done
goto :dependencies
:check_mix
const/4 v5, 0x2
if-ne v3, v5, :check_playlist
instance-of v5, v7, Lh40/i;
if-eqz v5, :done
goto :dependencies
:check_playlist
const/4 v5, 0x3
if-ne v3, v5, :check_track
instance-of v5, v7, Lh40/j;
if-eqz v5, :done
goto :dependencies
:check_track
instance-of v5, v7, Lh40/p;
if-eqz v5, :done
:dependencies
iget-object v8, p0, Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/VerticalListCardModuleManager;->e:Lcom/tidal/android/dynamicpages/ui/b;
instance-of v5, v8, Lcom/tidal/android/dynamicpages/ui/c;
if-eqz v5, :done
check-cast v8, Lcom/tidal/android/dynamicpages/ui/c;
iget-object v5, p1, Lradiant/swipe/DynamicMediaQueueEvent;->context:Landroid/content/Context;
if-eqz v5, :done
iget-object v9, v8, Lcom/tidal/android/dynamicpages/ui/c;->b:Lcom/tidal/android/navigation/NavigationInfo;
new-instance v10, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
iget-object v11, v4, Lc60/c0;->a:Ljava/lang/String;
iget v12, v4, Lc60/c0;->f:I
invoke-static {v12}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v12
invoke-direct {v10, v0, v11, v12}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
const/4 v0, 0x1
if-ne v3, v0, :mix
check-cast v7, Lh40/a;
invoke-static {v7}, Lie0/a;->a(Lh40/a;)Lcom/aspiro/wamp/model/Album;
move-result-object v12
invoke-static {v8}, Lradiant/swipe/DynamicMediaQueue;->menu(Lcom/tidal/android/dynamicpages/ui/c;)Lh4/a;
move-result-object v6
if-eqz v6, :done
invoke-static {v5, v12, v10, v9, v6}, Lradiant/swipe/QueueExecutor;->album(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable;
goto :done
:mix
const/4 v0, 0x2
if-ne v3, v0, :playlist
check-cast v7, Lh40/i;
invoke-static {v7}, Lie0/g;->b(Lh40/i;)Lcom/aspiro/wamp/mix/model/Mix;
move-result-object v12
invoke-static {v8}, Lradiant/swipe/DynamicMediaQueue;->menu(Lcom/tidal/android/dynamicpages/ui/c;)Lh4/a;
move-result-object v6
if-eqz v6, :done
invoke-static {v5, v12, v10, v9, v6}, Lradiant/swipe/QueueExecutor;->mix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable;
goto :done
:playlist
const/4 v0, 0x3
if-ne v3, v0, :track
check-cast v7, Lh40/j;
invoke-static {v7}, Lie0/h;->a(Lh40/j;)Lcom/aspiro/wamp/model/Playlist;
move-result-object v12
invoke-static {v5, v12, v10, v9}, Lradiant/swipe/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:track
check-cast v7, Lh40/p;
invoke-static {v7}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track;
move-result-object v12
const/4 v6, 0x0
if-eqz v9, :navigation_ready
invoke-static {v9}, Lcom/tidal/android/navigation/a;->b(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/tidal/android/navigation/NavigationInfo$Node;
move-result-object v6
:navigation_ready
iget-object v0, v4, Lc60/c0;->c:Ljava/lang/String;
invoke-static {v2, v0, v6}, Lcom/aspiro/wamp/playqueue/source/model/b;->o(Ljava/lang/String;Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource;
move-result-object v11
invoke-virtual {v11, v12}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
invoke-static {v5, v12, v10, v11}, Lradiant/swipe/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
:done
return-void
.end method
.method private static menu(Lcom/tidal/android/dynamicpages/ui/c;)Lh4/a;
.locals 2
iget-object v0, p0, Lcom/tidal/android/dynamicpages/ui/c;->a:Lcom/aspiro/wamp/core/k;
instance-of v1, v0, Lh9/p1;
if-eqz v1, :invalid
check-cast v0, Lh9/p1;
iget-object v0, v0, Lh9/p1;->b:Lx40/a;
instance-of v1, v0, Lh4/a;
if-eqz v1, :invalid
check-cast v0, Lh4/a;
return-object v0
:invalid
const/4 v0, 0x0
return-object v0
.end method
@@ -0,0 +1,39 @@
.class public final Lradiant/swipe/DynamicMediaQueueEvent;
.super Ljava/lang/Object;
.source "DynamicMediaQueueEvent.smali"
# interfaces
.implements Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b;
.implements Lcom/tidal/android/dynamicpages/ui/modules/publicplaylistlist/b;
# instance fields
.field public final context:Landroid/content/Context;
.field public final itemId:Ljava/lang/String;
.field public final mediaType:I
.field public final moduleUuid:Ljava/lang/String;
.field public final pageId:Ljava/lang/String;
# direct methods
.method public constructor <init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/swipe/DynamicMediaQueueEvent;->context:Landroid/content/Context;
iput-object p2, p0, Lradiant/swipe/DynamicMediaQueueEvent;->pageId:Ljava/lang/String;
iput-object p3, p0, Lradiant/swipe/DynamicMediaQueueEvent;->moduleUuid:Ljava/lang/String;
iput-object p4, p0, Lradiant/swipe/DynamicMediaQueueEvent;->itemId:Ljava/lang/String;
iput p5, p0, Lradiant/swipe/DynamicMediaQueueEvent;->mediaType:I
return-void
.end method
@@ -0,0 +1,605 @@
.class public final Lradiant/swipe/FeedResolver;
.super Ljava/lang/Object;
.source "FeedResolver.smali"
# interfaces
.implements Lradiant/swipe/QueueRowResolver;
# instance fields
.field private final fragment:Ljava/lang/ref/WeakReference;
.field private final recycler:Ljava/lang/ref/WeakReference;
# direct methods
.method private constructor <init>(Lcom/tidal/android/feature/feed/ui/FeedView;Landroidx/recyclerview/widget/RecyclerView;)V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/lang/ref/WeakReference;
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lradiant/swipe/FeedResolver;->fragment:Ljava/lang/ref/WeakReference;
new-instance v0, Ljava/lang/ref/WeakReference;
invoke-direct {v0, p2}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lradiant/swipe/FeedResolver;->recycler:Ljava/lang/ref/WeakReference;
return-void
.end method
.method private availabilityInteractor()Lcom/aspiro/wamp/model/AvailabilityInteractor;
.locals 2
iget-object v0, p0, Lradiant/swipe/FeedResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/tidal/android/feature/feed/ui/FeedView;
if-eqz v0, :invalid
iget-object v0, v0, Lcom/tidal/android/feature/feed/ui/FeedView;->d:Lv70/b;
instance-of v1, v0, Lcom/tidal/android/feature/feed/ui/c;
if-eqz v1, :invalid
check-cast v0, Lcom/tidal/android/feature/feed/ui/c;
iget-object v0, v0, Lcom/tidal/android/feature/feed/ui/c;->c:Lz70/a;
if-eqz v0, :invalid
iget-object v0, v0, Lz70/a;->c:Lcom/aspiro/wamp/model/AvailabilityInteractor;
return-object v0
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method private current(Lradiant/swipe/QueueRequest;)Ljava/lang/Object;
.locals 10
if-eqz p1, :invalid
iget-object v8, p1, Lradiant/swipe/QueueRequest;->media:Ljava/lang/Object;
iget-object v0, p0, Lradiant/swipe/FeedResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/tidal/android/feature/feed/ui/FeedView;
if-eqz v0, :invalid
iget-object v1, p0, Lradiant/swipe/FeedResolver;->recycler:Ljava/lang/ref/WeakReference;
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView;
if-eqz v1, :invalid
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
move-result-object v2
instance-of v3, v2, La50/b;
if-eqz v3, :invalid
check-cast v2, La50/b;
iget-object v2, v2, La50/b;->b:Ljava/util/ArrayList;
iget v3, p1, Lradiant/swipe/QueueRequest;->position:I
if-gez v3, :check_size
goto :invalid
:check_size
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v4
if-lt v3, v4, :read_item
goto :invalid
:read_item
invoke-virtual {v2, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
invoke-direct {p0}, Lradiant/swipe/FeedResolver;->availabilityInteractor()Lcom/aspiro/wamp/model/AvailabilityInteractor;
move-result-object v4
if-eqz v4, :invalid
instance-of v3, v2, Lb80/a;
if-eqz v3, :mix
instance-of v3, v8, Lcom/aspiro/wamp/model/Album;
if-eqz v3, :invalid
check-cast v2, Lb80/a;
iget-boolean v3, v2, Lb80/a;->c:Z
if-eqz v3, :invalid
check-cast v8, Lcom/aspiro/wamp/model/Album;
iget-object v5, v2, Lb80/a;->a:Lcom/aspiro/wamp/model/Album;
invoke-virtual {v8}, Lcom/aspiro/wamp/model/Album;->getId()I
move-result v6
invoke-virtual {v5}, Lcom/aspiro/wamp/model/Album;->getId()I
move-result v7
if-ne v6, v7, :invalid
iget v6, p1, Lradiant/swipe/QueueRequest;->id:I
if-ne v7, v6, :invalid
invoke-interface {v4, v5}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getAvailability(Lcom/aspiro/wamp/model/Album;)Lcom/aspiro/wamp/model/Availability$Album;
move-result-object v4
invoke-virtual {v4}, Lcom/aspiro/wamp/model/Availability$Album;->isAvailable()Z
move-result v4
if-eqz v4, :invalid
return-object v2
:mix
instance-of v3, v2, Lb80/c;
if-eqz v3, :playlist
instance-of v3, v8, Lcom/aspiro/wamp/mix/model/Mix;
if-eqz v3, :invalid
check-cast v2, Lb80/c;
check-cast v8, Lcom/aspiro/wamp/mix/model/Mix;
iget-object v5, v2, Lb80/c;->a:Lcom/aspiro/wamp/mix/model/Mix;
invoke-virtual {v8}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
move-result-object v6
invoke-virtual {v5}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
move-result-object v7
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :invalid
invoke-virtual {v7}, Ljava/lang/String;->hashCode()I
move-result v6
iget v8, p1, Lradiant/swipe/QueueRequest;->id:I
if-ne v6, v8, :invalid
invoke-interface {v4, v7}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getMixAvailability(Ljava/lang/String;)Lcom/aspiro/wamp/model/Availability$Mix;
move-result-object v4
invoke-virtual {v4}, Lcom/aspiro/wamp/model/Availability$Mix;->isAvailable()Z
move-result v4
if-eqz v4, :invalid
return-object v2
:playlist
instance-of v3, v2, Lb80/d;
if-eqz v3, :invalid
instance-of v3, v8, Lcom/aspiro/wamp/model/Playlist;
if-eqz v3, :invalid
check-cast v2, Lb80/d;
check-cast v8, Lcom/aspiro/wamp/model/Playlist;
iget-object v5, v2, Lb80/d;->a:Lcom/aspiro/wamp/model/Playlist;
invoke-virtual {v8}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
move-result-object v6
invoke-virtual {v5}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
move-result-object v7
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :invalid
invoke-virtual {v7}, Ljava/lang/String;->hashCode()I
move-result v6
iget v8, p1, Lradiant/swipe/QueueRequest;->id:I
if-ne v6, v8, :invalid
invoke-virtual {v5}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
move-result v6
if-lez v6, :invalid
const-string v6, "NOT_READY"
invoke-virtual {v5}, Lcom/aspiro/wamp/model/Playlist;->getStatus()Ljava/lang/String;
move-result-object v8
invoke-virtual {v6, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :invalid
invoke-static {v7}, Ljava/util/UUID;->fromString(Ljava/lang/String;)Ljava/util/UUID;
move-result-object v6
invoke-interface {v4, v6}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getPlaylistAvailability(Ljava/util/UUID;)Lcom/aspiro/wamp/model/Availability$Playlist;
move-result-object v4
invoke-virtual {v4}, Lcom/aspiro/wamp/model/Availability$Playlist;->isAvailable()Z
move-result v4
if-eqz v4, :invalid
return-object v2
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method public static install(Lcom/tidal/android/feature/feed/ui/FeedView;Landroidx/recyclerview/widget/RecyclerView;)V
.locals 1
if-eqz p0, :done
if-eqz p1, :done
new-instance v0, Lradiant/swipe/FeedResolver;
invoke-direct {v0, p0, p1}, Lradiant/swipe/FeedResolver;-><init>(Lcom/tidal/android/feature/feed/ui/FeedView;Landroidx/recyclerview/widget/RecyclerView;)V
invoke-static {p1, v0}, Lradiant/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/swipe/QueueRowResolver;)V
:done
return-void
.end method
# virtual methods
.method public execute(Lradiant/swipe/QueueRequest;)V
.locals 9
invoke-direct {p0, p1}, Lradiant/swipe/FeedResolver;->current(Lradiant/swipe/QueueRequest;)Ljava/lang/Object;
move-result-object v0
if-eqz v0, :done
iget-object v1, p0, Lradiant/swipe/FeedResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/tidal/android/feature/feed/ui/FeedView;
if-eqz v1, :done
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
move-result-object v3
if-eqz v3, :done
iget-object v2, v1, Lcom/tidal/android/feature/feed/ui/FeedView;->c:La80/c;
if-eqz v2, :done
instance-of v4, v0, Lb80/a;
if-eqz v4, :mix
check-cast v0, Lb80/a;
iget-object v7, v0, Lb80/a;->a:Lcom/aspiro/wamp/model/Album;
iget v8, v0, Lb80/a;->g:I
const/4 v4, 0x1
goto :metadata
:mix
instance-of v4, v0, Lb80/c;
if-eqz v4, :playlist
check-cast v0, Lb80/c;
iget-object v7, v0, Lb80/c;->a:Lcom/aspiro/wamp/mix/model/Mix;
iget v8, v0, Lb80/c;->c:I
const/4 v4, 0x2
goto :metadata
:playlist
check-cast v0, Lb80/d;
iget-object v7, v0, Lb80/d;->a:Lcom/aspiro/wamp/model/Playlist;
iget v8, v0, Lb80/d;->c:I
const/4 v4, 0x3
:metadata
invoke-static {v8}, Lcom/tidal/android/feature/feed/ui/viewstates/UpdatedIntervals$a;->a(I)Ljava/lang/String;
move-result-object v8
iget-object v0, v2, La80/c;->a:Ljava/lang/String;
new-instance p1, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
invoke-direct {p1, v0, v8}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;)V
iget-object v5, v2, La80/c;->e:Lcom/tidal/android/navigation/NavigationInfo;
const/4 v0, 0x3
if-ne v4, v0, :collection
check-cast v7, Lcom/aspiro/wamp/model/Playlist;
invoke-static {v3, v7, p1, v5}, Lradiant/swipe/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:collection
iget-object v6, v2, La80/c;->b:Lx40/a;
instance-of v0, v6, Lh4/a;
if-eqz v0, :done
check-cast v6, Lh4/a;
const/4 v0, 0x1
if-ne v4, v0, :queue_mix
check-cast v7, Lcom/aspiro/wamp/model/Album;
invoke-static {v3, v7, p1, v5, v6}, Lradiant/swipe/QueueExecutor;->album(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable;
move-result-object v7
goto :retain
:queue_mix
check-cast v7, Lcom/aspiro/wamp/mix/model/Mix;
invoke-static {v3, v7, p1, v5, v6}, Lradiant/swipe/QueueExecutor;->mix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)Lio/reactivex/disposables/Disposable;
move-result-object v7
:retain
if-eqz v7, :done
iget-object v0, v1, Lcom/tidal/android/feature/feed/ui/FeedView;->f:Lio/reactivex/disposables/CompositeDisposable;
invoke-virtual {v0, v7}, Lio/reactivex/disposables/CompositeDisposable;->add(Lio/reactivex/disposables/Disposable;)Z
:done
return-void
.end method
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/swipe/QueueRequest;
.locals 7
iget-object v0, p0, Lradiant/swipe/FeedResolver;->recycler:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
if-ne v0, p1, :invalid
instance-of v0, p2, Lw70/c$a;
if-eqz v0, :mix_holder
const/4 v5, 0x1
goto :has_holder
:mix_holder
instance-of v0, p2, Lw70/h$a;
if-eqz v0, :playlist_holder
const/4 v5, 0x2
goto :has_holder
:playlist_holder
instance-of v0, p2, Lw70/k$a;
if-eqz v0, :invalid
const/4 v5, 0x3
:has_holder
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
move-result p2
if-gez p2, :has_position
goto :invalid
:has_position
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
move-result-object p1
instance-of v0, p1, La50/b;
if-eqz v0, :invalid
check-cast p1, La50/b;
iget-object p1, p1, La50/b;->b:Ljava/util/ArrayList;
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
move-result v0
if-lt p2, v0, :read_item
goto :invalid
:read_item
invoke-virtual {p1, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object p1
instance-of v0, p1, Lb80/a;
if-eqz v0, :mix
const/4 v0, 0x1
if-ne v5, v0, :invalid
check-cast p1, Lb80/a;
iget-object v1, p1, Lb80/a;->a:Lcom/aspiro/wamp/model/Album;
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Album;->getId()I
move-result v2
goto :request
:mix
instance-of v0, p1, Lb80/c;
if-eqz v0, :playlist
const/4 v0, 0x2
if-ne v5, v0, :invalid
check-cast p1, Lb80/c;
iget-object v1, p1, Lb80/c;->a:Lcom/aspiro/wamp/mix/model/Mix;
invoke-virtual {v1}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/String;->hashCode()I
move-result v2
goto :request
:playlist
instance-of v0, p1, Lb80/d;
if-eqz v0, :invalid
const/4 v0, 0x3
if-ne v5, v0, :invalid
check-cast p1, Lb80/d;
iget-object v1, p1, Lb80/d;->a:Lcom/aspiro/wamp/model/Playlist;
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/String;->hashCode()I
move-result v2
:request
new-instance v3, Lradiant/swipe/QueueRequest;
invoke-direct {v3, p2, v1, v2}, Lradiant/swipe/QueueRequest;-><init>(ILjava/lang/Object;I)V
invoke-direct {p0, v3}, Lradiant/swipe/FeedResolver;->current(Lradiant/swipe/QueueRequest;)Ljava/lang/Object;
move-result-object v4
if-eqz v4, :invalid
return-object v3
:invalid
const/4 p1, 0x0
return-object p1
.end method
@@ -0,0 +1,111 @@
.class public final Lradiant/swipe/PublicPlaylistQueueAction;
.super Ljava/lang/Object;
.source "PublicPlaylistQueueAction.smali"
# interfaces
.implements Lradiant/swipe/ComposeSwipeAction;
# instance fields
.field private final callback:Lam0/l;
.field private context:Landroid/content/Context;
.field private final itemId:Ljava/lang/String;
.field private final moduleUuid:Ljava/lang/String;
.field private final pageId:Ljava/lang/String;
# direct methods
.method public constructor <init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e$d;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/swipe/PublicPlaylistQueueAction;->callback:Lam0/l;
iput-object p2, p0, Lradiant/swipe/PublicPlaylistQueueAction;->pageId:Ljava/lang/String;
iput-object p3, p0, Lradiant/swipe/PublicPlaylistQueueAction;->moduleUuid:Ljava/lang/String;
iget-object p1, p4, Lm40/e$d;->a:Ljava/lang/String;
iput-object p1, p0, Lradiant/swipe/PublicPlaylistQueueAction;->itemId:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public invoke()Ljava/lang/Object;
.locals 6
iget-object v0, p0, Lradiant/swipe/PublicPlaylistQueueAction;->callback:Lam0/l;
if-eqz v0, :done
iget-object v1, p0, Lradiant/swipe/PublicPlaylistQueueAction;->context:Landroid/content/Context;
if-eqz v1, :done
iget-object v4, p0, Lradiant/swipe/PublicPlaylistQueueAction;->itemId:Ljava/lang/String;
if-eqz v4, :done
new-instance v0, Lradiant/swipe/DynamicMediaQueueEvent;
iget-object v2, p0, Lradiant/swipe/PublicPlaylistQueueAction;->pageId:Ljava/lang/String;
iget-object v3, p0, Lradiant/swipe/PublicPlaylistQueueAction;->moduleUuid:Ljava/lang/String;
const/4 v5, 0x3
invoke-direct/range {v0 .. v5}, Lradiant/swipe/DynamicMediaQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
iget-object v1, p0, Lradiant/swipe/PublicPlaylistQueueAction;->callback:Lam0/l;
invoke-interface {v1, v0}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
:done
sget-object v0, Lkotlin/u;->a:Lkotlin/u;
return-object v0
.end method
.method public setContext(Landroid/content/Context;)V
.locals 0
iput-object p1, p0, Lradiant/swipe/PublicPlaylistQueueAction;->context:Landroid/content/Context;
return-void
.end method
.method public stableKey()Ljava/lang/String;
.locals 3
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "ppl:"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v1, p0, Lradiant/swipe/PublicPlaylistQueueAction;->moduleUuid:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x3a
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v1, p0, Lradiant/swipe/PublicPlaylistQueueAction;->itemId:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,431 @@
.class public final Lradiant/swipe/SuggestionsResolver;
.super Ljava/lang/Object;
.source "SuggestionsResolver.smali"
# interfaces
.implements Lradiant/swipe/QueueRowResolver;
# instance fields
.field private final host:Ljava/lang/ref/WeakReference;
.field private final recycler:Ljava/lang/ref/WeakReference;
# direct methods
.method private constructor <init>(Landroidx/fragment/app/Fragment;Landroidx/recyclerview/widget/RecyclerView;)V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/lang/ref/WeakReference;
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lradiant/swipe/SuggestionsResolver;->host:Ljava/lang/ref/WeakReference;
new-instance v0, Ljava/lang/ref/WeakReference;
invoke-direct {v0, p2}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lradiant/swipe/SuggestionsResolver;->recycler:Ljava/lang/ref/WeakReference;
return-void
.end method
.method private current(Lradiant/swipe/QueueRequest;)Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
.locals 8
if-eqz p1, :invalid
iget-object v0, p1, Lradiant/swipe/QueueRequest;->media:Ljava/lang/Object;
instance-of v1, v0, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
if-eqz v1, :invalid
check-cast v0, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
iget-object v1, p0, Lradiant/swipe/SuggestionsResolver;->host:Ljava/lang/ref/WeakReference;
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v1
instance-of v2, v1, Landroidx/fragment/app/Fragment;
if-eqz v2, :invalid
check-cast v1, Landroidx/fragment/app/Fragment;
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->getView()Landroid/view/View;
move-result-object v2
if-eqz v2, :invalid
iget-object v2, p0, Lradiant/swipe/SuggestionsResolver;->recycler:Ljava/lang/ref/WeakReference;
invoke-virtual {v2}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/recyclerview/widget/RecyclerView;
if-eqz v2, :invalid
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
move-result-object v2
instance-of v3, v2, La50/b;
if-eqz v3, :invalid
check-cast v2, La50/b;
iget-object v2, v2, La50/b;->b:Ljava/util/ArrayList;
iget v3, p1, Lradiant/swipe/QueueRequest;->position:I
if-gez v3, :adapter_bounds
goto :invalid
:adapter_bounds
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v4
if-lt v3, v4, :adapter_item
goto :invalid
:adapter_item
invoke-virtual {v2, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
instance-of v4, v2, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
if-eqz v4, :invalid
check-cast v2, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
invoke-virtual {v0}, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;->getMediaItem()Lcom/aspiro/wamp/model/Track;
move-result-object v4
invoke-virtual {v2}, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;->getMediaItem()Lcom/aspiro/wamp/model/Track;
move-result-object v5
invoke-virtual {v4}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v4
invoke-virtual {v5}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v6
if-ne v4, v6, :invalid
iget v7, p1, Lradiant/swipe/QueueRequest;->id:I
if-ne v6, v7, :invalid
invoke-virtual {v2}, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;->getAvailability()Lcom/aspiro/wamp/model/Availability;
move-result-object v4
invoke-interface {v4}, Lcom/aspiro/wamp/model/Availability;->isAvailable()Z
move-result v4
if-eqz v4, :invalid
invoke-direct {p0}, Lradiant/swipe/SuggestionsResolver;->availability()Lcom/aspiro/wamp/model/AvailabilityInteractor;
move-result-object v4
if-eqz v4, :invalid
invoke-interface {v4, v5}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getAvailability(Lcom/aspiro/wamp/model/MediaItem;)Lcom/aspiro/wamp/model/Availability$MediaItem;
move-result-object v4
invoke-virtual {v4}, Lcom/aspiro/wamp/model/Availability$MediaItem;->isAvailable()Z
move-result v4
if-eqz v4, :invalid
invoke-direct {p0}, Lradiant/swipe/SuggestionsResolver;->viewModel()Lcom/aspiro/wamp/nowplaying/view/suggestions/l;
move-result-object v1
instance-of v4, v1, Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;
if-eqz v4, :invalid
check-cast v1, Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;
iget-object v1, v1, Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;->o:Ljava/lang/Object;
instance-of v4, v1, Ljava/util/List;
if-eqz v4, :invalid
check-cast v1, Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v4
if-lt v3, v4, :viewmodel_item
goto :invalid
:viewmodel_item
invoke-interface {v1, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
instance-of v3, v1, Lcom/aspiro/wamp/model/Track;
if-eqz v3, :invalid
check-cast v1, Lcom/aspiro/wamp/model/Track;
invoke-virtual {v1}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v1
if-ne v6, v1, :invalid
return-object v2
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method private availability()Lcom/aspiro/wamp/model/AvailabilityInteractor;
.locals 2
iget-object v0, p0, Lradiant/swipe/SuggestionsResolver;->host:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
instance-of v1, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h;
if-eqz v1, :dialog
check-cast v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h;
iget-object v0, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h;->d:Lcom/aspiro/wamp/model/AvailabilityInteractor;
return-object v0
:dialog
instance-of v1, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;
if-eqz v1, :invalid
check-cast v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;
iget-object v0, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;->d:Lcom/aspiro/wamp/model/AvailabilityInteractor;
return-object v0
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method public static install(Landroidx/fragment/app/Fragment;Landroidx/recyclerview/widget/RecyclerView;)V
.locals 1
if-eqz p0, :done
if-eqz p1, :done
new-instance v0, Lradiant/swipe/SuggestionsResolver;
invoke-direct {v0, p0, p1}, Lradiant/swipe/SuggestionsResolver;-><init>(Landroidx/fragment/app/Fragment;Landroidx/recyclerview/widget/RecyclerView;)V
invoke-static {p1, v0}, Lradiant/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/swipe/QueueRowResolver;)V
:done
return-void
.end method
.method private viewModel()Lcom/aspiro/wamp/nowplaying/view/suggestions/l;
.locals 2
iget-object v0, p0, Lradiant/swipe/SuggestionsResolver;->host:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
instance-of v1, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h;
if-eqz v1, :dialog
check-cast v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h;
iget-object v0, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h;->c:Lcom/aspiro/wamp/nowplaying/view/suggestions/l;
return-object v0
:dialog
instance-of v1, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;
if-eqz v1, :invalid
check-cast v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;
iget-object v0, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;->c:Lcom/aspiro/wamp/nowplaying/view/suggestions/l;
return-object v0
:invalid
const/4 v0, 0x0
return-object v0
.end method
# virtual methods
.method public execute(Lradiant/swipe/QueueRequest;)V
.locals 4
invoke-direct {p0, p1}, Lradiant/swipe/SuggestionsResolver;->current(Lradiant/swipe/QueueRequest;)Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
move-result-object v0
if-eqz v0, :done
iget-object v0, p0, Lradiant/swipe/SuggestionsResolver;->host:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
invoke-direct {p0}, Lradiant/swipe/SuggestionsResolver;->viewModel()Lcom/aspiro/wamp/nowplaying/view/suggestions/l;
move-result-object v1
if-eqz v1, :done
iget p1, p1, Lradiant/swipe/QueueRequest;->position:I
invoke-static {}, Lradiant/swipe/QueueExecutor;->hasActiveQueue()Z
move-result v2
if-eqz v2, :empty_queue
new-instance v2, Lcom/aspiro/wamp/nowplaying/view/suggestions/i$a;
invoke-direct {v2, p1}, Lcom/aspiro/wamp/nowplaying/view/suggestions/i$a;-><init>(I)V
goto :emit
:empty_queue
new-instance v2, Lcom/aspiro/wamp/nowplaying/view/suggestions/i$e;
invoke-direct {v2, p1}, Lcom/aspiro/wamp/nowplaying/view/suggestions/i$e;-><init>(I)V
:emit
invoke-interface {v1, v2}, Lcom/aspiro/wamp/nowplaying/view/suggestions/j;->a(Lcom/aspiro/wamp/nowplaying/view/suggestions/i;)V
:done
return-void
.end method
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/swipe/QueueRequest;
.locals 5
iget-object v0, p0, Lradiant/swipe/SuggestionsResolver;->recycler:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
if-ne v0, p1, :invalid
instance-of v0, p2, Lcom/aspiro/wamp/nowplaying/view/suggestions/y$a;
if-eqz v0, :invalid
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
move-result p2
if-gez p2, :has_position
goto :invalid
:has_position
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
move-result-object p1
instance-of v0, p1, La50/b;
if-eqz v0, :invalid
check-cast p1, La50/b;
iget-object p1, p1, La50/b;->b:Ljava/util/ArrayList;
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
move-result v0
if-lt p2, v0, :read_item
goto :invalid
:read_item
invoke-virtual {p1, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object p1
instance-of v0, p1, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
if-eqz v0, :invalid
check-cast p1, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
invoke-virtual {p1}, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;->getMediaItem()Lcom/aspiro/wamp/model/Track;
move-result-object v0
invoke-virtual {v0}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v1
new-instance v2, Lradiant/swipe/QueueRequest;
invoke-direct {v2, p2, p1, v1}, Lradiant/swipe/QueueRequest;-><init>(ILjava/lang/Object;I)V
invoke-direct {p0, v2}, Lradiant/swipe/SuggestionsResolver;->current(Lradiant/swipe/QueueRequest;)Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
move-result-object v3
if-eqz v3, :invalid
return-object v2
:invalid
const/4 p1, 0x0
return-object p1
.end method
@@ -0,0 +1,310 @@
.class public final Lradiant/swipe/VerticalMediaQueueAction;
.super Ljava/lang/Object;
.source "VerticalMediaQueueAction.smali"
# interfaces
.implements Lradiant/swipe/ComposeSwipeAction;
# static fields
.field public static final TYPE_ALBUM:I = 0x1
.field public static final TYPE_MIX:I = 0x2
.field public static final TYPE_PLAYLIST:I = 0x3
.field public static final TYPE_TRACK:I = 0x4
# instance fields
.field private final callback:Lam0/l;
.field private context:Landroid/content/Context;
.field private final itemId:Ljava/lang/String;
.field private final mediaType:I
.field private final moduleUuid:Ljava/lang/String;
.field private final pageId:Ljava/lang/String;
# direct methods
.method public constructor <init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e;)V
.locals 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/swipe/VerticalMediaQueueAction;->callback:Lam0/l;
iput-object p2, p0, Lradiant/swipe/VerticalMediaQueueAction;->pageId:Ljava/lang/String;
iput-object p3, p0, Lradiant/swipe/VerticalMediaQueueAction;->moduleUuid:Ljava/lang/String;
instance-of v0, p4, Lm40/e$a;
if-eqz v0, :mix
check-cast p4, Lm40/e$a;
iget-wide v0, p4, Lm40/e$a;->a:J
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v0
const/4 v1, 0x1
goto :store
:mix
instance-of v0, p4, Lm40/e$c;
if-eqz v0, :playlist
check-cast p4, Lm40/e$c;
iget-object v0, p4, Lm40/e$c;->a:Ljava/lang/String;
const/4 v1, 0x2
goto :store
:playlist
instance-of v0, p4, Lm40/e$d;
if-eqz v0, :track
check-cast p4, Lm40/e$d;
iget-object v0, p4, Lm40/e$d;->a:Ljava/lang/String;
const/4 v1, 0x3
goto :store
:track
instance-of v0, p4, Lm40/e$e;
if-eqz v0, :unsupported
check-cast p4, Lm40/e$e;
iget-wide v0, p4, Lm40/e$e;->a:J
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v0
const/4 v1, 0x4
goto :store
:unsupported
const/4 v0, 0x0
const/4 v1, 0x0
:store
iput-object v0, p0, Lradiant/swipe/VerticalMediaQueueAction;->itemId:Ljava/lang/String;
iput v1, p0, Lradiant/swipe/VerticalMediaQueueAction;->mediaType:I
return-void
.end method
.method public static isEligible(Lm40/e;)Z
.locals 1
instance-of v0, p0, Lm40/e$a;
if-eqz v0, :mix
check-cast p0, Lm40/e$a;
iget-boolean p0, p0, Lm40/e$a;->e:Z
return p0
:mix
instance-of v0, p0, Lm40/e$c;
if-eqz v0, :playlist
check-cast p0, Lm40/e$c;
iget-boolean p0, p0, Lm40/e$c;->h:Z
return p0
:playlist
instance-of v0, p0, Lm40/e$d;
if-eqz v0, :track
check-cast p0, Lm40/e$d;
iget-boolean p0, p0, Lm40/e$d;->g:Z
return p0
:track
instance-of v0, p0, Lm40/e$e;
if-eqz v0, :invalid
check-cast p0, Lm40/e$e;
iget-boolean p0, p0, Lm40/e$e;->j:Z
return p0
:invalid
const/4 p0, 0x0
return p0
.end method
.method public static isSupported(Lm40/e;)Z
.locals 1
instance-of v0, p0, Lm40/e$a;
if-nez v0, :supported
instance-of v0, p0, Lm40/e$c;
if-nez v0, :supported
instance-of v0, p0, Lm40/e$d;
if-nez v0, :supported
instance-of v0, p0, Lm40/e$e;
if-eqz v0, :invalid
:supported
const/4 p0, 0x1
return p0
:invalid
const/4 p0, 0x0
return p0
.end method
# virtual methods
.method public invoke()Ljava/lang/Object;
.locals 7
iget-object v6, p0, Lradiant/swipe/VerticalMediaQueueAction;->callback:Lam0/l;
if-eqz v6, :done
iget-object v4, p0, Lradiant/swipe/VerticalMediaQueueAction;->itemId:Ljava/lang/String;
if-eqz v4, :done
iget v5, p0, Lradiant/swipe/VerticalMediaQueueAction;->mediaType:I
if-eqz v5, :done
const/4 v1, 0x4
if-ne v5, v1, :queue_event
invoke-static {}, Lradiant/swipe/QueueExecutor;->hasActiveQueue()Z
move-result v1
if-nez v1, :queue_event
new-instance v1, Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b$a;
iget-object v2, p0, Lradiant/swipe/VerticalMediaQueueAction;->pageId:Ljava/lang/String;
iget-object v3, p0, Lradiant/swipe/VerticalMediaQueueAction;->moduleUuid:Ljava/lang/String;
invoke-direct {v1, v2, v3, v4}, Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b$a;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
goto :emit
:queue_event
iget-object v1, p0, Lradiant/swipe/VerticalMediaQueueAction;->context:Landroid/content/Context;
if-eqz v1, :done
new-instance v0, Lradiant/swipe/DynamicMediaQueueEvent;
iget-object v2, p0, Lradiant/swipe/VerticalMediaQueueAction;->pageId:Ljava/lang/String;
iget-object v3, p0, Lradiant/swipe/VerticalMediaQueueAction;->moduleUuid:Ljava/lang/String;
invoke-direct/range {v0 .. v5}, Lradiant/swipe/DynamicMediaQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
move-object v1, v0
:emit
invoke-interface {v6, v1}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
:done
sget-object v0, Lkotlin/u;->a:Lkotlin/u;
return-object v0
.end method
.method public setContext(Landroid/content/Context;)V
.locals 0
iput-object p1, p0, Lradiant/swipe/VerticalMediaQueueAction;->context:Landroid/content/Context;
return-void
.end method
.method public stableKey()Ljava/lang/String;
.locals 3
iget-object v0, p0, Lradiant/swipe/VerticalMediaQueueAction;->itemId:Ljava/lang/String;
if-eqz v0, :invalid
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "vlc:"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, p0, Lradiant/swipe/VerticalMediaQueueAction;->moduleUuid:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v2, 0x3a
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget v2, p0, Lradiant/swipe/VerticalMediaQueueAction;->mediaType:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/16 v2, 0x3a
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
:invalid
const/4 v0, 0x0
return-object v0
.end method
+11 -1
View File
@@ -458,7 +458,17 @@
"radiant/swipe/ViewAllTrackQueue.smali",
"radiant/swipe/ComposeSearchQueueEvent.smali",
"radiant/swipe/ComposeSearchQueueAction.smali",
"radiant/swipe/ComposeSearchQueue.smali"
"radiant/swipe/ComposeSearchQueue.smali",
"radiant/swipe/FeedResolver.smali",
"radiant/swipe/ArtistTrackCreditsQueueEvent.smali",
"radiant/swipe/ArtistTrackCreditsQueueAction.smali",
"radiant/swipe/ArtistTrackCreditsQueue.smali",
"radiant/swipe/DynamicMediaQueueEvent.smali",
"radiant/swipe/CompactGridMediaQueueAction.smali",
"radiant/swipe/VerticalMediaQueueAction.smali",
"radiant/swipe/PublicPlaylistQueueAction.smali",
"radiant/swipe/DynamicMediaQueue.smali",
"radiant/swipe/SuggestionsResolver.smali"
],
"title": "Swipe to Queue",
"description": "Swipe on tracks/albums/playlists to add them to the play queue",
+229 -2
View File
@@ -54,6 +54,84 @@
invoke-static {}, Landroidx/navigation/f0;->a()V
.line 249
--- a/com/tidal/android/dynamicpages/ui/composables/compactgridcard/CompactGridCardModuleRowKt.smali
+++ b/com/tidal/android/dynamicpages/ui/composables/compactgridcard/CompactGridCardModuleRowKt.smali
@@ -872,1 +872,26 @@
+ invoke-static {v10}, Lradiant/swipe/CompactGridMediaQueueAction;->isEligible(Lm40/e;)Z
+
+ move-result v11
+
+ if-eqz v11, :rl_compact_grid_swipe_done
+
+ new-instance v11, Lradiant/swipe/CompactGridMediaQueueAction;
+
+ move-object/from16 v12, p0
+
+ move-object/from16 v14, p1
+
+ invoke-direct {v11, v4, v12, v14, v10}, Lradiant/swipe/CompactGridMediaQueueAction;-><init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e;)V
+
+ invoke-virtual {v11}, Lradiant/swipe/CompactGridMediaQueueAction;->stableKey()Ljava/lang/String;
+
+ move-result-object v12
+
+ const/4 v14, 0x1
+
+ invoke-static {v9, v12, v11, v14, v13}, Lradiant/swipe/ComposeSwipeState;->attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/swipe/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
+
+ move-result-object v9
+
+ :rl_compact_grid_swipe_done
const v11, 0xe000
--- a/com/tidal/android/dynamicpages/ui/composables/compactgridcard/d.smali
+++ b/com/tidal/android/dynamicpages/ui/composables/compactgridcard/d.smali
@@ -38,1 +38,22 @@
+ instance-of v0, p1, Lradiant/swipe/DynamicMediaQueueEvent;
+
+ if-eqz v0, :rl_compact_grid_native_click
+
+ iget-object v0, p0, Lcom/tidal/android/dynamicpages/ui/composables/compactgridcard/d;->b:Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/c;
+
+ iget-object v1, v0, Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/c;->f:Lam0/q;
+
+ iget-object v2, p0, Lcom/tidal/android/dynamicpages/ui/composables/compactgridcard/d;->c:Ljava/lang/String;
+
+ iget-object v3, v0, Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/c;->a:Ljava/lang/String;
+
+ const/4 v4, 0x0
+
+ invoke-interface {v1, v2, v3, p1, v4}, Lam0/q;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ sget-object p1, Lkotlin/u;->a:Lkotlin/u;
+
+ return-object p1
+
+ :rl_compact_grid_native_click
.line 1
--- a/com/tidal/android/dynamicpages/ui/modules/compactgridcard/CompactGridCardModuleManager$createModuleViewState$2$2.smali
+++ b/com/tidal/android/dynamicpages/ui/modules/compactgridcard/CompactGridCardModuleManager$createModuleViewState$2$2.smali
@@ -72,1 +72,1 @@
- .locals 0
+ .locals 1
@@ -74,1 +74,18 @@
+ instance-of v0, p3, Lradiant/swipe/DynamicMediaQueueEvent;
+
+ if-eqz v0, :rl_compact_grid_native_event
+
+ iget-object v0, p0, Lkotlin/jvm/internal/AdaptedFunctionReference;->receiver:Ljava/lang/Object;
+
+ check-cast v0, Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;
+
+ check-cast p3, Lradiant/swipe/DynamicMediaQueueEvent;
+
+ invoke-static {v0, p3}, Lradiant/swipe/DynamicMediaQueue;->handleCompact(Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;Lradiant/swipe/DynamicMediaQueueEvent;)V
+
+ sget-object p1, Lkotlin/u;->a:Lkotlin/u;
+
+ return-object p1
+
+ :rl_compact_grid_native_event
.line 1
--- a/com/tidal/android/feature/search/ui/SearchScreenViewModel.smali
+++ b/com/tidal/android/feature/search/ui/SearchScreenViewModel.smali
@@ -926,6 +926,17 @@
@@ -233,7 +311,7 @@
move-object/from16 v25, v9
--- a/com/tidal/android/feature/viewall/ui/ViewAllScreenViewModel.smali
+++ b/com/tidal/android/feature/viewall/ui/ViewAllScreenViewModel.smali
@@ -1718,6 +1718,17 @@
@@ -1717,5 +1717,16 @@
}
.end annotation
@@ -250,4 +328,153 @@
+ :rl_viewall_regular_event
.line 1
instance-of v0, p1, Lcom/tidal/android/feature/viewall/ui/e$a;
--- a/com/tidal/android/dynamicpages/ui/composables/artisttrackcredits/h.smali
+++ b/com/tidal/android/dynamicpages/ui/composables/artisttrackcredits/h.smali
@@ -929,1 +929,5 @@
check-cast v34, Lam0/a;
+ invoke-static/range {v34 .. v34}, Lradiant/swipe/ComposeTapGuard;->wrap(Lam0/a;)Lam0/a;
+
+ move-result-object v34
+
@@ -970,1 +974,17 @@
move-result-object v0
+ iget-wide v14, v3, Lm40/e$e;->a:J
+
+ invoke-static {v14, v15}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
+
+ move-result-object v14
+
+ new-instance v15, Lradiant/swipe/ArtistTrackCreditsQueueAction;
+
+ invoke-direct {v15, v4, v1, v2, v3}, Lradiant/swipe/ArtistTrackCreditsQueueAction;-><init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e$e;)V
+
+ iget-boolean v5, v3, Lm40/e$e;->j:Z
+
+ invoke-static {v0, v14, v15, v5, v11}, Lradiant/swipe/ComposeSwipeState;->attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/swipe/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
+
+ move-result-object v0
+
--- a/com/tidal/android/dynamicpages/ui/modules/artisttrackcredits/ArtistTrackCreditsModuleManager$createModuleViewState$3.smali
+++ b/com/tidal/android/dynamicpages/ui/modules/artisttrackcredits/ArtistTrackCreditsModuleManager$createModuleViewState$3.smali
@@ -603,1 +603,12 @@
:cond_c
+ instance-of p2, p1, Lradiant/swipe/ArtistTrackCreditsQueueEvent;
+
+ if-eqz p2, :rl_artist_credits_queue_unhandled
+
+ check-cast p1, Lradiant/swipe/ArtistTrackCreditsQueueEvent;
+
+ invoke-static {v0, p1}, Lradiant/swipe/ArtistTrackCreditsQueue;->handle(Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/ArtistTrackCreditsModuleManager;Lradiant/swipe/ArtistTrackCreditsQueueEvent;)V
+
+ goto :goto_4
+
+ :rl_artist_credits_queue_unhandled
--- a/com/tidal/android/dynamicpages/ui/composables/verticallistcard/VerticalListCardKt.smali
+++ b/com/tidal/android/dynamicpages/ui/composables/verticallistcard/VerticalListCardKt.smali
@@ -3648,1 +3648,24 @@
move-result-object v0
+ invoke-static {v10}, Lradiant/swipe/VerticalMediaQueueAction;->isSupported(Lm40/e;)Z
+
+ move-result v7
+
+ if-eqz v7, :rl_vertical_swipe_done
+
+ new-instance v7, Lradiant/swipe/VerticalMediaQueueAction;
+
+ invoke-direct {v7, v4, v1, v2, v10}, Lradiant/swipe/VerticalMediaQueueAction;-><init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e;)V
+
+ invoke-virtual {v7}, Lradiant/swipe/VerticalMediaQueueAction;->stableKey()Ljava/lang/String;
+
+ move-result-object v9
+
+ invoke-static {v10}, Lradiant/swipe/VerticalMediaQueueAction;->isEligible(Lm40/e;)Z
+
+ move-result v12
+
+ invoke-static {v0, v9, v7, v12, v3}, Lradiant/swipe/ComposeSwipeState;->attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/swipe/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
+
+ move-result-object v0
+
+ :rl_vertical_swipe_done
--- a/j40/e4.smali
+++ b/j40/e4.smali
@@ -310,1 +310,24 @@
check-cast v11, Lam0/a;
+ instance-of v8, v6, Lcom/tidal/android/dynamicpages/ui/composables/verticallistcard/m;
+
+ if-eqz v8, :rl_vertical_tap_guard_done
+
+ instance-of v8, v5, Lm40/e;
+
+ if-eqz v8, :rl_vertical_tap_guard_done
+
+ move-object v8, v5
+
+ check-cast v8, Lm40/e;
+
+ invoke-static {v8}, Lradiant/swipe/VerticalMediaQueueAction;->isSupported(Lm40/e;)Z
+
+ move-result v8
+
+ if-eqz v8, :rl_vertical_tap_guard_done
+
+ invoke-static {v11}, Lradiant/swipe/ComposeTapGuard;->wrap(Lam0/a;)Lam0/a;
+
+ move-result-object v11
+
+ :rl_vertical_tap_guard_done
--- a/com/tidal/android/dynamicpages/ui/composables/publicplaylistlist/i.smali
+++ b/com/tidal/android/dynamicpages/ui/composables/publicplaylistlist/i.smali
@@ -2120,1 +2120,5 @@
check-cast v34, Lam0/a;
+ invoke-static/range {v34 .. v34}, Lradiant/swipe/ComposeTapGuard;->wrap(Lam0/a;)Lam0/a;
+
+ move-result-object v34
+
@@ -2161,1 +2165,15 @@
move-result-object v0
+ new-instance v5, Lradiant/swipe/PublicPlaylistQueueAction;
+
+ invoke-direct {v5, v4, v1, v2, v3}, Lradiant/swipe/PublicPlaylistQueueAction;-><init>(Lam0/l;Ljava/lang/String;Ljava/lang/String;Lm40/e$d;)V
+
+ invoke-virtual {v5}, Lradiant/swipe/PublicPlaylistQueueAction;->stableKey()Ljava/lang/String;
+
+ move-result-object v7
+
+ iget-boolean v9, v3, Lm40/e$d;->g:Z
+
+ invoke-static {v0, v7, v5, v9, v11}, Lradiant/swipe/ComposeSwipeState;->attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/swipe/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
+
+ move-result-object v0
+
--- a/com/tidal/android/dynamicpages/ui/modules/verticallistcard/VerticalListCardModuleManager$createModuleViewState$3.smali
+++ b/com/tidal/android/dynamicpages/ui/modules/verticallistcard/VerticalListCardModuleManager$createModuleViewState$3.smali
@@ -830,1 +830,12 @@
:cond_15
+ instance-of v2, v0, Lradiant/swipe/DynamicMediaQueueEvent;
+
+ if-eqz v2, :rl_vertical_queue_continue
+
+ check-cast v0, Lradiant/swipe/DynamicMediaQueueEvent;
+
+ invoke-static {v3, v0}, Lradiant/swipe/DynamicMediaQueue;->handleVertical(Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/VerticalListCardModuleManager;Lradiant/swipe/DynamicMediaQueueEvent;)V
+
+ goto :goto_2
+
+ :rl_vertical_queue_continue
--- a/com/tidal/android/dynamicpages/ui/modules/publicplaylistlist/PublicPlaylistListModuleManager$createModuleViewState$3.smali
+++ b/com/tidal/android/dynamicpages/ui/modules/publicplaylistlist/PublicPlaylistListModuleManager$createModuleViewState$3.smali
@@ -487,2 +487,13 @@
:cond_c
+ instance-of v1, p1, Lradiant/swipe/DynamicMediaQueueEvent;
+
+ if-eqz v1, :rl_public_queue_continue
+
+ check-cast p1, Lradiant/swipe/DynamicMediaQueueEvent;
+
+ invoke-static {p2, p1}, Lradiant/swipe/DynamicMediaQueue;->handlePublicPlaylist(Lcom/tidal/android/dynamicpages/ui/modules/publicplaylistlist/PublicPlaylistListModuleManager;Lradiant/swipe/DynamicMediaQueueEvent;)V
+
+ goto :goto_1
+
+ :rl_public_queue_continue
invoke-static {}, Landroidx/navigation/f0;->a()V
+31
View File
@@ -443,3 +443,34 @@
.line 72
.line 73
.line 74
--- a/com/tidal/android/feature/feed/ui/FeedView.smali
+++ b/com/tidal/android/feature/feed/ui/FeedView.smali
@@ -306,8 +306,10 @@
.line 36
.line 37
.line 38
invoke-static {p2, p1}, Lcom/tidal/android/feature/appscaffold/ui/recyclerview/b;->a(Landroidx/lifecycle/LifecycleOwner;Landroidx/recyclerview/widget/RecyclerView;)Lcom/tidal/android/feature/appscaffold/ui/recyclerview/a;
+ invoke-static {p0, p1}, Lradiant/swipe/FeedResolver;->install(Lcom/tidal/android/feature/feed/ui/FeedView;Landroidx/recyclerview/widget/RecyclerView;)V
+
.line 39
.line 40
.line 41
--- a/com/aspiro/wamp/nowplaying/view/suggestions/o0.smali
+++ b/com/aspiro/wamp/nowplaying/view/suggestions/o0.smali
@@ -876,8 +876,10 @@
.line 96
invoke-virtual {v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
+ invoke-static {p0, v0}, Lradiant/swipe/SuggestionsResolver;->install(Landroidx/fragment/app/Fragment;Landroidx/recyclerview/widget/RecyclerView;)V
+
.line 97
.line 98
.line 99
invoke-virtual {p0}, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;->M()Lcom/aspiro/wamp/nowplaying/view/suggestions/l;
--- a/com/aspiro/wamp/nowplaying/view/suggestions/h.smali
+++ b/com/aspiro/wamp/nowplaying/view/suggestions/h.smali
@@ -674,1 +674,3 @@
invoke-virtual {v3, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
+ invoke-static {p0, v3}, Lradiant/swipe/SuggestionsResolver;->install(Landroidx/fragment/app/Fragment;Landroidx/recyclerview/widget/RecyclerView;)V
+