NotificationsApiServiceBuilder.smali

.class public Ltr/com/hurriyet/androidsdk/connection/NotificationsApiServiceBuilder;
.super Ljava/lang/Object;
.source "NotificationsApiServiceBuilder.java"


# static fields
.field private static retrofit:Lretrofit2/Retrofit; = null

.field public static versionCode:I = 0x0

.field public static versionName:Ljava/lang/String; = ""


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

    return-void
.end method

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

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

    return-void
.end method

.method private static buildRetrofit()Lretrofit2/Retrofit;
    .registers 3

    .line 48
    new-instance v0, Lcom/google/gson/GsonBuilder;

    invoke-direct {v0}, Lcom/google/gson/GsonBuilder;-><init>()V

    .line 49
    invoke-virtual {v0}, Lcom/google/gson/GsonBuilder;->setLenient()Lcom/google/gson/GsonBuilder;

    move-result-object v0

    .line 50
    invoke-virtual {v0}, Lcom/google/gson/GsonBuilder;->create()Lcom/google/gson/Gson;

    move-result-object v0

    .line 52
    new-instance v1, Lretrofit2/Retrofit$Builder;

    invoke-direct {v1}, Lretrofit2/Retrofit$Builder;-><init>()V

    sget-object v2, Ltr/com/hurriyet/androidsdk/utils/HurriyetSdkConstants;->BASE_PUSH_API_URL:Ljava/lang/String;

    invoke-virtual {v1, v2}, Lretrofit2/Retrofit$Builder;->baseUrl(Ljava/lang/String;)Lretrofit2/Retrofit$Builder;

    move-result-object v1

    .line 53
    invoke-static {v0}, Lretrofit2/converter/gson/GsonConverterFactory;->create(Lcom/google/gson/Gson;)Lretrofit2/converter/gson/GsonConverterFactory;

    move-result-object v0

    invoke-virtual {v1, v0}, Lretrofit2/Retrofit$Builder;->addConverterFactory(Lretrofit2/Converter$Factory;)Lretrofit2/Retrofit$Builder;

    move-result-object v0

    .line 54
    invoke-static {}, Ltr/com/hurriyet/androidsdk/connection/NotificationsApiServiceBuilder;->getUnsafeOkHttpClient()Lokhttp3/OkHttpClient;

    move-result-object v1

    invoke-virtual {v0, v1}, Lretrofit2/Retrofit$Builder;->client(Lokhttp3/OkHttpClient;)Lretrofit2/Retrofit$Builder;

    move-result-object v0

    .line 56
    invoke-virtual {v0}, Lretrofit2/Retrofit$Builder;->build()Lretrofit2/Retrofit;

    move-result-object v0

    return-object v0
.end method

.method public static createService()Ltr/com/hurriyet/androidsdk/connection/service/NotificationsApiService;
    .registers 2

    .line 42
    sget-object v0, Ltr/com/hurriyet/androidsdk/connection/NotificationsApiServiceBuilder;->retrofit:Lretrofit2/Retrofit;

    if-nez v0, :cond_a

    .line 43
    invoke-static {}, Ltr/com/hurriyet/androidsdk/connection/NotificationsApiServiceBuilder;->buildRetrofit()Lretrofit2/Retrofit;

    move-result-object v0

    sput-object v0, Ltr/com/hurriyet/androidsdk/connection/NotificationsApiServiceBuilder;->retrofit:Lretrofit2/Retrofit;

    .line 44
    :cond_a
    sget-object v0, Ltr/com/hurriyet/androidsdk/connection/NotificationsApiServiceBuilder;->retrofit:Lretrofit2/Retrofit;

    const-class v1, Ltr/com/hurriyet/androidsdk/connection/service/NotificationsApiService;

    invoke-virtual {v0, v1}, Lretrofit2/Retrofit;->create(Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ltr/com/hurriyet/androidsdk/connection/service/NotificationsApiService;

    return-object v0
.end method

.method private static getSafeOkHttpClient()Lokhttp3/OkHttpClient;
    .registers 5

    .line 60
    new-instance v0, Ljava/io/File;

    sget-object v1, Ltr/com/hurriyet/androidsdk/HurriyetSDK;->CONTEXT:Landroid/content/Context;

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

    move-result-object v1

    const-string v2, "hurriyetsdkresponses"

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

    .line 61
    new-instance v1, Lokhttp3/Cache;

    const-wide/32 v2, 0xa00000

    invoke-direct {v1, v0, v2, v3}, Lokhttp3/Cache;-><init>(Ljava/io/File;J)V

    .line 62
    new-instance v0, Ltr/com/hurriyet/androidsdk/utils/CacheInterceptor;

    invoke-direct {v0}, Ltr/com/hurriyet/androidsdk/utils/CacheInterceptor;-><init>()V

    .line 64
    new-instance v2, Lokhttp3/OkHttpClient$Builder;

    invoke-direct {v2}, Lokhttp3/OkHttpClient$Builder;-><init>()V

    .line 65
    invoke-virtual {v2, v0}, Lokhttp3/OkHttpClient$Builder;->addNetworkInterceptor(Lokhttp3/Interceptor;)Lokhttp3/OkHttpClient$Builder;

    move-result-object v2

    .line 66
    invoke-virtual {v2, v0}, Lokhttp3/OkHttpClient$Builder;->addInterceptor(Lokhttp3/Interceptor;)Lokhttp3/OkHttpClient$Builder;

    move-result-object v0

    new-instance v2, Ltr/com/hurriyet/androidsdk/connection/NotificationsApiServiceBuilder$1;

    invoke-direct {v2}, Ltr/com/hurriyet/androidsdk/connection/NotificationsApiServiceBuilder$1;-><init>()V

    .line 67
    invoke-virtual {v0, v2}, Lokhttp3/OkHttpClient$Builder;->addInterceptor(Lokhttp3/Interceptor;)Lokhttp3/OkHttpClient$Builder;

    move-result-object v0

    sget-object v2, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;

    const-wide/16 v3, 0x5a

    .line 78
    invoke-virtual {v0, v3, v4, v2}, Lokhttp3/OkHttpClient$Builder;->readTimeout(JLjava/util/concurrent/TimeUnit;)Lokhttp3/OkHttpClient$Builder;

    move-result-object v0

    sget-object v2, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;

    .line 79
    invoke-virtual {v0, v3, v4, v2}, Lokhttp3/OkHttpClient$Builder;->connectTimeout(JLjava/util/concurrent/TimeUnit;)Lokhttp3/OkHttpClient$Builder;

    move-result-object v0

    .line 80
    invoke-virtual {v0, v1}, Lokhttp3/OkHttpClient$Builder;->cache(Lokhttp3/Cache;)Lokhttp3/OkHttpClient$Builder;

    move-result-object v0

    .line 81
    invoke-virtual {v0}, Lokhttp3/OkHttpClient$Builder;->build()Lokhttp3/OkHttpClient;

    move-result-object v0

    return-object v0
.end method

.method private static getUnsafeOkHttpClient()Lokhttp3/OkHttpClient;
    .registers 5

    const/4 v0, 0x1

    :try_start_1
    new-array v1, v0, [Ljavax/net/ssl/TrustManager;

    .line 87
    new-instance v2, Ltr/com/hurriyet/androidsdk/connection/NotificationsApiServiceBuilder$2;

    invoke-direct {v2}, Ltr/com/hurriyet/androidsdk/connection/NotificationsApiServiceBuilder$2;-><init>()V

    const/4 v3, 0x0

    aput-object v2, v1, v3

    .line 106
    invoke-static {}, Ljavax/net/ssl/TrustManagerFactory;->getDefaultAlgorithm()Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Ljavax/net/ssl/TrustManagerFactory;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;

    move-result-object v1

    const/4 v2, 0x0

    .line 108
    move-object v4, v2

    check-cast v4, Ljava/security/KeyStore;

    invoke-virtual {v1, v4}, Ljavax/net/ssl/TrustManagerFactory;->init(Ljava/security/KeyStore;)V

    .line 109
    invoke-virtual {v1}, Ljavax/net/ssl/TrustManagerFactory;->getTrustManagers()[Ljavax/net/ssl/TrustManager;

    move-result-object v1

    .line 111
    array-length v4, v1

    if-ne v4, v0, :cond_25

    aget-object v4, v1, v3

    instance-of v4, v4, Ljavax/net/ssl/X509TrustManager;

    .line 115
    :cond_25
    aget-object v1, v1, v3

    check-cast v1, Ljavax/net/ssl/X509TrustManager;

    const-string v4, "SSL"

    .line 116
    invoke-static {v4}, Ljavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;

    move-result-object v4

    new-array v0, v0, [Ljavax/net/ssl/TrustManager;

    aput-object v1, v0, v3

    .line 117
    invoke-virtual {v4, v2, v0, v2}, Ljavax/net/ssl/SSLContext;->init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V

    .line 118
    invoke-virtual {v4}, Ljavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory;

    move-result-object v0

    .line 127
    new-instance v2, Lokhttp3/OkHttpClient$Builder;

    invoke-direct {v2}, Lokhttp3/OkHttpClient$Builder;-><init>()V

    .line 128
    invoke-virtual {v2, v0, v1}, Lokhttp3/OkHttpClient$Builder;->sslSocketFactory(Ljavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/X509TrustManager;)Lokhttp3/OkHttpClient$Builder;

    .line 129
    sget-object v0, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;

    const-wide/16 v3, 0x5a

    invoke-virtual {v2, v3, v4, v0}, Lokhttp3/OkHttpClient$Builder;->readTimeout(JLjava/util/concurrent/TimeUnit;)Lokhttp3/OkHttpClient$Builder;

    .line 130
    sget-object v0, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;

    invoke-virtual {v2, v3, v4, v0}, Lokhttp3/OkHttpClient$Builder;->connectTimeout(JLjava/util/concurrent/TimeUnit;)Lokhttp3/OkHttpClient$Builder;

    .line 131
    new-instance v0, Ltr/com/hurriyet/androidsdk/connection/NotificationsApiServiceBuilder$3;

    invoke-direct {v0}, Ltr/com/hurriyet/androidsdk/connection/NotificationsApiServiceBuilder$3;-><init>()V

    invoke-virtual {v2, v0}, Lokhttp3/OkHttpClient$Builder;->hostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)Lokhttp3/OkHttpClient$Builder;

    .line 138
    invoke-virtual {v2}, Lokhttp3/OkHttpClient$Builder;->build()Lokhttp3/OkHttpClient;

    move-result-object v0
    :try_end_5a
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_5a} :catch_5b

    return-object v0

    :catch_5b
    move-exception v0

    .line 141
    new-instance v1, Ljava/lang/RuntimeException;

    invoke-direct {v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V

    throw v1
.end method