Networking.smali

.class public Lcom/tradplus/ads/network/Networking;
.super Ljava/lang/Object;


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

.field private static volatile b:Lcom/tradplus/ads/network/FSMoPubRequestQueue;

.field private static volatile c:Ljava/lang/String;

.field private static volatile d:Lcom/tradplus/ads/network/MaxWidthImageLoader;

.field private static e:Z


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

    const-string v0, "http.agent"

    invoke-static {v0}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/tradplus/ads/network/Networking;->a:Ljava/lang/String;

    const/4 v0, 0x0

    sput-boolean v0, Lcom/tradplus/ads/network/Networking;->e:Z

    return-void
.end method

.method public constructor <init>()V
    .registers 1

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

    return-void
.end method

.method public static declared-synchronized clearForTesting()V
    .registers 2
    .annotation build Lcom/tradplus/ads/common/VisibleForTesting;
    .end annotation

    const-class v0, Lcom/tradplus/ads/network/Networking;

    monitor-enter v0

    const/4 v1, 0x0

    :try_start_4
    sput-object v1, Lcom/tradplus/ads/network/Networking;->b:Lcom/tradplus/ads/network/FSMoPubRequestQueue;

    sput-object v1, Lcom/tradplus/ads/network/Networking;->d:Lcom/tradplus/ads/network/MaxWidthImageLoader;

    sput-object v1, Lcom/tradplus/ads/network/Networking;->c:Ljava/lang/String;
    :try_end_a
    .catchall {:try_start_4 .. :try_end_a} :catchall_c

    monitor-exit v0

    return-void

    :catchall_c
    move-exception v1

    monitor-exit v0

    throw v1
.end method

.method public static getBaseUrlScheme()Ljava/lang/String;
    .registers 1

    const-string v0, "http"

    return-object v0
.end method

.method public static getCachedUserAgent()Ljava/lang/String;
    .registers 1

    sget-object v0, Lcom/tradplus/ads/network/Networking;->c:Ljava/lang/String;

    if-nez v0, :cond_6

    sget-object v0, Lcom/tradplus/ads/network/Networking;->a:Ljava/lang/String;

    :cond_6
    return-object v0
.end method

.method public static getImageLoader(Landroid/content/Context;)Lcom/tradplus/ads/volley/toolbox/ImageLoader;
    .registers 6

    sget-object v0, Lcom/tradplus/ads/network/Networking;->d:Lcom/tradplus/ads/network/MaxWidthImageLoader;

    if-nez v0, :cond_2a

    const-class v1, Lcom/tradplus/ads/network/Networking;

    monitor-enter v1

    :try_start_7
    sget-object v0, Lcom/tradplus/ads/network/Networking;->d:Lcom/tradplus/ads/network/MaxWidthImageLoader;

    if-nez v0, :cond_25

    invoke-static {p0}, Lcom/tradplus/ads/network/Networking;->getRequestQueue(Landroid/content/Context;)Lcom/tradplus/ads/network/FSMoPubRequestQueue;

    move-result-object v0

    invoke-static {p0}, Lcom/tradplus/ads/common/util/DeviceUtils;->memoryCacheSizeBytes(Landroid/content/Context;)I

    move-result v2

    new-instance v3, Lcom/tradplus/ads/network/Networking$1;

    invoke-direct {v3, v2}, Lcom/tradplus/ads/network/Networking$1;-><init>(I)V

    new-instance v2, Lcom/tradplus/ads/network/MaxWidthImageLoader;

    new-instance v4, Lcom/tradplus/ads/network/Networking$2;

    invoke-direct {v4, v3}, Lcom/tradplus/ads/network/Networking$2;-><init>(Landroid/util/LruCache;)V

    invoke-direct {v2, v0, p0, v4}, Lcom/tradplus/ads/network/MaxWidthImageLoader;-><init>(Lcom/tradplus/ads/volley/RequestQueue;Landroid/content/Context;Lcom/tradplus/ads/volley/toolbox/ImageLoader$ImageCache;)V

    sput-object v2, Lcom/tradplus/ads/network/Networking;->d:Lcom/tradplus/ads/network/MaxWidthImageLoader;

    move-object v0, v2

    :cond_25
    monitor-exit v1

    goto :goto_2a

    :catchall_27
    move-exception p0

    monitor-exit v1
    :try_end_29
    .catchall {:try_start_7 .. :try_end_29} :catchall_27

    throw p0

    :cond_2a
    :goto_2a
    return-object v0
.end method

.method public static getRequestQueue()Lcom/tradplus/ads/network/FSMoPubRequestQueue;
    .registers 1

    sget-object v0, Lcom/tradplus/ads/network/Networking;->b:Lcom/tradplus/ads/network/FSMoPubRequestQueue;

    return-object v0
.end method

.method public static getRequestQueue(Landroid/content/Context;)Lcom/tradplus/ads/network/FSMoPubRequestQueue;
    .registers 7

    sget-object v0, Lcom/tradplus/ads/network/Networking;->b:Lcom/tradplus/ads/network/FSMoPubRequestQueue;

    if-nez v0, :cond_7d

    const-class v1, Lcom/tradplus/ads/network/Networking;

    monitor-enter v1

    :try_start_7
    sget-object v0, Lcom/tradplus/ads/network/Networking;->b:Lcom/tradplus/ads/network/FSMoPubRequestQueue;

    if-nez v0, :cond_78

    invoke-static {p0}, Lcom/tradplus/ads/common/ClientMetadata;->getInstance(Landroid/content/Context;)Lcom/tradplus/ads/common/ClientMetadata;

    move-result-object v2

    new-instance v3, Lcom/tradplus/ads/network/PlayServicesUrlRewriter;

    invoke-virtual {v2}, Lcom/tradplus/ads/common/ClientMetadata;->getDeviceId()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v3, v2, p0}, Lcom/tradplus/ads/network/PlayServicesUrlRewriter;-><init>(Ljava/lang/String;Landroid/content/Context;)V

    const/16 v2, 0x2710

    invoke-static {v2}, Lcom/tradplus/ads/network/CustomSSLSocketFactory;->getDefault(I)Lcom/tradplus/ads/network/CustomSSLSocketFactory;

    move-result-object v2

    invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v4

    invoke-static {v4}, Lcom/tradplus/ads/network/Networking;->getUserAgent(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v4

    new-instance v5, Lcom/tradplus/ads/network/RequestQueueHttpStack;

    invoke-direct {v5, v4, v3, v2}, Lcom/tradplus/ads/network/RequestQueueHttpStack;-><init>(Ljava/lang/String;Lcom/tradplus/ads/volley/toolbox/HurlStack$UrlRewriter;Ljavax/net/ssl/SSLSocketFactory;)V

    new-instance v2, Lcom/tradplus/ads/volley/toolbox/BasicNetwork;

    invoke-direct {v2, v5}, Lcom/tradplus/ads/volley/toolbox/BasicNetwork;-><init>(Lcom/tradplus/ads/volley/toolbox/HttpStack;)V

    invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v3

    invoke-virtual {v3}, Landroid/content/Context;->getCacheDir()Ljava/io/File;

    move-result-object v3

    if-eqz v3, :cond_78

    new-instance v0, Ljava/io/File;

    new-instance v3, Ljava/lang/StringBuilder;

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

    invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object p0

    invoke-virtual {p0}, Landroid/content/Context;->getCacheDir()Ljava/io/File;

    move-result-object p0

    invoke-virtual {p0}, Ljava/io/File;->getPath()Ljava/lang/String;

    move-result-object p0

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

    sget-object p0, Ljava/io/File;->separator:Ljava/lang/String;

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

    const-string p0, "flute-volley-cache"

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

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

    move-result-object p0

    invoke-direct {v0, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    new-instance p0, Lcom/tradplus/ads/volley/toolbox/DiskBasedCache;

    const-wide/32 v3, 0xa00000

    invoke-static {v0, v3, v4}, Lcom/tradplus/ads/common/util/DeviceUtils;->diskCacheSizeBytes(Ljava/io/File;J)J

    move-result-wide v3

    long-to-int v4, v3

    invoke-direct {p0, v0, v4}, Lcom/tradplus/ads/volley/toolbox/DiskBasedCache;-><init>(Ljava/io/File;I)V

    new-instance v0, Lcom/tradplus/ads/network/FSMoPubRequestQueue;

    invoke-direct {v0, p0, v2}, Lcom/tradplus/ads/network/FSMoPubRequestQueue;-><init>(Lcom/tradplus/ads/volley/Cache;Lcom/tradplus/ads/volley/Network;)V

    sput-object v0, Lcom/tradplus/ads/network/Networking;->b:Lcom/tradplus/ads/network/FSMoPubRequestQueue;

    invoke-virtual {v0}, Lcom/tradplus/ads/volley/RequestQueue;->start()V

    :cond_78
    monitor-exit v1

    goto :goto_7d

    :catchall_7a
    move-exception p0

    monitor-exit v1
    :try_end_7c
    .catchall {:try_start_7 .. :try_end_7c} :catchall_7a

    throw p0

    :cond_7d
    :goto_7d
    return-object v0
.end method

.method public static getScheme()Ljava/lang/String;
    .registers 1

    invoke-static {}, Lcom/tradplus/ads/network/Networking;->useHttps()Z

    move-result v0

    if-eqz v0, :cond_9

    const-string v0, "https"

    goto :goto_b

    :cond_9
    const-string v0, "http"

    :goto_b
    return-object v0
.end method

.method public static getUserAgent(Landroid/content/Context;)Ljava/lang/String;
    .registers 1

    invoke-static {p0}, Lcom/tradplus/ads/common/Preconditions;->checkNotNull(Ljava/lang/Object;)V

    const-string p0, ""

    return-object p0
.end method

.method public static declared-synchronized setImageLoaderForTesting(Lcom/tradplus/ads/network/MaxWidthImageLoader;)V
    .registers 2
    .annotation build Lcom/tradplus/ads/common/VisibleForTesting;
    .end annotation

    const-class v0, Lcom/tradplus/ads/network/Networking;

    monitor-enter v0

    :try_start_3
    sput-object p0, Lcom/tradplus/ads/network/Networking;->d:Lcom/tradplus/ads/network/MaxWidthImageLoader;
    :try_end_5
    .catchall {:try_start_3 .. :try_end_5} :catchall_7

    monitor-exit v0

    return-void

    :catchall_7
    move-exception p0

    monitor-exit v0

    throw p0
.end method

.method public static declared-synchronized setRequestQueueForTesting(Lcom/tradplus/ads/network/FSMoPubRequestQueue;)V
    .registers 2
    .annotation build Lcom/tradplus/ads/common/VisibleForTesting;
    .end annotation

    const-class v0, Lcom/tradplus/ads/network/Networking;

    monitor-enter v0

    :try_start_3
    sput-object p0, Lcom/tradplus/ads/network/Networking;->b:Lcom/tradplus/ads/network/FSMoPubRequestQueue;
    :try_end_5
    .catchall {:try_start_3 .. :try_end_5} :catchall_7

    monitor-exit v0

    return-void

    :catchall_7
    move-exception p0

    monitor-exit v0

    throw p0
.end method

.method public static declared-synchronized setUserAgentForTesting(Ljava/lang/String;)V
    .registers 2
    .annotation build Lcom/tradplus/ads/common/VisibleForTesting;
    .end annotation

    const-class v0, Lcom/tradplus/ads/network/Networking;

    monitor-enter v0

    :try_start_3
    sput-object p0, Lcom/tradplus/ads/network/Networking;->c:Ljava/lang/String;
    :try_end_5
    .catchall {:try_start_3 .. :try_end_5} :catchall_7

    monitor-exit v0

    return-void

    :catchall_7
    move-exception p0

    monitor-exit v0

    throw p0
.end method

.method public static useHttps(Z)V
    .registers 1

    sput-boolean p0, Lcom/tradplus/ads/network/Networking;->e:Z

    return-void
.end method

.method public static useHttps()Z
    .registers 1

    sget-boolean v0, Lcom/tradplus/ads/network/Networking;->e:Z

    return v0
.end method