ReportEventsSessionManager.smali

.class public Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;
.super Ljava/lang/Object;
.source "ReportEventsSessionManager.java"


# static fields
.field private static final TAG:Ljava/lang/String;


# instance fields
.field private mDownloadedSessionInfo:Lcom/taboola/android/global_components/eventsmanager/SessionInfo;

.field public mGetSessionListenersList:Ljava/util/ArrayList;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/ArrayList<",
            "Lcom/taboola/android/global_components/eventsmanager/session/GetSessionListener;",
            ">;"
        }
    .end annotation
.end field

.field private mIsDownloadingSession:Z

.field private mNetworkManager:Lcom/taboola/android/global_components/network/NetworkManager;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .line 20
    const-class v0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;

    invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->TAG:Ljava/lang/String;

    return-void
.end method

.method public constructor <init>(Lcom/taboola/android/global_components/network/NetworkManager;)V
    .registers 2

    .line 27
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 28
    iput-object p1, p0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->mNetworkManager:Lcom/taboola/android/global_components/network/NetworkManager;

    .line 29
    new-instance p1, Ljava/util/ArrayList;

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

    iput-object p1, p0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->mGetSessionListenersList:Ljava/util/ArrayList;

    const/4 p1, 0x0

    .line 30
    iput-boolean p1, p0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->mIsDownloadingSession:Z

    return-void
.end method

.method static synthetic access$000()Ljava/lang/String;
    .registers 1

    .line 19
    sget-object v0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->TAG:Ljava/lang/String;

    return-object v0
.end method

.method static synthetic access$100(Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;)Lcom/taboola/android/global_components/eventsmanager/SessionInfo;
    .registers 1

    .line 19
    iget-object p0, p0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->mDownloadedSessionInfo:Lcom/taboola/android/global_components/eventsmanager/SessionInfo;

    return-object p0
.end method

.method static synthetic access$102(Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;Lcom/taboola/android/global_components/eventsmanager/SessionInfo;)Lcom/taboola/android/global_components/eventsmanager/SessionInfo;
    .registers 2

    .line 19
    iput-object p1, p0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->mDownloadedSessionInfo:Lcom/taboola/android/global_components/eventsmanager/SessionInfo;

    return-object p1
.end method

.method static synthetic access$202(Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;Z)Z
    .registers 2

    .line 19
    iput-boolean p1, p0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->mIsDownloadingSession:Z

    return p1
.end method

.method private getSessionFromServer(Lcom/taboola/android/PublisherInfo;Lcom/taboola/android/global_components/eventsmanager/session/GetSessionListener;)V
    .registers 4

    .line 53
    iget-object v0, p0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->mGetSessionListenersList:Ljava/util/ArrayList;

    invoke-virtual {v0, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 54
    iget-boolean p2, p0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->mIsDownloadingSession:Z

    if-eqz p2, :cond_11

    .line 55
    sget-object p1, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->TAG:Ljava/lang/String;

    const-string p2, "getSessionFromServer | Currently downloading, adding listener."

    invoke-static {p1, p2}, Lcom/taboola/android/utils/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_29

    .line 57
    :cond_11
    sget-object p2, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->TAG:Ljava/lang/String;

    const-string v0, "getSessionFromServer | Fetching session info from server..."

    invoke-static {p2, v0}, Lcom/taboola/android/utils/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V

    const/4 p2, 0x1

    .line 58
    iput-boolean p2, p0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->mIsDownloadingSession:Z

    .line 59
    iget-object p2, p0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->mNetworkManager:Lcom/taboola/android/global_components/network/NetworkManager;

    invoke-virtual {p2}, Lcom/taboola/android/global_components/network/NetworkManager;->getEventsManagerHandler()Lcom/taboola/android/global_components/network/handlers/EventsManagerHandler;

    move-result-object p2

    new-instance v0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager$1;

    invoke-direct {v0, p0}, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager$1;-><init>(Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;)V

    invoke-virtual {p2, p1, v0}, Lcom/taboola/android/global_components/network/handlers/EventsManagerHandler;->getSessionInfo(Lcom/taboola/android/PublisherInfo;Lcom/taboola/lightnetwork/protocols/http/HttpManager$NetworkResponse;)V

    :goto_29
    return-void
.end method


# virtual methods
.method public declared-synchronized getSession(Lcom/taboola/android/PublisherInfo;Lcom/taboola/android/global_components/eventsmanager/SessionInfo;Lcom/taboola/android/global_components/eventsmanager/session/GetSessionListener;)V
    .registers 5

    monitor-enter p0

    if-eqz p2, :cond_15

    .line 35
    :try_start_3
    invoke-virtual {p2}, Lcom/taboola/android/global_components/eventsmanager/SessionInfo;->isValid()Z

    move-result v0

    if-eqz v0, :cond_15

    .line 36
    sget-object p1, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->TAG:Ljava/lang/String;

    const-string v0, "getSession | Using calling session info in memory."

    invoke-static {p1, v0}, Lcom/taboola/android/utils/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 37
    invoke-interface {p3, p2}, Lcom/taboola/android/global_components/eventsmanager/session/GetSessionListener;->onSessionRetrieved(Lcom/taboola/android/global_components/eventsmanager/SessionInfo;)V
    :try_end_13
    .catchall {:try_start_3 .. :try_end_13} :catchall_34

    .line 38
    monitor-exit p0

    return-void

    .line 42
    :cond_15
    :try_start_15
    iget-object p2, p0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->mDownloadedSessionInfo:Lcom/taboola/android/global_components/eventsmanager/SessionInfo;

    if-eqz p2, :cond_2f

    iget-object p2, p0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->mDownloadedSessionInfo:Lcom/taboola/android/global_components/eventsmanager/SessionInfo;

    invoke-virtual {p2}, Lcom/taboola/android/global_components/eventsmanager/SessionInfo;->isValid()Z

    move-result p2

    if-eqz p2, :cond_2f

    .line 43
    sget-object p1, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->TAG:Ljava/lang/String;

    const-string p2, "getSession | Using downloaded session info (existing session in memory)."

    invoke-static {p1, p2}, Lcom/taboola/android/utils/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 44
    iget-object p1, p0, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->mDownloadedSessionInfo:Lcom/taboola/android/global_components/eventsmanager/SessionInfo;

    invoke-interface {p3, p1}, Lcom/taboola/android/global_components/eventsmanager/session/GetSessionListener;->onSessionRetrieved(Lcom/taboola/android/global_components/eventsmanager/SessionInfo;)V
    :try_end_2d
    .catchall {:try_start_15 .. :try_end_2d} :catchall_34

    .line 45
    monitor-exit p0

    return-void

    .line 49
    :cond_2f
    :try_start_2f
    invoke-direct {p0, p1, p3}, Lcom/taboola/android/global_components/eventsmanager/session/ReportEventsSessionManager;->getSessionFromServer(Lcom/taboola/android/PublisherInfo;Lcom/taboola/android/global_components/eventsmanager/session/GetSessionListener;)V
    :try_end_32
    .catchall {:try_start_2f .. :try_end_32} :catchall_34

    .line 50
    monitor-exit p0

    return-void

    :catchall_34
    move-exception p1

    monitor-exit p0

    throw p1
.end method