GcmScheduler.smali

.class public Landroidx/work/impl/background/gcm/GcmScheduler;
.super Ljava/lang/Object;

# interfaces
.implements Landroidx/work/impl/Scheduler;


# annotations
.annotation build Landroidx/annotation/Keep;
.end annotation


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


# instance fields
.field private final mNetworkManager:Lcom/google/android/gms/gcm/GcmNetworkManager;

.field private final mTaskConverter:Landroidx/work/impl/background/gcm/GcmTaskConverter;


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

    const-string v0, "GcmScheduler"

    invoke-static {v0}, Landroidx/work/Logger;->f(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    sput-object v0, Landroidx/work/impl/background/gcm/GcmScheduler;->TAG:Ljava/lang/String;

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;)V
    .registers 3

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

    invoke-static {}, Lcom/google/android/gms/common/GoogleApiAvailability;->getInstance()Lcom/google/android/gms/common/GoogleApiAvailability;

    move-result-object v0

    invoke-virtual {v0, p1}, Lcom/google/android/gms/common/GoogleApiAvailability;->isGooglePlayServicesAvailable(Landroid/content/Context;)I

    move-result v0

    if-nez v0, :cond_f

    const/4 v0, 0x1

    goto :goto_10

    :cond_f
    const/4 v0, 0x0

    :goto_10
    if-eqz v0, :cond_20

    invoke-static {p1}, Lcom/google/android/gms/gcm/GcmNetworkManager;->b(Landroid/content/Context;)Lcom/google/android/gms/gcm/GcmNetworkManager;

    move-result-object p1

    iput-object p1, p0, Landroidx/work/impl/background/gcm/GcmScheduler;->mNetworkManager:Lcom/google/android/gms/gcm/GcmNetworkManager;

    new-instance p1, Landroidx/work/impl/background/gcm/GcmTaskConverter;

    invoke-direct {p1}, Landroidx/work/impl/background/gcm/GcmTaskConverter;-><init>()V

    iput-object p1, p0, Landroidx/work/impl/background/gcm/GcmScheduler;->mTaskConverter:Landroidx/work/impl/background/gcm/GcmTaskConverter;

    return-void

    :cond_20
    new-instance p1, Ljava/lang/IllegalStateException;

    const-string v0, "Google Play Services not available"

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

    throw p1
.end method


# virtual methods
.method public cancel(Ljava/lang/String;)V
    .registers 7

    invoke-static {}, Landroidx/work/Logger;->c()Landroidx/work/Logger;

    move-result-object v0

    sget-object v1, Landroidx/work/impl/background/gcm/GcmScheduler;->TAG:Ljava/lang/String;

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Object;

    const/4 v3, 0x0

    aput-object p1, v2, v3

    const-string v4, "Cancelling %s"

    invoke-static {v4, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    new-array v3, v3, [Ljava/lang/Throwable;

    invoke-virtual {v0, v1, v2, v3}, Landroidx/work/Logger;->a(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V

    iget-object v0, p0, Landroidx/work/impl/background/gcm/GcmScheduler;->mNetworkManager:Lcom/google/android/gms/gcm/GcmNetworkManager;

    const-class v1, Landroidx/work/impl/background/gcm/WorkManagerGcmService;

    invoke-virtual {v0, p1, v1}, Lcom/google/android/gms/gcm/GcmNetworkManager;->a(Ljava/lang/String;Ljava/lang/Class;)V

    return-void
.end method

.method public varargs schedule([Landroidx/work/impl/model/WorkSpec;)V
    .registers 10

    array-length v0, p1

    const/4 v1, 0x0

    const/4 v2, 0x0

    :goto_3
    if-ge v2, v0, :cond_2e

    aget-object v3, p1, v2

    iget-object v4, p0, Landroidx/work/impl/background/gcm/GcmScheduler;->mTaskConverter:Landroidx/work/impl/background/gcm/GcmTaskConverter;

    invoke-virtual {v4, v3}, Landroidx/work/impl/background/gcm/GcmTaskConverter;->b(Landroidx/work/impl/model/WorkSpec;)Lcom/google/android/gms/gcm/OneoffTask;

    move-result-object v4

    invoke-static {}, Landroidx/work/Logger;->c()Landroidx/work/Logger;

    move-result-object v5

    sget-object v6, Landroidx/work/impl/background/gcm/GcmScheduler;->TAG:Ljava/lang/String;

    const/4 v7, 0x2

    new-array v7, v7, [Ljava/lang/Object;

    aput-object v3, v7, v1

    const/4 v3, 0x1

    aput-object v4, v7, v3

    const-string v3, "Scheduling %s with %s"

    invoke-static {v3, v7}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    new-array v7, v1, [Ljava/lang/Throwable;

    invoke-virtual {v5, v6, v3, v7}, Landroidx/work/Logger;->a(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Throwable;)V

    iget-object v3, p0, Landroidx/work/impl/background/gcm/GcmScheduler;->mNetworkManager:Lcom/google/android/gms/gcm/GcmNetworkManager;

    invoke-virtual {v3, v4}, Lcom/google/android/gms/gcm/GcmNetworkManager;->c(Lcom/google/android/gms/gcm/Task;)V

    add-int/lit8 v2, v2, 0x1

    goto :goto_3

    :cond_2e
    return-void
.end method