New Patch: Swipe to Queue

This commit is contained in:
meowarex committed 2026-09-04 09:24:52 +00:00
1 parent 0ad5848354
commit aaf2d9e99d
116 files changed
+6598 -5603

No files matched your search

@@ -0,0 +1,217 @@
.class public final Lradiant/gestures/queue/AlbumItemQueueAction;
.super Ljava/lang/Object;
.source "AlbumItemQueueAction.smali"
# interfaces
.implements Lradiant/gestures/queue/ComposeSwipeAction;
# instance fields
.field private final callback:Lu5/b$a$a; # MARKER: R8 Lu5/b$a$a;
.field private context:Landroid/content/Context;
.field private final mediaItemId:I
.field private final moduleId:Ljava/lang/String;
# direct methods
.method public constructor <init>(Lu5/b$a;)V # MARKER: R8 Lu5/b$a;
.locals 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iget-object v0, p1, Lu5/b$a;->a:Lu5/b$a$a; # MARKER: R8 Lu5/b$a; Lu5/b$a$a; a
iput-object v0, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->callback:Lu5/b$a$a; # MARKER: R8 Lu5/b$a$a;
iget-object v0, p1, Lu5/b$a;->c:Lu5/b$a$b; # MARKER: R8 Lu5/b$a; Lu5/b$a$b; c
iget v1, v0, Lu5/b$a$b;->r:I # MARKER: R8 Lu5/b$a$b; r
iput v1, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->mediaItemId:I
iget-object v0, v0, Lu5/b$a$b;->s:Ljava/lang/String; # MARKER: R8 Lu5/b$a$b; s
iput-object v0, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->moduleId:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public invoke(I)Ljava/lang/Object;
.locals 10
iget-object v0, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->callback:Lu5/b$a$a; # MARKER: R8 Lu5/b$a$a;
iget v1, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->mediaItemId:I
iget-object v2, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->moduleId:Ljava/lang/String;
const/4 v3, 0x3
if-eq p1, v3, :active_queue
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v3
if-nez v3, :active_queue
invoke-interface {v0, v1, v2}, Lu5/b$a$a;->g(ILjava/lang/String;)V # MARKER: R8 Lu5/b$a$a; g
goto :done
:active_queue
iget-object v3, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->context:Landroid/content/Context;
if-eqz v3, :done
instance-of v4, v0, Lu5/g; # MARKER: R8 Lu5/g;
if-eqz v4, :done
check-cast v0, Lu5/g; # MARKER: R8 Lu5/g;
invoke-virtual {v0, v2}, Lk5/f;->l(Ljava/lang/String;)Lcom/aspiro/wamp/dynamicpages/data/model/Module; # MARKER: R8 Lk5/f; l
move-result-object v4
instance-of v5, v4, Lcom/aspiro/wamp/dynamicpages/data/model/collection/AlbumItemCollectionModule;
if-eqz v5, :done
check-cast v4, Lcom/aspiro/wamp/dynamicpages/data/model/collection/AlbumItemCollectionModule;
invoke-virtual {v4}, Lcom/aspiro/wamp/dynamicpages/data/model/collection/AlbumItemCollectionModule;->getMediaItemParents()Ljava/util/List;
move-result-object v5
invoke-interface {v5}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v5
:find_item
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v6
if-eqz v6, :done
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v6
check-cast v6, Lcom/aspiro/wamp/model/MediaItemParent;
invoke-virtual {v6}, Lcom/aspiro/wamp/model/MediaItemParent;->getMediaItem()Lcom/aspiro/wamp/model/MediaItem;
move-result-object v7
if-eqz v7, :find_item
invoke-virtual {v7}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v8
if-ne v8, v1, :find_item
instance-of v8, v7, Lcom/aspiro/wamp/model/Track;
if-eqz v8, :done
check-cast v7, Lcom/aspiro/wamp/model/Track;
iget-object v8, v0, Lu5/g;->h:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 Lu5/g; h
invoke-interface {v8, v7}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getAvailability(Lcom/aspiro/wamp/model/MediaItem;)Lcom/aspiro/wamp/model/Availability$MediaItem;
move-result-object v8
invoke-virtual {v8}, Lcom/aspiro/wamp/model/Availability$MediaItem;->isAvailable()Z
move-result v8
if-eqz v8, :done
new-instance v5, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
invoke-virtual {v4}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getPageId()Ljava/lang/String;
move-result-object v6
invoke-virtual {v4}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getId()Ljava/lang/String;
move-result-object v8
invoke-virtual {v4}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getPosition()I
move-result v9
invoke-static {v9}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v9
invoke-direct {v5, v6, v8, v9}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v7}, Lcom/aspiro/wamp/model/MediaItem;->getAlbum()Lcom/aspiro/wamp/model/Album;
move-result-object v6
if-eqz v6, :done
iget-object v8, v0, Lu5/g;->j:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lu5/g; j
invoke-static {v6, v8}, Lcom/aspiro/wamp/playqueue/source/model/b;->c(Lcom/aspiro/wamp/model/Album;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/AlbumSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; c
move-result-object v6
invoke-virtual {v6, v7}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
const/4 v8, 0x1
if-ne p1, v8, :check_add_to_playlist
invoke-static {v3, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
goto :done
:check_add_to_playlist
const/4 v8, 0x3
if-ne p1, v8, :append_track
invoke-static {v3, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
goto :done
:append_track
invoke-static {v3, v7, v5, v6}, Lradiant/gestures/queue/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
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
return-object v0
.end method
.method public invoke()Ljava/lang/Object;
.locals 1
const/4 v0, 0x2
invoke-virtual {p0, v0}, Lradiant/gestures/queue/AlbumItemQueueAction;->invoke(I)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public setContext(Landroid/content/Context;)V
.locals 0
iput-object p1, p0, Lradiant/gestures/queue/AlbumItemQueueAction;->context:Landroid/content/Context;
return-void
.end method
@@ -0,0 +1,181 @@
.class public final Lradiant/gestures/queue/ArtistTrackCreditsQueue;
.super Ljava/lang/Object;
.source "ArtistTrackCreditsQueue.smali"
# direct methods
.method public static handle(Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/ArtistTrackCreditsModuleManager;Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;)V
.locals 11
if-eqz p0, :done
if-eqz p1, :done
iget-object v0, p1, Lradiant/gestures/queue/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/gestures/queue/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/gestures/queue/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; # MARKER: R8 Li60/c; Lc60/h; c
move-result-object v4
instance-of v5, v4, Lc60/d; # MARKER: R8 Lc60/d;
if-eqz v5, :done
check-cast v4, Lc60/d; # MARKER: R8 Lc60/d;
iget-object v5, v4, Lc60/d;->b:Ljava/lang/String; # MARKER: R8 Lc60/d; b
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; # MARKER: R8 Lc60/d; f
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; # MARKER: R8 Lc60/r$b;
if-eqz v6, :find_track
check-cast v5, Lc60/r$b; # MARKER: R8 Lc60/r$b;
iget-object v5, v5, Lc60/r$b;->a:Lh40/n; # MARKER: R8 Lc60/r$b; Lh40/n; a
instance-of v6, v5, Lh40/p; # MARKER: R8 Lh40/p;
if-eqz v6, :find_track
check-cast v5, Lh40/p; # MARKER: R8 Lh40/p;
iget-wide v6, v5, Lh40/p;->a:J # MARKER: R8 Lh40/p; a
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; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/b; b
instance-of v2, v1, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
if-eqz v2, :done
check-cast v1, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
iget-object v6, v1, Lcom/tidal/android/dynamicpages/ui/c;->b:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; b
if-eqz v6, :done
iget-object v1, p1, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->context:Landroid/content/Context;
if-eqz v1, :done
invoke-static {v5}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lie0/i; Lh40/p; a
move-result-object v7
if-eqz v7, :done
iget-object v2, v4, Lc60/d;->a:Ljava/lang/String; # MARKER: R8 Lc60/d; a
if-eqz v2, :done
new-instance v8, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
iget v3, v4, Lc60/d;->e:I # MARKER: R8 Lc60/d; e
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/gestures/queue/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; # MARKER: R8 Lc60/d; c
iget-object v10, v4, Lc60/d;->g:Ljava/lang/String; # MARKER: R8 Lc60/d; g
invoke-static {v10}, Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$a;->a(Ljava/lang/String;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType; # MARKER: R8 a
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; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; j
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
iget v0, p1, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->action:I
const/4 v2, 0x1
if-ne v0, v2, :check_add_to_playlist
invoke-static {v1, v7, v8, v9}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
goto :done
:check_add_to_playlist
const/4 v2, 0x3
if-ne v0, v2, :append
invoke-static {v1, v7, v8, v9}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
goto :done
:append
invoke-static {v1, v7, v8, v9}, Lradiant/gestures/queue/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,113 @@
.class public final Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;
.super Ljava/lang/Object;
.source "ArtistTrackCreditsQueueAction.smali"
# interfaces
.implements Lradiant/gestures/queue/ComposeSwipeAction;
# instance fields
.field private final callback:Lam0/l; # MARKER: R8 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 # MARKER: R8 Lam0/l; Lm40/e$e;
.locals 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
iput-object p2, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->pageId:Ljava/lang/String;
iput-object p3, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->moduleUuid:Ljava/lang/String;
iget-wide v0, p4, Lm40/e$e;->a:J # MARKER: R8 Lm40/e$e; a
iput-wide v0, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->trackId:J
return-void
.end method
# virtual methods
.method public invoke(I)Ljava/lang/Object;
.locals 8
iget-wide v1, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->trackId:J
const/4 v0, 0x3
if-eq p1, v0, :active_queue
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v0
if-nez v0, :active_queue
new-instance v0, Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b$a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b$a;
iget-object v3, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->pageId:Ljava/lang/String;
iget-object v4, p0, Lradiant/gestures/queue/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 # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b$a;
goto :emit
:active_queue
new-instance v0, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;
iget-object v1, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->context:Landroid/content/Context;
if-eqz v1, :done
iget-object v2, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->pageId:Ljava/lang/String;
iget-object v3, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->moduleUuid:Ljava/lang/String;
iget-wide v4, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->trackId:J
move v6, p1
invoke-direct/range {v0 .. v6}, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;JI)V
:emit
iget-object v7, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
invoke-interface {v7, v0}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
:done
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
return-object v0
.end method
.method public invoke()Ljava/lang/Object;
.locals 1
const/4 v0, 0x2
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->invoke(I)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public setContext(Landroid/content/Context;)V
.locals 0
iput-object p1, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueAction;->context:Landroid/content/Context;
return-void
.end method
@@ -0,0 +1,38 @@
.class public final Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;
.super Ljava/lang/Object;
.source "ArtistTrackCreditsQueueEvent.smali"
# interfaces
.implements Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/artisttrackcredits/b;
# instance fields
.field public final action:I
.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;JI)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->context:Landroid/content/Context;
iput-object p2, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->pageId:Ljava/lang/String;
iput-object p3, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->moduleUuid:Ljava/lang/String;
iput-wide p4, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->trackId:J
iput p6, p0, Lradiant/gestures/queue/ArtistTrackCreditsQueueEvent;->action:I
return-void
.end method
@@ -0,0 +1,281 @@
.class public final Lradiant/gestures/queue/CompactGridMediaQueueAction;
.super Ljava/lang/Object;
.source "CompactGridMediaQueueAction.smali"
# interfaces
.implements Lradiant/gestures/queue/ComposeSwipeAction;
# instance fields
.field private final callback:Lam0/l; # MARKER: R8 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 # MARKER: R8 Lam0/l; Lm40/e;
.locals 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
iput-object p2, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->pageId:Ljava/lang/String;
iput-object p3, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->moduleUuid:Ljava/lang/String;
instance-of v0, p4, Lm40/e$a; # MARKER: R8 Lm40/e$a;
if-eqz v0, :mix
check-cast p4, Lm40/e$a; # MARKER: R8 Lm40/e$a;
iget-wide v0, p4, Lm40/e$a;->a:J # MARKER: R8 Lm40/e$a; a
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; # MARKER: R8 Lm40/e$c;
if-eqz v0, :playlist
check-cast p4, Lm40/e$c; # MARKER: R8 Lm40/e$c;
iget-object v0, p4, Lm40/e$c;->a:Ljava/lang/String; # MARKER: R8 Lm40/e$c; a
const/4 v1, 0x2
goto :store
:playlist
instance-of v0, p4, Lm40/e$d; # MARKER: R8 Lm40/e$d;
if-eqz v0, :track
check-cast p4, Lm40/e$d; # MARKER: R8 Lm40/e$d;
iget-object v0, p4, Lm40/e$d;->a:Ljava/lang/String; # MARKER: R8 Lm40/e$d; a
const/4 v1, 0x3
goto :store
:track
instance-of v0, p4, Lm40/e$e; # MARKER: R8 Lm40/e$e;
if-eqz v0, :unsupported
check-cast p4, Lm40/e$e; # MARKER: R8 Lm40/e$e;
iget-wide v0, p4, Lm40/e$e;->a:J # MARKER: R8 Lm40/e$e; a
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/gestures/queue/CompactGridMediaQueueAction;->itemId:Ljava/lang/String;
iput v1, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->mediaType:I
return-void
.end method
.method public static isEligible(Lm40/e;)Z # MARKER: R8 Lm40/e;
.locals 1
instance-of v0, p0, Lm40/e$a; # MARKER: R8 Lm40/e$a;
if-eqz v0, :mix
check-cast p0, Lm40/e$a; # MARKER: R8 Lm40/e$a;
iget-boolean p0, p0, Lm40/e$a;->e:Z # MARKER: R8 Lm40/e$a; e
return p0
:mix
instance-of v0, p0, Lm40/e$c; # MARKER: R8 Lm40/e$c;
if-eqz v0, :playlist
check-cast p0, Lm40/e$c; # MARKER: R8 Lm40/e$c;
iget-boolean p0, p0, Lm40/e$c;->h:Z # MARKER: R8 Lm40/e$c; h
return p0
:playlist
instance-of v0, p0, Lm40/e$d; # MARKER: R8 Lm40/e$d;
if-eqz v0, :track
check-cast p0, Lm40/e$d; # MARKER: R8 Lm40/e$d;
iget-boolean p0, p0, Lm40/e$d;->g:Z # MARKER: R8 Lm40/e$d; g
return p0
:track
instance-of v0, p0, Lm40/e$e; # MARKER: R8 Lm40/e$e;
if-eqz v0, :invalid
check-cast p0, Lm40/e$e; # MARKER: R8 Lm40/e$e;
iget-boolean p0, p0, Lm40/e$e;->j:Z # MARKER: R8 Lm40/e$e; j
return p0
:invalid
const/4 p0, 0x0
return p0
.end method
# virtual methods
.method public invoke(I)Ljava/lang/Object;
.locals 8
iget-object v7, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
if-eqz v7, :done
iget-object v4, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->itemId:Ljava/lang/String;
if-eqz v4, :done
iget v5, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->mediaType:I
if-eqz v5, :done
const/4 v1, 0x3
if-eq p1, v1, :queue_event
const/4 v1, 0x4
if-ne v5, v1, :queue_event
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v1
if-nez v1, :queue_event
move-object v1, v4
goto :emit
:queue_event
iget-object v1, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->context:Landroid/content/Context;
if-eqz v1, :done
new-instance v0, Lradiant/gestures/queue/DynamicMediaQueueEvent;
iget-object v2, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->pageId:Ljava/lang/String;
iget-object v3, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->moduleUuid:Ljava/lang/String;
move v6, p1
invoke-direct/range {v0 .. v6}, Lradiant/gestures/queue/DynamicMediaQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
move-object v1, v0
:emit
invoke-interface {v7, v1}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
:done
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
return-object v0
.end method
.method public invoke()Ljava/lang/Object;
.locals 1
const/4 v0, 0x2
invoke-virtual {p0, v0}, Lradiant/gestures/queue/CompactGridMediaQueueAction;->invoke(I)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public setContext(Landroid/content/Context;)V
.locals 0
iput-object p1, p0, Lradiant/gestures/queue/CompactGridMediaQueueAction;->context:Landroid/content/Context;
return-void
.end method
.method public stableKey()Ljava/lang/String;
.locals 3
iget-object v0, p0, Lradiant/gestures/queue/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/gestures/queue/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/gestures/queue/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
@@ -0,0 +1,367 @@
.class public final Lradiant/gestures/queue/ComposeSearchQueue;
.super Ljava/lang/Object;
.source "ComposeSearchQueue.smali"
# direct methods
.method public static handle(Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;Lradiant/gestures/queue/ComposeSearchQueueEvent;)V
.locals 10
if-eqz p0, :done
if-eqz p1, :done
iget v0, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->action:I
const/4 v1, 0x1
if-lt v0, v1, :done
const/4 v1, 0x3
if-gt v0, v1, :done
iget-object v8, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->context:Landroid/content/Context;
if-eqz v8, :done
iget-object v2, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->id:Ljava/lang/String;
if-eqz v2, :done
iget v4, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->type:I
const/4 v0, 0x1
if-lt v4, v0, :done
const/4 v0, 0x4
if-gt v4, v0, :done
iget-object v0, p0, Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;->n:Ljava/util/List; # MARKER: R8 n
invoke-interface {v0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v0
:find_row
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :done
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lmb0/e; # MARKER: R8 Lmb0/e;
invoke-static {v1}, Lmb0/f;->a(Lmb0/e;)Ljava/lang/String; # MARKER: R8 Lmb0/f; Lmb0/e; a
move-result-object v9
invoke-virtual {v2, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :find_row
instance-of v9, v1, Lmb0/a; # MARKER: R8 Lmb0/a;
if-eqz v9, :find_row
check-cast v1, Lmb0/a; # MARKER: R8 Lmb0/a;
iget-object v3, v1, Lmb0/a;->a:Lh40/n; # MARKER: R8 Lmb0/a; Lh40/n; a
const/4 v9, 0x1
if-ne v4, v9, :check_album
instance-of v9, v3, Lh40/p; # MARKER: R8 Lh40/p;
if-eqz v9, :find_row
goto :recover_dependencies
:check_album
const/4 v9, 0x2
if-ne v4, v9, :check_playlist
instance-of v9, v3, Lh40/a; # MARKER: R8 Lh40/a;
if-eqz v9, :find_row
goto :recover_dependencies
:check_playlist
const/4 v9, 0x3
if-ne v4, v9, :check_mix
instance-of v9, v3, Lh40/j; # MARKER: R8 Lh40/j;
if-eqz v9, :find_row
goto :recover_dependencies
:check_mix
instance-of v9, v3, Lh40/i; # MARKER: R8 Lh40/i;
if-eqz v9, :find_row
:recover_dependencies
iget-object v9, p0, Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;->d:Lcom/tidal/android/feature/search/ui/e; # MARKER: R8 Lcom/tidal/android/feature/search/ui/e; d
instance-of v0, v9, Lv9/e; # MARKER: R8 Lv9/e;
if-eqz v0, :done
check-cast v9, Lv9/e; # MARKER: R8 Lv9/e;
iget-object v5, v9, Lv9/e;->b:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lv9/e; b
iget-object v9, v9, Lv9/e;->a:Lcom/aspiro/wamp/core/k; # MARKER: R8 Lv9/e; Lcom/aspiro/wamp/core/k; a
const/4 v6, 0x0
const/4 v0, 0x2
if-eq v4, v0, :recover_menu
const/4 v0, 0x4
if-ne v4, v0, :dependencies_ready
:recover_menu
instance-of v0, v9, Lh9/p1; # MARKER: R8 Lh9/p1;
if-eqz v0, :done
check-cast v9, Lh9/p1; # MARKER: R8 Lh9/p1;
iget-object v9, v9, Lh9/p1;->b:Lx40/a; # MARKER: R8 Lh9/p1; Lx40/a; b
instance-of v0, v9, Lh4/a; # MARKER: R8 Lh4/a;
if-eqz v0, :done
move-object v6, v9
check-cast v6, Lh4/a; # MARKER: R8 Lh4/a;
:dependencies_ready
new-instance v7, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
const-string v0, "search"
invoke-direct {v7, v0, v2}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;)V
const/4 v0, 0x1
if-ne v4, v0, :album
check-cast v3, Lh40/p; # MARKER: R8 Lh40/p;
iget v0, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->action:I
const/4 v1, 0x3
if-eq v0, v1, :queue_track
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v0
if-eqz v0, :play_track
:queue_track
invoke-static {v3}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lie0/i; Lh40/p; a
move-result-object v9
iget-object v4, p0, Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;->m:Lkotlinx/coroutines/flow/MutableStateFlow; # MARKER: R8 m
invoke-interface {v4}, Lkotlinx/coroutines/flow/MutableStateFlow;->getValue()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/tidal/android/feature/search/ui/SearchQuery;
iget-object v4, v4, Lcom/tidal/android/feature/search/ui/SearchQuery;->a:Ljava/lang/String; # MARKER: R8 a
if-nez v4, :track_query_ready
const-string v4, ""
:track_query_ready
const/4 v1, 0x0
if-eqz v5, :track_navigation_ready
invoke-static {v5}, Lcom/tidal/android/navigation/a;->b(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/tidal/android/navigation/NavigationInfo$Node; # MARKER: R8 Lcom/tidal/android/navigation/a; b
move-result-object v1
:track_navigation_ready
invoke-static {v2, v4, v1}, 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; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; o
move-result-object v4
invoke-virtual {v4, v9}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
iget v0, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->action:I
const/4 v1, 0x1
if-ne v0, v1, :check_add_track_to_playlist
invoke-static {v8, v9, v7, v4}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
goto :done
:check_add_track_to_playlist
const/4 v1, 0x3
if-ne v0, v1, :append_track
invoke-static {v8, v9, v7, v4}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
goto :done
:append_track
invoke-static {v8, v9, v7, v4}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
goto :done
:play_track
iget-object v5, p0, Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;->m:Lkotlinx/coroutines/flow/MutableStateFlow; # MARKER: R8 m
invoke-interface {v5}, Lkotlinx/coroutines/flow/MutableStateFlow;->getValue()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lcom/tidal/android/feature/search/ui/SearchQuery;
iget-object v5, v5, Lcom/tidal/android/feature/search/ui/SearchQuery;->a:Ljava/lang/String; # MARKER: R8 a
if-nez v5, :play_query_ready
const-string v5, ""
:play_query_ready
iget-object v9, p0, Lcom/tidal/android/feature/search/ui/SearchScreenViewModel;->f:Lcom/tidal/android/feature/search/ui/f; # MARKER: R8 Lcom/tidal/android/feature/search/ui/f; f
iget-wide v0, v3, Lh40/p;->a:J # MARKER: R8 Lh40/p; a
invoke-interface {v9, v0, v1, v3, v5}, Lcom/tidal/android/feature/search/ui/f;->a(JLh40/p;Ljava/lang/String;)V # MARKER: R8 Lcom/tidal/android/feature/search/ui/f; Lh40/p; a
goto :done
:album
const/4 v0, 0x2
if-ne v4, v0, :playlist
check-cast v3, Lh40/a; # MARKER: R8 Lh40/a;
invoke-static {v3}, Lie0/a;->a(Lh40/a;)Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lie0/a; Lh40/a; a
move-result-object v9
iget v0, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->action:I
const/4 v1, 0x1
if-ne v0, v1, :check_add_album_to_playlist
invoke-static {v8, v9, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextAlbum(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; # MARKER: R8 Lh4/a;
goto :done
:check_add_album_to_playlist
const/4 v1, 0x3
if-ne v0, v1, :append_album
invoke-static {v8, v9, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
goto :done
:append_album
invoke-static {v8, v9, v7, v5, v6}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
goto :done
:playlist
const/4 v0, 0x3
if-ne v4, v0, :mix
check-cast v3, Lh40/j; # MARKER: R8 Lh40/j;
invoke-static {v3}, Lie0/h;->a(Lh40/j;)Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lie0/h; Lh40/j; a
move-result-object v9
iget v0, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->action:I
const/4 v1, 0x1
if-ne v0, v1, :check_add_playlist_to_playlist
invoke-static {v8, v9, v7, v5}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:check_add_playlist_to_playlist
const/4 v1, 0x3
if-ne v0, v1, :append_playlist
invoke-static {v8, v9, v7, v5}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:append_playlist
invoke-static {v8, v9, v7, v5}, Lradiant/gestures/queue/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:mix
check-cast v3, Lh40/i; # MARKER: R8 Lh40/i;
invoke-static {v3}, Lie0/g;->b(Lh40/i;)Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lie0/g; Lh40/i; b
move-result-object v9
iget v0, p1, Lradiant/gestures/queue/ComposeSearchQueueEvent;->action:I
const/4 v1, 0x1
if-ne v0, v1, :check_add_mix_to_playlist
invoke-static {v8, v9, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextMix(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; # MARKER: R8 Lh4/a;
goto :done
:check_add_mix_to_playlist
const/4 v1, 0x3
if-ne v0, v1, :append_mix
invoke-static {v8, v9, v7, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
goto :done
:append_mix
invoke-static {v8, v9, v7, v5, v6}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
:done
return-void
.end method
@@ -0,0 +1,232 @@
.class public final Lradiant/gestures/queue/ComposeSearchQueueAction;
.super Ljava/lang/Object;
.source "ComposeSearchQueueAction.smali"
# interfaces
.implements Lradiant/gestures/queue/ComposeSwipeAction;
# instance fields
.field private final callback:Lam0/l; # MARKER: R8 Lam0/l;
.field private context:Landroid/content/Context;
.field private final id:Ljava/lang/String;
.field private final type:I
# direct methods
.method public constructor <init>(Lam0/l;Lpb0/b;)V # MARKER: R8 Lam0/l; Lpb0/b;
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
invoke-static {p2}, Lradiant/gestures/queue/ComposeSearchQueueAction;->key(Lpb0/b;)Ljava/lang/String; # MARKER: R8 Lpb0/b;
move-result-object v0
iput-object v0, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->id:Ljava/lang/String;
invoke-static {p2}, Lradiant/gestures/queue/ComposeSearchQueueAction;->type(Lpb0/b;)I # MARKER: R8 Lpb0/b;
move-result p1
iput p1, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->type:I
return-void
.end method
.method public static key(Lpb0/b;)Ljava/lang/String; # MARKER: R8 Lpb0/b;
.locals 2
instance-of v0, p0, Lpb0/b$i; # MARKER: R8 Lpb0/b$i;
if-eqz v0, :album
check-cast p0, Lpb0/b$i; # MARKER: R8 Lpb0/b$i;
iget-wide v0, p0, Lpb0/b$i;->a:J # MARKER: R8 Lpb0/b$i; a
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object p0
return-object p0
:album
instance-of v0, p0, Lpb0/b$a; # MARKER: R8 Lpb0/b$a;
if-eqz v0, :playlist
check-cast p0, Lpb0/b$a; # MARKER: R8 Lpb0/b$a;
iget-wide v0, p0, Lpb0/b$a;->a:J # MARKER: R8 Lpb0/b$a; a
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object p0
return-object p0
:playlist
instance-of v0, p0, Lpb0/b$f; # MARKER: R8 Lpb0/b$f;
if-eqz v0, :mix
check-cast p0, Lpb0/b$f; # MARKER: R8 Lpb0/b$f;
iget-object p0, p0, Lpb0/b$f;->a:Ljava/lang/String; # MARKER: R8 Lpb0/b$f; a
return-object p0
:mix
instance-of v0, p0, Lpb0/b$e; # MARKER: R8 Lpb0/b$e;
if-eqz v0, :invalid
check-cast p0, Lpb0/b$e; # MARKER: R8 Lpb0/b$e;
iget-object p0, p0, Lpb0/b$e;->a:Ljava/lang/String; # MARKER: R8 Lpb0/b$e; a
return-object p0
:invalid
const/4 p0, 0x0
return-object p0
.end method
.method public stableKey()Ljava/lang/String;
.locals 3
iget-object v0, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->id:Ljava/lang/String;
if-eqz v0, :invalid
iget v1, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->type:I
if-eqz v1, :invalid
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/16 v1, 0x3a
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method private static type(Lpb0/b;)I # MARKER: R8 Lpb0/b;
.locals 1
instance-of v0, p0, Lpb0/b$i; # MARKER: R8 Lpb0/b$i;
if-eqz v0, :album
const/4 p0, 0x1
return p0
:album
instance-of v0, p0, Lpb0/b$a; # MARKER: R8 Lpb0/b$a;
if-eqz v0, :playlist
const/4 p0, 0x2
return p0
:playlist
instance-of v0, p0, Lpb0/b$f; # MARKER: R8 Lpb0/b$f;
if-eqz v0, :mix
const/4 p0, 0x3
return p0
:mix
instance-of p0, p0, Lpb0/b$e; # MARKER: R8 Lpb0/b$e;
if-eqz p0, :invalid
const/4 p0, 0x4
return p0
:invalid
const/4 p0, 0x0
return p0
.end method
# virtual methods
.method public invoke(I)Ljava/lang/Object;
.locals 4
iget-object v0, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
if-eqz v0, :done
iget-object v1, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->context:Landroid/content/Context;
if-eqz v1, :done
iget-object v2, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->id:Ljava/lang/String;
if-eqz v2, :done
iget v3, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->type:I
if-eqz v3, :done
new-instance p0, Lradiant/gestures/queue/ComposeSearchQueueEvent;
invoke-direct {p0, v1, v2, v3, p1}, Lradiant/gestures/queue/ComposeSearchQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;II)V
invoke-interface {v0, p0}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
:done
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
return-object v0
.end method
.method public invoke()Ljava/lang/Object;
.locals 1
const/4 v0, 0x2
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ComposeSearchQueueAction;->invoke(I)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public setContext(Landroid/content/Context;)V
.locals 0
iput-object p1, p0, Lradiant/gestures/queue/ComposeSearchQueueAction;->context:Landroid/content/Context;
return-void
.end method
@@ -0,0 +1,44 @@
.class public final Lradiant/gestures/queue/ComposeSearchQueueEvent;
.super Ljava/lang/Object;
.source "ComposeSearchQueueEvent.smali"
# interfaces
.implements Lcom/tidal/android/feature/search/ui/b; # MARKER: R8 Lcom/tidal/android/feature/search/ui/b;
# static fields
.field public static final TYPE_ALBUM:I = 0x2
.field public static final TYPE_MIX:I = 0x4
.field public static final TYPE_PLAYLIST:I = 0x3
.field public static final TYPE_TRACK:I = 0x1
# instance fields
.field public final action:I
.field public final context:Landroid/content/Context;
.field public final id:Ljava/lang/String;
.field public final type:I
# direct methods
.method public constructor <init>(Landroid/content/Context;Ljava/lang/String;II)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/ComposeSearchQueueEvent;->context:Landroid/content/Context;
iput-object p2, p0, Lradiant/gestures/queue/ComposeSearchQueueEvent;->id:Ljava/lang/String;
iput p3, p0, Lradiant/gestures/queue/ComposeSearchQueueEvent;->type:I
iput p4, p0, Lradiant/gestures/queue/ComposeSearchQueueEvent;->action:I
return-void
.end method
@@ -0,0 +1,17 @@
.class public interface abstract Lradiant/gestures/queue/ComposeSwipeAction;
.super Ljava/lang/Object;
.source "ComposeSwipeAction.smali"
# interfaces
.implements Lam0/a; # MARKER: R8 Lam0/a;
# virtual methods
.method public abstract invoke()Ljava/lang/Object;
.end method
.method public abstract invoke(I)Ljava/lang/Object;
.end method
.method public abstract setContext(Landroid/content/Context;)V
.end method
@@ -0,0 +1,275 @@
.class public final Lradiant/gestures/queue/ComposeSwipeState$Draw;
.super Ljava/lang/Object;
.implements Lam0/l; # MARKER: R8 Lam0/l;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lradiant/gestures/queue/ComposeSwipeState;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Draw"
.end annotation
# instance fields
.field private final state:Lradiant/gestures/queue/ComposeSwipeState;
# direct methods
.method public constructor <init>(Lradiant/gestures/queue/ComposeSwipeState;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/ComposeSwipeState$Draw;->state:Lradiant/gestures/queue/ComposeSwipeState;
return-void
.end method
# virtual methods
.method public invoke(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
.locals 16
move-object/from16 v0, p1
move-object/from16 v5, p0
invoke-interface {v0}, Landroidx/compose/ui/graphics/drawscope/DrawScope;->getSize-NH-jbRc()J
move-result-wide v1
invoke-static {v1, v2}, Landroidx/compose/ui/geometry/Size;->getWidth-impl(J)F
move-result v3
invoke-static {v1, v2}, Landroidx/compose/ui/geometry/Size;->getHeight-impl(J)F
move-result v4
iget-object v5, v5, Lradiant/gestures/queue/ComposeSwipeState$Draw;->state:Lradiant/gestures/queue/ComposeSwipeState;
iput v3, v5, Lradiant/gestures/queue/ComposeSwipeState;->rowWidth:F
iget-object v1, v5, Lradiant/gestures/queue/ComposeSwipeState;->translation:Landroidx/compose/runtime/MutableFloatState;
invoke-interface {v1}, Landroidx/compose/runtime/MutableFloatState;->getFloatValue()F
move-result v6
const/4 v1, 0x0
cmpl-float v2, v6, v1
if-eqz v2, :draw_plain
invoke-interface {v0}, Landroidx/compose/ui/graphics/drawscope/DrawScope;->getDrawContext()Landroidx/compose/ui/graphics/drawscope/DrawContext;
move-result-object v2
invoke-interface {v2}, Landroidx/compose/ui/graphics/drawscope/DrawContext;->getCanvas()Landroidx/compose/ui/graphics/Canvas;
move-result-object v2
invoke-static {v2}, Landroidx/compose/ui/graphics/AndroidCanvas_androidKt;->getNativeCanvas(Landroidx/compose/ui/graphics/Canvas;)Landroid/graphics/Canvas;
move-result-object v7
invoke-virtual {v7}, Landroid/graphics/Canvas;->save()I
move-result v8
cmpg-float v9, v6, v1
if-gez v9, :right_exposure
add-float v9, v3, v6
invoke-static {v1, v9}, Ljava/lang/Math;->max(FF)F
move-result v9
move v10, v3
goto :exposure_ready
:right_exposure
move v9, v1
invoke-static {v3, v6}, Ljava/lang/Math;->min(FF)F
move-result v10
:exposure_ready
invoke-virtual {v7, v9, v1, v10, v4}, Landroid/graphics/Canvas;->clipRect(FFFF)Z
invoke-virtual {v5, v6}, Lradiant/gestures/queue/ComposeSwipeState;->actionForOffset(F)I
move-result v11
const/4 v12, 0x1
if-ne v11, v12, :add_color
const v11, __RL_SWIPE_TO_QUEUE_PLAY_NEXT_COLOR__
goto :color_ready
:add_color
const/4 v12, 0x3
if-ne v11, v12, :add_to_queue_color
const v11, __RL_SWIPE_TO_QUEUE_ADD_TO_PLAYLIST_COLOR__
goto :color_ready
:add_to_queue_color
const v11, __RL_SWIPE_TO_QUEUE_ADD_COLOR__
:color_ready
invoke-virtual {v7, v11}, Landroid/graphics/Canvas;->drawColor(I)V
invoke-virtual {v5, v6}, Lradiant/gestures/queue/ComposeSwipeState;->actionForOffset(F)I
move-result v11
const/4 v12, 0x1
if-ne v11, v12, :add_icon
iget-object v11, v5, Lradiant/gestures/queue/ComposeSwipeState;->playNextIcon:Landroid/graphics/drawable/Drawable;
goto :icon_ready
:add_icon
const/4 v12, 0x3
if-ne v11, v12, :add_to_queue_icon
iget-object v11, v5, Lradiant/gestures/queue/ComposeSwipeState;->addToPlaylistIcon:Landroid/graphics/drawable/Drawable;
goto :icon_ready
:add_to_queue_icon
iget-object v11, v5, Lradiant/gestures/queue/ComposeSwipeState;->addIcon:Landroid/graphics/drawable/Drawable;
:icon_ready
if-eqz v11, :background_done
invoke-virtual {v11}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
move-result v12
invoke-virtual {v11}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
move-result v13
if-lez v12, :background_done
if-lez v13, :background_done
const/high16 v14, 0x41800000 # 16.0f
invoke-virtual {v5, v14}, Lradiant/gestures/queue/ComposeSwipeState;->dp(F)F
move-result v14
const/4 v15, 0x0
int-to-float v15, v15
cmpg-float v15, v6, v15
if-gez v15, :right_icon
int-to-float v1, v12
sub-float v1, v3, v1
sub-float/2addr v1, v14
goto :icon_x_ready
:right_icon
move v1, v14
:icon_x_ready
int-to-float v14, v13
sub-float v14, v4, v14
const/high16 v15, 0x40000000 # 2.0f
div-float/2addr v14, v15
float-to-int v15, v1
float-to-int v14, v14
add-int v1, v15, v12
add-int v12, v14, v13
invoke-virtual {v11, v15, v14, v1, v12}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
const/16 v1, 0xff
invoke-virtual {v11, v1}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
invoke-virtual {v11, v7}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V
:background_done
invoke-virtual {v7, v8}, Landroid/graphics/Canvas;->restoreToCount(I)V
invoke-virtual {v7}, Landroid/graphics/Canvas;->save()I
move-result v8
const/4 v1, 0x0
invoke-virtual {v7, v1, v1, v3, v4}, Landroid/graphics/Canvas;->clipRect(FFFF)Z
invoke-virtual {v7, v6, v1}, Landroid/graphics/Canvas;->translate(FF)V
:try_start_0
invoke-interface {v0}, Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;->drawContent()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-virtual {v7, v8}, Landroid/graphics/Canvas;->restoreToCount(I)V
goto :done
:catchall_0
move-exception v0
invoke-virtual {v7, v8}, Landroid/graphics/Canvas;->restoreToCount(I)V
throw v0
:draw_plain
invoke-interface {v0}, Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;->drawContent()V
:done
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
return-object v0
.end method
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
check-cast p1, Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;
invoke-virtual {p0, p1}, Lradiant/gestures/queue/ComposeSwipeState$Draw;->invoke(Landroidx/compose/ui/graphics/drawscope/ContentDrawScope;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,231 @@
.class public final Lradiant/gestures/queue/ComposeSwipeState$Gesture;
.super Landroidx/compose/ui/input/pointer/PointerInputFilter;
.implements Lam0/l; # MARKER: R8 Lam0/l;
.implements Landroidx/compose/ui/input/pointer/PointerInputModifier;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lradiant/gestures/queue/ComposeSwipeState;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Gesture"
.end annotation
# instance fields
.field private consumeAfterDispatch:Z
.field private final state:Lradiant/gestures/queue/ComposeSwipeState;
# direct methods
.method public constructor <init>(Lradiant/gestures/queue/ComposeSwipeState;)V
.locals 0
invoke-direct {p0}, Landroidx/compose/ui/input/pointer/PointerInputFilter;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->state:Lradiant/gestures/queue/ComposeSwipeState;
return-void
.end method
# virtual methods
.method public getInterceptOutOfBoundsChildEvents()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public getPointerInputFilter()Landroidx/compose/ui/input/pointer/PointerInputFilter;
.locals 0
return-object p0
.end method
.method public invoke(Landroid/view/MotionEvent;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
.locals 3
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
move-result v0
const/4 v1, 0x0
iput-boolean v1, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->consumeAfterDispatch:Z
if-eqz v0, :down
const/4 v1, 0x1
if-eq v0, v1, :up
const/4 v1, 0x2
if-eq v0, v1, :move
const/4 v1, 0x3
if-eq v0, v1, :cancel
const/4 v1, 0x5
if-eq v0, v1, :cancel
const/4 v1, 0x6
if-eq v0, v1, :cancel
goto :done
:down
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F
move-result v0
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
move-result v1
iget-object v2, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->state:Lradiant/gestures/queue/ComposeSwipeState;
invoke-virtual {v2, v0, v1}, Lradiant/gestures/queue/ComposeSwipeState;->begin(FF)V
goto :done
:move
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F
move-result v0
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
move-result v1
iget-object v2, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->state:Lradiant/gestures/queue/ComposeSwipeState;
invoke-virtual {v2, v0, v1}, Lradiant/gestures/queue/ComposeSwipeState;->move(FF)V
goto :done
:up
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F
move-result v0
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
move-result v1
iget-object v2, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->state:Lradiant/gestures/queue/ComposeSwipeState;
invoke-virtual {v2, v0, v1}, Lradiant/gestures/queue/ComposeSwipeState;->move(FF)V
iget-boolean v0, v2, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->consumeAfterDispatch:Z
invoke-virtual {v2}, Lradiant/gestures/queue/ComposeSwipeState;->finish()V
goto :done
:cancel
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->state:Lradiant/gestures/queue/ComposeSwipeState;
invoke-virtual {v0}, Lradiant/gestures/queue/ComposeSwipeState;->cancelGesture()V
:done
sget-object p1, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
return-object p1
.end method
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
check-cast p1, Landroid/view/MotionEvent;
invoke-virtual {p0, p1}, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
move-result-object v0
return-object v0
.end method
.method public onCancel()V
.locals 1
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->state:Lradiant/gestures/queue/ComposeSwipeState;
invoke-virtual {v0}, Lradiant/gestures/queue/ComposeSwipeState;->cancelGesture()V
return-void
.end method
.method public onPointerEvent-H0pRuoY(Landroidx/compose/ui/input/pointer/PointerEvent;Landroidx/compose/ui/input/pointer/PointerEventPass;J)V
.locals 4
sget-object v0, Landroidx/compose/ui/input/pointer/PointerEventPass;->Initial:Landroidx/compose/ui/input/pointer/PointerEventPass;
if-ne p2, v0, :done
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->state:Lradiant/gestures/queue/ComposeSwipeState;
iget-boolean v1, v0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
const/4 v2, 0x0
iput-boolean v2, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->consumeAfterDispatch:Z
invoke-virtual {p1}, Landroidx/compose/ui/input/pointer/PointerEvent;->getMotionEvent()Landroid/view/MotionEvent;
move-result-object v2
if-eqz v2, :after_dispatch
invoke-virtual {p0, v2}, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->invoke(Landroid/view/MotionEvent;)Lkotlin/u; # MARKER: R8 Lkotlin/u;
:after_dispatch
iget-boolean v2, p0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;->consumeAfterDispatch:Z
or-int/2addr v1, v2
iget-boolean v2, v0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
or-int/2addr v1, v2
if-eqz v1, :done
invoke-virtual {p1}, Landroidx/compose/ui/input/pointer/PointerEvent;->getChanges()Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v1
const/4 v2, 0x0
:consume_loop
if-ge v2, v1, :done
invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/compose/ui/input/pointer/PointerInputChange;
invoke-virtual {v3}, Landroidx/compose/ui/input/pointer/PointerInputChange;->consume()V
add-int/lit8 v2, v2, 0x1
goto :consume_loop
:done
return-void
.end method
@@ -0,0 +1,67 @@
.class public final Lradiant/gestures/queue/ComposeSwipeState$ResetAnimator;
.super Ljava/lang/Object;
.implements Landroid/animation/ValueAnimator$AnimatorUpdateListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lradiant/gestures/queue/ComposeSwipeState;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ResetAnimator"
.end annotation
# instance fields
.field private final state:Lradiant/gestures/queue/ComposeSwipeState;
# direct methods
.method public constructor <init>(Lradiant/gestures/queue/ComposeSwipeState;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/ComposeSwipeState$ResetAnimator;->state:Lradiant/gestures/queue/ComposeSwipeState;
return-void
.end method
# virtual methods
.method public onAnimationUpdate(Landroid/animation/ValueAnimator;)V
.locals 3
invoke-virtual {p1}, Landroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Float;
invoke-virtual {v0}, Ljava/lang/Float;->floatValue()F
move-result v0
iget-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState$ResetAnimator;->state:Lradiant/gestures/queue/ComposeSwipeState;
invoke-virtual {v1, v0}, Lradiant/gestures/queue/ComposeSwipeState;->setOffset(F)V
invoke-virtual {p1}, Landroid/animation/ValueAnimator;->getAnimatedFraction()F
move-result v0
const/high16 v2, 0x3f800000 # 1.0f
cmpg-float v0, v0, v2
if-gez v0, :finished
return-void
:finished
invoke-virtual {v1, p1}, Lradiant/gestures/queue/ComposeSwipeState;->clearAnimator(Landroid/animation/ValueAnimator;)V
return-void
.end method
@@ -0,0 +1,704 @@
.class public final Lradiant/gestures/queue/ComposeSwipeState;
.super Ljava/lang/Object;
# instance fields
.field translation:Landroidx/compose/runtime/MutableFloatState;
.field action:Lradiant/gestures/queue/ComposeSwipeAction;
.field context:Landroid/content/Context;
.field view:Landroid/view/View;
.field enabled:Z
.field downX:F
.field downY:F
.field tracking:Z
.field locked:Z
.field armed:Z
.field rowWidth:F
.field animator:Landroid/animation/ValueAnimator;
.field final gesture:Lradiant/gestures/queue/ComposeSwipeState$Gesture;
.field final draw:Lradiant/gestures/queue/ComposeSwipeState$Draw;
.field addIcon:Landroid/graphics/drawable/Drawable;
.field addToPlaylistIcon:Landroid/graphics/drawable/Drawable;
.field playNextIcon:Landroid/graphics/drawable/Drawable;
# direct methods
.method public constructor <init>()V
.locals 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
invoke-static {v0}, Landroidx/compose/runtime/PrimitiveSnapshotStateKt;->mutableFloatStateOf(F)Landroidx/compose/runtime/MutableFloatState;
move-result-object v0
iput-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->translation:Landroidx/compose/runtime/MutableFloatState;
new-instance v0, Lradiant/gestures/queue/ComposeSwipeState$Gesture;
invoke-direct {v0, p0}, Lradiant/gestures/queue/ComposeSwipeState$Gesture;-><init>(Lradiant/gestures/queue/ComposeSwipeState;)V
iput-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->gesture:Lradiant/gestures/queue/ComposeSwipeState$Gesture;
new-instance v1, Lradiant/gestures/queue/ComposeSwipeState$Draw;
invoke-direct {v1, p0}, Lradiant/gestures/queue/ComposeSwipeState$Draw;-><init>(Lradiant/gestures/queue/ComposeSwipeState;)V
iput-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->draw:Lradiant/gestures/queue/ComposeSwipeState$Draw;
return-void
.end method
.method public static attach(Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lradiant/gestures/queue/ComposeSwipeAction;ZLandroidx/compose/runtime/Composer;)Landroidx/compose/ui/Modifier;
.locals 5
.annotation build Landroidx/compose/runtime/Composable;
.end annotation
const v0, 0x4a33c921
invoke-interface {p4, v0}, Landroidx/compose/runtime/Composer;->startReplaceGroup(I)V
invoke-static {}, Landroidx/compose/ui/platform/AndroidCompositionLocals_androidKt;->getLocalView()Landroidx/compose/runtime/ProvidableCompositionLocal;
move-result-object v0
invoke-interface {p4, v0}, Landroidx/compose/runtime/Composer;->consume(Landroidx/compose/runtime/CompositionLocal;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
invoke-interface {p4, p1}, Landroidx/compose/runtime/Composer;->changed(Ljava/lang/Object;)Z
move-result v1
invoke-interface {p4}, Landroidx/compose/runtime/Composer;->rememberedValue()Ljava/lang/Object;
move-result-object v2
if-nez v1, :new_state
sget-object v3, Landroidx/compose/runtime/Composer;->Companion:Landroidx/compose/runtime/Composer$Companion;
invoke-virtual {v3}, Landroidx/compose/runtime/Composer$Companion;->getEmpty()Ljava/lang/Object;
move-result-object v3
if-ne v2, v3, :state_ready
:new_state
new-instance v2, Lradiant/gestures/queue/ComposeSwipeState;
invoke-direct {v2}, Lradiant/gestures/queue/ComposeSwipeState;-><init>()V
invoke-interface {p4, v2}, Landroidx/compose/runtime/Composer;->updateRememberedValue(Ljava/lang/Object;)V
:state_ready
check-cast v2, Lradiant/gestures/queue/ComposeSwipeState;
invoke-virtual {v2, p2, p3, v0}, Lradiant/gestures/queue/ComposeSwipeState;->update(Lradiant/gestures/queue/ComposeSwipeAction;ZLandroid/view/View;)V
iget-object v1, v2, Lradiant/gestures/queue/ComposeSwipeState;->gesture:Lradiant/gestures/queue/ComposeSwipeState$Gesture;
check-cast v1, Landroidx/compose/ui/Modifier;
invoke-interface {p0, v1}, Landroidx/compose/ui/Modifier;->then(Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
move-result-object p0
iget-object v1, v2, Lradiant/gestures/queue/ComposeSwipeState;->draw:Lradiant/gestures/queue/ComposeSwipeState$Draw;
invoke-static {p0, v1}, Landroidx/compose/ui/draw/DrawModifierKt;->drawWithContent(Landroidx/compose/ui/Modifier;Lam0/l;)Landroidx/compose/ui/Modifier; # MARKER: R8 Lam0/l;
move-result-object p0
invoke-interface {p4}, Landroidx/compose/runtime/Composer;->endReplaceGroup()V
return-object p0
.end method
# virtual methods
.method actionForOffset(F)I
.locals 2
const/4 v0, 0x0
int-to-float v0, v0
cmpg-float v1, p1, v0
if-ltz v1, :left
cmpl-float p1, p1, v0
if-gtz p1, :right
const/4 p1, 0x0
return p1
:left
const/16 p1, __RL_SWIPE_TO_QUEUE_LEFT_ACTION__
return p1
:right
const/16 p1, __RL_SWIPE_TO_QUEUE_RIGHT_ACTION__
return p1
.end method
.method animateReset()V
.locals 7
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->animator:Landroid/animation/ValueAnimator;
const/4 v1, 0x0
if-eqz v0, :read_offset
invoke-virtual {v0}, Landroid/animation/ValueAnimator;->cancel()V
iput-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->animator:Landroid/animation/ValueAnimator;
:read_offset
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->translation:Landroidx/compose/runtime/MutableFloatState;
invoke-interface {v0}, Landroidx/compose/runtime/MutableFloatState;->getFloatValue()F
move-result v0
invoke-static {v0}, Ljava/lang/Math;->abs(F)F
move-result v2
const/high16 v3, 0x3f000000 # 0.5f
cmpg-float v2, v2, v3
if-lez v2, :snap
const/4 v2, 0x2
new-array v2, v2, [F
const/4 v3, 0x0
aput v0, v2, v3
const/4 v0, 0x1
const/4 v3, 0x0
aput v3, v2, v0
invoke-static {v2}, Landroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator;
move-result-object v0
const-wide/16 v4, 0xb4
invoke-virtual {v0, v4, v5}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator;
new-instance v2, Landroid/view/animation/DecelerateInterpolator;
const/high16 v4, 0x3fc00000 # 1.5f
invoke-direct {v2, v4}, Landroid/view/animation/DecelerateInterpolator;-><init>(F)V
invoke-virtual {v0, v2}, Landroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V
new-instance v2, Lradiant/gestures/queue/ComposeSwipeState$ResetAnimator;
invoke-direct {v2, p0}, Lradiant/gestures/queue/ComposeSwipeState$ResetAnimator;-><init>(Lradiant/gestures/queue/ComposeSwipeState;)V
invoke-virtual {v0, v2}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V
iput-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->animator:Landroid/animation/ValueAnimator;
invoke-virtual {v0}, Landroid/animation/ValueAnimator;->start()V
return-void
:snap
const/4 v3, 0x0
invoke-virtual {p0, v3}, Lradiant/gestures/queue/ComposeSwipeState;->setOffset(F)V
return-void
.end method
.method begin(FF)V
.locals 3
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->releaseParent()V
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->animator:Landroid/animation/ValueAnimator;
const/4 v1, 0x0
if-eqz v0, :initialize
invoke-virtual {v0}, Landroid/animation/ValueAnimator;->cancel()V
iput-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->animator:Landroid/animation/ValueAnimator;
:initialize
iput p1, p0, Lradiant/gestures/queue/ComposeSwipeState;->downX:F
iput p2, p0, Lradiant/gestures/queue/ComposeSwipeState;->downY:F
const/4 v0, 0x0
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->armed:Z
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ComposeSwipeState;->setOffset(F)V
iget-boolean v2, p0, Lradiant/gestures/queue/ComposeSwipeState;->enabled:Z
if-eqz v2, :inactive
iget-object v2, p0, Lradiant/gestures/queue/ComposeSwipeState;->action:Lradiant/gestures/queue/ComposeSwipeAction;
if-eqz v2, :inactive
const/4 v0, 0x1
:inactive
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->tracking:Z
return-void
.end method
.method cancelGesture()V
.locals 1
const/4 v0, 0x0
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->tracking:Z
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->armed:Z
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->releaseParent()V
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->animateReset()V
return-void
.end method
.method clearAnimator(Landroid/animation/ValueAnimator;)V
.locals 1
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->animator:Landroid/animation/ValueAnimator;
if-ne v0, p1, :done
const/4 v0, 0x0
iput-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->animator:Landroid/animation/ValueAnimator;
:done
return-void
.end method
.method dp(F)F
.locals 1
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->context:Landroid/content/Context;
if-eqz v0, :done
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->density:F
mul-float/2addr p1, v0
:done
return p1
.end method
.method finish()V
.locals 3
iget-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->tracking:Z
if-eqz v0, :reset_only
iget-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
if-eqz v0, :not_complete
iget-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->armed:Z
if-eqz v0, :not_complete
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->translation:Landroidx/compose/runtime/MutableFloatState;
invoke-interface {v0}, Landroidx/compose/runtime/MutableFloatState;->getFloatValue()F
move-result v0
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ComposeSwipeState;->actionForOffset(F)I
move-result v2
goto :complete_ready
:not_complete
const/4 v2, 0x0
:complete_ready
const/4 v1, 0x0
iput-boolean v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->tracking:Z
iput-boolean v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
iput-boolean v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->armed:Z
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->releaseParent()V
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->animateReset()V
if-eqz v2, :done
invoke-static {}, Lradiant/gestures/queue/ComposeTapGuard;->suppressAfterSwipe()V
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->action:Lradiant/gestures/queue/ComposeSwipeAction;
if-eqz v0, :done
invoke-interface {v0, v2}, Lradiant/gestures/queue/ComposeSwipeAction;->invoke(I)Ljava/lang/Object;
goto :done
:reset_only
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->releaseParent()V
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->animateReset()V
:done
return-void
.end method
.method isCorrectDirection(F)Z
.locals 1
invoke-virtual {p0, p1}, Lradiant/gestures/queue/ComposeSwipeState;->actionForOffset(F)I
move-result v0
if-eqz v0, :wrong
const/4 v0, 0x1
return v0
:wrong
const/4 v0, 0x0
return v0
.end method
.method move(FF)V
.locals 8
iget-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->tracking:Z
if-eqz v0, :done
iget v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->downX:F
sub-float v0, p1, v0
iget v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->downY:F
sub-float v1, p2, v1
iget-boolean v2, p0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
if-nez v2, :publish
invoke-static {v0}, Ljava/lang/Math;->abs(F)F
move-result v2
invoke-static {v1}, Ljava/lang/Math;->abs(F)F
move-result v3
const/high16 v4, 0x41000000 # 8.0f
invoke-virtual {p0, v4}, Lradiant/gestures/queue/ComposeSwipeState;->dp(F)F
move-result v4
cmpg-float v5, v2, v4
if-ltz v5, :axis_ready
cmpg-float v5, v3, v4
if-gez v5, :done
:axis_ready
cmpg-float v5, v2, v3
if-gtz v5, :horizontal_candidate
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->cancelGesture()V
return-void
:horizontal_candidate
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ComposeSwipeState;->isCorrectDirection(F)Z
move-result v5
if-nez v5, :lock
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->cancelGesture()V
return-void
:lock
const/4 v5, 0x1
iput-boolean v5, p0, Lradiant/gestures/queue/ComposeSwipeState;->locked:Z
iget-object v6, p0, Lradiant/gestures/queue/ComposeSwipeState;->view:Landroid/view/View;
if-eqz v6, :publish
invoke-virtual {v6}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v6
if-eqz v6, :publish
invoke-interface {v6, v5}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
:publish
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ComposeSwipeState;->isCorrectDirection(F)Z
move-result v2
if-nez v2, :set_offset
const/4 v2, 0x0
invoke-virtual {p0, v2}, Lradiant/gestures/queue/ComposeSwipeState;->setOffset(F)V
iput-boolean v2, p0, Lradiant/gestures/queue/ComposeSwipeState;->armed:Z
return-void
:set_offset
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ComposeSwipeState;->setOffset(F)V
iget v2, p0, Lradiant/gestures/queue/ComposeSwipeState;->rowWidth:F
const/4 v3, 0x0
cmpg-float v4, v2, v3
if-lez v4, :done
const v4, 0x3e99999a # 0.3f
mul-float/2addr v2, v4
invoke-static {v0}, Ljava/lang/Math;->abs(F)F
move-result v0
cmpg-float v0, v0, v2
if-ltz v0, :below_threshold
const/4 v0, 0x1
goto :arm_ready
:below_threshold
const/4 v0, 0x0
:arm_ready
iget-boolean v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->armed:Z
if-eq v0, v1, :done
iput-boolean v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->armed:Z
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->view:Landroid/view/View;
if-eqz v0, :done
const/4 v1, 0x4
invoke-virtual {v0, v1}, Landroid/view/View;->performHapticFeedback(I)Z
:done
return-void
.end method
.method releaseParent()V
.locals 2
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->view:Landroid/view/View;
if-eqz v0, :done
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
if-eqz v0, :done
const/4 v1, 0x0
invoke-interface {v0, v1}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
:done
return-void
.end method
.method setOffset(F)V
.locals 1
iget-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->translation:Landroidx/compose/runtime/MutableFloatState;
invoke-interface {v0, p1}, Landroidx/compose/runtime/MutableFloatState;->setFloatValue(F)V
return-void
.end method
.method update(Lradiant/gestures/queue/ComposeSwipeAction;ZLandroid/view/View;)V
.locals 4
iput-object p1, p0, Lradiant/gestures/queue/ComposeSwipeState;->action:Lradiant/gestures/queue/ComposeSwipeAction;
iput-object p3, p0, Lradiant/gestures/queue/ComposeSwipeState;->view:Landroid/view/View;
invoke-virtual {p3}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
iget-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->context:Landroid/content/Context;
if-ne v0, v1, :load_resources
goto :context_ready
:load_resources
iput-object v0, p0, Lradiant/gestures/queue/ComposeSwipeState;->context:Landroid/content/Context;
sget v1, Lcom/aspiro/wamp/R$drawable;->ic_add_to_queue_last:I
invoke-virtual {v0, v1}, Landroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v1
if-eqz v1, :store_icon
invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
move-result-object v1
const/4 v2, -0x1
invoke-virtual {v1, v2}, Landroid/graphics/drawable/Drawable;->setTint(I)V
:store_icon
iput-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->addIcon:Landroid/graphics/drawable/Drawable;
sget v1, Lcom/aspiro/wamp/R$drawable;->ic_play_next:I
invoke-virtual {v0, v1}, Landroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v1
if-eqz v1, :store_play_next_icon
invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
move-result-object v1
const/4 v2, -0x1
invoke-virtual {v1, v2}, Landroid/graphics/drawable/Drawable;->setTint(I)V
:store_play_next_icon
iput-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->playNextIcon:Landroid/graphics/drawable/Drawable;
sget v1, Lcom/aspiro/wamp/R$drawable;->ic_add_to_playlist:I
invoke-virtual {v0, v1}, Landroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v1
if-eqz v1, :store_add_to_playlist_icon
invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
move-result-object v1
const/4 v2, -0x1
invoke-virtual {v1, v2}, Landroid/graphics/drawable/Drawable;->setTint(I)V
:store_add_to_playlist_icon
iput-object v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->addToPlaylistIcon:Landroid/graphics/drawable/Drawable;
:context_ready
if-eqz p1, :enabled_ready
invoke-interface {p1, v0}, Lradiant/gestures/queue/ComposeSwipeAction;->setContext(Landroid/content/Context;)V
:enabled_ready
iget-boolean v1, p0, Lradiant/gestures/queue/ComposeSwipeState;->enabled:Z
iput-boolean p2, p0, Lradiant/gestures/queue/ComposeSwipeState;->enabled:Z
if-nez v1, :was_enabled
return-void
:was_enabled
if-nez p2, :done
invoke-virtual {p0}, Lradiant/gestures/queue/ComposeSwipeState;->cancelGesture()V
:done
return-void
.end method
@@ -0,0 +1,97 @@
.class public final Lradiant/gestures/queue/ComposeTapGuard;
.super Ljava/lang/Object;
.implements Lam0/a; # MARKER: R8 Lam0/a;
# static fields
.field private static volatile deadline:J
# instance fields
.field private final delegate:Lam0/a; # MARKER: R8 Lam0/a;
# direct methods
.method public constructor <init>(Lam0/a;)V # MARKER: R8 Lam0/a;
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/ComposeTapGuard;->delegate:Lam0/a; # MARKER: R8 Lam0/a;
return-void
.end method
.method public static isSuppressed()Z
.locals 5
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v0
sget-wide v2, Lradiant/gestures/queue/ComposeTapGuard;->deadline:J
cmp-long v4, v0, v2
if-ltz v4, :suppressed
const/4 v0, 0x0
return v0
:suppressed
const/4 v0, 0x1
return v0
.end method
.method public static suppressAfterSwipe()V
.locals 4
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v0
const-wide/16 v2, 0x96
add-long/2addr v0, v2
sput-wide v0, Lradiant/gestures/queue/ComposeTapGuard;->deadline:J
return-void
.end method
.method public static wrap(Lam0/a;)Lam0/a; # MARKER: R8 Lam0/a;
.locals 1
new-instance v0, Lradiant/gestures/queue/ComposeTapGuard;
invoke-direct {v0, p0}, Lradiant/gestures/queue/ComposeTapGuard;-><init>(Lam0/a;)V # MARKER: R8 Lam0/a;
return-object v0
.end method
# virtual methods
.method public invoke()Ljava/lang/Object;
.locals 1
invoke-static {}, Lradiant/gestures/queue/ComposeTapGuard;->isSuppressed()Z
move-result v0
if-eqz v0, :dispatch
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
return-object v0
:dispatch
iget-object v0, p0, Lradiant/gestures/queue/ComposeTapGuard;->delegate:Lam0/a; # MARKER: R8 Lam0/a;
invoke-interface {v0}, Lam0/a;->invoke()Ljava/lang/Object; # MARKER: R8 Lam0/a;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,844 @@
.class public final Lradiant/gestures/queue/DynamicMediaQueue;
.super Ljava/lang/Object;
.source "DynamicMediaQueue.smali"
# direct methods
.method public static handleCompact(Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;Lradiant/gestures/queue/DynamicMediaQueueEvent;)V # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a;
.locals 13
if-eqz p0, :done
if-eqz p1, :done
iget v4, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
const/4 v5, 0x1
if-lt v4, v5, :done
const/4 v5, 0x3
if-gt v4, v5, :done
iget-object v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->pageId:Ljava/lang/String;
iget-object v1, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->moduleUuid:Ljava/lang/String;
iget-object v2, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->itemId:Ljava/lang/String;
iget v3, p1, Lradiant/gestures/queue/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; # MARKER: R8 Li60/c; Lc60/h; c
move-result-object v4
instance-of v5, v4, Lc60/f; # MARKER: R8 Lc60/f;
if-eqz v5, :done
check-cast v4, Lc60/f; # MARKER: R8 Lc60/f;
iget-object v5, v4, Lc60/f;->b:Ljava/lang/String; # MARKER: R8 Lc60/f; b
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; # MARKER: R8 Lc60/f; g
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; # MARKER: R8 Lc60/r;
if-eqz v5, :find_media
check-cast v6, Lc60/r; # MARKER: R8 Lc60/r;
invoke-static {v6}, Lc60/s;->a(Lc60/r;)Ljava/lang/String; # MARKER: R8 Lc60/s; Lc60/r; a
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; # MARKER: R8 Lc60/r$b;
if-eqz v5, :done
check-cast v6, Lc60/r$b; # MARKER: R8 Lc60/r$b;
iget-object v7, v6, Lc60/r$b;->a:Lh40/n; # MARKER: R8 Lc60/r$b; Lh40/n; a
const/4 v5, 0x1
if-ne v3, v5, :check_mix
instance-of v5, v7, Lh40/a; # MARKER: R8 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; # MARKER: R8 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; # MARKER: R8 Lh40/j;
if-eqz v5, :done
goto :dependencies
:check_track
instance-of v5, v7, Lh40/p; # MARKER: R8 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; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/compactgridcard/a; Lcom/tidal/android/dynamicpages/ui/b; b
instance-of v5, v8, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
if-eqz v5, :done
check-cast v8, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
iget-object v5, p1, Lradiant/gestures/queue/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; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; b
new-instance v10, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
iget-object v11, v4, Lc60/f;->a:Ljava/lang/String; # MARKER: R8 Lc60/f; a
iget v12, v4, Lc60/f;->d:I # MARKER: R8 Lc60/f; d
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; # MARKER: R8 Lh40/a;
invoke-static {v7}, Lie0/a;->a(Lh40/a;)Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lie0/a; Lh40/a; a
move-result-object v12
invoke-static {v8}, Lradiant/gestures/queue/DynamicMediaQueue;->menu(Lcom/tidal/android/dynamicpages/ui/c;)Lh4/a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; Lh4/a;
move-result-object v6
if-eqz v6, :done
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
const/4 v1, 0x1
if-ne v0, v1, :check_add_album_to_playlist
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextAlbum(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; # MARKER: R8 Lh4/a;
goto :done
:check_add_album_to_playlist
const/4 v1, 0x3
if-ne v0, v1, :append_album
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
goto :done
:append_album
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
goto :done
:mix
const/4 v0, 0x2
if-ne v3, v0, :playlist
check-cast v7, Lh40/i; # MARKER: R8 Lh40/i;
invoke-static {v7}, Lie0/g;->b(Lh40/i;)Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lie0/g; Lh40/i; b
move-result-object v12
invoke-static {v8}, Lradiant/gestures/queue/DynamicMediaQueue;->menu(Lcom/tidal/android/dynamicpages/ui/c;)Lh4/a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; Lh4/a;
move-result-object v6
if-eqz v6, :done
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
const/4 v1, 0x1
if-ne v0, v1, :check_add_mix_to_playlist
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextMix(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; # MARKER: R8 Lh4/a;
goto :done
:check_add_mix_to_playlist
const/4 v1, 0x3
if-ne v0, v1, :append_mix
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
goto :done
:append_mix
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
goto :done
:playlist
const/4 v0, 0x3
if-ne v3, v0, :track
check-cast v7, Lh40/j; # MARKER: R8 Lh40/j;
invoke-static {v7}, Lie0/h;->a(Lh40/j;)Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lie0/h; Lh40/j; a
move-result-object v12
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
const/4 v1, 0x1
if-ne v0, v1, :check_add_playlist_to_playlist
invoke-static {v5, v12, v10, v9}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:check_add_playlist_to_playlist
const/4 v1, 0x3
if-ne v0, v1, :append_playlist
invoke-static {v5, v12, v10, v9}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:append_playlist
invoke-static {v5, v12, v10, v9}, Lradiant/gestures/queue/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; # MARKER: R8 Lh40/p;
invoke-static {v7}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lie0/i; Lh40/p; a
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; # MARKER: R8 Lcom/tidal/android/navigation/a; b
move-result-object v6
:navigation_ready
iget-object v0, v4, Lc60/f;->e:Ljava/lang/String; # MARKER: R8 Lc60/f; e
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; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; o
move-result-object v11
invoke-virtual {v11, v12}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
const/4 v1, 0x1
if-ne v0, v1, :check_add_track_to_playlist
invoke-static {v5, v12, v10, v11}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
goto :done
:check_add_track_to_playlist
const/4 v1, 0x3
if-ne v0, v1, :append_track
invoke-static {v5, v12, v10, v11}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
goto :done
:append_track
invoke-static {v5, v12, v10, v11}, Lradiant/gestures/queue/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/gestures/queue/DynamicMediaQueueEvent;)V
.locals 11
if-eqz p0, :done
if-eqz p1, :done
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
const/4 v1, 0x1
if-lt v0, v1, :done
const/4 v1, 0x3
if-gt v0, v1, :done
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->mediaType:I
const/4 v1, 0x3
if-ne v0, v1, :done
iget-object v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->pageId:Ljava/lang/String;
iget-object v1, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->moduleUuid:Ljava/lang/String;
iget-object v2, p1, Lradiant/gestures/queue/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; # MARKER: R8 Li60/c; Lc60/h; c
move-result-object v3
instance-of v4, v3, Lc60/v; # MARKER: R8 Lc60/v;
if-eqz v4, :done
check-cast v3, Lc60/v; # MARKER: R8 Lc60/v;
iget-object v4, v3, Lc60/v;->b:Ljava/lang/String; # MARKER: R8 Lc60/v; b
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; # MARKER: R8 Lc60/v; f
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; # MARKER: R8 Lc60/r;
if-eqz v5, :find_playlist
check-cast v4, Lc60/r; # MARKER: R8 Lc60/r;
invoke-static {v4}, Lc60/s;->a(Lc60/r;)Ljava/lang/String; # MARKER: R8 Lc60/s; Lc60/r; a
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; # MARKER: R8 Lc60/r$b;
if-eqz v5, :done
check-cast v4, Lc60/r$b; # MARKER: R8 Lc60/r$b;
iget-object v4, v4, Lc60/r$b;->a:Lh40/n; # MARKER: R8 Lc60/r$b; Lh40/n; a
instance-of v5, v4, Lh40/j; # MARKER: R8 Lh40/j;
if-eqz v5, :done
check-cast v4, Lh40/j; # MARKER: R8 Lh40/j;
iget-object v5, p0, Lcom/tidal/android/dynamicpages/ui/modules/publicplaylistlist/PublicPlaylistListModuleManager;->f:Lcom/tidal/android/dynamicpages/ui/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/b; f
instance-of v6, v5, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
if-eqz v6, :done
check-cast v5, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
iget-object v6, p1, Lradiant/gestures/queue/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; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; b
new-instance v8, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
iget-object v9, v3, Lc60/v;->a:Ljava/lang/String; # MARKER: R8 Lc60/v; a
iget v10, v3, Lc60/v;->e:I # MARKER: R8 Lc60/v; e
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; # MARKER: R8 Lie0/h; Lh40/j; a
move-result-object v4
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
const/4 v1, 0x1
if-ne v0, v1, :check_add_playlist_to_playlist
invoke-static {v6, v4, v8, v7}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:check_add_playlist_to_playlist
const/4 v1, 0x3
if-ne v0, v1, :append_playlist
invoke-static {v6, v4, v8, v7}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:append_playlist
invoke-static {v6, v4, v8, v7}, Lradiant/gestures/queue/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/gestures/queue/DynamicMediaQueueEvent;)V
.locals 13
if-eqz p0, :done
if-eqz p1, :done
iget v4, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
const/4 v5, 0x1
if-lt v4, v5, :done
const/4 v5, 0x3
if-gt v4, v5, :done
iget-object v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->pageId:Ljava/lang/String;
iget-object v1, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->moduleUuid:Ljava/lang/String;
iget-object v2, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->itemId:Ljava/lang/String;
iget v3, p1, Lradiant/gestures/queue/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; # MARKER: R8 Li60/c; Lc60/h; c
move-result-object v4
instance-of v5, v4, Lc60/c0; # MARKER: R8 Lc60/c0;
if-eqz v5, :done
check-cast v4, Lc60/c0; # MARKER: R8 Lc60/c0;
iget-object v5, v4, Lc60/c0;->b:Ljava/lang/String; # MARKER: R8 Lc60/c0; b
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; # MARKER: R8 Lc60/c0; g
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; # MARKER: R8 Lc60/r;
if-eqz v5, :find_media
check-cast v6, Lc60/r; # MARKER: R8 Lc60/r;
invoke-static {v6}, Lc60/s;->a(Lc60/r;)Ljava/lang/String; # MARKER: R8 Lc60/s; Lc60/r; a
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; # MARKER: R8 Lc60/r$b;
if-eqz v5, :done
check-cast v6, Lc60/r$b; # MARKER: R8 Lc60/r$b;
iget-object v7, v6, Lc60/r$b;->a:Lh40/n; # MARKER: R8 Lc60/r$b; Lh40/n; a
const/4 v5, 0x1
if-ne v3, v5, :check_mix
instance-of v5, v7, Lh40/a; # MARKER: R8 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; # MARKER: R8 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; # MARKER: R8 Lh40/j;
if-eqz v5, :done
goto :dependencies
:check_track
instance-of v5, v7, Lh40/p; # MARKER: R8 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; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/b; e
instance-of v5, v8, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
if-eqz v5, :done
check-cast v8, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
iget-object v5, p1, Lradiant/gestures/queue/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; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; b
new-instance v10, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
iget-object v11, v4, Lc60/c0;->a:Ljava/lang/String; # MARKER: R8 Lc60/c0; a
iget v12, v4, Lc60/c0;->f:I # MARKER: R8 Lc60/c0; f
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; # MARKER: R8 Lh40/a;
invoke-static {v7}, Lie0/a;->a(Lh40/a;)Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lie0/a; Lh40/a; a
move-result-object v12
invoke-static {v8}, Lradiant/gestures/queue/DynamicMediaQueue;->menu(Lcom/tidal/android/dynamicpages/ui/c;)Lh4/a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; Lh4/a;
move-result-object v6
if-eqz v6, :done
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
const/4 v1, 0x1
if-ne v0, v1, :check_add_album_to_playlist
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextAlbum(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; # MARKER: R8 Lh4/a;
goto :done
:check_add_album_to_playlist
const/4 v1, 0x3
if-ne v0, v1, :append_album
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
goto :done
:append_album
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
goto :done
:mix
const/4 v0, 0x2
if-ne v3, v0, :playlist
check-cast v7, Lh40/i; # MARKER: R8 Lh40/i;
invoke-static {v7}, Lie0/g;->b(Lh40/i;)Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lie0/g; Lh40/i; b
move-result-object v12
invoke-static {v8}, Lradiant/gestures/queue/DynamicMediaQueue;->menu(Lcom/tidal/android/dynamicpages/ui/c;)Lh4/a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; Lh4/a;
move-result-object v6
if-eqz v6, :done
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
const/4 v1, 0x1
if-ne v0, v1, :check_add_mix_to_playlist
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextMix(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; # MARKER: R8 Lh4/a;
goto :done
:check_add_mix_to_playlist
const/4 v1, 0x3
if-ne v0, v1, :append_mix
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
goto :done
:append_mix
invoke-static {v5, v12, v10, v9, v6}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
goto :done
:playlist
const/4 v0, 0x3
if-ne v3, v0, :track
check-cast v7, Lh40/j; # MARKER: R8 Lh40/j;
invoke-static {v7}, Lie0/h;->a(Lh40/j;)Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lie0/h; Lh40/j; a
move-result-object v12
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
const/4 v1, 0x1
if-ne v0, v1, :check_add_playlist_to_playlist
invoke-static {v5, v12, v10, v9}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:check_add_playlist_to_playlist
const/4 v1, 0x3
if-ne v0, v1, :append_playlist
invoke-static {v5, v12, v10, v9}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:append_playlist
invoke-static {v5, v12, v10, v9}, Lradiant/gestures/queue/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; # MARKER: R8 Lh40/p;
invoke-static {v7}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lie0/i; Lh40/p; a
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; # MARKER: R8 Lcom/tidal/android/navigation/a; b
move-result-object v6
:navigation_ready
iget-object v0, v4, Lc60/c0;->c:Ljava/lang/String; # MARKER: R8 Lc60/c0; c
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; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; o
move-result-object v11
invoke-virtual {v11, v12}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
iget v0, p1, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
const/4 v1, 0x1
if-ne v0, v1, :check_add_track_to_playlist
invoke-static {v5, v12, v10, v11}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
goto :done
:check_add_track_to_playlist
const/4 v1, 0x3
if-ne v0, v1, :append_track
invoke-static {v5, v12, v10, v11}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
goto :done
:append_track
invoke-static {v5, v12, v10, v11}, Lradiant/gestures/queue/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; # MARKER: R8 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; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; Lcom/aspiro/wamp/core/k; a
instance-of v1, v0, Lh9/p1; # MARKER: R8 Lh9/p1;
if-eqz v1, :invalid
check-cast v0, Lh9/p1; # MARKER: R8 Lh9/p1;
iget-object v0, v0, Lh9/p1;->b:Lx40/a; # MARKER: R8 Lh9/p1; Lx40/a; b
instance-of v1, v0, Lh4/a; # MARKER: R8 Lh4/a;
if-eqz v1, :invalid
check-cast v0, Lh4/a; # MARKER: R8 Lh4/a;
return-object v0
:invalid
const/4 v0, 0x0
return-object v0
.end method
@@ -0,0 +1,43 @@
.class public final Lradiant/gestures/queue/DynamicMediaQueueEvent;
.super Ljava/lang/Object;
.source "DynamicMediaQueueEvent.smali"
# interfaces
.implements Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b;
.implements Lcom/tidal/android/dynamicpages/ui/modules/publicplaylistlist/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/publicplaylistlist/b;
# instance fields
.field public final action:I
.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;II)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/DynamicMediaQueueEvent;->context:Landroid/content/Context;
iput-object p2, p0, Lradiant/gestures/queue/DynamicMediaQueueEvent;->pageId:Ljava/lang/String;
iput-object p3, p0, Lradiant/gestures/queue/DynamicMediaQueueEvent;->moduleUuid:Ljava/lang/String;
iput-object p4, p0, Lradiant/gestures/queue/DynamicMediaQueueEvent;->itemId:Ljava/lang/String;
iput p5, p0, Lradiant/gestures/queue/DynamicMediaQueueEvent;->mediaType:I
iput p6, p0, Lradiant/gestures/queue/DynamicMediaQueueEvent;->action:I
return-void
.end method
@@ -0,0 +1,189 @@
.class public final Lradiant/gestures/queue/DynamicTrackQueue;
.super Ljava/lang/Object;
.source "DynamicTrackQueue.smali"
# direct methods
.method public static handle(Lcom/tidal/android/dynamicpages/ui/modules/tracklist/TrackListModuleManager;Lradiant/gestures/queue/DynamicTrackQueueEvent;)V
.locals 11
if-eqz p0, :done
if-eqz p1, :done
iget-object v0, p1, Lradiant/gestures/queue/DynamicTrackQueueEvent;->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/gestures/queue/DynamicTrackQueueEvent;->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/gestures/queue/DynamicTrackQueueEvent;->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; # MARKER: R8 Li60/c; Lc60/h; c
move-result-object v4
instance-of v5, v4, Lc60/b0; # MARKER: R8 Lc60/b0;
if-eqz v5, :done
check-cast v4, Lc60/b0; # MARKER: R8 Lc60/b0;
iget-object v5, v4, Lc60/b0;->b:Ljava/lang/String; # MARKER: R8 Lc60/b0; b
invoke-virtual {v1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :done
iget-object v1, v4, Lc60/b0;->f:Ljava/util/ArrayList; # MARKER: R8 Lc60/b0; f
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; # MARKER: R8 Lc60/r$b;
if-eqz v6, :find_track
check-cast v5, Lc60/r$b; # MARKER: R8 Lc60/r$b;
iget-object v5, v5, Lc60/r$b;->a:Lh40/n; # MARKER: R8 Lc60/r$b; Lh40/n; a
instance-of v6, v5, Lh40/p; # MARKER: R8 Lh40/p;
if-eqz v6, :find_track
check-cast v5, Lh40/p; # MARKER: R8 Lh40/p;
iget-wide v6, v5, Lh40/p;->a:J # MARKER: R8 Lh40/p; a
cmp-long v6, v6, v2
if-nez v6, :find_track
iget-object v1, p0, Lcom/tidal/android/dynamicpages/ui/modules/tracklist/TrackListModuleManager;->b:Lcom/tidal/android/dynamicpages/ui/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/b; b
instance-of v2, v1, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
if-eqz v2, :done
check-cast v1, Lcom/tidal/android/dynamicpages/ui/c; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c;
iget-object v6, v1, Lcom/tidal/android/dynamicpages/ui/c;->b:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/c; b
if-eqz v6, :done
iget-object v1, p1, Lradiant/gestures/queue/DynamicTrackQueueEvent;->context:Landroid/content/Context;
if-eqz v1, :done
invoke-static {v5}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lie0/i; Lh40/p; a
move-result-object v7
if-eqz v7, :done
iget-object v2, v4, Lc60/b0;->a:Ljava/lang/String; # MARKER: R8 Lc60/b0; a
if-eqz v2, :done
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v3
if-lez v3, :done
new-instance v8, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
iget v3, v4, Lc60/b0;->e:I # MARKER: R8 Lc60/b0; e
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/gestures/queue/DynamicTrackQueueEvent;->trackId:J
invoke-static {v2, v3}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v2
iget-object v3, v4, Lc60/b0;->c:Ljava/lang/String; # MARKER: R8 Lc60/b0; c
if-eqz v3, :done
iget-object v10, v4, Lc60/b0;->g:Ljava/lang/String; # MARKER: R8 Lc60/b0; g
invoke-static {v10}, Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$a;->a(Ljava/lang/String;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType; # MARKER: R8 a
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; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; j
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
iget v0, p1, Lradiant/gestures/queue/DynamicTrackQueueEvent;->action:I
const/4 v2, 0x1
if-ne v0, v2, :check_add_to_playlist
invoke-static {v1, v7, v8, v9}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
goto :done
:check_add_to_playlist
const/4 v2, 0x3
if-ne v0, v2, :append
invoke-static {v1, v7, v8, v9}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
goto :done
:append
invoke-static {v1, v7, v8, v9}, Lradiant/gestures/queue/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,113 @@
.class public final Lradiant/gestures/queue/DynamicTrackQueueAction;
.super Ljava/lang/Object;
.source "DynamicTrackQueueAction.smali"
# interfaces
.implements Lradiant/gestures/queue/ComposeSwipeAction;
# instance fields
.field private final callback:Lam0/l; # MARKER: R8 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 # MARKER: R8 Lam0/l; Lm40/e$e;
.locals 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
iput-object p2, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->pageId:Ljava/lang/String;
iput-object p3, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->moduleUuid:Ljava/lang/String;
iget-wide v0, p4, Lm40/e$e;->a:J # MARKER: R8 Lm40/e$e; a
iput-wide v0, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->trackId:J
return-void
.end method
# virtual methods
.method public invoke(I)Ljava/lang/Object;
.locals 8
iget-wide v1, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->trackId:J
const/4 v0, 0x3
if-eq p1, v0, :active_queue
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v0
if-nez v0, :active_queue
new-instance v0, Lcom/tidal/android/dynamicpages/ui/modules/tracklist/b$a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/tracklist/b$a;
iget-object v3, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->pageId:Ljava/lang/String;
iget-object v4, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->moduleUuid:Ljava/lang/String;
invoke-direct {v0, v1, v2, v3, v4}, Lcom/tidal/android/dynamicpages/ui/modules/tracklist/b$a;-><init>(JLjava/lang/String;Ljava/lang/String;)V # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/tracklist/b$a;
goto :emit
:active_queue
new-instance v0, Lradiant/gestures/queue/DynamicTrackQueueEvent;
iget-object v1, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->context:Landroid/content/Context;
if-eqz v1, :done
iget-object v2, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->pageId:Ljava/lang/String;
iget-object v3, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->moduleUuid:Ljava/lang/String;
iget-wide v4, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->trackId:J
move v6, p1
invoke-direct/range {v0 .. v6}, Lradiant/gestures/queue/DynamicTrackQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;JI)V
:emit
iget-object v7, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
invoke-interface {v7, v0}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
:done
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
return-object v0
.end method
.method public invoke()Ljava/lang/Object;
.locals 1
const/4 v0, 0x2
invoke-virtual {p0, v0}, Lradiant/gestures/queue/DynamicTrackQueueAction;->invoke(I)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public setContext(Landroid/content/Context;)V
.locals 0
iput-object p1, p0, Lradiant/gestures/queue/DynamicTrackQueueAction;->context:Landroid/content/Context;
return-void
.end method
@@ -0,0 +1,38 @@
.class public final Lradiant/gestures/queue/DynamicTrackQueueEvent;
.super Ljava/lang/Object;
.source "DynamicTrackQueueEvent.smali"
# interfaces
.implements Lcom/tidal/android/dynamicpages/ui/modules/tracklist/b; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/tracklist/b;
# instance fields
.field public final action:I
.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;JI)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/DynamicTrackQueueEvent;->context:Landroid/content/Context;
iput-object p2, p0, Lradiant/gestures/queue/DynamicTrackQueueEvent;->pageId:Ljava/lang/String;
iput-object p3, p0, Lradiant/gestures/queue/DynamicTrackQueueEvent;->moduleUuid:Ljava/lang/String;
iput-wide p4, p0, Lradiant/gestures/queue/DynamicTrackQueueEvent;->trackId:J
iput p6, p0, Lradiant/gestures/queue/DynamicTrackQueueEvent;->action:I
return-void
.end method
@@ -0,0 +1,752 @@
.class public final Lradiant/gestures/queue/DynamicTrackResolver;
.super Ljava/lang/Object;
.source "DynamicTrackResolver.smali"
# interfaces
.implements Lradiant/gestures/queue/QueueRowResolver;
# instance fields
.field private final recycler:Ljava/lang/ref/WeakReference;
# direct methods
.method private currentAlbumRow(Lradiant/gestures/queue/QueueRequest;)Lu5/b$a; # MARKER: R8 Lu5/b$a;
.locals 9
if-eqz p1, :invalid
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
instance-of v1, v0, Lu5/b$a; # MARKER: R8 Lu5/b$a;
if-eqz v1, :invalid
check-cast v0, Lu5/b$a; # MARKER: R8 Lu5/b$a;
iget-object v1, p0, Lradiant/gestures/queue/DynamicTrackResolver;->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 v1, v2, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
if-eqz v1, :invalid
check-cast v2, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
invoke-virtual {v2}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object v2
iget v3, p1, Lradiant/gestures/queue/QueueRequest;->position:I
if-gez v3, :check_size
goto :invalid
:check_size
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v4
if-lt v3, v4, :read_row
goto :invalid
:read_row
invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
instance-of v3, v2, Lu5/b$a; # MARKER: R8 Lu5/b$a;
if-eqz v3, :invalid
check-cast v2, Lu5/b$a; # MARKER: R8 Lu5/b$a;
iget-object v3, v0, Lu5/b$a;->a:Lu5/b$a$a; # MARKER: R8 Lu5/b$a; Lu5/b$a$a; a
iget-object v4, v2, Lu5/b$a;->a:Lu5/b$a$a; # MARKER: R8 Lu5/b$a; Lu5/b$a$a; a
if-ne v3, v4, :invalid
iget-wide v3, v0, Lu5/b$a;->b:J # MARKER: R8 Lu5/b$a; b
iget-wide v5, v2, Lu5/b$a;->b:J # MARKER: R8 Lu5/b$a; b
cmp-long v7, v3, v5
if-nez v7, :invalid
iget-object v3, v0, Lu5/b$a;->c:Lu5/b$a$b; # MARKER: R8 Lu5/b$a; Lu5/b$a$b; c
iget-object v4, v2, Lu5/b$a;->c:Lu5/b$a$b; # MARKER: R8 Lu5/b$a; Lu5/b$a$b; c
if-eqz v3, :invalid
if-eqz v4, :invalid
iget v5, v3, Lu5/b$a$b;->r:I # MARKER: R8 Lu5/b$a$b; r
iget v6, v4, Lu5/b$a$b;->r:I # MARKER: R8 Lu5/b$a$b; r
iget v7, p1, Lradiant/gestures/queue/QueueRequest;->id:I
if-ne v5, v7, :invalid
if-ne v6, v7, :invalid
iget-object v5, v3, Lu5/b$a$b;->s:Ljava/lang/String; # MARKER: R8 Lu5/b$a$b; s
iget-object v6, v4, Lu5/b$a$b;->s:Ljava/lang/String; # MARKER: R8 Lu5/b$a$b; s
if-eq v5, v6, :module_valid
if-eqz v5, :invalid
invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :invalid
:module_valid
iget-object v5, v4, Lu5/b$a$b;->g:Lcom/aspiro/wamp/model/Availability; # MARKER: R8 Lu5/b$a$b; g
invoke-interface {v5}, Lcom/aspiro/wamp/model/Availability;->isAvailable()Z
move-result v5
if-eqz v5, :invalid
iget-boolean v5, v4, Lu5/b$a$b;->p:Z # MARKER: R8 Lu5/b$a$b; p
if-nez v5, :invalid
return-object v2
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method private constructor <init>(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/gestures/queue/DynamicTrackResolver;->recycler:Ljava/lang/ref/WeakReference;
return-void
.end method
.method private currentRow(Lradiant/gestures/queue/QueueRequest;)Lo6/b; # MARKER: R8 Lo6/b;
.locals 8
if-eqz p1, :invalid
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
instance-of v1, v0, Lo6/b; # MARKER: R8 Lo6/b;
if-eqz v1, :invalid
check-cast v0, Lo6/b; # MARKER: R8 Lo6/b;
iget-object v1, p0, Lradiant/gestures/queue/DynamicTrackResolver;->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 v1, v2, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
if-eqz v1, :invalid
check-cast v2, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
invoke-virtual {v2}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object v2
iget v3, p1, Lradiant/gestures/queue/QueueRequest;->position:I
if-gez v3, :check_size
goto :invalid
:check_size
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v4
if-lt v3, v4, :read_row
goto :invalid
:read_row
invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
instance-of v3, v2, Lo6/b; # MARKER: R8 Lo6/b;
if-eqz v3, :invalid
check-cast v2, Lo6/b; # MARKER: R8 Lo6/b;
iget-object v3, v0, Lo6/b;->a:Lo6/i; # MARKER: R8 Lo6/b; Lo6/i; a
iget-object v4, v2, Lo6/b;->a:Lo6/i; # MARKER: R8 Lo6/b; Lo6/i; a
if-ne v3, v4, :invalid
iget-wide v3, v0, Lo6/b;->b:J # MARKER: R8 Lo6/b; b
iget-wide v5, v2, Lo6/b;->b:J # MARKER: R8 Lo6/b; b
cmp-long v7, v3, v5
if-nez v7, :invalid
iget-object v3, v0, Lo6/b;->c:Lo6/b$a; # MARKER: R8 Lo6/b; Lo6/b$a; c
iget-object v4, v2, Lo6/b;->c:Lo6/b$a; # MARKER: R8 Lo6/b; Lo6/b$a; c
if-eqz v3, :invalid
if-eqz v4, :invalid
iget v5, v3, Lo6/b$a;->d:I # MARKER: R8 Lo6/b$a; d
iget v6, v4, Lo6/b$a;->d:I # MARKER: R8 Lo6/b$a; d
iget v7, p1, Lradiant/gestures/queue/QueueRequest;->id:I
if-ne v5, v7, :invalid
if-ne v6, v7, :invalid
iget v5, v3, Lo6/b$a;->o:I # MARKER: R8 Lo6/b$a; o
iget v6, v4, Lo6/b$a;->o:I # MARKER: R8 Lo6/b$a; o
if-ne v5, v6, :invalid
iget-object v5, v3, Lo6/b$a;->q:Ljava/lang/String; # MARKER: R8 Lo6/b$a; q
iget-object v6, v4, Lo6/b$a;->q:Ljava/lang/String; # MARKER: R8 Lo6/b$a; q
if-eq v5, v6, :valid
if-eqz v5, :invalid
invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :invalid
:valid
return-object v2
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method private currentTrack(Lradiant/gestures/queue/QueueRequest;)Lcom/aspiro/wamp/model/Track;
.locals 7
invoke-direct {p0, p1}, Lradiant/gestures/queue/DynamicTrackResolver;->currentRow(Lradiant/gestures/queue/QueueRequest;)Lo6/b; # MARKER: R8 Lo6/b;
move-result-object v0
if-eqz v0, :invalid
iget-object v1, v0, Lo6/b;->a:Lo6/i; # MARKER: R8 Lo6/b; Lo6/i; a
iget-object v2, v0, Lo6/b;->c:Lo6/b$a; # MARKER: R8 Lo6/b; Lo6/b$a; c
iget-object v3, v1, Lo6/i;->p:Ljava/util/LinkedHashMap; # MARKER: R8 Lo6/i; p
iget-object v4, v2, Lo6/b$a;->q:Ljava/lang/String; # MARKER: R8 Lo6/b$a; q
invoke-virtual {v3, v4}, Ljava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
instance-of v4, v3, Lcom/aspiro/wamp/dynamicpages/data/model/collection/TrackCollectionModule;
if-eqz v4, :invalid
check-cast v3, Lcom/aspiro/wamp/dynamicpages/data/model/collection/TrackCollectionModule;
invoke-virtual {v3}, Lcom/aspiro/wamp/dynamicpages/data/model/collection/MediaItemCollectionModule;->getFilteredPagedListItems()Ljava/util/List;
move-result-object v3
iget v4, v2, Lo6/b$a;->o:I # MARKER: R8 Lo6/b$a; o
if-gez v4, :check_size
goto :invalid
:check_size
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v5
if-lt v4, v5, :read_track
goto :invalid
:read_track
invoke-interface {v3, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
instance-of v4, v3, Lcom/aspiro/wamp/model/Track;
if-eqz v4, :invalid
check-cast v3, Lcom/aspiro/wamp/model/Track;
invoke-virtual {v3}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v4
iget v5, p1, Lradiant/gestures/queue/QueueRequest;->id:I
if-ne v4, v5, :invalid
iget-object v1, v1, Lo6/i;->g:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 Lo6/i; g
invoke-interface {v1, v3}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getAvailability(Lcom/aspiro/wamp/model/MediaItem;)Lcom/aspiro/wamp/model/Availability$MediaItem;
move-result-object v1
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Availability$MediaItem;->isAvailable()Z
move-result v1
if-eqz v1, :invalid
return-object v3
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method private resolveAlbum(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
.locals 5
iget-object v0, p0, Lradiant/gestures/queue/DynamicTrackResolver;->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
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
move-result p2
const/4 v0, -0x1
if-ne p2, v0, :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, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
if-eqz v0, :invalid
check-cast p1, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object p1
if-gez p2, :check_size
goto :invalid
:check_size
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
if-lt p2, v0, :read_row
goto :invalid
:read_row
invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
instance-of v0, p1, Lu5/b$a; # MARKER: R8 Lu5/b$a;
if-eqz v0, :invalid
check-cast p1, Lu5/b$a; # MARKER: R8 Lu5/b$a;
iget-object v0, p1, Lu5/b$a;->c:Lu5/b$a$b; # MARKER: R8 Lu5/b$a; Lu5/b$a$b; c
if-eqz v0, :invalid
iget-object v1, v0, Lu5/b$a$b;->g:Lcom/aspiro/wamp/model/Availability; # MARKER: R8 Lu5/b$a$b; g
invoke-interface {v1}, Lcom/aspiro/wamp/model/Availability;->isAvailable()Z
move-result v1
if-eqz v1, :invalid
iget-boolean v1, v0, Lu5/b$a$b;->p:Z # MARKER: R8 Lu5/b$a$b; p
if-nez v1, :invalid
iget v0, v0, Lu5/b$a$b;->r:I # MARKER: R8 Lu5/b$a$b; r
new-instance v1, Lradiant/gestures/queue/QueueRequest;
invoke-direct {v1, p2, p1, v0}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
return-object v1
:invalid
const/4 p1, 0x0
return-object p1
.end method
.method public static install(Landroidx/recyclerview/widget/RecyclerView;)V
.locals 1
if-eqz p0, :done
new-instance v0, Lradiant/gestures/queue/DynamicTrackResolver;
invoke-direct {v0, p0}, Lradiant/gestures/queue/DynamicTrackResolver;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
invoke-static {p0, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
:done
return-void
.end method
# virtual methods
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
.locals 9
iget v8, p1, Lradiant/gestures/queue/QueueRequest;->action:I
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
instance-of v1, v0, Lu5/b$a; # MARKER: R8 Lu5/b$a;
if-eqz v1, :dynamic_track
invoke-direct {p0, p1}, Lradiant/gestures/queue/DynamicTrackResolver;->currentAlbumRow(Lradiant/gestures/queue/QueueRequest;)Lu5/b$a; # MARKER: R8 Lu5/b$a;
move-result-object v0
if-eqz v0, :done
new-instance v1, Lradiant/gestures/queue/AlbumItemQueueAction;
invoke-direct {v1, v0}, Lradiant/gestures/queue/AlbumItemQueueAction;-><init>(Lu5/b$a;)V # MARKER: R8 Lu5/b$a;
iget-object v2, p0, Lradiant/gestures/queue/DynamicTrackResolver;->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, :done
invoke-virtual {v2}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v2
invoke-virtual {v1, v2}, Lradiant/gestures/queue/AlbumItemQueueAction;->setContext(Landroid/content/Context;)V
invoke-virtual {v1, v8}, Lradiant/gestures/queue/AlbumItemQueueAction;->invoke(I)Ljava/lang/Object;
return-void
:dynamic_track
invoke-direct {p0, p1}, Lradiant/gestures/queue/DynamicTrackResolver;->currentRow(Lradiant/gestures/queue/QueueRequest;)Lo6/b; # MARKER: R8 Lo6/b;
move-result-object v0
invoke-direct {p0, p1}, Lradiant/gestures/queue/DynamicTrackResolver;->currentTrack(Lradiant/gestures/queue/QueueRequest;)Lcom/aspiro/wamp/model/Track;
move-result-object v1
if-eqz v0, :done
if-eqz v1, :done
const/4 v2, 0x3
if-eq v8, v2, :append
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v2
if-nez v2, :append
iget-object v2, v0, Lo6/b;->a:Lo6/i; # MARKER: R8 Lo6/b; Lo6/i; a
iget-object v3, v0, Lo6/b;->c:Lo6/b$a; # MARKER: R8 Lo6/b; Lo6/b$a; c
iget v4, v3, Lo6/b$a;->o:I # MARKER: R8 Lo6/b$a; o
iget-object v5, v3, Lo6/b$a;->q:Ljava/lang/String; # MARKER: R8 Lo6/b$a; q
invoke-virtual {v2, v4, v5}, Lo6/i;->e(ILjava/lang/String;)V # MARKER: R8 Lo6/i; e
goto :done
:append
iget-object v0, v0, Lo6/b;->a:Lo6/i; # MARKER: R8 Lo6/b; Lo6/i; a
iget-object v2, v0, Lo6/i;->p:Ljava/util/LinkedHashMap; # MARKER: R8 Lo6/i; p
iget-object v3, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
check-cast v3, Lo6/b; # MARKER: R8 Lo6/b;
iget-object v3, v3, Lo6/b;->c:Lo6/b$a; # MARKER: R8 Lo6/b; Lo6/b$a; c
iget-object v3, v3, Lo6/b$a;->q:Ljava/lang/String; # MARKER: R8 Lo6/b$a; q
invoke-virtual {v2, v3}, Ljava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/aspiro/wamp/dynamicpages/data/model/collection/TrackCollectionModule;
new-instance v3, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
invoke-virtual {v2}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getPageId()Ljava/lang/String;
move-result-object v4
invoke-virtual {v2}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getId()Ljava/lang/String;
move-result-object v5
invoke-virtual {v2}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getPosition()I
move-result v6
invoke-static {v6}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v6
invoke-direct {v3, v4, v5, v6}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v1}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v4
invoke-static {v4}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v4
invoke-virtual {v2}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getTitle()Ljava/lang/String;
move-result-object v5
iget-object v6, v0, Lo6/i;->m:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lo6/i; m
invoke-virtual {v2}, Lcom/aspiro/wamp/dynamicpages/data/model/Module;->getSelfLink()Ljava/lang/String;
move-result-object v7
invoke-static {v7}, Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$a;->a(Ljava/lang/String;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType; # MARKER: R8 a
move-result-object v7
invoke-static {v4, v5, v6, v7}, 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; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; j
move-result-object v4
invoke-virtual {v4, v1}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
iget-object v5, p0, Lradiant/gestures/queue/DynamicTrackResolver;->recycler:Ljava/lang/ref/WeakReference;
invoke-virtual {v5}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v5
check-cast v5, Landroidx/recyclerview/widget/RecyclerView;
if-eqz v5, :done
invoke-virtual {v5}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v5
const/4 v0, 0x1
if-ne v8, v0, :check_add_to_playlist
invoke-static {v5, v1, v3, v4}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
goto :done
:check_add_to_playlist
const/4 v0, 0x3
if-ne v8, v0, :append_track
invoke-static {v5, v1, v3, v4}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
goto :done
:append_track
invoke-static {v5, v1, v3, v4}, Lradiant/gestures/queue/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 resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
.locals 5
instance-of v0, p2, Lv6/e$a; # MARKER: R8 Lv6/e$a;
if-eqz v0, :dynamic_holder
invoke-direct {p0, p1, p2}, Lradiant/gestures/queue/DynamicTrackResolver;->resolveAlbum(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
move-result-object p1
return-object p1
:dynamic_holder
instance-of v0, p2, Lp7/a$a; # MARKER: R8 Lp7/a$a;
if-eqz v0, :invalid
iget-object v0, p0, Lradiant/gestures/queue/DynamicTrackResolver;->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
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
move-result p2
const/4 v0, -0x1
if-ne p2, v0, :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, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
if-eqz v0, :invalid
check-cast p1, Lcom/tidal/android/core/adapterdelegate/c; # MARKER: R8 Lcom/tidal/android/core/adapterdelegate/c;
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object p1
if-gez p2, :check_size
goto :invalid
:check_size
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
if-lt p2, v0, :read_row
goto :invalid
:read_row
invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
instance-of v0, p1, Lo6/b; # MARKER: R8 Lo6/b;
if-eqz v0, :invalid
check-cast p1, Lo6/b; # MARKER: R8 Lo6/b;
iget-object v0, p1, Lo6/b;->c:Lo6/b$a; # MARKER: R8 Lo6/b; Lo6/b$a; c
if-eqz v0, :invalid
iget v0, v0, Lo6/b$a;->d:I # MARKER: R8 Lo6/b$a; d
new-instance v1, Lradiant/gestures/queue/QueueRequest;
invoke-direct {v1, p2, p1, v0}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
invoke-direct {p0, v1}, Lradiant/gestures/queue/DynamicTrackResolver;->currentTrack(Lradiant/gestures/queue/QueueRequest;)Lcom/aspiro/wamp/model/Track;
move-result-object p1
if-eqz p1, :invalid
return-object v1
:invalid
const/4 p1, 0x0
return-object p1
.end method
@@ -0,0 +1,132 @@
.class public final Lradiant/gestures/queue/FavoriteTracksResolver;
.super Ljava/lang/Object;
.source "FavoriteTracksResolver.smali"
# interfaces
.implements Lradiant/gestures/queue/QueueRowResolver;
# instance fields
.field private final fragment:Ljava/lang/ref/WeakReference;
# direct methods
.method private constructor <init>(Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;)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/gestures/queue/FavoriteTracksResolver;->fragment:Ljava/lang/ref/WeakReference;
return-void
.end method
.method public static install(Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;Landroidx/recyclerview/widget/RecyclerView;)V
.locals 1
if-eqz p0, :done
if-eqz p1, :done
new-instance v0, Lradiant/gestures/queue/FavoriteTracksResolver;
invoke-direct {v0, p0}, Lradiant/gestures/queue/FavoriteTracksResolver;-><init>(Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;)V
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
:done
return-void
.end method
# virtual methods
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
.locals 3
iget-object v0, p0, Lradiant/gestures/queue/FavoriteTracksResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;
if-eqz v0, :done
iget v1, p1, Lradiant/gestures/queue/QueueRequest;->position:I
iget-object v2, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
check-cast v2, Lcom/aspiro/wamp/model/FavoriteTrack;
iget p1, p1, Lradiant/gestures/queue/QueueRequest;->action:I
invoke-virtual {v0, v1, v2, p1}, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;->Z(ILcom/aspiro/wamp/model/FavoriteTrack;I)V # MARKER: R8 Z
:done
return-void
.end method
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
.locals 5
instance-of p1, p2, Ln8/d; # MARKER: R8 Ln8/d;
if-eqz p1, :invalid
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
move-result p1
const/4 v0, -0x1
if-ne p1, v0, :has_position
goto :invalid
:has_position
check-cast p2, Ln8/d; # MARKER: R8 Ln8/d;
iget-object p2, p2, Ln8/d;->f:Lcom/aspiro/wamp/model/MediaItem; # MARKER: R8 Ln8/d; f
instance-of v0, p2, Lcom/aspiro/wamp/model/FavoriteTrack;
if-eqz v0, :invalid
check-cast p2, Lcom/aspiro/wamp/model/FavoriteTrack;
iget-object v0, p0, Lradiant/gestures/queue/FavoriteTracksResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;
if-eqz v0, :invalid
invoke-virtual {v0, p1, p2}, Lcom/aspiro/wamp/mycollection/subpages/favoritetracks/FavoriteTracksFragment;->Y(ILcom/aspiro/wamp/model/FavoriteTrack;)Z # MARKER: R8 Y
move-result v0
if-eqz v0, :invalid
invoke-virtual {p2}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v0
new-instance v1, Lradiant/gestures/queue/QueueRequest;
invoke-direct {v1, p1, p2, v0}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
return-object v1
:invalid
const/4 p1, 0x0
return-object p1
.end method
@@ -0,0 +1,667 @@
.class public final Lradiant/gestures/queue/FeedResolver;
.super Ljava/lang/Object;
.source "FeedResolver.smali"
# interfaces
.implements Lradiant/gestures/queue/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/gestures/queue/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/gestures/queue/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/gestures/queue/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; # MARKER: R8 Lv70/b; d
instance-of v1, v0, Lcom/tidal/android/feature/feed/ui/c; # MARKER: R8 Lcom/tidal/android/feature/feed/ui/c;
if-eqz v1, :invalid
check-cast v0, Lcom/tidal/android/feature/feed/ui/c; # MARKER: R8 Lcom/tidal/android/feature/feed/ui/c;
iget-object v0, v0, Lcom/tidal/android/feature/feed/ui/c;->c:Lz70/a; # MARKER: R8 Lcom/tidal/android/feature/feed/ui/c; Lz70/a; c
if-eqz v0, :invalid
iget-object v0, v0, Lz70/a;->c:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 Lz70/a; c
return-object v0
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method private current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
.locals 10
if-eqz p1, :invalid
iget-object v8, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
iget-object v0, p0, Lradiant/gestures/queue/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/gestures/queue/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; # MARKER: R8 La50/b;
if-eqz v3, :invalid
check-cast v2, La50/b; # MARKER: R8 La50/b;
iget-object v2, v2, La50/b;->b:Ljava/util/ArrayList; # MARKER: R8 La50/b; b
iget v3, p1, Lradiant/gestures/queue/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/gestures/queue/FeedResolver;->availabilityInteractor()Lcom/aspiro/wamp/model/AvailabilityInteractor;
move-result-object v4
if-eqz v4, :invalid
instance-of v3, v2, Lb80/a; # MARKER: R8 Lb80/a;
if-eqz v3, :mix
instance-of v3, v8, Lcom/aspiro/wamp/model/Album;
if-eqz v3, :invalid
check-cast v2, Lb80/a; # MARKER: R8 Lb80/a;
iget-boolean v3, v2, Lb80/a;->c:Z # MARKER: R8 Lb80/a; c
if-eqz v3, :invalid
check-cast v8, Lcom/aspiro/wamp/model/Album;
iget-object v5, v2, Lb80/a;->a:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lb80/a; a
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/gestures/queue/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; # MARKER: R8 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; # MARKER: R8 Lb80/c;
check-cast v8, Lcom/aspiro/wamp/mix/model/Mix;
iget-object v5, v2, Lb80/c;->a:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lb80/c; a
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/gestures/queue/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; # MARKER: R8 Lb80/d;
if-eqz v3, :invalid
instance-of v3, v8, Lcom/aspiro/wamp/model/Playlist;
if-eqz v3, :invalid
check-cast v2, Lb80/d; # MARKER: R8 Lb80/d;
check-cast v8, Lcom/aspiro/wamp/model/Playlist;
iget-object v5, v2, Lb80/d;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lb80/d; a
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/gestures/queue/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/gestures/queue/FeedResolver;
invoke-direct {v0, p0, p1}, Lradiant/gestures/queue/FeedResolver;-><init>(Lcom/tidal/android/feature/feed/ui/FeedView;Landroidx/recyclerview/widget/RecyclerView;)V
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
:done
return-void
.end method
# virtual methods
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
.locals 9
invoke-direct {p0, p1}, Lradiant/gestures/queue/FeedResolver;->current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
move-result-object v0
if-eqz v0, :done
iget-object v1, p0, Lradiant/gestures/queue/FeedResolver;->fragment:Ljava/lang/ref/WeakReference;
iget p0, p1, Lradiant/gestures/queue/QueueRequest;->action:I
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; # MARKER: R8 La80/c; c
if-eqz v2, :done
instance-of v4, v0, Lb80/a; # MARKER: R8 Lb80/a;
if-eqz v4, :mix
check-cast v0, Lb80/a; # MARKER: R8 Lb80/a;
iget-object v7, v0, Lb80/a;->a:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lb80/a; a
iget v8, v0, Lb80/a;->g:I # MARKER: R8 Lb80/a; g
const/4 v4, 0x1
goto :metadata
:mix
instance-of v4, v0, Lb80/c; # MARKER: R8 Lb80/c;
if-eqz v4, :playlist
check-cast v0, Lb80/c; # MARKER: R8 Lb80/c;
iget-object v7, v0, Lb80/c;->a:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lb80/c; a
iget v8, v0, Lb80/c;->c:I # MARKER: R8 Lb80/c; c
const/4 v4, 0x2
goto :metadata
:playlist
check-cast v0, Lb80/d; # MARKER: R8 Lb80/d;
iget-object v7, v0, Lb80/d;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lb80/d; a
iget v8, v0, Lb80/d;->c:I # MARKER: R8 Lb80/d; c
const/4 v4, 0x3
:metadata
invoke-static {v8}, Lcom/tidal/android/feature/feed/ui/viewstates/UpdatedIntervals$a;->a(I)Ljava/lang/String; # MARKER: R8 a
move-result-object v8
iget-object v0, v2, La80/c;->a:Ljava/lang/String; # MARKER: R8 La80/c; a
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; # MARKER: R8 La80/c; e
const/4 v0, 0x3
if-ne v4, v0, :collection
check-cast v7, Lcom/aspiro/wamp/model/Playlist;
const/4 v0, 0x3
if-eq p0, v0, :add_to_playlist_playlist
const/4 v0, 0x1
if-ne p0, v0, :append_playlist
invoke-static {v3, v7, p1, v5}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:append_playlist
invoke-static {v3, v7, p1, v5}, Lradiant/gestures/queue/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:add_to_playlist_playlist
invoke-static {v3, v7, p1, v5}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(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; # MARKER: R8 La80/c; Lx40/a; b
instance-of v0, v6, Lh4/a; # MARKER: R8 Lh4/a;
if-eqz v0, :done
check-cast v6, Lh4/a; # MARKER: R8 Lh4/a;
const/4 v0, 0x1
if-ne v4, v0, :queue_mix
check-cast v7, Lcom/aspiro/wamp/model/Album;
const/4 v0, 0x3
if-eq p0, v0, :add_to_playlist_album
const/4 v0, 0x1
if-ne p0, v0, :append_album
invoke-static {v3, v7, p1, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextAlbum(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; # MARKER: R8 Lh4/a;
move-result-object v7
goto :retain
:append_album
invoke-static {v3, v7, p1, v5, v6}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
move-result-object v7
goto :retain
:add_to_playlist_album
invoke-static {v3, v7, p1, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
goto :done
:queue_mix
check-cast v7, Lcom/aspiro/wamp/mix/model/Mix;
const/4 v0, 0x3
if-eq p0, v0, :add_to_playlist_mix
const/4 v0, 0x1
if-ne p0, v0, :append_mix
invoke-static {v3, v7, p1, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextMix(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; # MARKER: R8 Lh4/a;
move-result-object v7
goto :retain
:append_mix
invoke-static {v3, v7, p1, v5, v6}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
move-result-object v7
goto :retain
:add_to_playlist_mix
invoke-static {v3, v7, p1, v5, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
goto :done
:retain
if-eqz v7, :done
iget-object v0, v1, Lcom/tidal/android/feature/feed/ui/FeedView;->f:Lio/reactivex/disposables/CompositeDisposable; # MARKER: R8 f
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/gestures/queue/QueueRequest;
.locals 7
iget-object v0, p0, Lradiant/gestures/queue/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; # MARKER: R8 Lw70/c$a;
if-eqz v0, :mix_holder
const/4 v5, 0x1
goto :has_holder
:mix_holder
instance-of v0, p2, Lw70/h$a; # MARKER: R8 Lw70/h$a;
if-eqz v0, :playlist_holder
const/4 v5, 0x2
goto :has_holder
:playlist_holder
instance-of v0, p2, Lw70/k$a; # MARKER: R8 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; # MARKER: R8 La50/b;
if-eqz v0, :invalid
check-cast p1, La50/b; # MARKER: R8 La50/b;
iget-object p1, p1, La50/b;->b:Ljava/util/ArrayList; # MARKER: R8 La50/b; b
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; # MARKER: R8 Lb80/a;
if-eqz v0, :mix
const/4 v0, 0x1
if-ne v5, v0, :invalid
check-cast p1, Lb80/a; # MARKER: R8 Lb80/a;
iget-object v1, p1, Lb80/a;->a:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lb80/a; a
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Album;->getId()I
move-result v2
goto :request
:mix
instance-of v0, p1, Lb80/c; # MARKER: R8 Lb80/c;
if-eqz v0, :playlist
const/4 v0, 0x2
if-ne v5, v0, :invalid
check-cast p1, Lb80/c; # MARKER: R8 Lb80/c;
iget-object v1, p1, Lb80/c;->a:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lb80/c; a
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; # MARKER: R8 Lb80/d;
if-eqz v0, :invalid
const/4 v0, 0x3
if-ne v5, v0, :invalid
check-cast p1, Lb80/d; # MARKER: R8 Lb80/d;
iget-object v1, p1, Lb80/d;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lb80/d; a
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/gestures/queue/QueueRequest;
invoke-direct {v3, p2, v1, v2}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
invoke-direct {p0, v3}, Lradiant/gestures/queue/FeedResolver;->current(Lradiant/gestures/queue/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,273 @@
.class public final Lradiant/gestures/queue/MyAlbumsResolver;
.super Ljava/lang/Object;
.source "MyAlbumsResolver.smali"
# interfaces
.implements Lradiant/gestures/queue/QueueRowResolver;
# instance fields
.field private final fragment:Ljava/lang/ref/WeakReference;
# direct methods
.method private constructor <init>(Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;)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/gestures/queue/MyAlbumsResolver;->fragment:Ljava/lang/ref/WeakReference;
return-void
.end method
.method private current(Lradiant/gestures/queue/QueueRequest;)Lzc/a; # MARKER: R8 Lzc/a;
.locals 7
if-eqz p1, :invalid
iget-object v0, p0, Lradiant/gestures/queue/MyAlbumsResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;
if-eqz v0, :invalid
iget-object v1, v0, Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;->h:Lad/f; # MARKER: R8 Lad/f; h
if-eqz v1, :invalid
invoke-virtual {v0}, Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;->N()La50/d; # MARKER: R8 La50/d; N
move-result-object v0
invoke-virtual {v0}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object v0
iget v1, p1, Lradiant/gestures/queue/QueueRequest;->position:I
if-gez v1, :check_size
goto :invalid
:check_size
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v2
if-lt v1, v2, :read_item
goto :invalid
:read_item
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
instance-of v1, v0, Lzc/a; # MARKER: R8 Lzc/a;
if-eqz v1, :invalid
check-cast v0, Lzc/a; # MARKER: R8 Lzc/a;
iget-boolean v1, v0, Lzc/a;->k:Z # MARKER: R8 Lzc/a; k
if-eqz v1, :invalid
iget-object v1, v0, Lzc/a;->b:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lzc/a; b
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Album;->getId()I
move-result v1
iget v2, p1, Lradiant/gestures/queue/QueueRequest;->id:I
if-ne v1, v2, :invalid
return-object v0
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method public static install(Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;Landroidx/recyclerview/widget/RecyclerView;)V
.locals 1
if-eqz p0, :done
if-eqz p1, :done
new-instance v0, Lradiant/gestures/queue/MyAlbumsResolver;
invoke-direct {v0, p0}, Lradiant/gestures/queue/MyAlbumsResolver;-><init>(Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;)V
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
:done
return-void
.end method
# virtual methods
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
.locals 7
iget v6, p1, Lradiant/gestures/queue/QueueRequest;->action:I
invoke-direct {p0, p1}, Lradiant/gestures/queue/MyAlbumsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Lzc/a; # MARKER: R8 Lzc/a;
move-result-object p1
if-eqz p1, :done
iget-object v0, p0, Lradiant/gestures/queue/MyAlbumsResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;
if-eqz v0, :done
iget-object v1, v0, Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;->c:Lfd/c; # MARKER: R8 Lfd/c; c
if-eqz v1, :done
iget-object v2, v1, Lfd/c;->a:Lx40/a; # MARKER: R8 Lfd/c; Lx40/a; a
instance-of v3, v2, Lh4/a; # MARKER: R8 Lh4/a;
if-eqz v3, :done
check-cast v2, Lh4/a; # MARKER: R8 Lh4/a;
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
move-result-object v3
iget-object v4, p1, Lzc/a;->b:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lzc/a; b
iget-object v5, v1, Lfd/c;->d:Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata; # MARKER: R8 Lfd/c; d
iget-object p0, v1, Lfd/c;->c:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lfd/c; c
const/4 v1, 0x3
if-eq v6, v1, :add_to_playlist
const/4 v1, 0x1
if-ne v6, v1, :append
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->playNextAlbum(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; # MARKER: R8 Lh4/a;
move-result-object p1
goto :retain
:append
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
move-result-object p1
goto :retain
:add_to_playlist
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
goto :done
:retain
if-eqz p1, :done
iget-object v0, v0, Lcom/aspiro/wamp/mycollection/subpages/albums/myalbums/MyAlbumsView;->j:Lio/reactivex/disposables/CompositeDisposable; # MARKER: R8 j
invoke-virtual {v0, p1}, 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/gestures/queue/QueueRequest;
.locals 6
instance-of v0, p2, Lbd/d$a; # MARKER: R8 Lbd/d$a;
if-eqz v0, :invalid
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
move-result p2
const/4 v0, -0x1
if-ne p2, v0, :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/d; # MARKER: R8 La50/d;
if-eqz v0, :invalid
check-cast p1, La50/d; # MARKER: R8 La50/d;
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object p1
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
if-lt p2, v0, :read_item
goto :invalid
:read_item
invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
instance-of v0, p1, Lzc/a; # MARKER: R8 Lzc/a;
if-eqz v0, :invalid
check-cast p1, Lzc/a; # MARKER: R8 Lzc/a;
iget-boolean v0, p1, Lzc/a;->k:Z # MARKER: R8 Lzc/a; k
if-eqz v0, :invalid
iget-object v0, p1, Lzc/a;->b:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lzc/a; b
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Album;->getId()I
move-result v1
new-instance v2, Lradiant/gestures/queue/QueueRequest;
invoke-direct {v2, p2, v0, v1}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
return-object v2
:invalid
const/4 p1, 0x0
return-object p1
.end method
@@ -0,0 +1,328 @@
.class public final Lradiant/gestures/queue/MyMixesAndRadioResolver;
.super Ljava/lang/Object;
.source "MyMixesAndRadioResolver.smali"
# interfaces
.implements Lradiant/gestures/queue/QueueRowResolver;
# instance fields
.field private final fragment:Ljava/lang/ref/WeakReference;
# direct methods
.method private constructor <init>(Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;)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/gestures/queue/MyMixesAndRadioResolver;->fragment:Ljava/lang/ref/WeakReference;
return-void
.end method
.method private current(Lradiant/gestures/queue/QueueRequest;)Lve/a; # MARKER: R8 Lve/a;
.locals 6
if-eqz p1, :invalid
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
instance-of v1, v0, Lcom/aspiro/wamp/mix/model/Mix;
if-eqz v1, :invalid
check-cast v0, Lcom/aspiro/wamp/mix/model/Mix;
iget-object v1, p0, Lradiant/gestures/queue/MyMixesAndRadioResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;
if-eqz v1, :invalid
iget-object v2, v1, Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;->c:Lpe/f; # MARKER: R8 Lpe/f; c
if-eqz v2, :invalid
invoke-virtual {v1}, Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;->N()La50/d; # MARKER: R8 La50/d; N
move-result-object v1
invoke-virtual {v1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object v1
iget v2, p1, Lradiant/gestures/queue/QueueRequest;->position:I
if-gez v2, :check_size
goto :invalid
:check_size
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v3
if-lt v2, v3, :read_item
goto :invalid
:read_item
invoke-interface {v1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
instance-of v2, v1, Lve/a; # MARKER: R8 Lve/a;
if-eqz v2, :invalid
check-cast v1, Lve/a; # MARKER: R8 Lve/a;
iget-boolean v2, v1, Lve/a;->f:Z # MARKER: R8 Lve/a; f
if-eqz v2, :invalid
iget-object v2, v1, Lve/a;->c:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lve/a; c
if-eqz v2, :invalid
invoke-virtual {v0}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
move-result-object v0
iget-object v3, v1, Lve/a;->a:Ljava/lang/String; # MARKER: R8 Lve/a; a
invoke-virtual {v3, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :invalid
invoke-virtual {v2}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
move-result-object v2
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :invalid
invoke-virtual {v3}, Ljava/lang/String;->hashCode()I
move-result v2
iget v3, p1, Lradiant/gestures/queue/QueueRequest;->id:I
if-ne v2, v3, :invalid
return-object v1
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method public static install(Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;Landroidx/recyclerview/widget/RecyclerView;)V
.locals 1
if-eqz p0, :done
if-eqz p1, :done
new-instance v0, Lradiant/gestures/queue/MyMixesAndRadioResolver;
invoke-direct {v0, p0}, Lradiant/gestures/queue/MyMixesAndRadioResolver;-><init>(Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;)V
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
:done
return-void
.end method
# virtual methods
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
.locals 8
iget v7, p1, Lradiant/gestures/queue/QueueRequest;->action:I
invoke-direct {p0, p1}, Lradiant/gestures/queue/MyMixesAndRadioResolver;->current(Lradiant/gestures/queue/QueueRequest;)Lve/a; # MARKER: R8 Lve/a;
move-result-object p1
if-eqz p1, :done
iget-object v0, p0, Lradiant/gestures/queue/MyMixesAndRadioResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;
if-eqz v0, :done
iget-object v1, v0, Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;->c:Lpe/f; # MARKER: R8 Lpe/f; c
if-eqz v1, :done
iget-object v2, v1, Lpe/f;->a:Lx40/a; # MARKER: R8 Lpe/f; Lx40/a; a
instance-of v3, v2, Lh4/a; # MARKER: R8 Lh4/a;
if-eqz v3, :done
check-cast v2, Lh4/a; # MARKER: R8 Lh4/a;
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
move-result-object v3
iget-object v4, p1, Lve/a;->c:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lve/a; c
new-instance v5, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
const-string v6, "mycollection_mixes_and_radio"
invoke-direct {v5, v6}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;)V
iget-object p0, v1, Lpe/f;->b:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lpe/f; b
const/4 v1, 0x3
if-eq v7, v1, :add_to_playlist
const/4 v1, 0x1
if-ne v7, v1, :append
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->playNextMix(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; # MARKER: R8 Lh4/a;
move-result-object p1
goto :retain
:append
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
move-result-object p1
goto :retain
:add_to_playlist
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
goto :done
:retain
if-eqz p1, :done
iget-object v0, v0, Lcom/aspiro/wamp/mycollection/subpages/mixesandradios/MyMixesAndRadioView;->h:Lio/reactivex/disposables/CompositeDisposable; # MARKER: R8 h
invoke-virtual {v0, p1}, 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/gestures/queue/QueueRequest;
.locals 5
instance-of v0, p2, Lqe/c$a; # MARKER: R8 Lqe/c$a;
if-eqz v0, :invalid
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
move-result p2
const/4 v0, -0x1
if-ne p2, v0, :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/d; # MARKER: R8 La50/d;
if-eqz v0, :invalid
check-cast p1, La50/d; # MARKER: R8 La50/d;
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object p1
if-gez p2, :check_size
goto :invalid
:check_size
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
if-lt p2, v0, :read_item
goto :invalid
:read_item
invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
instance-of v0, p1, Lve/a; # MARKER: R8 Lve/a;
if-eqz v0, :invalid
check-cast p1, Lve/a; # MARKER: R8 Lve/a;
iget-boolean v0, p1, Lve/a;->f:Z # MARKER: R8 Lve/a; f
if-eqz v0, :invalid
iget-object v0, p1, Lve/a;->c:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lve/a; c
if-eqz v0, :invalid
iget-object v1, p1, Lve/a;->a:Ljava/lang/String; # MARKER: R8 Lve/a; a
invoke-virtual {v0}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :invalid
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v2
new-instance v3, Lradiant/gestures/queue/QueueRequest;
invoke-direct {v3, p2, v0, v2}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
return-object v3
:invalid
const/4 p1, 0x0
return-object p1
.end method
@@ -0,0 +1,312 @@
.class public final Lradiant/gestures/queue/MyPlaylistsResolver;
.super Ljava/lang/Object;
.source "MyPlaylistsResolver.smali"
# interfaces
.implements Lradiant/gestures/queue/QueueRowResolver;
# instance fields
.field private final fragment:Ljava/lang/ref/WeakReference;
# direct methods
.method private constructor <init>(Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;)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/gestures/queue/MyPlaylistsResolver;->fragment:Ljava/lang/ref/WeakReference;
return-void
.end method
.method private current(Lradiant/gestures/queue/QueueRequest;)Lcf/b; # MARKER: R8 Lcf/b;
.locals 6
if-eqz p1, :invalid
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
instance-of v1, v0, Lcom/aspiro/wamp/model/Playlist;
if-eqz v1, :invalid
check-cast v0, Lcom/aspiro/wamp/model/Playlist;
iget-object v1, p0, Lradiant/gestures/queue/MyPlaylistsResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;
if-eqz v1, :invalid
iget-object v2, v1, Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;->j:Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/h; # MARKER: R8 Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/h; j
if-eqz v2, :invalid
invoke-virtual {v1}, Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;->N()La50/d; # MARKER: R8 La50/d; N
move-result-object v1
invoke-virtual {v1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object v1
iget v2, p1, Lradiant/gestures/queue/QueueRequest;->position:I
if-gez v2, :check_size
goto :invalid
:check_size
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v3
if-lt v2, v3, :read_item
goto :invalid
:read_item
invoke-interface {v1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
instance-of v2, v1, Lcf/b; # MARKER: R8 Lcf/b;
if-eqz v2, :invalid
check-cast v1, Lcf/b; # MARKER: R8 Lcf/b;
iget-boolean v2, v1, Lcf/b;->h:Z # MARKER: R8 Lcf/b; h
if-eqz v2, :invalid
iget-boolean v2, v1, Lcf/b;->f:Z # MARKER: R8 Lcf/b; f
if-eqz v2, :check_playlist
const-string v2, "NOT_READY"
iget-object v3, v1, Lcf/b;->g:Ljava/lang/String; # MARKER: R8 Lcf/b; g
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :invalid
:check_playlist
iget-object v2, v1, Lcf/b;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lcf/b; a
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
move-result v3
if-lez v3, :invalid
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :invalid
return-object v1
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method public static install(Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;Landroidx/recyclerview/widget/RecyclerView;)V
.locals 1
if-eqz p0, :done
if-eqz p1, :done
new-instance v0, Lradiant/gestures/queue/MyPlaylistsResolver;
invoke-direct {v0, p0}, Lradiant/gestures/queue/MyPlaylistsResolver;-><init>(Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;)V
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
:done
return-void
.end method
# virtual methods
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
.locals 6
iget v5, p1, Lradiant/gestures/queue/QueueRequest;->action:I
invoke-direct {p0, p1}, Lradiant/gestures/queue/MyPlaylistsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Lcf/b; # MARKER: R8 Lcf/b;
move-result-object p1
if-eqz p1, :done
iget-object v0, p0, Lradiant/gestures/queue/MyPlaylistsResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;
if-eqz v0, :done
iget-object v1, v0, Lcom/aspiro/wamp/mycollection/subpages/playlists/myplaylists/MyPlaylistsView;->d:Lhf/c; # MARKER: R8 Lhf/c; d
if-eqz v1, :done
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
move-result-object v2
iget-object v3, p1, Lcf/b;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lcf/b; a
iget-object v4, v1, Lhf/c;->e:Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata; # MARKER: R8 Lhf/c; e
iget-object p0, v1, Lhf/c;->d:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lhf/c; d
const/4 v0, 0x3
if-eq v5, v0, :add_to_playlist
const/4 v0, 0x1
if-ne v5, v0, :append
invoke-static {v2, v3, v4, p0}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:append
invoke-static {v2, v3, v4, p0}, Lradiant/gestures/queue/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:add_to_playlist
invoke-static {v2, v3, v4, p0}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(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 resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
.locals 5
instance-of v0, p2, Ldf/d$a; # MARKER: R8 Ldf/d$a;
if-eqz v0, :invalid
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
move-result p2
const/4 v0, -0x1
if-ne p2, v0, :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/d; # MARKER: R8 La50/d;
if-eqz v0, :invalid
check-cast p1, La50/d; # MARKER: R8 La50/d;
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object p1
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
if-lt p2, v0, :read_item
goto :invalid
:read_item
invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
instance-of v0, p1, Lcf/b; # MARKER: R8 Lcf/b;
if-eqz v0, :invalid
check-cast p1, Lcf/b; # MARKER: R8 Lcf/b;
iget-boolean v0, p1, Lcf/b;->h:Z # MARKER: R8 Lcf/b; h
if-eqz v0, :invalid
iget-boolean v0, p1, Lcf/b;->f:Z # MARKER: R8 Lcf/b; f
if-eqz v0, :check_playlist
const-string v0, "NOT_READY"
iget-object v1, p1, Lcf/b;->g:Ljava/lang/String; # MARKER: R8 Lcf/b; g
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :invalid
:check_playlist
iget-object v0, p1, Lcf/b;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lcf/b; a
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
move-result v1
if-lez v1, :invalid
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v2
new-instance v3, Lradiant/gestures/queue/QueueRequest;
invoke-direct {v3, p2, v0, v2}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
return-object v3
:invalid
const/4 p1, 0x0
return-object p1
.end method
@@ -0,0 +1,416 @@
.class public final Lradiant/gestures/queue/PlaylistItemsResolver;
.super Ljava/lang/Object;
.source "PlaylistItemsResolver.smali"
# interfaces
.implements Lradiant/gestures/queue/QueueRowResolver;
# instance fields
.field private final recycler:Ljava/lang/ref/WeakReference;
# direct methods
.method private constructor <init>(Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;)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/gestures/queue/PlaylistItemsResolver;->recycler:Ljava/lang/ref/WeakReference;
return-void
.end method
.method private current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
.locals 7
if-eqz p1, :invalid
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
iget-object v1, p0, Lradiant/gestures/queue/PlaylistItemsResolver;->recycler:Ljava/lang/ref/WeakReference;
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;
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; # MARKER: R8 La50/b;
if-eqz v3, :invalid
check-cast v2, La50/b; # MARKER: R8 La50/b;
iget-object v2, v2, La50/b;->b:Ljava/util/ArrayList; # MARKER: R8 La50/b; b
iget v3, p1, Lradiant/gestures/queue/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
instance-of v3, v0, Lcom/aspiro/wamp/playlist/viewmodel/item/TrackViewModel;
if-eqz v3, :captured_podcast
instance-of v3, v2, Lcom/aspiro/wamp/playlist/viewmodel/item/TrackViewModel;
if-eqz v3, :invalid
goto :member
:captured_podcast
instance-of v3, v0, Lcom/aspiro/wamp/playlist/viewmodel/item/PodcastTrackViewModel;
if-eqz v3, :captured_suggestion
instance-of v3, v2, Lcom/aspiro/wamp/playlist/viewmodel/item/PodcastTrackViewModel;
if-eqz v3, :invalid
:member
move-object v3, v0
check-cast v3, Lcom/aspiro/wamp/playlist/viewmodel/item/PlaylistItemViewModel;
move-object v4, v2
check-cast v4, Lcom/aspiro/wamp/playlist/viewmodel/item/PlaylistItemViewModel;
invoke-interface {v4}, Lcom/aspiro/wamp/playlist/viewmodel/item/PlaylistItemViewModel;->getShouldHideItem()Z
move-result v5
if-nez v5, :invalid
invoke-interface {v4}, Lcom/aspiro/wamp/playlist/viewmodel/item/PlaylistItemViewModel;->getAvailability()Lcom/aspiro/wamp/model/Availability$MediaItem;
move-result-object v5
invoke-virtual {v5}, Lcom/aspiro/wamp/model/Availability$MediaItem;->isAvailable()Z
move-result v5
if-eqz v5, :invalid
invoke-interface {v3}, Lcom/aspiro/wamp/playlist/viewmodel/item/PlaylistItemViewModel;->getUuid()Ljava/lang/String;
move-result-object v5
invoke-interface {v4}, Lcom/aspiro/wamp/playlist/viewmodel/item/PlaylistItemViewModel;->getUuid()Ljava/lang/String;
move-result-object v6
if-eq v5, v6, :member_identity
if-eqz v5, :invalid
invoke-virtual {v5, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :invalid
:member_identity
invoke-static {v0}, Lradiant/gestures/queue/PlaylistItemsResolver;->track(Ljava/lang/Object;)Lcom/aspiro/wamp/model/Track;
move-result-object v0
invoke-static {v2}, Lradiant/gestures/queue/PlaylistItemsResolver;->track(Ljava/lang/Object;)Lcom/aspiro/wamp/model/Track;
move-result-object v3
if-eqz v0, :invalid
if-eqz v3, :invalid
invoke-virtual {v0}, Lcom/aspiro/wamp/model/MediaItem;->getIndex()I
move-result v4
invoke-virtual {v3}, Lcom/aspiro/wamp/model/MediaItem;->getIndex()I
move-result v5
if-ne v4, v5, :invalid
goto :check_track
:captured_suggestion
instance-of v3, v0, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
if-eqz v3, :invalid
instance-of v3, v2, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
if-eqz v3, :invalid
move-object v3, v2
check-cast v3, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
invoke-virtual {v3}, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;->getAvailability()Lcom/aspiro/wamp/model/Availability;
move-result-object v3
invoke-interface {v3}, Lcom/aspiro/wamp/model/Availability;->isAvailable()Z
move-result v3
if-eqz v3, :invalid
invoke-static {v0}, Lradiant/gestures/queue/PlaylistItemsResolver;->track(Ljava/lang/Object;)Lcom/aspiro/wamp/model/Track;
move-result-object v0
invoke-static {v2}, Lradiant/gestures/queue/PlaylistItemsResolver;->track(Ljava/lang/Object;)Lcom/aspiro/wamp/model/Track;
move-result-object v3
if-eqz v0, :invalid
if-eqz v3, :invalid
:check_track
invoke-virtual {v0}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v4
invoke-virtual {v3}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v5
if-ne v4, v5, :invalid
iget v6, p1, Lradiant/gestures/queue/QueueRequest;->id:I
if-ne v5, v6, :invalid
iget-object v4, v1, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;->d:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 d
if-eqz v4, :invalid
invoke-interface {v4, v3}, 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
return-object v2
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method public static install(Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;)V
.locals 1
if-eqz p0, :done
new-instance v0, Lradiant/gestures/queue/PlaylistItemsResolver;
invoke-direct {v0, p0}, Lradiant/gestures/queue/PlaylistItemsResolver;-><init>(Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;)V
invoke-static {p0, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
:done
return-void
.end method
.method private playlistIndex(Lradiant/gestures/queue/QueueRequest;)I
.locals 6
iget-object v0, p0, Lradiant/gestures/queue/PlaylistItemsResolver;->recycler:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;
if-eqz v0, :invalid
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
move-result-object v0
instance-of v1, v0, La50/b; # MARKER: R8 La50/b;
if-eqz v1, :invalid
check-cast v0, La50/b; # MARKER: R8 La50/b;
iget-object v0, v0, La50/b;->b:Ljava/util/ArrayList; # MARKER: R8 La50/b; b
iget v1, p1, Lradiant/gestures/queue/QueueRequest;->position:I
const/4 v2, 0x0
const/4 v3, 0x0
:loop
if-ge v2, v1, :done
invoke-virtual {v0, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v4
instance-of v5, v4, Lcom/aspiro/wamp/playlist/viewmodel/item/PlaylistItemViewModel;
if-eqz v5, :next
add-int/lit8 v3, v3, 0x1
:next
add-int/lit8 v2, v2, 0x1
goto :loop
:done
return v3
:invalid
const/4 v0, -0x1
return v0
.end method
.method private static track(Ljava/lang/Object;)Lcom/aspiro/wamp/model/Track;
.locals 1
instance-of v0, p0, Lcom/aspiro/wamp/playlist/viewmodel/item/TrackViewModel;
if-eqz v0, :podcast
check-cast p0, Lcom/aspiro/wamp/playlist/viewmodel/item/TrackViewModel;
invoke-virtual {p0}, Lcom/aspiro/wamp/playlist/viewmodel/item/TrackViewModel;->getTrack()Lcom/aspiro/wamp/model/Track;
move-result-object p0
return-object p0
:podcast
instance-of v0, p0, Lcom/aspiro/wamp/playlist/viewmodel/item/PodcastTrackViewModel;
if-eqz v0, :suggestion
check-cast p0, Lcom/aspiro/wamp/playlist/viewmodel/item/PodcastTrackViewModel;
invoke-virtual {p0}, Lcom/aspiro/wamp/playlist/viewmodel/item/PodcastTrackViewModel;->getItem()Lcom/aspiro/wamp/model/MediaItemParent;
move-result-object p0
invoke-virtual {p0}, Lcom/aspiro/wamp/model/MediaItemParent;->getMediaItem()Lcom/aspiro/wamp/model/MediaItem;
move-result-object p0
instance-of v0, p0, Lcom/aspiro/wamp/model/Track;
if-eqz v0, :invalid
check-cast p0, Lcom/aspiro/wamp/model/Track;
return-object p0
:suggestion
instance-of v0, p0, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
if-eqz v0, :invalid
check-cast p0, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
invoke-virtual {p0}, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;->getTrack()Lcom/aspiro/wamp/model/Track;
move-result-object p0
return-object p0
:invalid
const/4 p0, 0x0
return-object p0
.end method
# virtual methods
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
.locals 9
iget v8, p1, Lradiant/gestures/queue/QueueRequest;->action:I
invoke-direct {p0, p1}, Lradiant/gestures/queue/PlaylistItemsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
move-result-object v0
if-eqz v0, :done
invoke-static {v0}, Lradiant/gestures/queue/PlaylistItemsResolver;->track(Ljava/lang/Object;)Lcom/aspiro/wamp/model/Track;
move-result-object v1
if-eqz v1, :done
iget-object v2, p0, Lradiant/gestures/queue/PlaylistItemsResolver;->recycler:Ljava/lang/ref/WeakReference;
invoke-virtual {v2}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;
if-eqz v2, :done
const/4 v3, 0x3
if-eq v8, v3, :build_source
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v3
if-eqz v3, :play
:build_source
instance-of v3, v0, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
if-eqz v3, :append_member
invoke-virtual {v1}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v3
invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v3
sget v4, Lcom/aspiro/wamp/R$string;->recommended_tracks:I
invoke-static {v4}, Lcom/aspiro/wamp/util/h0;->c(I)Ljava/lang/String; # MARKER: R8 Lcom/aspiro/wamp/util/h0; c
move-result-object v4
iget-object v5, v2, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;->h:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 h
sget-object v6, Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$None;->INSTANCE:Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$None;
invoke-static {v3, v4, v5, v6}, 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; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; j
move-result-object v7
invoke-virtual {v7, v1}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
sget-object v6, Lcom/aspiro/wamp/playlist/ui/items/ModuleMetadata$Suggestions;->INSTANCE:Lcom/aspiro/wamp/playlist/ui/items/ModuleMetadata$Suggestions;
goto :append
:append_member
iget-object v3, v2, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;->c:Lcom/aspiro/wamp/playlist/ui/items/a; # MARKER: R8 Lcom/aspiro/wamp/playlist/ui/items/a; c
if-eqz v3, :done
invoke-interface {v3}, Lcom/aspiro/wamp/playlist/ui/items/a;->k()Lcom/aspiro/wamp/playlist/viewmodel/PlaylistCollectionViewModel; # MARKER: R8 Lcom/aspiro/wamp/playlist/ui/items/a; k
move-result-object v3
invoke-virtual {v3}, Lcom/aspiro/wamp/playlist/viewmodel/PlaylistCollectionViewModel;->getPlaylist()Lcom/aspiro/wamp/model/Playlist;
move-result-object v3
if-eqz v3, :done
iget-object v4, v2, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;->h:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 h
if-eqz v4, :member_nav_ready
invoke-static {v4}, Lcom/tidal/android/navigation/a;->b(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/tidal/android/navigation/NavigationInfo$Node; # MARKER: R8 Lcom/tidal/android/navigation/a; b
move-result-object v4
:member_nav_ready
invoke-static {v3, v4}, Lcom/aspiro/wamp/playqueue/source/model/b;->f(Lcom/aspiro/wamp/model/Playlist;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/PlaylistSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; f
move-result-object v7
invoke-virtual {v7, v1}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
sget-object v6, Lcom/aspiro/wamp/playlist/ui/items/ModuleMetadata$Items;->INSTANCE:Lcom/aspiro/wamp/playlist/ui/items/ModuleMetadata$Items;
:append
invoke-virtual {v2}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v3
const/4 v0, 0x3
if-eq v8, v0, :add_to_playlist
const/4 v0, 0x1
if-ne v8, v0, :append_track
invoke-static {v3, v1, v6, v7}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
goto :done
:append_track
invoke-static {v3, v1, v6, v7}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
goto :done
:add_to_playlist
invoke-static {v3, v1, v6, v7}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
goto :done
:play
iget-object v3, v2, Lcom/aspiro/wamp/playlist/ui/items/PlaylistItemCollectionView;->c:Lcom/aspiro/wamp/playlist/ui/items/a; # MARKER: R8 Lcom/aspiro/wamp/playlist/ui/items/a; c
if-eqz v3, :done
instance-of v0, v0, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
if-eqz v0, :play_member
invoke-interface {v3, v1}, Lcom/aspiro/wamp/playlist/ui/items/a;->c(Lcom/aspiro/wamp/model/Track;)V # MARKER: R8 Lcom/aspiro/wamp/playlist/ui/items/a; c
goto :done
:play_member
invoke-direct {p0, p1}, Lradiant/gestures/queue/PlaylistItemsResolver;->playlistIndex(Lradiant/gestures/queue/QueueRequest;)I
move-result v0
if-gez v0, :start_member
goto :done
:start_member
invoke-interface {v3, v0}, Lcom/aspiro/wamp/playlist/ui/items/a;->i(I)V # MARKER: R8 Lcom/aspiro/wamp/playlist/ui/items/a; i
:done
return-void
.end method
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
.locals 5
iget-object v0, p0, Lradiant/gestures/queue/PlaylistItemsResolver;->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
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
move-result v0
const/4 v1, -0x1
if-ne v0, v1, :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 v1, p1, La50/b; # MARKER: R8 La50/b;
if-eqz v1, :invalid
check-cast p1, La50/b; # MARKER: R8 La50/b;
iget-object p1, p1, La50/b;->b:Ljava/util/ArrayList; # MARKER: R8 La50/b; b
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
move-result v1
if-lt v0, v1, :read_item
goto :invalid
:read_item
invoke-virtual {p1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object p1
instance-of v1, p2, Lij/q$a; # MARKER: R8 Lij/q$a;
if-eqz v1, :podcast_holder
instance-of v1, p1, Lcom/aspiro/wamp/playlist/viewmodel/item/TrackViewModel;
if-eqz v1, :invalid
goto :create
:podcast_holder
instance-of v1, p2, Lij/a0$a; # MARKER: R8 Lij/a0$a;
if-eqz v1, :suggestion_holder
instance-of v1, p1, Lcom/aspiro/wamp/playlist/viewmodel/item/PodcastTrackViewModel;
if-eqz v1, :invalid
goto :create
:suggestion_holder
instance-of p2, p2, Lij/j0$a; # MARKER: R8 Lij/j0$a;
if-eqz p2, :invalid
instance-of p2, p1, Lcom/aspiro/wamp/playlist/viewmodel/item/SuggestedTrackViewModel;
if-eqz p2, :invalid
:create
invoke-static {p1}, Lradiant/gestures/queue/PlaylistItemsResolver;->track(Ljava/lang/Object;)Lcom/aspiro/wamp/model/Track;
move-result-object p2
if-eqz p2, :invalid
invoke-virtual {p2}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v1
new-instance v2, Lradiant/gestures/queue/QueueRequest;
invoke-direct {v2, v0, p1, v1}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
invoke-direct {p0, v2}, Lradiant/gestures/queue/PlaylistItemsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
move-result-object p1
if-eqz p1, :invalid
return-object v2
:invalid
const/4 p1, 0x0
return-object p1
.end method
@@ -0,0 +1,125 @@
.class public final Lradiant/gestures/queue/PublicPlaylistQueueAction;
.super Ljava/lang/Object;
.source "PublicPlaylistQueueAction.smali"
# interfaces
.implements Lradiant/gestures/queue/ComposeSwipeAction;
# instance fields
.field private final callback:Lam0/l; # MARKER: R8 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 # MARKER: R8 Lam0/l; Lm40/e$d;
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
iput-object p2, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->pageId:Ljava/lang/String;
iput-object p3, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->moduleUuid:Ljava/lang/String;
iget-object p1, p4, Lm40/e$d;->a:Ljava/lang/String; # MARKER: R8 Lm40/e$d; a
iput-object p1, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->itemId:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public invoke(I)Ljava/lang/Object;
.locals 7
iget-object v0, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
if-eqz v0, :done
iget-object v1, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->context:Landroid/content/Context;
if-eqz v1, :done
iget-object v4, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->itemId:Ljava/lang/String;
if-eqz v4, :done
new-instance v0, Lradiant/gestures/queue/DynamicMediaQueueEvent;
iget-object v2, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->pageId:Ljava/lang/String;
iget-object v3, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->moduleUuid:Ljava/lang/String;
const/4 v5, 0x3
move v6, p1
invoke-direct/range {v0 .. v6}, Lradiant/gestures/queue/DynamicMediaQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
iget-object v1, p0, Lradiant/gestures/queue/PublicPlaylistQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
invoke-interface {v1, v0}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
:done
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
return-object v0
.end method
.method public invoke()Ljava/lang/Object;
.locals 1
const/4 v0, 0x2
invoke-virtual {p0, v0}, Lradiant/gestures/queue/PublicPlaylistQueueAction;->invoke(I)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public setContext(Landroid/content/Context;)V
.locals 0
iput-object p1, p0, Lradiant/gestures/queue/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/gestures/queue/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/gestures/queue/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,732 @@
.class public final Lradiant/gestures/queue/QueueExecutor;
.super Ljava/lang/Object;
.source "QueueExecutor.smali"
# direct methods
.method private static activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
.locals 1
:unwrap
instance-of v0, p0, Landroidx/fragment/app/FragmentActivity;
if-nez v0, :ready
instance-of v0, p0, Landroid/content/ContextWrapper;
if-eqz v0, :invalid
check-cast p0, Landroid/content/ContextWrapper;
invoke-virtual {p0}, Landroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
move-result-object v0
if-eq v0, p0, :invalid
move-object p0, v0
goto :unwrap
:ready
check-cast p0, Landroidx/fragment/app/FragmentActivity;
return-object p0
:invalid
const/4 p0, 0x0
return-object p0
.end method
.method public static addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
.locals 2
if-eqz p1, :done
if-eqz p2, :done
if-eqz p4, :done
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
move-result-object p0
if-eqz p0, :done
iget-object v0, p4, Lh4/a;->b:Lo3/a$a; # MARKER: R8 Lh4/a; Lo3/a$a; b
if-eqz v0, :done
invoke-interface {v0, p1, p2, p3}, Lo3/a$a;->a(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lo3/a; # MARKER: R8 Lo3/a$a; Lo3/a; a
move-result-object v0
if-eqz v0, :done
iget-object v0, v0, Lo3/a;->l:Lcom/aspiro/wamp/module/album/AlbumProvider; # MARKER: R8 Lo3/a; l
if-eqz v0, :done
new-instance v1, Lc3/h; # MARKER: R8 Lc3/h;
invoke-direct {v1, p1, v0, p2, p3}, Lc3/h;-><init>(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/module/album/AlbumProvider;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V # MARKER: R8 Lc3/h;
invoke-virtual {v1, p0}, Lc3/h;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lc3/h; b
:done
return-void
.end method
.method public static addToPlaylistMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
.locals 1
if-eqz p1, :done
if-eqz p2, :done
if-eqz p4, :done
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
move-result-object p0
if-eqz p0, :done
iget-object v0, p4, Lh4/a;->h:Lu3/a$a; # MARKER: R8 Lh4/a; Lu3/a$a; h
if-eqz v0, :done
invoke-interface {v0, p1, p2, p3}, Lu3/a$a;->a(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lu3/a; # MARKER: R8 Lu3/a$a; Lu3/a; a
move-result-object v0
if-eqz v0, :done
iget-object v0, v0, Lu3/a;->j:Lj3/k$a; # MARKER: R8 Lu3/a; Lj3/k$a; j
if-eqz v0, :done
invoke-interface {v0, p1, p2, p3}, Lj3/k$a;->a(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lj3/k; # MARKER: R8 Lj3/k$a; Lj3/k; a
move-result-object v0
if-eqz v0, :done
invoke-virtual {v0, p0}, Lj3/k;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lj3/k; b
:done
return-void
.end method
.method public static addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
.locals 1
if-eqz p1, :done
if-eqz p2, :done
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
move-result-object p0
if-eqz p0, :done
new-instance v0, Lcom/aspiro/wamp/contextmenu/item/playlist/f; # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/f;
invoke-direct {v0, p1, p2, p3}, Lcom/aspiro/wamp/contextmenu/item/playlist/f;-><init>(Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/f;
invoke-virtual {v0, p0}, Lcom/aspiro/wamp/contextmenu/item/playlist/f;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/f; b
:done
return-void
.end method
.method public static addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
.locals 1
if-eqz p1, :done
if-eqz p2, :done
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
move-result-object p0
if-eqz p0, :done
new-instance v0, Lm3/d; # MARKER: R8 Lm3/d;
invoke-direct {v0, p1, p2, p3}, Lm3/d;-><init>(Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V # MARKER: R8 Lm3/d;
invoke-virtual {v0, p0}, Lm3/d;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lm3/d; b
:done
return-void
.end method
.method public static 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; # MARKER: R8 Lh4/a;
.locals 8
const/4 v0, 0x0
if-eqz p1, :done
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # MARKER: R8 a
move-result-object v1
invoke-virtual {v1}, Lcom/aspiro/wamp/App;->e()Le5/c; # MARKER: R8 Le5/c; e
move-result-object v1
check-cast v1, Le5/z$n2; # MARKER: R8 Le5/z$n2;
invoke-virtual {v1}, Le5/z$n2;->r2()Lcom/aspiro/wamp/playqueue/g1; # MARKER: R8 Le5/z$n2; Lcom/aspiro/wamp/playqueue/g1; r2
move-result-object v2
invoke-virtual {v2}, Lcom/aspiro/wamp/playqueue/g1;->a()Lcom/aspiro/wamp/player/d; # MARKER: R8 Lcom/aspiro/wamp/playqueue/g1; Lcom/aspiro/wamp/player/d; a
move-result-object v2
invoke-virtual {v2}, Lcom/aspiro/wamp/player/d;->b()Lcom/aspiro/wamp/model/MediaItemParent; # MARKER: R8 Lcom/aspiro/wamp/player/d; b
move-result-object v2
if-eqz v2, :play
if-eqz p4, :done
:unwrap_context
instance-of v2, p0, Landroidx/fragment/app/FragmentActivity;
if-nez v2, :has_activity
instance-of v2, p0, Landroid/content/ContextWrapper;
if-eqz v2, :done
move-object v2, p0
check-cast v2, Landroid/content/ContextWrapper;
invoke-virtual {v2}, Landroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
move-result-object v2
if-eq v2, p0, :done
move-object p0, v2
goto :unwrap_context
:has_activity
iget-object v2, p4, Lh4/a;->b:Lo3/a$a; # MARKER: R8 Lh4/a; Lo3/a$a; b
invoke-interface {v2, p1, p2, p3}, Lo3/a$a;->a(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lo3/a; # MARKER: R8 Lo3/a$a; Lo3/a; a
move-result-object v2
iget-object v2, v2, Lo3/a;->e:Lc3/i$a; # MARKER: R8 Lo3/a; Lc3/i$a; e
invoke-interface {v2, p1, p2, p3}, Lc3/i$a;->a(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lc3/i; # MARKER: R8 Lc3/i$a; Lc3/i; a
move-result-object p1
check-cast p0, Landroidx/fragment/app/FragmentActivity;
invoke-virtual {p1, p0}, Lc3/i;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lc3/i; b
goto :done
:play
invoke-virtual {v1}, Le5/z$n2;->u3()Lcom/aspiro/wamp/playback/f; # MARKER: R8 Le5/z$n2; Lcom/aspiro/wamp/playback/f; u3
move-result-object p0
invoke-virtual {p1}, Lcom/aspiro/wamp/model/Album;->getId()I
move-result p1
const/4 p2, 0x1
invoke-virtual {p0, p1, p3, p2, v0}, Lcom/aspiro/wamp/playback/f;->a(ILcom/tidal/android/navigation/NavigationInfo;ZLjava/lang/String;)Lhu/akarnokd/rxjava/interop/f; # MARKER: R8 Lcom/aspiro/wamp/playback/f; Lhu/akarnokd/rxjava/interop/f; a
move-result-object v0
:done
return-object v0
.end method
.method public static hasActiveQueue()Z
.locals 2
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # MARKER: R8 a
move-result-object v0
invoke-virtual {v0}, Lcom/aspiro/wamp/App;->e()Le5/c; # MARKER: R8 Le5/c; e
move-result-object v0
check-cast v0, Le5/z$n2; # MARKER: R8 Le5/z$n2;
invoke-virtual {v0}, Le5/z$n2;->r2()Lcom/aspiro/wamp/playqueue/g1; # MARKER: R8 Le5/z$n2; Lcom/aspiro/wamp/playqueue/g1; r2
move-result-object v0
invoke-virtual {v0}, Lcom/aspiro/wamp/playqueue/g1;->a()Lcom/aspiro/wamp/player/d; # MARKER: R8 Lcom/aspiro/wamp/playqueue/g1; Lcom/aspiro/wamp/player/d; a
move-result-object v0
invoke-virtual {v0}, Lcom/aspiro/wamp/player/d;->b()Lcom/aspiro/wamp/model/MediaItemParent; # MARKER: R8 Lcom/aspiro/wamp/player/d; b
move-result-object v0
if-eqz v0, :empty
const/4 v0, 0x1
return v0
:empty
const/4 v0, 0x0
return v0
.end method
.method public static 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; # MARKER: R8 Lh4/a;
.locals 4
const/4 v0, 0x0
if-eqz p1, :done
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v1
if-eqz v1, :play
if-eqz p4, :done
:unwrap_context
instance-of v1, p0, Landroidx/fragment/app/FragmentActivity;
if-nez v1, :has_activity
instance-of v1, p0, Landroid/content/ContextWrapper;
if-eqz v1, :done
move-object v1, p0
check-cast v1, Landroid/content/ContextWrapper;
invoke-virtual {v1}, Landroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
move-result-object v1
if-eq v1, p0, :done
move-object p0, v1
goto :unwrap_context
:has_activity
iget-object v1, p4, Lh4/a;->h:Lu3/a$a; # MARKER: R8 Lh4/a; Lu3/a$a; h
invoke-interface {v1, p1, p2, p3}, Lu3/a$a;->a(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lu3/a; # MARKER: R8 Lu3/a$a; Lu3/a; a
move-result-object v1
iget-object v1, v1, Lu3/a;->e:Lj3/n$a; # MARKER: R8 Lu3/a; Lj3/n$a; e
invoke-interface {v1, p1, p2, p3}, Lj3/n$a;->a(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lj3/n; # MARKER: R8 Lj3/n$a; Lj3/n; a
move-result-object p1
check-cast p0, Landroidx/fragment/app/FragmentActivity;
invoke-virtual {p1, p0}, Lj3/n;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lj3/n; b
goto :done
:play
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # MARKER: R8 a
move-result-object p0
invoke-virtual {p0}, Lcom/aspiro/wamp/App;->e()Le5/c; # MARKER: R8 Le5/c; e
move-result-object p0
check-cast p0, Le5/z$n2; # MARKER: R8 Le5/z$n2;
invoke-virtual {p0}, Le5/z$n2;->x3()Lcom/aspiro/wamp/playback/e0; # MARKER: R8 Le5/z$n2; Lcom/aspiro/wamp/playback/e0; x3
move-result-object p0
invoke-virtual {p1}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
move-result-object p1
const/4 p2, 0x1
invoke-virtual {p0, p1, p3, p2, v0}, Lcom/aspiro/wamp/playback/e0;->a(Ljava/lang/String;Lcom/tidal/android/navigation/NavigationInfo;ZLjava/lang/String;)Lio/reactivex/disposables/Disposable; # MARKER: R8 Lcom/aspiro/wamp/playback/e0; a
move-result-object v0
:done
return-object v0
.end method
.method public static playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
.locals 4
if-eqz p1, :done
invoke-virtual {p1}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
move-result v0
if-lez v0, :done
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # MARKER: R8 a
move-result-object v0
invoke-virtual {v0}, Lcom/aspiro/wamp/App;->e()Le5/c; # MARKER: R8 Le5/c; e
move-result-object v0
check-cast v0, Le5/z$n2; # MARKER: R8 Le5/z$n2;
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v1
if-eqz v1, :play
:unwrap_context
instance-of v1, p0, Landroidx/fragment/app/FragmentActivity;
if-nez v1, :has_activity
instance-of v1, p0, Landroid/content/ContextWrapper;
if-eqz v1, :done
move-object v1, p0
check-cast v1, Landroid/content/ContextWrapper;
invoke-virtual {v1}, Landroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
move-result-object v1
if-eq v1, p0, :done
move-object p0, v1
goto :unwrap_context
:has_activity
iget-object v1, v0, Le5/z$n2;->w8:Ldagger/internal/f; # MARKER: R8 Le5/z$n2; Ldagger/internal/f; w8
invoke-interface {v1}, Lql0/a;->get()Ljava/lang/Object; # MARKER: R8 Lql0/a;
move-result-object v1
check-cast v1, Lcom/aspiro/wamp/contextmenu/item/playlist/h$a; # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/h$a;
invoke-interface {v1, p1, p2, p3}, Lcom/aspiro/wamp/contextmenu/item/playlist/h$a;->a(Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/contextmenu/item/playlist/h; # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/h$a; Lcom/aspiro/wamp/contextmenu/item/playlist/h; a
move-result-object p2
check-cast p0, Landroidx/fragment/app/FragmentActivity;
invoke-virtual {p2, p0}, Lcom/aspiro/wamp/contextmenu/item/playlist/h;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/h; b
goto :done
:play
invoke-virtual {v0}, Le5/z$n2;->y3()Lcom/aspiro/wamp/playback/k0; # MARKER: R8 Le5/z$n2; Lcom/aspiro/wamp/playback/k0; y3
move-result-object p0
invoke-virtual {p0, p1, p3}, Lcom/aspiro/wamp/playback/k0;->c(Lcom/aspiro/wamp/model/Playlist;Lcom/tidal/android/navigation/NavigationInfo;)V # MARKER: R8 Lcom/aspiro/wamp/playback/k0; c
:done
return-void
.end method
.method public static playNextAlbum(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; # MARKER: R8 Lh4/a;
.locals 3
const/4 v0, 0x0
if-eqz p1, :done
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v1
if-eqz v1, :play
if-eqz p4, :done
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
move-result-object p0
if-eqz p0, :done
iget-object v1, p4, Lh4/a;->b:Lo3/a$a; # MARKER: R8 Lh4/a; Lo3/a$a; b
invoke-interface {v1, p1, p2, p3}, Lo3/a$a;->a(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lo3/a; # MARKER: R8 Lo3/a$a; Lo3/a; a
move-result-object v1
iget-object v1, v1, Lo3/a;->d:Lc3/l$a; # MARKER: R8 Lo3/a; Lc3/l$a; d
invoke-interface {v1, p1, p2, p3}, Lc3/l$a;->a(Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lc3/l; # MARKER: R8 Lc3/l$a; Lc3/l; a
move-result-object p1
invoke-virtual {p1, p0}, Lc3/l;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lc3/l; b
goto :done
:play
invoke-static {p0, p1, p2, p3, p4}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
move-result-object v0
:done
return-object v0
.end method
.method public static playNextMix(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; # MARKER: R8 Lh4/a;
.locals 2
const/4 v0, 0x0
if-eqz p1, :done
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v1
if-eqz v1, :play
if-eqz p4, :done
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
move-result-object p0
if-eqz p0, :done
iget-object v1, p4, Lh4/a;->h:Lu3/a$a; # MARKER: R8 Lh4/a; Lu3/a$a; h
invoke-interface {v1, p1, p2, p3}, Lu3/a$a;->a(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lu3/a; # MARKER: R8 Lu3/a$a; Lu3/a; a
move-result-object v1
iget-object v1, v1, Lu3/a;->d:Lj3/q$a; # MARKER: R8 Lu3/a; Lj3/q$a; d
invoke-interface {v1, p1, p2, p3}, Lj3/q$a;->a(Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lj3/q; # MARKER: R8 Lj3/q$a; Lj3/q; a
move-result-object p1
invoke-virtual {p1, p0}, Lj3/q;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lj3/q; b
goto :done
:play
invoke-static {p0, p1, p2, p3, p4}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
move-result-object v0
:done
return-object v0
.end method
.method public static playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
.locals 2
if-eqz p1, :done
invoke-virtual {p1}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
move-result v0
if-lez v0, :done
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v0
if-eqz v0, :play
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
move-result-object p0
if-eqz p0, :done
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # MARKER: R8 a
move-result-object v0
invoke-virtual {v0}, Lcom/aspiro/wamp/App;->e()Le5/c; # MARKER: R8 Le5/c; e
move-result-object v0
check-cast v0, Le5/z$n2; # MARKER: R8 Le5/z$n2;
iget-object v0, v0, Le5/z$n2;->v8:Ldagger/internal/f; # MARKER: R8 Le5/z$n2; Ldagger/internal/f; v8
invoke-interface {v0}, Lql0/a;->get()Ljava/lang/Object; # MARKER: R8 Lql0/a;
move-result-object v0
check-cast v0, Lcom/aspiro/wamp/contextmenu/item/playlist/u$a; # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/u$a;
invoke-interface {v0, p1, p2, p3}, Lcom/aspiro/wamp/contextmenu/item/playlist/u$a;->a(Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/contextmenu/item/playlist/u; # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/u$a; Lcom/aspiro/wamp/contextmenu/item/playlist/u; a
move-result-object p1
invoke-virtual {p1, p0}, Lcom/aspiro/wamp/contextmenu/item/playlist/u;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lcom/aspiro/wamp/contextmenu/item/playlist/u; b
goto :done
:play
invoke-static {p0, p1, p2, p3}, Lradiant/gestures/queue/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 playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
.locals 2
const/4 v0, 0x0
if-eqz p1, :done
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v1
if-eqz v1, :play
invoke-static {p0}, Lradiant/gestures/queue/QueueExecutor;->activity(Landroid/content/Context;)Landroidx/fragment/app/FragmentActivity;
move-result-object p0
if-eqz p0, :done
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # MARKER: R8 a
move-result-object v1
invoke-virtual {v1}, Lcom/aspiro/wamp/App;->e()Le5/c; # MARKER: R8 Le5/c; e
move-result-object v1
check-cast v1, Le5/z$n2; # MARKER: R8 Le5/z$n2;
iget-object v1, v1, Le5/z$n2;->K9:Ldagger/internal/f; # MARKER: R8 Le5/z$n2; Ldagger/internal/f; K9
invoke-interface {v1}, Lql0/a;->get()Ljava/lang/Object; # MARKER: R8 Lql0/a;
move-result-object v1
check-cast v1, Lm3/i$a; # MARKER: R8 Lm3/i$a;
invoke-interface {v1, p1, p2, p3}, Lm3/i$a;->a(Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Lm3/i; # MARKER: R8 Lm3/i$a; Lm3/i; a
move-result-object p1
invoke-virtual {p1, p0}, Lm3/i;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lm3/i; b
const/4 v0, 0x1
goto :done
:play
invoke-static {p0, p1, p2, p3}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
move-result v0
:done
return v0
.end method
.method public static track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
.locals 2
const/4 v0, 0x0
:unwrap_context
instance-of v1, p0, Landroidx/fragment/app/FragmentActivity;
if-nez v1, :has_activity
instance-of v1, p0, Landroid/content/ContextWrapper;
if-eqz v1, :done
move-object v1, p0
check-cast v1, Landroid/content/ContextWrapper;
invoke-virtual {v1}, Landroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
move-result-object v1
if-eq v1, p0, :done
move-object p0, v1
goto :unwrap_context
:has_activity
invoke-static {}, Lcom/aspiro/wamp/App$a;->a()Lcom/aspiro/wamp/App; # MARKER: R8 a
move-result-object v1
invoke-virtual {v1}, Lcom/aspiro/wamp/App;->e()Le5/c; # MARKER: R8 Le5/c; e
move-result-object v1
check-cast v1, Le5/z$n2; # MARKER: R8 Le5/z$n2;
iget-object v1, v1, Le5/z$n2;->k9:Ldagger/internal/f; # MARKER: R8 Le5/z$n2; Ldagger/internal/f; k9
invoke-interface {v1}, Lql0/a;->get()Ljava/lang/Object; # MARKER: R8 Lql0/a;
move-result-object v1
check-cast v1, Lm3/f$a; # MARKER: R8 Lm3/f$a;
invoke-interface {v1, p1, p2, p3}, Lm3/f$a;->a(Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Lm3/f; # MARKER: R8 Lm3/f$a; Lm3/f; a
move-result-object p1
check-cast p0, Landroidx/fragment/app/FragmentActivity;
invoke-virtual {p1, p0}, Lm3/f;->b(Landroidx/fragment/app/FragmentActivity;)V # MARKER: R8 Lm3/f; b
const/4 v0, 0x1
:done
return v0
.end method
@@ -0,0 +1,38 @@
.class public final Lradiant/gestures/queue/QueueRequest;
.super Ljava/lang/Object;
.source "QueueRequest.smali"
# static fields
.field public static final ACTION_NONE:I = 0x0
.field public static final ACTION_PLAY_NEXT:I = 0x1
.field public static final ACTION_ADD_TO_QUEUE:I = 0x2
.field public static final ACTION_ADD_TO_PLAYLIST:I = 0x3
# instance fields
.field public action:I
.field public final id:I
.field public final media:Ljava/lang/Object;
.field public final position:I
# direct methods
.method public constructor <init>(ILjava/lang/Object;I)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p1, p0, Lradiant/gestures/queue/QueueRequest;->position:I
iput-object p2, p0, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
iput p3, p0, Lradiant/gestures/queue/QueueRequest;->id:I
return-void
.end method
@@ -0,0 +1,11 @@
.class public interface abstract Lradiant/gestures/queue/QueueRowResolver;
.super Ljava/lang/Object;
.source "QueueRowResolver.smali"
# virtual methods
.method public abstract execute(Lradiant/gestures/queue/QueueRequest;)V
.end method
.method public abstract resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
.end method
@@ -0,0 +1,224 @@
.class public final Lradiant/gestures/queue/QueueSwipeRemove;
.super Ljava/lang/Object;
.source "QueueSwipeRemove.smali"
# direct methods
.method public static draw(Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;FIZ)V
.locals 10
const/4 v0, 0x1
if-ne p4, v0, :done
iget-object v0, p2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
const/4 v1, 0x0
int-to-float v1, v1
cmpg-float v2, p3, v1
invoke-virtual {v0}, Landroid/view/View;->getTop()I
move-result v3
invoke-virtual {v0}, Landroid/view/View;->getBottom()I
move-result v4
if-gez v2, :right_swipe
# left swipe
invoke-virtual {v0}, Landroid/view/View;->getRight()I
move-result v1
float-to-int v2, p3
add-int/2addr v2, v1
goto :bounds_ready
:right_swipe
cmpl-float v1, p3, v1
if-lez v1, :done
# right swipe
invoke-virtual {v0}, Landroid/view/View;->getLeft()I
move-result v2
float-to-int v1, p3
add-int/2addr v1, v2
:bounds_ready
sub-int v5, v1, v2
if-lez v5, :done
iget-object v6, p0, Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;->c:Landroid/graphics/drawable/ColorDrawable; # MARKER: R8 c
invoke-virtual {v6, v2, v3, v1, v4}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
invoke-virtual {v0}, Landroid/view/View;->getWidth()I
move-result v7
if-lez v7, :draw_background
# 30% threshold
mul-int/lit8 v8, v7, 0x3
div-int/lit8 v8, v8, 0xa
if-lez v8, :draw_background
if-eqz p5, :draw_alpha
if-lt v5, v8, :below_threshold
const/4 v9, 0x1
goto :update_haptic
:below_threshold
const/4 v9, 0x0
:update_haptic
iget-boolean p2, p0, Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;->i:Z # MARKER: R8 i
if-eq v9, p2, :draw_alpha
iput-boolean v9, p0, Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;->i:Z # MARKER: R8 i
# CLOCK_TICK
const/4 p2, 0x4
invoke-virtual {v0, p2}, Landroid/view/View;->performHapticFeedback(I)Z
:draw_alpha
const/16 v9, 0x40
mul-int/2addr v9, v5
div-int/2addr v9, v8
const/16 v8, 0x40
invoke-static {v9, v8}, Ljava/lang/Math;->min(II)I
move-result v8
add-int/lit16 v8, v8, 0xbf
invoke-virtual {v6, v8}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
:draw_background
invoke-virtual {v6, p1}, Landroid/graphics/drawable/ColorDrawable;->draw(Landroid/graphics/Canvas;)V
iget-object v6, p0, Lcom/aspiro/wamp/nowplaying/view/playqueue/touchmanagement/ItemTouchHelperCallbackImpl;->h:Landroid/graphics/drawable/Drawable; # MARKER: R8 h
if-eqz v6, :done
invoke-virtual {v6}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
move-result v7
invoke-virtual {v6}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
move-result v8
if-lez v7, :done
if-lez v8, :done
sub-int v9, v4, v3
sub-int/2addr v9, v8
div-int/lit8 v9, v9, 0x2
const/4 p2, 0x0
int-to-float p2, p2
cmpg-float p2, p3, p2
if-gez p2, :right_icon
sub-int p2, v1, v9
sub-int p4, p2, v7
add-int p2, v5, v7
div-int/lit8 p2, p2, 0x2
sub-int p2, v1, p2
invoke-static {p2, p4}, Ljava/lang/Math;->max(II)I
move-result p2
goto :icon_positioned
:right_icon
add-int p2, v2, v9
sub-int p4, v5, v7
div-int/lit8 p4, p4, 0x2
add-int/2addr p4, v2
invoke-static {p4, p2}, Ljava/lang/Math;->min(II)I
move-result p2
:icon_positioned
add-int p4, p2, v7
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v7
invoke-virtual {p1, v2, v3, v1, v4}, Landroid/graphics/Canvas;->clipRect(IIII)Z
add-int v2, v3, v9
add-int v3, v2, v8
invoke-virtual {v6, p2, v2, p4, v3}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
const/16 v8, 0xff
invoke-virtual {v6, v8}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
invoke-virtual {v6, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V
invoke-virtual {p1, v7}, Landroid/graphics/Canvas;->restoreToCount(I)V
:done
return-void
.end method
.method public static setRemoveDuration(Landroidx/recyclerview/widget/RecyclerView;)V
.locals 2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemAnimator()Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
move-result-object p0
if-eqz p0, :done
# 80ms (faster animation, native is 120ms)
const-wide/16 v0, 0x50
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setRemoveDuration(J)V
:done
return-void
.end method
@@ -0,0 +1,273 @@
.class public final Lradiant/gestures/queue/SearchAlbumsResolver;
.super Ljava/lang/Object;
.source "SearchAlbumsResolver.smali"
# interfaces
.implements Lradiant/gestures/queue/QueueRowResolver;
# instance fields
.field private final fragment:Ljava/lang/ref/WeakReference;
# direct methods
.method private constructor <init>(Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;)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/gestures/queue/SearchAlbumsResolver;->fragment:Ljava/lang/ref/WeakReference;
return-void
.end method
.method private current(Lradiant/gestures/queue/QueueRequest;)Lzc/a; # MARKER: R8 Lzc/a;
.locals 5
if-eqz p1, :invalid
iget-object v0, p0, Lradiant/gestures/queue/SearchAlbumsResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;
if-eqz v0, :invalid
iget-object v1, v0, Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;->f:Lid/e; # MARKER: R8 Lid/e; f
if-eqz v1, :invalid
invoke-virtual {v0}, Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;->N()La50/d; # MARKER: R8 La50/d; N
move-result-object v0
invoke-virtual {v0}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object v0
iget v1, p1, Lradiant/gestures/queue/QueueRequest;->position:I
if-gez v1, :check_size
goto :invalid
:check_size
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v2
if-lt v1, v2, :read_item
goto :invalid
:read_item
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
instance-of v1, v0, Lzc/a; # MARKER: R8 Lzc/a;
if-eqz v1, :invalid
check-cast v0, Lzc/a; # MARKER: R8 Lzc/a;
iget-boolean v1, v0, Lzc/a;->k:Z # MARKER: R8 Lzc/a; k
if-eqz v1, :invalid
iget-object v1, v0, Lzc/a;->b:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lzc/a; b
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Album;->getId()I
move-result v1
iget v2, p1, Lradiant/gestures/queue/QueueRequest;->id:I
if-ne v1, v2, :invalid
return-object v0
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method public static install(Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;Landroidx/recyclerview/widget/RecyclerView;)V
.locals 1
if-eqz p0, :done
if-eqz p1, :done
new-instance v0, Lradiant/gestures/queue/SearchAlbumsResolver;
invoke-direct {v0, p0}, Lradiant/gestures/queue/SearchAlbumsResolver;-><init>(Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;)V
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
:done
return-void
.end method
# virtual methods
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
.locals 7
iget v6, p1, Lradiant/gestures/queue/QueueRequest;->action:I
invoke-direct {p0, p1}, Lradiant/gestures/queue/SearchAlbumsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Lzc/a; # MARKER: R8 Lzc/a;
move-result-object p1
if-eqz p1, :done
iget-object v0, p0, Lradiant/gestures/queue/SearchAlbumsResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;
if-eqz v0, :done
iget-object v1, v0, Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;->c:Lld/c; # MARKER: R8 Lld/c; c
if-eqz v1, :done
iget-object v2, v1, Lld/c;->a:Lx40/a; # MARKER: R8 Lld/c; Lx40/a; a
instance-of v3, v2, Lh4/a; # MARKER: R8 Lh4/a;
if-eqz v3, :done
check-cast v2, Lh4/a; # MARKER: R8 Lh4/a;
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
move-result-object v3
iget-object v4, p1, Lzc/a;->b:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lzc/a; b
iget-object v5, v1, Lld/c;->d:Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata; # MARKER: R8 Lld/c; d
iget-object p0, v1, Lld/c;->c:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lld/c; c
const/4 v1, 0x3
if-eq v6, v1, :add_to_playlist
const/4 v1, 0x1
if-ne v6, v1, :append
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->playNextAlbum(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; # MARKER: R8 Lh4/a;
move-result-object p1
goto :retain
:append
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
move-result-object p1
goto :retain
:add_to_playlist
invoke-static {v3, v4, v5, p0, v2}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
goto :done
:retain
if-eqz p1, :done
iget-object v0, v0, Lcom/aspiro/wamp/mycollection/subpages/albums/search/SearchAlbumsView;->g:Lio/reactivex/disposables/CompositeDisposable; # MARKER: R8 g
invoke-virtual {v0, p1}, 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/gestures/queue/QueueRequest;
.locals 5
instance-of v0, p2, Ljd/d$a; # MARKER: R8 Ljd/d$a;
if-eqz v0, :invalid
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
move-result p2
const/4 v0, -0x1
if-ne p2, v0, :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/d; # MARKER: R8 La50/d;
if-eqz v0, :invalid
check-cast p1, La50/d; # MARKER: R8 La50/d;
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object p1
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
if-lt p2, v0, :read_item
goto :invalid
:read_item
invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
instance-of v0, p1, Lzc/a; # MARKER: R8 Lzc/a;
if-eqz v0, :invalid
check-cast p1, Lzc/a; # MARKER: R8 Lzc/a;
iget-boolean v0, p1, Lzc/a;->k:Z # MARKER: R8 Lzc/a; k
if-eqz v0, :invalid
iget-object v0, p1, Lzc/a;->b:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lzc/a; b
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Album;->getId()I
move-result v1
new-instance v2, Lradiant/gestures/queue/QueueRequest;
invoke-direct {v2, p2, v0, v1}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
return-object v2
:invalid
const/4 p1, 0x0
return-object p1
.end method
@@ -0,0 +1,316 @@
.class public final Lradiant/gestures/queue/SearchPlaylistsResolver;
.super Ljava/lang/Object;
.source "SearchPlaylistsResolver.smali"
# interfaces
.implements Lradiant/gestures/queue/QueueRowResolver;
# instance fields
.field private final fragment:Ljava/lang/ref/WeakReference;
# direct methods
.method private constructor <init>(Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;)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/gestures/queue/SearchPlaylistsResolver;->fragment:Ljava/lang/ref/WeakReference;
return-void
.end method
.method private current(Lradiant/gestures/queue/QueueRequest;)Lcf/b; # MARKER: R8 Lcf/b;
.locals 6
if-eqz p1, :invalid
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
instance-of v1, v0, Lcom/aspiro/wamp/model/Playlist;
if-eqz v1, :invalid
check-cast v0, Lcom/aspiro/wamp/model/Playlist;
iget-object v1, p0, Lradiant/gestures/queue/SearchPlaylistsResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;
if-eqz v1, :invalid
iget-object v2, v1, Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;->g:Lwf/d; # MARKER: R8 Lwf/d; g
if-eqz v2, :invalid
invoke-virtual {v1}, Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;->N()La50/d; # MARKER: R8 La50/d; N
move-result-object v1
invoke-virtual {v1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object v1
iget v2, p1, Lradiant/gestures/queue/QueueRequest;->position:I
if-gez v2, :check_size
goto :invalid
:check_size
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v3
if-lt v2, v3, :read_item
goto :invalid
:read_item
invoke-interface {v1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
instance-of v2, v1, Lcf/b; # MARKER: R8 Lcf/b;
if-eqz v2, :invalid
check-cast v1, Lcf/b; # MARKER: R8 Lcf/b;
iget-boolean v2, v1, Lcf/b;->h:Z # MARKER: R8 Lcf/b; h
if-eqz v2, :invalid
iget-boolean v2, v1, Lcf/b;->f:Z # MARKER: R8 Lcf/b; f
if-eqz v2, :check_playlist
const-string v2, "NOT_READY"
iget-object v3, v1, Lcf/b;->g:Ljava/lang/String; # MARKER: R8 Lcf/b; g
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :invalid
:check_playlist
iget-object v2, v1, Lcf/b;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lcf/b; a
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
move-result v3
if-lez v3, :invalid
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :invalid
return-object v1
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method public static install(Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;Landroidx/recyclerview/widget/RecyclerView;)V
.locals 1
if-eqz p0, :done
if-eqz p1, :done
new-instance v0, Lradiant/gestures/queue/SearchPlaylistsResolver;
invoke-direct {v0, p0}, Lradiant/gestures/queue/SearchPlaylistsResolver;-><init>(Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;)V
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
:done
return-void
.end method
# virtual methods
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
.locals 7
iget v6, p1, Lradiant/gestures/queue/QueueRequest;->action:I
invoke-direct {p0, p1}, Lradiant/gestures/queue/SearchPlaylistsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Lcf/b; # MARKER: R8 Lcf/b;
move-result-object p1
if-eqz p1, :done
iget-object v0, p0, Lradiant/gestures/queue/SearchPlaylistsResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;
if-eqz v0, :done
iget-object v1, v0, Lcom/aspiro/wamp/mycollection/subpages/playlists/searchplaylists/SearchPlaylistsView;->c:Lzf/c; # MARKER: R8 Lzf/c; c
if-eqz v1, :done
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
move-result-object v2
iget-object v3, p1, Lcf/b;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lcf/b; a
new-instance v4, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
const-string v5, "mycollection_search_playlists"
invoke-direct {v4, v5}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;)V
iget-object p0, v1, Lzf/c;->c:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lzf/c; c
const/4 v0, 0x3
if-eq v6, v0, :add_to_playlist
const/4 v0, 0x1
if-ne v6, v0, :append
invoke-static {v2, v3, v4, p0}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:append
invoke-static {v2, v3, v4, p0}, Lradiant/gestures/queue/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:add_to_playlist
invoke-static {v2, v3, v4, p0}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(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 resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
.locals 5
instance-of v0, p2, Lxf/d$a; # MARKER: R8 Lxf/d$a;
if-eqz v0, :invalid
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
move-result p2
const/4 v0, -0x1
if-ne p2, v0, :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/d; # MARKER: R8 La50/d;
if-eqz v0, :invalid
check-cast p1, La50/d; # MARKER: R8 La50/d;
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object p1
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
if-lt p2, v0, :read_item
goto :invalid
:read_item
invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
instance-of v0, p1, Lcf/b; # MARKER: R8 Lcf/b;
if-eqz v0, :invalid
check-cast p1, Lcf/b; # MARKER: R8 Lcf/b;
iget-boolean v0, p1, Lcf/b;->h:Z # MARKER: R8 Lcf/b; h
if-eqz v0, :invalid
iget-boolean v0, p1, Lcf/b;->f:Z # MARKER: R8 Lcf/b; f
if-eqz v0, :check_playlist
const-string v0, "NOT_READY"
iget-object v1, p1, Lcf/b;->g:Ljava/lang/String; # MARKER: R8 Lcf/b; g
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :invalid
:check_playlist
iget-object v0, p1, Lcf/b;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lcf/b; a
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
move-result v1
if-lez v1, :invalid
invoke-virtual {v0}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v2
new-instance v3, Lradiant/gestures/queue/QueueRequest;
invoke-direct {v3, p2, v0, v2}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
return-object v3
:invalid
const/4 p1, 0x0
return-object p1
.end method
@@ -0,0 +1,504 @@
.class public final Lradiant/gestures/queue/SuggestionsResolver;
.super Ljava/lang/Object;
.source "SuggestionsResolver.smali"
# interfaces
.implements Lradiant/gestures/queue/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/gestures/queue/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/gestures/queue/SuggestionsResolver;->recycler:Ljava/lang/ref/WeakReference;
return-void
.end method
.method private current(Lradiant/gestures/queue/QueueRequest;)Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
.locals 8
if-eqz p1, :invalid
iget-object v0, p1, Lradiant/gestures/queue/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/gestures/queue/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/gestures/queue/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; # MARKER: R8 La50/b;
if-eqz v3, :invalid
check-cast v2, La50/b; # MARKER: R8 La50/b;
iget-object v2, v2, La50/b;->b:Ljava/util/ArrayList; # MARKER: R8 La50/b; b
iget v3, p1, Lradiant/gestures/queue/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/gestures/queue/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/gestures/queue/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/gestures/queue/SuggestionsResolver;->viewModel()Lcom/aspiro/wamp/nowplaying/view/suggestions/l; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/l;
move-result-object v1
instance-of v4, v1, Lcom/aspiro/wamp/nowplaying/view/suggestions/a1; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;
if-eqz v4, :invalid
check-cast v1, Lcom/aspiro/wamp/nowplaying/view/suggestions/a1; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;
iget-object v1, v1, Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;->o:Ljava/lang/Object; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/a1; o
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/gestures/queue/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; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/h;
if-eqz v1, :dialog
check-cast v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/h;
iget-object v0, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h;->d:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/h; d
return-object v0
:dialog
instance-of v1, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;
if-eqz v1, :invalid
check-cast v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;
iget-object v0, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;->d:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/o0; d
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/gestures/queue/SuggestionsResolver;
invoke-direct {v0, p0, p1}, Lradiant/gestures/queue/SuggestionsResolver;-><init>(Landroidx/fragment/app/Fragment;Landroidx/recyclerview/widget/RecyclerView;)V
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
:done
return-void
.end method
.method private viewModel()Lcom/aspiro/wamp/nowplaying/view/suggestions/l; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/l;
.locals 2
iget-object v0, p0, Lradiant/gestures/queue/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; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/h;
if-eqz v1, :dialog
check-cast v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/h; # MARKER: R8 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; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/h; Lcom/aspiro/wamp/nowplaying/view/suggestions/l; c
return-object v0
:dialog
instance-of v1, v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/o0;
if-eqz v1, :invalid
check-cast v0, Lcom/aspiro/wamp/nowplaying/view/suggestions/o0; # MARKER: R8 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; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/o0; Lcom/aspiro/wamp/nowplaying/view/suggestions/l; c
return-object v0
:invalid
const/4 v0, 0x0
return-object v0
.end method
# virtual methods
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
.locals 7
invoke-direct {p0, p1}, Lradiant/gestures/queue/SuggestionsResolver;->current(Lradiant/gestures/queue/QueueRequest;)Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;
move-result-object v0
if-eqz v0, :done
invoke-direct {p0}, Lradiant/gestures/queue/SuggestionsResolver;->viewModel()Lcom/aspiro/wamp/nowplaying/view/suggestions/l; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/l;
move-result-object v1
if-eqz v1, :done
iget v2, p1, Lradiant/gestures/queue/QueueRequest;->action:I
const/4 v3, 0x3
if-eq v2, v3, :track_action
const/4 v3, 0x1
if-ne v2, v3, :default_action
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v2
if-eqz v2, :default_action
:track_action
invoke-virtual {v0}, Lcom/aspiro/wamp/model/SuggestedMediaItem$SuggestedTrack;->getMediaItem()Lcom/aspiro/wamp/model/Track;
move-result-object v2
invoke-virtual {v2}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v3
invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v3
new-instance v4, Lcom/aspiro/wamp/model/MediaItemParent;
invoke-direct {v4, v2}, Lcom/aspiro/wamp/model/MediaItemParent;-><init>(Lcom/aspiro/wamp/model/MediaItem;)V
invoke-static {v4}, Lkotlin/collections/u;->h(Ljava/lang/Object;)Ljava/util/List; # MARKER: R8 Lkotlin/collections/u;
move-result-object v4
check-cast v1, Lcom/aspiro/wamp/nowplaying/view/suggestions/a1; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;
iget-object v5, v1, Lcom/aspiro/wamp/nowplaying/view/suggestions/a1;->j:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/a1; j
invoke-static {v3, v4, v5}, Lcom/aspiro/wamp/playqueue/source/model/b;->p(Ljava/lang/String;Ljava/util/List;Lcom/tidal/android/navigation/NavigationInfo;)Lcom/aspiro/wamp/playqueue/source/model/ItemSource; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; p
move-result-object v6
new-instance v4, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
const-string v3, "suggestions"
invoke-direct {v4, v3}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;)V
iget-object v0, p0, Lradiant/gestures/queue/SuggestionsResolver;->host:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/fragment/app/Fragment;
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
move-result-object v0
iget p1, p1, Lradiant/gestures/queue/QueueRequest;->action:I
const/4 v3, 0x3
if-eq p1, v3, :add_to_playlist
invoke-static {v0, v2, v4, v6}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
goto :done
:add_to_playlist
invoke-static {v0, v2, v4, v6}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
goto :done
:default_action
iget p1, p1, Lradiant/gestures/queue/QueueRequest;->position:I
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v2
if-eqz v2, :empty_queue
new-instance v2, Lcom/aspiro/wamp/nowplaying/view/suggestions/i$a; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/i$a;
invoke-direct {v2, p1}, Lcom/aspiro/wamp/nowplaying/view/suggestions/i$a;-><init>(I)V # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/i$a;
goto :emit
:empty_queue
new-instance v2, Lcom/aspiro/wamp/nowplaying/view/suggestions/i$e; # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/i$e;
invoke-direct {v2, p1}, Lcom/aspiro/wamp/nowplaying/view/suggestions/i$e;-><init>(I)V # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/i$e;
:emit
invoke-interface {v1, v2}, Lcom/aspiro/wamp/nowplaying/view/suggestions/j;->a(Lcom/aspiro/wamp/nowplaying/view/suggestions/i;)V # MARKER: R8 Lcom/aspiro/wamp/nowplaying/view/suggestions/j; Lcom/aspiro/wamp/nowplaying/view/suggestions/i; a
:done
return-void
.end method
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
.locals 5
iget-object v0, p0, Lradiant/gestures/queue/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; # MARKER: R8 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; # MARKER: R8 La50/b;
if-eqz v0, :invalid
check-cast p1, La50/b; # MARKER: R8 La50/b;
iget-object p1, p1, La50/b;->b:Ljava/util/ArrayList; # MARKER: R8 La50/b; b
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/gestures/queue/QueueRequest;
invoke-direct {v2, p2, p1, v1}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
invoke-direct {p0, v2}, Lradiant/gestures/queue/SuggestionsResolver;->current(Lradiant/gestures/queue/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,701 @@
.class public final Lradiant/gestures/queue/SwipeToQueue;
.super Landroidx/recyclerview/widget/ItemTouchHelper$SimpleCallback;
.source "SwipeToQueue.smali"
# static fields
.field private static final installed:Ljava/util/WeakHashMap;
# instance fields
.field private final addBackground:Landroid/graphics/drawable/ColorDrawable;
.field private final addIcon:Landroid/graphics/drawable/Drawable;
.field private final addToPlaylistBackground:Landroid/graphics/drawable/ColorDrawable;
.field private final addToPlaylistIcon:Landroid/graphics/drawable/Drawable;
.field private final playNextBackground:Landroid/graphics/drawable/ColorDrawable;
.field private final playNextIcon:Landroid/graphics/drawable/Drawable;
.field private pendingRequest:Lradiant/gestures/queue/QueueRequest;
.field private releaseAllowed:Z
.field private final resolver:Lradiant/gestures/queue/QueueRowResolver;
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Ljava/util/WeakHashMap;
invoke-direct {v0}, Ljava/util/WeakHashMap;-><init>()V
sput-object v0, Lradiant/gestures/queue/SwipeToQueue;->installed:Ljava/util/WeakHashMap;
return-void
.end method
.method private constructor <init>(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
.locals 4
const/4 v0, 0x0
const/4 v1, 0x0
const/16 v2, __RL_SWIPE_TO_QUEUE_LEFT_ACTION__
if-eqz v2, :check_right
or-int/lit8 v1, v1, 0x4
:check_right
const/16 v2, __RL_SWIPE_TO_QUEUE_RIGHT_ACTION__
if-eqz v2, :directions_ready
or-int/lit8 v1, v1, 0x8
:directions_ready
invoke-direct {p0, v0, v1}, Landroidx/recyclerview/widget/ItemTouchHelper$SimpleCallback;-><init>(II)V
iput-object p2, p0, Lradiant/gestures/queue/SwipeToQueue;->resolver:Lradiant/gestures/queue/QueueRowResolver;
invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
new-instance v1, Landroid/graphics/drawable/ColorDrawable;
const v2, __RL_SWIPE_TO_QUEUE_ADD_COLOR__
invoke-direct {v1, v2}, Landroid/graphics/drawable/ColorDrawable;-><init>(I)V
iput-object v1, p0, Lradiant/gestures/queue/SwipeToQueue;->addBackground:Landroid/graphics/drawable/ColorDrawable;
new-instance v1, Landroid/graphics/drawable/ColorDrawable;
const v2, __RL_SWIPE_TO_QUEUE_PLAY_NEXT_COLOR__
invoke-direct {v1, v2}, Landroid/graphics/drawable/ColorDrawable;-><init>(I)V
iput-object v1, p0, Lradiant/gestures/queue/SwipeToQueue;->playNextBackground:Landroid/graphics/drawable/ColorDrawable;
new-instance v1, Landroid/graphics/drawable/ColorDrawable;
const v2, __RL_SWIPE_TO_QUEUE_ADD_TO_PLAYLIST_COLOR__
invoke-direct {v1, v2}, Landroid/graphics/drawable/ColorDrawable;-><init>(I)V
iput-object v1, p0, Lradiant/gestures/queue/SwipeToQueue;->addToPlaylistBackground:Landroid/graphics/drawable/ColorDrawable;
sget v1, Lcom/aspiro/wamp/R$drawable;->ic_add_to_queue_last:I
invoke-virtual {v0, v1}, Landroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v0
if-eqz v0, :store_icon
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
move-result-object v0
const/4 v1, -0x1
invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->setTint(I)V
:store_icon
iput-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->addIcon:Landroid/graphics/drawable/Drawable;
invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
sget v1, Lcom/aspiro/wamp/R$drawable;->ic_play_next:I
invoke-virtual {v0, v1}, Landroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v0
if-eqz v0, :store_play_next_icon
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
move-result-object v0
const/4 v1, -0x1
invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->setTint(I)V
:store_play_next_icon
iput-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->playNextIcon:Landroid/graphics/drawable/Drawable;
invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
sget v1, Lcom/aspiro/wamp/R$drawable;->ic_add_to_playlist:I
invoke-virtual {v0, v1}, Landroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v0
if-eqz v0, :store_add_to_playlist_icon
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
move-result-object v0
const/4 v1, -0x1
invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->setTint(I)V
:store_add_to_playlist_icon
iput-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->addToPlaylistIcon:Landroid/graphics/drawable/Drawable;
return-void
.end method
.method public static install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
.locals 4
if-eqz p0, :done
if-eqz p1, :done
sget-object v0, Lradiant/gestures/queue/SwipeToQueue;->installed:Ljava/util/WeakHashMap;
invoke-virtual {v0, p0}, Ljava/util/WeakHashMap;->containsKey(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :done
sget-object v1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
invoke-virtual {v0, p0, v1}, Ljava/util/WeakHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
new-instance v0, Lradiant/gestures/queue/SwipeToQueue;
invoke-direct {v0, p0, p1}, Lradiant/gestures/queue/SwipeToQueue;-><init>(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
new-instance v1, Landroidx/recyclerview/widget/ItemTouchHelper;
invoke-direct {v1, v0}, Landroidx/recyclerview/widget/ItemTouchHelper;-><init>(Landroidx/recyclerview/widget/ItemTouchHelper$Callback;)V
invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/ItemTouchHelper;->attachToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
:done
return-void
.end method
.method public static setReleaseAllowed(Landroidx/recyclerview/widget/ItemTouchHelper$Callback;Z)V
.locals 1
instance-of v0, p0, Lradiant/gestures/queue/SwipeToQueue;
if-eqz v0, :done
check-cast p0, Lradiant/gestures/queue/SwipeToQueue;
iput-boolean p1, p0, Lradiant/gestures/queue/SwipeToQueue;->releaseAllowed:Z
:done
return-void
.end method
# virtual methods
.method public getAnimationDuration(Landroidx/recyclerview/widget/RecyclerView;IFF)J
.locals 2
const-wide/16 v0, 0x50
return-wide v0
.end method
.method public getSwipeDirs(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
.locals 3
iget-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
if-nez v0, :not_swipeable
iget-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->resolver:Lradiant/gestures/queue/QueueRowResolver;
invoke-interface {v0, p1, p2}, Lradiant/gestures/queue/QueueRowResolver;->resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
move-result-object v0
if-eqz v0, :not_swipeable
const/4 v0, 0x0
const/16 v1, __RL_SWIPE_TO_QUEUE_LEFT_ACTION__
if-eqz v1, :check_right
or-int/lit8 v0, v0, 0x4
:check_right
const/16 v1, __RL_SWIPE_TO_QUEUE_RIGHT_ACTION__
if-eqz v1, :directions_ready
or-int/lit8 v0, v0, 0x8
:directions_ready
return v0
:not_swipeable
const/4 v0, 0x0
return v0
.end method
.method public onChildDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;FFIZ)V
.locals 12
invoke-super/range {p0 .. p7}, Landroidx/recyclerview/widget/ItemTouchHelper$SimpleCallback;->onChildDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;FFIZ)V
move/from16 v10, p6
move/from16 v11, p4
const/4 v0, 0x1
if-ne v10, v0, :done
const/4 v0, 0x0
int-to-float v0, v0
cmpg-float v8, v11, v0
if-ltz v8, :left_action
cmpl-float v8, v11, v0
if-gtz v8, :right_action
goto :wrong_direction
:left_action
const/16 v8, __RL_SWIPE_TO_QUEUE_LEFT_ACTION__
goto :action_ready
:right_action
const/16 v8, __RL_SWIPE_TO_QUEUE_RIGHT_ACTION__
:action_ready
if-eqz v8, :wrong_direction
goto :clear_active
:wrong_direction
if-eqz p7, :done
const/4 v0, 0x0
iput-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
goto :done
:clear_active
iget-object v0, p3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getTop()I
move-result v3
invoke-virtual {v0}, Landroid/view/View;->getBottom()I
move-result v4
const/4 v8, 0x0
int-to-float v8, v8
cmpg-float v8, v11, v8
if-gez v8, :right_bounds
invoke-virtual {v0}, Landroid/view/View;->getRight()I
move-result v1
float-to-int v2, v11
add-int/2addr v2, v1
goto :bounds_ready
:right_bounds
invoke-virtual {v0}, Landroid/view/View;->getLeft()I
move-result v2
float-to-int v1, v11
add-int/2addr v1, v2
:bounds_ready
sub-int v5, v1, v2
if-lez v5, :done
const/4 v8, 0x0
int-to-float v8, v8
cmpg-float v8, v11, v8
if-ltz v8, :draw_left_background
const/16 v8, __RL_SWIPE_TO_QUEUE_RIGHT_ACTION__
goto :background_action_ready
:draw_left_background
const/16 v8, __RL_SWIPE_TO_QUEUE_LEFT_ACTION__
:background_action_ready
const/4 v9, 0x1
if-ne v8, v9, :add_background
iget-object v6, p0, Lradiant/gestures/queue/SwipeToQueue;->playNextBackground:Landroid/graphics/drawable/ColorDrawable;
goto :background_ready
:add_background
const/4 v9, 0x3
if-ne v8, v9, :add_to_queue_background
iget-object v6, p0, Lradiant/gestures/queue/SwipeToQueue;->addToPlaylistBackground:Landroid/graphics/drawable/ColorDrawable;
goto :background_ready
:add_to_queue_background
iget-object v6, p0, Lradiant/gestures/queue/SwipeToQueue;->addBackground:Landroid/graphics/drawable/ColorDrawable;
:background_ready
invoke-virtual {v6, v2, v3, v1, v4}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
invoke-virtual {v0}, Landroid/view/View;->getWidth()I
move-result v7
if-eqz p7, :draw_alpha
# row width * 3
mul-int/lit8 v8, v7, 0x3
# / 10 = 30% of row width (30% threshold)
div-int/lit8 v8, v8, 0xa
if-lez v8, :disarm
if-lt v5, v8, :disarm
iget-object v8, p0, Lradiant/gestures/queue/SwipeToQueue;->resolver:Lradiant/gestures/queue/QueueRowResolver;
iget-object v10, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
if-nez v10, :draw_alpha
invoke-interface {v8, p2, p3}, Lradiant/gestures/queue/QueueRowResolver;->resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
move-result-object v10
if-eqz v10, :draw_alpha
const/4 v9, 0x0
int-to-float v9, v9
cmpg-float v9, v11, v9
if-ltz v9, :stamp_left_action
const/16 v9, __RL_SWIPE_TO_QUEUE_RIGHT_ACTION__
goto :stamp_action
:stamp_left_action
const/16 v9, __RL_SWIPE_TO_QUEUE_LEFT_ACTION__
:stamp_action
iput v9, v10, Lradiant/gestures/queue/QueueRequest;->action:I
iput-object v10, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
# HapticFeedbackConstants.CLOCK_TICK
const/4 v8, 0x4
invoke-virtual {v0, v8}, Landroid/view/View;->performHapticFeedback(I)Z
goto :draw_alpha
:disarm
iget-object v8, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
if-eqz v8, :clear_pending
# HapticFeedbackConstants.CLOCK_TICK
const/4 v8, 0x4
invoke-virtual {v0, v8}, Landroid/view/View;->performHapticFeedback(I)Z
:clear_pending
const/4 v8, 0x0
iput-object v8, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
goto :draw_alpha
:draw_alpha
if-lez v7, :draw_background
mul-int/lit8 v8, v7, 0x3
div-int/lit8 v8, v8, 0xa
if-lez v8, :draw_background
const/16 v9, 0x40
mul-int/2addr v9, v5
div-int/2addr v9, v8
const/16 v8, 0x40
invoke-static {v9, v8}, Ljava/lang/Math;->min(II)I
move-result v8
add-int/lit16 v8, v8, 0xbf
invoke-virtual {v6, v8}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
:draw_background
invoke-virtual {v6, p1}, Landroid/graphics/drawable/ColorDrawable;->draw(Landroid/graphics/Canvas;)V
const/4 v8, 0x0
int-to-float v8, v8
cmpg-float v8, v11, v8
if-ltz v8, :draw_left_icon
const/16 v8, __RL_SWIPE_TO_QUEUE_RIGHT_ACTION__
goto :icon_action_ready
:draw_left_icon
const/16 v8, __RL_SWIPE_TO_QUEUE_LEFT_ACTION__
:icon_action_ready
const/4 v9, 0x1
if-ne v8, v9, :draw_add_icon
iget-object v6, p0, Lradiant/gestures/queue/SwipeToQueue;->playNextIcon:Landroid/graphics/drawable/Drawable;
goto :icon_ready
:draw_add_icon
const/4 v9, 0x3
if-ne v8, v9, :draw_add_to_queue_icon
iget-object v6, p0, Lradiant/gestures/queue/SwipeToQueue;->addToPlaylistIcon:Landroid/graphics/drawable/Drawable;
goto :icon_ready
:draw_add_to_queue_icon
iget-object v6, p0, Lradiant/gestures/queue/SwipeToQueue;->addIcon:Landroid/graphics/drawable/Drawable;
:icon_ready
if-eqz v6, :done
invoke-virtual {v6}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
move-result v7
invoke-virtual {v6}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
move-result v8
if-lez v7, :done
if-lez v8, :done
# center icon until fixed inset
sub-int v9, v4, v3
sub-int/2addr v9, v8
div-int/lit8 v9, v9, 0x2
const/4 v10, 0x0
int-to-float v10, v10
cmpg-float v10, v11, v10
if-gez v10, :right_icon
sub-int v10, v1, v9
sub-int v11, v10, v7
add-int v10, v5, v7
div-int/lit8 v10, v10, 0x2
sub-int v10, v1, v10
invoke-static {v10, v11}, Ljava/lang/Math;->max(II)I
move-result v10
goto :icon_positioned
:right_icon
add-int v10, v2, v9
sub-int v11, v5, v7
div-int/lit8 v11, v11, 0x2
add-int/2addr v11, v2
invoke-static {v11, v10}, Ljava/lang/Math;->min(II)I
move-result v10
:icon_positioned
add-int v11, v10, v7
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v7
invoke-virtual {p1, v2, v3, v1, v4}, Landroid/graphics/Canvas;->clipRect(IIII)Z
add-int v2, v3, v9
add-int v5, v2, v8
invoke-virtual {v6, v10, v2, v11, v5}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
const/16 v8, 0xff
invoke-virtual {v6, v8}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
invoke-virtual {v6, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V
invoke-virtual {p1, v7}, Landroid/graphics/Canvas;->restoreToCount(I)V
:done
return-void
.end method
.method public onMove(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
.locals 0
const/4 p1, 0x0
return p1
.end method
.method public getSwipeEscapeVelocity(F)F
.locals 1
# Float.MAX_VALUE
const v0, 0x7f7fffff
return v0
.end method
.method public getSwipeThreshold(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)F
.locals 1
# 2.0f
const/high16 v0, 0x40000000
return v0
.end method
.method public onSelectedChanged(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
.locals 3
const/4 v0, 0x1
if-ne p2, v0, :release
if-eqz p1, :dispatch
const/4 v0, 0x0
iput-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
goto :dispatch
:release
if-nez p2, :dispatch
iget-boolean v0, p0, Lradiant/gestures/queue/SwipeToQueue;->releaseAllowed:Z
const/4 v2, 0x0
iput-boolean v2, p0, Lradiant/gestures/queue/SwipeToQueue;->releaseAllowed:Z
iget-object v1, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
iput-object v2, p0, Lradiant/gestures/queue/SwipeToQueue;->pendingRequest:Lradiant/gestures/queue/QueueRequest;
if-eqz v0, :dispatch
if-eqz v1, :dispatch
iget-object v0, p0, Lradiant/gestures/queue/SwipeToQueue;->resolver:Lradiant/gestures/queue/QueueRowResolver;
invoke-interface {v0, v1}, Lradiant/gestures/queue/QueueRowResolver;->execute(Lradiant/gestures/queue/QueueRequest;)V
:dispatch
invoke-super {p0, p1, p2}, Landroidx/recyclerview/widget/ItemTouchHelper$SimpleCallback;->onSelectedChanged(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
return-void
.end method
.method public onSwiped(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
.locals 1
# fallback
iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
const/4 p2, 0x0
int-to-float v0, p2
invoke-virtual {p1, v0}, Landroid/view/View;->setTranslationX(F)V
return-void
.end method
@@ -0,0 +1,489 @@
.class public final Lradiant/gestures/queue/UnifiedSearchResolver;
.super Ljava/lang/Object;
.source "UnifiedSearchResolver.smali"
# interfaces
.implements Lradiant/gestures/queue/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/aspiro/wamp/search/v2/UnifiedSearchView;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/gestures/queue/UnifiedSearchResolver;->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/gestures/queue/UnifiedSearchResolver;->recycler:Ljava/lang/ref/WeakReference;
return-void
.end method
.method private current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
.locals 7
if-eqz p1, :invalid
iget-object v0, p1, Lradiant/gestures/queue/QueueRequest;->media:Ljava/lang/Object;
iget-object v1, p0, Lradiant/gestures/queue/UnifiedSearchResolver;->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 v1
instance-of v2, v1, La50/d; # MARKER: R8 La50/d;
if-eqz v2, :invalid
check-cast v1, La50/d; # MARKER: R8 La50/d;
invoke-virtual {v1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object v1
iget v2, p1, Lradiant/gestures/queue/QueueRequest;->position:I
if-gez v2, :check_size
goto :invalid
:check_size
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v3
if-lt v2, v3, :read_item
goto :invalid
:read_item
invoke-interface {v1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
instance-of v2, v0, Lbm/k; # MARKER: R8 Lbm/k;
if-eqz v2, :album
instance-of v2, v1, Lbm/k; # MARKER: R8 Lbm/k;
if-eqz v2, :invalid
move-object v2, v0
check-cast v2, Lbm/k; # MARKER: R8 Lbm/k;
move-object v3, v1
check-cast v3, Lbm/k; # MARKER: R8 Lbm/k;
iget-object v4, v3, Lbm/k;->e:Lcom/aspiro/wamp/model/Availability$MediaItem; # MARKER: R8 Lbm/k; e
invoke-virtual {v4}, Lcom/aspiro/wamp/model/Availability$MediaItem;->isAvailable()Z
move-result v4
if-eqz v4, :invalid
iget-object v2, v2, Lbm/k;->a:Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lbm/k; a
iget-object v3, v3, Lbm/k;->a:Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lbm/k; a
invoke-virtual {v2}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v2
invoke-virtual {v3}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v3
if-ne v2, v3, :invalid
iget v4, p1, Lradiant/gestures/queue/QueueRequest;->id:I
if-ne v3, v4, :invalid
return-object v1
:album
instance-of v2, v0, Lbm/a; # MARKER: R8 Lbm/a;
if-eqz v2, :playlist
instance-of v2, v1, Lbm/a; # MARKER: R8 Lbm/a;
if-eqz v2, :invalid
move-object v2, v0
check-cast v2, Lbm/a; # MARKER: R8 Lbm/a;
move-object v3, v1
check-cast v3, Lbm/a; # MARKER: R8 Lbm/a;
iget-object v4, v3, Lbm/a;->c:Lcom/aspiro/wamp/model/Availability$Album; # MARKER: R8 Lbm/a; c
invoke-virtual {v4}, Lcom/aspiro/wamp/model/Availability$Album;->isAvailable()Z
move-result v4
if-eqz v4, :invalid
iget-object v2, v2, Lbm/a;->a:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lbm/a; a
iget-object v3, v3, Lbm/a;->a:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lbm/a; a
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Album;->getId()I
move-result v2
invoke-virtual {v3}, Lcom/aspiro/wamp/model/Album;->getId()I
move-result v3
if-ne v2, v3, :invalid
iget v4, p1, Lradiant/gestures/queue/QueueRequest;->id:I
if-ne v3, v4, :invalid
return-object v1
:playlist
instance-of v2, v0, Lbm/g; # MARKER: R8 Lbm/g;
if-eqz v2, :mix
instance-of v2, v1, Lbm/g; # MARKER: R8 Lbm/g;
if-eqz v2, :invalid
move-object v2, v0
check-cast v2, Lbm/g; # MARKER: R8 Lbm/g;
move-object v3, v1
check-cast v3, Lbm/g; # MARKER: R8 Lbm/g;
iget-object v2, v2, Lbm/g;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lbm/g; a
iget-object v3, v3, Lbm/g;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lbm/g; a
invoke-virtual {v3}, Lcom/aspiro/wamp/model/Playlist;->getNumberOfItems()I
move-result v4
if-lez v4, :invalid
const-string v4, "NOT_READY"
invoke-virtual {v3}, Lcom/aspiro/wamp/model/Playlist;->getStatus()Ljava/lang/String;
move-result-object v5
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :invalid
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
move-result-object v2
invoke-virtual {v3}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :invalid
invoke-virtual {v3}, Ljava/lang/String;->hashCode()I
move-result v2
iget v4, p1, Lradiant/gestures/queue/QueueRequest;->id:I
if-ne v2, v4, :invalid
iget-object v2, p0, Lradiant/gestures/queue/UnifiedSearchResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v2}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;
if-eqz v2, :invalid
invoke-virtual {v2}, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;->N()Ltl/h; # MARKER: R8 Ltl/h; N
move-result-object v2
instance-of v4, v2, Lcom/aspiro/wamp/search/v2/d; # MARKER: R8 Lcom/aspiro/wamp/search/v2/d;
if-eqz v4, :invalid
check-cast v2, Lcom/aspiro/wamp/search/v2/d; # MARKER: R8 Lcom/aspiro/wamp/search/v2/d;
iget-object v2, v2, Lcom/aspiro/wamp/search/v2/d;->e:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 Lcom/aspiro/wamp/search/v2/d; e
invoke-static {v3}, Ljava/util/UUID;->fromString(Ljava/lang/String;)Ljava/util/UUID;
move-result-object v3
invoke-interface {v2, v3}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getPlaylistAvailability(Ljava/util/UUID;)Lcom/aspiro/wamp/model/Availability$Playlist;
move-result-object v2
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Availability$Playlist;->isAvailable()Z
move-result v2
if-eqz v2, :invalid
return-object v1
:mix
instance-of v2, v0, Lbm/f; # MARKER: R8 Lbm/f;
if-eqz v2, :invalid
instance-of v2, v1, Lbm/f; # MARKER: R8 Lbm/f;
if-eqz v2, :invalid
move-object v2, v0
check-cast v2, Lbm/f; # MARKER: R8 Lbm/f;
move-object v3, v1
check-cast v3, Lbm/f; # MARKER: R8 Lbm/f;
iget-object v2, v2, Lbm/f;->a:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lbm/f; a
iget-object v3, v3, Lbm/f;->a:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lbm/f; a
invoke-virtual {v2}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
move-result-object v2
invoke-virtual {v3}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :invalid
invoke-virtual {v3}, Ljava/lang/String;->hashCode()I
move-result v2
iget v4, p1, Lradiant/gestures/queue/QueueRequest;->id:I
if-ne v2, v4, :invalid
iget-object v2, p0, Lradiant/gestures/queue/UnifiedSearchResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v2}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;
if-eqz v2, :invalid
invoke-virtual {v2}, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;->N()Ltl/h; # MARKER: R8 Ltl/h; N
move-result-object v2
instance-of v4, v2, Lcom/aspiro/wamp/search/v2/d; # MARKER: R8 Lcom/aspiro/wamp/search/v2/d;
if-eqz v4, :invalid
check-cast v2, Lcom/aspiro/wamp/search/v2/d; # MARKER: R8 Lcom/aspiro/wamp/search/v2/d;
iget-object v2, v2, Lcom/aspiro/wamp/search/v2/d;->e:Lcom/aspiro/wamp/model/AvailabilityInteractor; # MARKER: R8 Lcom/aspiro/wamp/search/v2/d; e
invoke-interface {v2, v3}, Lcom/aspiro/wamp/model/AvailabilityInteractor;->getMixAvailability(Ljava/lang/String;)Lcom/aspiro/wamp/model/Availability$Mix;
move-result-object v2
invoke-virtual {v2}, Lcom/aspiro/wamp/model/Availability$Mix;->isAvailable()Z
move-result v2
if-eqz v2, :invalid
return-object v1
:invalid
const/4 v0, 0x0
return-object v0
.end method
.method public static install(Lcom/aspiro/wamp/search/v2/UnifiedSearchView;Landroidx/recyclerview/widget/RecyclerView;)V
.locals 1
if-eqz p0, :done
if-eqz p1, :done
new-instance v0, Lradiant/gestures/queue/UnifiedSearchResolver;
invoke-direct {v0, p0, p1}, Lradiant/gestures/queue/UnifiedSearchResolver;-><init>(Lcom/aspiro/wamp/search/v2/UnifiedSearchView;Landroidx/recyclerview/widget/RecyclerView;)V
invoke-static {p1, v0}, Lradiant/gestures/queue/SwipeToQueue;->install(Landroidx/recyclerview/widget/RecyclerView;Lradiant/gestures/queue/QueueRowResolver;)V
:done
return-void
.end method
# virtual methods
.method public execute(Lradiant/gestures/queue/QueueRequest;)V
.locals 9
iget v8, p1, Lradiant/gestures/queue/QueueRequest;->action:I
invoke-direct {p0, p1}, Lradiant/gestures/queue/UnifiedSearchResolver;->current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
move-result-object v0
if-eqz v0, :done
iget-object v1, p0, Lradiant/gestures/queue/UnifiedSearchResolver;->fragment:Ljava/lang/ref/WeakReference;
invoke-virtual {v1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;
if-eqz v1, :done
iget-object v2, v1, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;->c:Ltl/q; # MARKER: R8 Ltl/q; c
if-eqz v2, :done
invoke-static {v0}, Lbm/i;->a(Lbm/h;)Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata; # MARKER: R8 Lbm/i; Lbm/h; a
move-result-object v3
iget-object v4, v2, Ltl/q;->c:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Ltl/q; c
instance-of v5, v0, Lbm/k; # MARKER: R8 Lbm/k;
if-eqz v5, :album
move-object v5, v0
check-cast v5, Lbm/k; # MARKER: R8 Lbm/k;
iget-object v6, v5, Lbm/k;->a:Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lbm/k; a
const/4 v7, 0x3
if-eq v8, v7, :append_track
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v7
if-nez v7, :append_track
new-instance v2, Lcom/aspiro/wamp/search/v2/a$g; # MARKER: R8 Lcom/aspiro/wamp/search/v2/a$g;
iget v3, p1, Lradiant/gestures/queue/QueueRequest;->position:I
invoke-direct {v2, v0, v3}, Lcom/aspiro/wamp/search/v2/a$g;-><init>(Lbm/h;I)V # MARKER: R8 Lcom/aspiro/wamp/search/v2/a$g; Lbm/h;
invoke-virtual {v1}, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;->N()Ltl/h; # MARKER: R8 Ltl/h; N
move-result-object v0
invoke-interface {v0, v2}, Ltl/f;->e(Lcom/aspiro/wamp/search/v2/a;)V # MARKER: R8 Ltl/f; Lcom/aspiro/wamp/search/v2/a; e
goto :done
:append_track
const-string v7, ""
iget-object p1, v5, Lbm/k;->n:Lcom/aspiro/wamp/search/SearchDataSource; # MARKER: R8 Lbm/k; n
sget-object v0, Lcom/aspiro/wamp/search/SearchDataSource;->REMOTE:Lcom/aspiro/wamp/search/SearchDataSource;
if-ne p1, v0, :query_ready
invoke-virtual {v1}, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;->N()Ltl/h; # MARKER: R8 Ltl/h; N
move-result-object p1
invoke-interface {p1}, Ltl/h;->c()Lcom/aspiro/wamp/search/v2/model/UnifiedSearchQuery; # MARKER: R8 Ltl/h; c
move-result-object p1
iget-object v7, p1, Lcom/aspiro/wamp/search/v2/model/UnifiedSearchQuery;->a:Ljava/lang/String; # MARKER: R8 a
:query_ready
invoke-virtual {v6}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result p1
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p1
const/4 v0, 0x0
if-eqz v4, :nav_ready
invoke-static {v4}, Lcom/tidal/android/navigation/a;->b(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/tidal/android/navigation/NavigationInfo$Node; # MARKER: R8 Lcom/tidal/android/navigation/a; b
move-result-object v0
:nav_ready
invoke-static {p1, v7, v0}, 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; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; o
move-result-object p1
invoke-virtual {p1, v6}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
move-result-object v0
const/4 v2, 0x3
if-eq v8, v2, :add_to_playlist_track
const/4 v2, 0x1
if-ne v8, v2, :queue_append_track
invoke-static {v0, v6, v3, p1}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
goto :done
:queue_append_track
invoke-static {v0, v6, v3, p1}, Lradiant/gestures/queue/QueueExecutor;->track(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
goto :done
:add_to_playlist_track
invoke-static {v0, v6, v3, p1}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
goto :done
:album
instance-of v5, v0, Lbm/a; # MARKER: R8 Lbm/a;
if-eqz v5, :playlist
iget-object v5, v2, Ltl/q;->a:Lx40/a; # MARKER: R8 Ltl/q; Lx40/a; a
instance-of v6, v5, Lh4/a; # MARKER: R8 Lh4/a;
if-eqz v6, :done
check-cast v5, Lh4/a; # MARKER: R8 Lh4/a;
check-cast v0, Lbm/a; # MARKER: R8 Lbm/a;
iget-object v6, v0, Lbm/a;->a:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lbm/a; a
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
move-result-object v7
const/4 v0, 0x3
if-eq v8, v0, :add_to_playlist_album
const/4 v0, 0x1
if-ne v8, v0, :append_album
invoke-static {v7, v6, v3, v4, v5}, Lradiant/gestures/queue/QueueExecutor;->playNextAlbum(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; # MARKER: R8 Lh4/a;
goto :done
:append_album
invoke-static {v7, v6, v3, v4, v5}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
move-result-object v0
if-eqz v0, :done
iget-object v1, v1, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;->g:Lio/reactivex/disposables/CompositeDisposable; # MARKER: R8 g
invoke-virtual {v1, v0}, Lio/reactivex/disposables/CompositeDisposable;->add(Lio/reactivex/disposables/Disposable;)Z
goto :done
:add_to_playlist_album
invoke-static {v7, v6, v3, v4, v5}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistAlbum(Landroid/content/Context;Lcom/aspiro/wamp/model/Album;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
goto :done
:playlist
instance-of v5, v0, Lbm/g; # MARKER: R8 Lbm/g;
if-eqz v5, :mix
check-cast v0, Lbm/g; # MARKER: R8 Lbm/g;
iget-object v5, v0, Lbm/g;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lbm/g; a
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
move-result-object v6
const/4 v0, 0x3
if-eq v8, v0, :add_to_playlist_playlist
const/4 v0, 0x1
if-ne v8, v0, :append_playlist
invoke-static {v6, v5, v3, v4}, Lradiant/gestures/queue/QueueExecutor;->playNextPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:append_playlist
invoke-static {v6, v5, v3, v4}, Lradiant/gestures/queue/QueueExecutor;->playlist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:add_to_playlist_playlist
invoke-static {v6, v5, v3, v4}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistPlaylist(Landroid/content/Context;Lcom/aspiro/wamp/model/Playlist;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;)V
goto :done
:mix
instance-of v5, v0, Lbm/f; # MARKER: R8 Lbm/f;
if-eqz v5, :done
iget-object v5, v2, Ltl/q;->a:Lx40/a; # MARKER: R8 Ltl/q; Lx40/a; a
instance-of v6, v5, Lh4/a; # MARKER: R8 Lh4/a;
if-eqz v6, :done
check-cast v5, Lh4/a; # MARKER: R8 Lh4/a;
check-cast v0, Lbm/f; # MARKER: R8 Lbm/f;
iget-object v6, v0, Lbm/f;->a:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lbm/f; a
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->getContext()Landroid/content/Context;
move-result-object v7
const/4 v0, 0x3
if-eq v8, v0, :add_to_playlist_mix
const/4 v0, 0x1
if-ne v8, v0, :append_mix
invoke-static {v7, v6, v3, v4, v5}, Lradiant/gestures/queue/QueueExecutor;->playNextMix(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; # MARKER: R8 Lh4/a;
goto :done
:append_mix
invoke-static {v7, v6, v3, v4, v5}, Lradiant/gestures/queue/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; # MARKER: R8 Lh4/a;
move-result-object v0
if-eqz v0, :done
iget-object v1, v1, Lcom/aspiro/wamp/search/v2/UnifiedSearchView;->g:Lio/reactivex/disposables/CompositeDisposable; # MARKER: R8 g
invoke-virtual {v1, v0}, Lio/reactivex/disposables/CompositeDisposable;->add(Lio/reactivex/disposables/Disposable;)Z
goto :done
:add_to_playlist_mix
invoke-static {v7, v6, v3, v4, v5}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistMix(Landroid/content/Context;Lcom/aspiro/wamp/mix/model/Mix;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/tidal/android/navigation/NavigationInfo;Lh4/a;)V # MARKER: R8 Lh4/a;
:done
return-void
.end method
.method public resolve(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Lradiant/gestures/queue/QueueRequest;
.locals 6
iget-object v0, p0, Lradiant/gestures/queue/UnifiedSearchResolver;->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
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getBindingAdapterPosition()I
move-result v0
const/4 v1, -0x1
if-ne v0, v1, :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 v1, p1, La50/d; # MARKER: R8 La50/d;
if-eqz v1, :invalid
check-cast p1, La50/d; # MARKER: R8 La50/d;
invoke-virtual {p1}, Landroidx/recyclerview/widget/ListAdapter;->getCurrentList()Ljava/util/List;
move-result-object p1
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v1
if-lt v0, v1, :read_item
goto :invalid
:read_item
invoke-interface {p1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
instance-of v1, p2, Lul/n0$a; # MARKER: R8 Lul/n0$a;
if-eqz v1, :album_holder
instance-of v1, p1, Lbm/k; # MARKER: R8 Lbm/k;
if-eqz v1, :invalid
move-object v1, p1
check-cast v1, Lbm/k; # MARKER: R8 Lbm/k;
iget-object v1, v1, Lbm/k;->a:Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lbm/k; a
invoke-virtual {v1}, Lcom/aspiro/wamp/model/MediaItem;->getId()I
move-result v1
goto :create
:album_holder
instance-of v1, p2, Lul/d$a; # MARKER: R8 Lul/d$a;
if-eqz v1, :playlist_holder
instance-of v1, p1, Lbm/a; # MARKER: R8 Lbm/a;
if-eqz v1, :invalid
move-object v1, p1
check-cast v1, Lbm/a; # MARKER: R8 Lbm/a;
iget-object v1, v1, Lbm/a;->a:Lcom/aspiro/wamp/model/Album; # MARKER: R8 Lbm/a; a
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Album;->getId()I
move-result v1
goto :create
:playlist_holder
instance-of v1, p2, Lul/a0$a; # MARKER: R8 Lul/a0$a;
if-eqz v1, :mix_holder
instance-of v1, p1, Lbm/g; # MARKER: R8 Lbm/g;
if-eqz v1, :invalid
move-object v1, p1
check-cast v1, Lbm/g; # MARKER: R8 Lbm/g;
iget-object v1, v1, Lbm/g;->a:Lcom/aspiro/wamp/model/Playlist; # MARKER: R8 Lbm/g; a
invoke-virtual {v1}, Lcom/aspiro/wamp/model/Playlist;->getUuid()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v1
goto :create
:mix_holder
instance-of p2, p2, Lul/w$a; # MARKER: R8 Lul/w$a;
if-eqz p2, :invalid
instance-of p2, p1, Lbm/f; # MARKER: R8 Lbm/f;
if-eqz p2, :invalid
move-object p2, p1
check-cast p2, Lbm/f; # MARKER: R8 Lbm/f;
iget-object p2, p2, Lbm/f;->a:Lcom/aspiro/wamp/mix/model/Mix; # MARKER: R8 Lbm/f; a
invoke-virtual {p2}, Lcom/aspiro/wamp/mix/model/Mix;->getId()Ljava/lang/String;
move-result-object p2
invoke-virtual {p2}, Ljava/lang/String;->hashCode()I
move-result v1
:create
new-instance v2, Lradiant/gestures/queue/QueueRequest;
invoke-direct {v2, v0, p1, v1}, Lradiant/gestures/queue/QueueRequest;-><init>(ILjava/lang/Object;I)V
invoke-direct {p0, v2}, Lradiant/gestures/queue/UnifiedSearchResolver;->current(Lradiant/gestures/queue/QueueRequest;)Ljava/lang/Object;
move-result-object p1
if-eqz p1, :invalid
return-object v2
:invalid
const/4 p1, 0x0
return-object p1
.end method
@@ -0,0 +1,328 @@
.class public final Lradiant/gestures/queue/VerticalMediaQueueAction;
.super Ljava/lang/Object;
.source "VerticalMediaQueueAction.smali"
# interfaces
.implements Lradiant/gestures/queue/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; # MARKER: R8 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 # MARKER: R8 Lam0/l; Lm40/e;
.locals 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
iput-object p2, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->pageId:Ljava/lang/String;
iput-object p3, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->moduleUuid:Ljava/lang/String;
instance-of v0, p4, Lm40/e$a; # MARKER: R8 Lm40/e$a;
if-eqz v0, :mix
check-cast p4, Lm40/e$a; # MARKER: R8 Lm40/e$a;
iget-wide v0, p4, Lm40/e$a;->a:J # MARKER: R8 Lm40/e$a; a
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; # MARKER: R8 Lm40/e$c;
if-eqz v0, :playlist
check-cast p4, Lm40/e$c; # MARKER: R8 Lm40/e$c;
iget-object v0, p4, Lm40/e$c;->a:Ljava/lang/String; # MARKER: R8 Lm40/e$c; a
const/4 v1, 0x2
goto :store
:playlist
instance-of v0, p4, Lm40/e$d; # MARKER: R8 Lm40/e$d;
if-eqz v0, :track
check-cast p4, Lm40/e$d; # MARKER: R8 Lm40/e$d;
iget-object v0, p4, Lm40/e$d;->a:Ljava/lang/String; # MARKER: R8 Lm40/e$d; a
const/4 v1, 0x3
goto :store
:track
instance-of v0, p4, Lm40/e$e; # MARKER: R8 Lm40/e$e;
if-eqz v0, :unsupported
check-cast p4, Lm40/e$e; # MARKER: R8 Lm40/e$e;
iget-wide v0, p4, Lm40/e$e;->a:J # MARKER: R8 Lm40/e$e; a
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/gestures/queue/VerticalMediaQueueAction;->itemId:Ljava/lang/String;
iput v1, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->mediaType:I
return-void
.end method
.method public static isEligible(Lm40/e;)Z # MARKER: R8 Lm40/e;
.locals 1
instance-of v0, p0, Lm40/e$a; # MARKER: R8 Lm40/e$a;
if-eqz v0, :mix
check-cast p0, Lm40/e$a; # MARKER: R8 Lm40/e$a;
iget-boolean p0, p0, Lm40/e$a;->e:Z # MARKER: R8 Lm40/e$a; e
return p0
:mix
instance-of v0, p0, Lm40/e$c; # MARKER: R8 Lm40/e$c;
if-eqz v0, :playlist
check-cast p0, Lm40/e$c; # MARKER: R8 Lm40/e$c;
iget-boolean p0, p0, Lm40/e$c;->h:Z # MARKER: R8 Lm40/e$c; h
return p0
:playlist
instance-of v0, p0, Lm40/e$d; # MARKER: R8 Lm40/e$d;
if-eqz v0, :track
check-cast p0, Lm40/e$d; # MARKER: R8 Lm40/e$d;
iget-boolean p0, p0, Lm40/e$d;->g:Z # MARKER: R8 Lm40/e$d; g
return p0
:track
instance-of v0, p0, Lm40/e$e; # MARKER: R8 Lm40/e$e;
if-eqz v0, :invalid
check-cast p0, Lm40/e$e; # MARKER: R8 Lm40/e$e;
iget-boolean p0, p0, Lm40/e$e;->j:Z # MARKER: R8 Lm40/e$e; j
return p0
:invalid
const/4 p0, 0x0
return p0
.end method
.method public static isSupported(Lm40/e;)Z # MARKER: R8 Lm40/e;
.locals 1
instance-of v0, p0, Lm40/e$a; # MARKER: R8 Lm40/e$a;
if-nez v0, :supported
instance-of v0, p0, Lm40/e$c; # MARKER: R8 Lm40/e$c;
if-nez v0, :supported
instance-of v0, p0, Lm40/e$d; # MARKER: R8 Lm40/e$d;
if-nez v0, :supported
instance-of v0, p0, Lm40/e$e; # MARKER: R8 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(I)Ljava/lang/Object;
.locals 8
iget-object v7, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
if-eqz v7, :done
iget-object v4, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->itemId:Ljava/lang/String;
if-eqz v4, :done
iget v5, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->mediaType:I
if-eqz v5, :done
const/4 v1, 0x3
if-eq p1, v1, :queue_event
const/4 v1, 0x4
if-ne v5, v1, :queue_event
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v1
if-nez v1, :queue_event
new-instance v1, Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b$a; # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b$a;
iget-object v2, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->pageId:Ljava/lang/String;
iget-object v3, p0, Lradiant/gestures/queue/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 # MARKER: R8 Lcom/tidal/android/dynamicpages/ui/modules/verticallistcard/b$a;
goto :emit
:queue_event
iget-object v1, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->context:Landroid/content/Context;
if-eqz v1, :done
new-instance v0, Lradiant/gestures/queue/DynamicMediaQueueEvent;
iget-object v2, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->pageId:Ljava/lang/String;
iget-object v3, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->moduleUuid:Ljava/lang/String;
move v6, p1
invoke-direct/range {v0 .. v6}, Lradiant/gestures/queue/DynamicMediaQueueEvent;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
move-object v1, v0
:emit
invoke-interface {v7, v1}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
:done
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
return-object v0
.end method
.method public invoke()Ljava/lang/Object;
.locals 1
const/4 v0, 0x2
invoke-virtual {p0, v0}, Lradiant/gestures/queue/VerticalMediaQueueAction;->invoke(I)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public setContext(Landroid/content/Context;)V
.locals 0
iput-object p1, p0, Lradiant/gestures/queue/VerticalMediaQueueAction;->context:Landroid/content/Context;
return-void
.end method
.method public stableKey()Ljava/lang/String;
.locals 3
iget-object v0, p0, Lradiant/gestures/queue/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/gestures/queue/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/gestures/queue/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
@@ -0,0 +1,248 @@
.class public final Lradiant/gestures/queue/ViewAllTrackQueue;
.super Ljava/lang/Object;
.source "ViewAllTrackQueue.smali"
# static fields
.field private static context:Ljava/lang/ref/WeakReference;
# direct methods
.method public static handle(Lcom/tidal/android/feature/viewall/ui/ViewAllScreenViewModel;Landroid/content/Context;JI)V
.locals 10
if-eqz p0, :done
if-eqz p1, :done
const-wide/16 v0, 0x0
cmp-long v2, p2, v0
if-lez v2, :done
iget-object v0, p0, Lcom/tidal/android/feature/viewall/ui/ViewAllScreenViewModel;->n:Lcom/tidal/android/feature/viewall/ui/c; # MARKER: R8 Lcom/tidal/android/feature/viewall/ui/c; n
iget-object v0, v0, Lcom/tidal/android/feature/viewall/ui/c;->f:Ljava/util/ArrayList; # MARKER: R8 Lcom/tidal/android/feature/viewall/ui/c; f
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
:find_track
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :done
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
instance-of v2, v1, Lpd0/a; # MARKER: R8 Lpd0/a;
if-eqz v2, :find_track
check-cast v1, Lpd0/a; # MARKER: R8 Lpd0/a;
iget-object v1, v1, Lpd0/a;->a:Lh40/n; # MARKER: R8 Lpd0/a; Lh40/n; a
instance-of v2, v1, Lh40/p; # MARKER: R8 Lh40/p;
if-eqz v2, :find_track
check-cast v1, Lh40/p; # MARKER: R8 Lh40/p;
iget-wide v3, v1, Lh40/p;->a:J # MARKER: R8 Lh40/p; a
cmp-long v2, v3, p2
if-nez v2, :find_track
iget-object v0, p0, Lcom/tidal/android/feature/viewall/ui/ViewAllScreenViewModel;->f:Lcom/tidal/android/feature/viewall/ui/u; # MARKER: R8 Lcom/tidal/android/feature/viewall/ui/u; f
instance-of v2, v0, Lra/d; # MARKER: R8 Lra/d;
if-eqz v2, :done
check-cast v0, Lra/d; # MARKER: R8 Lra/d;
iget-object v2, v0, Lra/d;->b:Lcom/tidal/android/navigation/NavigationInfo; # MARKER: R8 Lra/d; b
invoke-static {v1}, Lie0/i;->a(Lh40/p;)Lcom/aspiro/wamp/model/Track; # MARKER: R8 Lie0/i; Lh40/p; a
move-result-object v3
if-eqz v3, :done
const-string v5, "null"
new-instance v4, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;
invoke-direct {v4, v5, v5}, Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;-><init>(Ljava/lang/String;Ljava/lang/String;)V
const/4 v6, 0x0
if-eqz v2, :navigation_ready
invoke-static {v2}, Lcom/tidal/android/navigation/a;->b(Lcom/tidal/android/navigation/NavigationInfo;)Lcom/tidal/android/navigation/NavigationInfo$Node; # MARKER: R8 Lcom/tidal/android/navigation/a; b
move-result-object v6
:navigation_ready
sget-object v7, Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$None;->INSTANCE:Lcom/aspiro/wamp/playqueue/source/model/ItemSource$NavigationType$None;
const/4 v8, 0x0
invoke-static {v5, v8, v6, v7}, 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; # MARKER: R8 Lcom/aspiro/wamp/playqueue/source/model/b; j
move-result-object v9
invoke-virtual {v9, v3}, Lcom/aspiro/wamp/playqueue/source/model/Source;->addSourceItem(Lcom/aspiro/wamp/model/MediaItem;)V
const/4 v0, 0x1
if-ne p4, v0, :check_add_to_playlist
invoke-static {p1, v3, v4, v9}, Lradiant/gestures/queue/QueueExecutor;->playNextTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)Z
goto :done
:check_add_to_playlist
const/4 v0, 0x3
if-ne p4, v0, :append
invoke-static {p1, v3, v4, v9}, Lradiant/gestures/queue/QueueExecutor;->addToPlaylistTrack(Landroid/content/Context;Lcom/aspiro/wamp/model/Track;Lcom/aspiro/wamp/eventtracking/model/ContextualMetadata;Lcom/aspiro/wamp/playqueue/source/model/Source;)V
goto :done
:append
invoke-static {p1, v3, v4, v9}, Lradiant/gestures/queue/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 handleEvent(Lcom/tidal/android/feature/viewall/ui/ViewAllScreenViewModel;Lcom/tidal/android/feature/viewall/ui/e;)Z # MARKER: R8 Lcom/tidal/android/feature/viewall/ui/e;
.locals 6
instance-of v0, p1, Lcom/tidal/android/feature/viewall/ui/e$c; # MARKER: R8 Lcom/tidal/android/feature/viewall/ui/e$c;
if-eqz v0, :not_handled
check-cast p1, Lcom/tidal/android/feature/viewall/ui/e$c; # MARKER: R8 Lcom/tidal/android/feature/viewall/ui/e$c;
iget-object v0, p1, Lcom/tidal/android/feature/viewall/ui/e$c;->a:Ljava/lang/Object; # MARKER: R8 Lcom/tidal/android/feature/viewall/ui/e$c; a
instance-of v1, v0, Ljava/lang/String;
if-eqz v1, :not_handled
check-cast v0, Ljava/lang/String;
const-string v1, "rl-swipe:"
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :not_handled
const/16 v1, 0x9
invoke-virtual {v0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
const/16 v1, 0x3a
invoke-virtual {v0, v1}, Ljava/lang/String;->indexOf(I)I
move-result v1
if-lez v1, :not_handled
const/4 v2, 0x0
invoke-virtual {v0, v2, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v4
add-int/lit8 v1, v1, 0x1
invoke-virtual {v0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v1
sget-object v3, Lradiant/gestures/queue/ViewAllTrackQueue;->context:Ljava/lang/ref/WeakReference;
const/4 v5, 0x0
sput-object v5, Lradiant/gestures/queue/ViewAllTrackQueue;->context:Ljava/lang/ref/WeakReference;
if-eqz v3, :handled
invoke-virtual {v3}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroid/content/Context;
invoke-static {p0, v3, v1, v2, v4}, Lradiant/gestures/queue/ViewAllTrackQueue;->handle(Lcom/tidal/android/feature/viewall/ui/ViewAllScreenViewModel;Landroid/content/Context;JI)V
:handled
const/4 v0, 0x1
return v0
:not_handled
const/4 v0, 0x0
return v0
.end method
.method public static marker(JI)Ljava/lang/String;
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "rl-swipe:"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/16 v1, 0x3a
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0, p1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static setContext(Landroid/content/Context;)V
.locals 1
new-instance v0, Ljava/lang/ref/WeakReference;
invoke-direct {v0, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
sput-object v0, Lradiant/gestures/queue/ViewAllTrackQueue;->context:Ljava/lang/ref/WeakReference;
return-void
.end method
@@ -0,0 +1,106 @@
.class public final Lradiant/gestures/queue/ViewAllTrackQueueAction;
.super Ljava/lang/Object;
.source "ViewAllTrackQueueAction.smali"
# interfaces
.implements Lradiant/gestures/queue/ComposeSwipeAction;
# instance fields
.field private final callback:Lam0/l; # MARKER: R8 Lam0/l;
.field private context:Landroid/content/Context;
.field private final trackId:J
# direct methods
.method public constructor <init>(Lam0/l;Lm40/e$e;)V # MARKER: R8 Lam0/l; Lm40/e$e;
.locals 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lradiant/gestures/queue/ViewAllTrackQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
iget-wide v0, p2, Lm40/e$e;->a:J # MARKER: R8 Lm40/e$e; a
iput-wide v0, p0, Lradiant/gestures/queue/ViewAllTrackQueueAction;->trackId:J
return-void
.end method
# virtual methods
.method public invoke(I)Ljava/lang/Object;
.locals 5
iget-object v0, p0, Lradiant/gestures/queue/ViewAllTrackQueueAction;->callback:Lam0/l; # MARKER: R8 Lam0/l;
if-eqz v0, :done
iget-wide v1, p0, Lradiant/gestures/queue/ViewAllTrackQueueAction;->trackId:J
const/4 v3, 0x3
if-eq p1, v3, :queue_event
invoke-static {}, Lradiant/gestures/queue/QueueExecutor;->hasActiveQueue()Z
move-result v3
if-eqz v3, :play_existing
:queue_event
iget-object v3, p0, Lradiant/gestures/queue/ViewAllTrackQueueAction;->context:Landroid/content/Context;
if-eqz v3, :done
invoke-static {v3}, Lradiant/gestures/queue/ViewAllTrackQueue;->setContext(Landroid/content/Context;)V
invoke-static {v1, v2, p1}, Lradiant/gestures/queue/ViewAllTrackQueue;->marker(JI)Ljava/lang/String;
move-result-object v3
new-instance v4, Li40/c$b; # MARKER: R8 Li40/c$b;
invoke-direct {v4, v3}, Li40/c$b;-><init>(Ljava/lang/Object;)V # MARKER: R8 Li40/c$b;
goto :emit
:play_existing
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v3
new-instance v4, Li40/c$b; # MARKER: R8 Li40/c$b;
invoke-direct {v4, v3}, Li40/c$b;-><init>(Ljava/lang/Object;)V # MARKER: R8 Li40/c$b;
:emit
invoke-interface {v0, v4}, Lam0/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object; # MARKER: R8 Lam0/l;
:done
sget-object v0, Lkotlin/u;->a:Lkotlin/u; # MARKER: R8 Lkotlin/u;
return-object v0
.end method
.method public invoke()Ljava/lang/Object;
.locals 1
const/4 v0, 0x2
invoke-virtual {p0, v0}, Lradiant/gestures/queue/ViewAllTrackQueueAction;->invoke(I)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public setContext(Landroid/content/Context;)V
.locals 0
iput-object p1, p0, Lradiant/gestures/queue/ViewAllTrackQueueAction;->context:Landroid/content/Context;
return-void
.end method