CollectionTimeline.smali

.class public Lcom/twitter/sdk/android/tweetui/CollectionTimeline;
.super Lcom/twitter/sdk/android/tweetui/BaseTimeline;
.source "CollectionTimeline.java"

# interfaces
.implements Lcom/twitter/sdk/android/tweetui/Timeline;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/twitter/sdk/android/tweetui/CollectionTimeline$Builder;,
        Lcom/twitter/sdk/android/tweetui/CollectionTimeline$CollectionCallback;
    }
.end annotation

.annotation system Ldalvik/annotation/Signature;
    value = {
        "Lcom/twitter/sdk/android/tweetui/BaseTimeline;",
        "Lcom/twitter/sdk/android/tweetui/Timeline<",
        "Lcom/twitter/sdk/android/core/models/Tweet;",
        ">;"
    }
.end annotation


# static fields
.field static final COLLECTION_PREFIX:Ljava/lang/String; = "custom-"

.field private static final SCRIBE_SECTION:Ljava/lang/String; = "collection"


# instance fields
.field final collectionIdentifier:Ljava/lang/String;

.field final maxItemsPerRequest:Ljava/lang/Integer;


# direct methods
.method constructor <init>(Lcom/twitter/sdk/android/tweetui/TweetUi;Ljava/lang/Long;Ljava/lang/Integer;)V
    .registers 6

    .line 49
    invoke-direct {p0, p1}, Lcom/twitter/sdk/android/tweetui/BaseTimeline;-><init>(Lcom/twitter/sdk/android/tweetui/TweetUi;)V

    if-nez p2, :cond_9

    const/4 p1, 0x0

    .line 52
    iput-object p1, p0, Lcom/twitter/sdk/android/tweetui/CollectionTimeline;->collectionIdentifier:Ljava/lang/String;

    goto :goto_24

    .line 54
    :cond_9
    new-instance p1, Ljava/lang/StringBuilder;

    invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v0, "custom-"

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p2}, Ljava/lang/Long;->longValue()J

    move-result-wide v0

    invoke-static {v0, v1}, Ljava/lang/Long;->toString(J)Ljava/lang/String;

    move-result-object p2

    invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    iput-object p1, p0, Lcom/twitter/sdk/android/tweetui/CollectionTimeline;->collectionIdentifier:Ljava/lang/String;

    .line 56
    :goto_24
    iput-object p3, p0, Lcom/twitter/sdk/android/tweetui/CollectionTimeline;->maxItemsPerRequest:Ljava/lang/Integer;

    return-void
.end method

.method static getOrderedTweets(Lcom/twitter/sdk/android/core/internal/TwitterCollection;)Ljava/util/List;
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/twitter/sdk/android/core/internal/TwitterCollection;",
            ")",
            "Ljava/util/List<",
            "Lcom/twitter/sdk/android/core/models/Tweet;",
            ">;"
        }
    .end annotation

    if-eqz p0, :cond_95

    .line 137
    iget-object v0, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection;->contents:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Content;

    if-eqz v0, :cond_95

    iget-object v0, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection;->contents:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Content;

    iget-object v0, v0, Lcom/twitter/sdk/android/core/internal/TwitterCollection$Content;->tweetMap:Ljava/util/Map;

    if-eqz v0, :cond_95

    iget-object v0, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection;->contents:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Content;

    iget-object v0, v0, Lcom/twitter/sdk/android/core/internal/TwitterCollection$Content;->userMap:Ljava/util/Map;

    if-eqz v0, :cond_95

    iget-object v0, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection;->metadata:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata;

    if-eqz v0, :cond_95

    iget-object v0, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection;->metadata:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata;

    iget-object v0, v0, Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata;->timelineItems:Ljava/util/List;

    if-eqz v0, :cond_95

    iget-object v0, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection;->metadata:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata;

    iget-object v0, v0, Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata;->position:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata$Position;

    if-nez v0, :cond_23

    goto :goto_95

    .line 143
    :cond_23
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    .line 144
    new-instance v1, Ljava/util/HashMap;

    invoke-direct {v1}, Ljava/util/HashMap;-><init>()V

    .line 145
    iget-object v2, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection;->contents:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Content;

    iget-object v2, v2, Lcom/twitter/sdk/android/core/internal/TwitterCollection$Content;->tweetMap:Ljava/util/Map;

    invoke-interface {v2}, Ljava/util/Map;->values()Ljava/util/Collection;

    move-result-object v2

    invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;

    move-result-object v2

    :goto_39
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v3

    if-eqz v3, :cond_72

    invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Lcom/twitter/sdk/android/core/models/Tweet;

    .line 147
    iget-object v4, v3, Lcom/twitter/sdk/android/core/models/Tweet;->user:Lcom/twitter/sdk/android/core/models/User;

    iget-wide v4, v4, Lcom/twitter/sdk/android/core/models/User;->id:J

    invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v4

    .line 149
    iget-object v5, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection;->contents:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Content;

    iget-object v5, v5, Lcom/twitter/sdk/android/core/internal/TwitterCollection$Content;->userMap:Ljava/util/Map;

    invoke-interface {v5, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Lcom/twitter/sdk/android/core/models/User;

    .line 151
    new-instance v5, Lcom/twitter/sdk/android/core/models/TweetBuilder;

    invoke-direct {v5}, Lcom/twitter/sdk/android/core/models/TweetBuilder;-><init>()V

    invoke-virtual {v5, v3}, Lcom/twitter/sdk/android/core/models/TweetBuilder;->copy(Lcom/twitter/sdk/android/core/models/Tweet;)Lcom/twitter/sdk/android/core/models/TweetBuilder;

    move-result-object v3

    invoke-virtual {v3, v4}, Lcom/twitter/sdk/android/core/models/TweetBuilder;->setUser(Lcom/twitter/sdk/android/core/models/User;)Lcom/twitter/sdk/android/core/models/TweetBuilder;

    move-result-object v3

    invoke-virtual {v3}, Lcom/twitter/sdk/android/core/models/TweetBuilder;->build()Lcom/twitter/sdk/android/core/models/Tweet;

    move-result-object v3

    .line 152
    iget-wide v4, v3, Lcom/twitter/sdk/android/core/models/Tweet;->id:J

    invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v4

    invoke-interface {v1, v4, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    goto :goto_39

    .line 154
    :cond_72
    iget-object p0, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection;->metadata:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata;

    iget-object p0, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata;->timelineItems:Ljava/util/List;

    invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object p0

    :goto_7a
    invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_94

    invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/twitter/sdk/android/core/internal/TwitterCollection$TimelineItem;

    .line 155
    iget-object v2, v2, Lcom/twitter/sdk/android/core/internal/TwitterCollection$TimelineItem;->tweetItem:Lcom/twitter/sdk/android/core/internal/TwitterCollection$TimelineItem$TweetItem;

    iget-object v2, v2, Lcom/twitter/sdk/android/core/internal/TwitterCollection$TimelineItem$TweetItem;->id:Ljava/lang/Long;

    invoke-interface {v1, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/twitter/sdk/android/core/models/Tweet;

    .line 156
    invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    goto :goto_7a

    :cond_94
    return-object v0

    .line 141
    :cond_95
    :goto_95
    invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;

    move-result-object p0

    return-object p0
.end method

.method static getTimelineCursor(Lcom/twitter/sdk/android/core/internal/TwitterCollection;)Lcom/twitter/sdk/android/tweetui/TimelineCursor;
    .registers 3

    if-eqz p0, :cond_1f

    .line 162
    iget-object v0, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection;->metadata:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata;

    if-eqz v0, :cond_1f

    iget-object v0, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection;->metadata:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata;

    iget-object v0, v0, Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata;->position:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata$Position;

    if-nez v0, :cond_d

    goto :goto_1f

    .line 166
    :cond_d
    iget-object v0, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection;->metadata:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata;

    iget-object v0, v0, Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata;->position:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata$Position;

    iget-object v0, v0, Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata$Position;->minPosition:Ljava/lang/Long;

    .line 167
    iget-object p0, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection;->metadata:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata;

    iget-object p0, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata;->position:Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata$Position;

    iget-object p0, p0, Lcom/twitter/sdk/android/core/internal/TwitterCollection$Metadata$Position;->maxPosition:Ljava/lang/Long;

    .line 168
    new-instance v1, Lcom/twitter/sdk/android/tweetui/TimelineCursor;

    invoke-direct {v1, v0, p0}, Lcom/twitter/sdk/android/tweetui/TimelineCursor;-><init>(Ljava/lang/Long;Ljava/lang/Long;)V

    return-object v1

    :cond_1f
    :goto_1f
    const/4 p0, 0x0

    return-object p0
.end method


# virtual methods
.method createCollectionRequest(Ljava/lang/Long;Ljava/lang/Long;Lcom/twitter/sdk/android/core/Callback;)Lcom/twitter/sdk/android/core/Callback;
    .registers 12
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Long;",
            "Ljava/lang/Long;",
            "Lcom/twitter/sdk/android/core/Callback<",
            "Lcom/twitter/sdk/android/tweetui/TimelineResult<",
            "Lcom/twitter/sdk/android/core/models/Tweet;",
            ">;>;)",
            "Lcom/twitter/sdk/android/core/Callback<",
            "Lcom/twitter/sdk/android/core/TwitterApiClient;",
            ">;"
        }
    .end annotation

    .line 87
    new-instance v7, Lcom/twitter/sdk/android/tweetui/CollectionTimeline$1;

    invoke-static {}, Lio/fabric/sdk/android/Fabric;->getLogger()Lio/fabric/sdk/android/Logger;

    move-result-object v3

    move-object v0, v7

    move-object v1, p0

    move-object v2, p3

    move-object v4, p2

    move-object v5, p1

    move-object v6, p3

    invoke-direct/range {v0 .. v6}, Lcom/twitter/sdk/android/tweetui/CollectionTimeline$1;-><init>(Lcom/twitter/sdk/android/tweetui/CollectionTimeline;Lcom/twitter/sdk/android/core/Callback;Lio/fabric/sdk/android/Logger;Ljava/lang/Long;Ljava/lang/Long;Lcom/twitter/sdk/android/core/Callback;)V

    return-object v7
.end method

.method getTimelineType()Ljava/lang/String;
    .registers 2

    const-string v0, "collection"

    return-object v0
.end method

.method public next(Ljava/lang/Long;Lcom/twitter/sdk/android/core/Callback;)V
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Long;",
            "Lcom/twitter/sdk/android/core/Callback<",
            "Lcom/twitter/sdk/android/tweetui/TimelineResult<",
            "Lcom/twitter/sdk/android/core/models/Tweet;",
            ">;>;)V"
        }
    .end annotation

    const/4 v0, 0x0

    .line 67
    invoke-virtual {p0, p1, v0, p2}, Lcom/twitter/sdk/android/tweetui/CollectionTimeline;->createCollectionRequest(Ljava/lang/Long;Ljava/lang/Long;Lcom/twitter/sdk/android/core/Callback;)Lcom/twitter/sdk/android/core/Callback;

    move-result-object p1

    invoke-virtual {p0, p1}, Lcom/twitter/sdk/android/tweetui/CollectionTimeline;->addRequest(Lcom/twitter/sdk/android/core/Callback;)V

    return-void
.end method

.method public previous(Ljava/lang/Long;Lcom/twitter/sdk/android/core/Callback;)V
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Long;",
            "Lcom/twitter/sdk/android/core/Callback<",
            "Lcom/twitter/sdk/android/tweetui/TimelineResult<",
            "Lcom/twitter/sdk/android/core/models/Tweet;",
            ">;>;)V"
        }
    .end annotation

    const/4 v0, 0x0

    .line 77
    invoke-virtual {p0, v0, p1, p2}, Lcom/twitter/sdk/android/tweetui/CollectionTimeline;->createCollectionRequest(Ljava/lang/Long;Ljava/lang/Long;Lcom/twitter/sdk/android/core/Callback;)Lcom/twitter/sdk/android/core/Callback;

    move-result-object p1

    invoke-virtual {p0, p1}, Lcom/twitter/sdk/android/tweetui/CollectionTimeline;->addRequest(Lcom/twitter/sdk/android/core/Callback;)V

    return-void
.end method