FirebaseMessagingService.smali

.class public Lcom/google/firebase/messaging/FirebaseMessagingService;
.super Lcom/google/firebase/iid/zzb;


# static fields
.field private static final bez:Ljava/util/Queue;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Queue",
            "<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
.end field


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

    new-instance v0, Ljava/util/ArrayDeque;

    const/16 v1, 0xa

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

    sput-object v0, Lcom/google/firebase/messaging/FirebaseMessagingService;->bez:Ljava/util/Queue;

    return-void
.end method

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

    invoke-direct {p0}, Lcom/google/firebase/iid/zzb;-><init>()V

    return-void
.end method

.method static m(Landroid/os/Bundle;)V
    .registers 4

    invoke-virtual {p0}, Landroid/os/Bundle;->keySet()Ljava/util/Set;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v1

    :cond_8
    :goto_8
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_22

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

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    if-eqz v0, :cond_8

    const-string v2, "google.c."

    invoke-virtual {v0, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_8

    invoke-interface {v1}, Ljava/util/Iterator;->remove()V

    goto :goto_8

    :cond_22
    return-void
.end method

.method static n(Landroid/os/Bundle;)Z
    .registers 3

    if-nez p0, :cond_4

    const/4 v0, 0x0

    :goto_3
    return v0

    :cond_4
    const-string v0, "1"

    const-string v1, "google.c.a.e"

    invoke-virtual {p0, v1}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    goto :goto_3
.end method


# virtual methods
.method public a(Lcom/google/firebase/messaging/RemoteMessage;)V
    .registers 2

    return-void
.end method

.method protected final l(Landroid/content/Intent;)Landroid/content/Intent;
    .registers 3

    .prologue
    .line 0
    invoke-static {}, Lcom/google/firebase/iid/o;->zF()Lcom/google/firebase/iid/o;

    move-result-object v0

    .line 1000
    iget-object v0, v0, Lcom/google/firebase/iid/o;->bdD:Ljava/util/Queue;

    invoke-interface {v0}, Ljava/util/Queue;->poll()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/content/Intent;

    .line 0
    return-object v0
.end method

.method public final m(Landroid/content/Intent;)V
    .registers 11

    .prologue
    const/4 v5, 0x3

    const/4 v3, -0x1

    const/4 v4, 0x1

    const/4 v2, 0x0

    .line 0
    invoke-virtual {p1}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v0

    if-nez v0, :cond_c

    const-string v0, ""

    :cond_c
    invoke-virtual {v0}, Ljava/lang/String;->hashCode()I

    move-result v1

    sparse-switch v1, :sswitch_data_1b4

    :cond_13
    move v0, v3

    :goto_14
    packed-switch v0, :pswitch_data_1be

    const-string v0, "Unknown intent action: "

    invoke-virtual {p1}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/String;->length()I

    move-result v2

    if-eqz v2, :cond_1a6

    invoke-virtual {v0, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    :cond_2a
    :goto_2a
    return-void

    :sswitch_2b
    const-string v1, "com.google.android.c2dm.intent.RECEIVE"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_13

    move v0, v2

    goto :goto_14

    :sswitch_35
    const-string v1, "com.google.firebase.messaging.NOTIFICATION_DISMISS"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_13

    move v0, v4

    goto :goto_14

    :pswitch_3f
    const-string v0, "google.message_id"

    invoke-virtual {p1, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_a3

    const/4 v0, 0x0

    invoke-static {v0}, Lcom/google/android/gms/tasks/Tasks;->forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task;

    move-result-object v0

    :goto_50
    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v6

    if-eqz v6, :cond_bf

    move v1, v2

    :goto_57
    if-nez v1, :cond_7d

    const-string v1, "message_type"

    invoke-virtual {p1, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    if-nez v1, :cond_63

    const-string v1, "gcm"

    :cond_63
    invoke-virtual {v1}, Ljava/lang/String;->hashCode()I

    move-result v6

    sparse-switch v6, :sswitch_data_1c6

    :cond_6a
    move v2, v3

    :goto_6b
    packed-switch v2, :pswitch_data_1d8

    const-string v2, "Received message with unknown type: "

    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/String;->length()I

    move-result v3

    if-eqz v3, :cond_18e

    invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    :cond_7d
    :goto_7d
    :pswitch_7d
    const-wide/16 v2, 0x1

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

    invoke-static {v0, v2, v3, v1}, Lcom/google/android/gms/tasks/Tasks;->await(Lcom/google/android/gms/tasks/Task;JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
    :try_end_84
    .catch Ljava/util/concurrent/ExecutionException; {:try_start_7f .. :try_end_84} :catch_85
    .catch Ljava/lang/InterruptedException; {:try_start_7f .. :try_end_84} :catch_1ad
    .catch Ljava/util/concurrent/TimeoutException; {:try_start_7f .. :try_end_84} :catch_1b0

    goto :goto_2a

    :catch_85
    move-exception v0

    :goto_86
    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/String;->length()I

    move-result v1

    add-int/lit8 v1, v1, 0x14

    new-instance v2, Ljava/lang/StringBuilder;

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

    const-string v1, "Message ack failed: "

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

    move-result-object v1

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

    goto :goto_2a

    :cond_a3
    new-instance v0, Landroid/os/Bundle;

    invoke-direct {v0}, Landroid/os/Bundle;-><init>()V

    const-string v6, "google.message_id"

    invoke-virtual {v0, v6, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V

    invoke-static {p0}, Lcom/google/firebase/iid/ah;->aK(Landroid/content/Context;)Lcom/google/firebase/iid/ah;

    move-result-object v6

    .line 3000
    new-instance v7, Lcom/google/firebase/iid/c;

    invoke-virtual {v6}, Lcom/google/firebase/iid/ah;->zzs()I

    move-result v8

    invoke-direct {v7, v8, v0}, Lcom/google/firebase/iid/c;-><init>(ILandroid/os/Bundle;)V

    invoke-virtual {v6, v7}, Lcom/google/firebase/iid/ah;->a(Lcom/google/firebase/iid/d;)Lcom/google/android/gms/tasks/Task;

    move-result-object v0

    goto :goto_50

    .line 0
    :cond_bf
    sget-object v6, Lcom/google/firebase/messaging/FirebaseMessagingService;->bez:Ljava/util/Queue;

    invoke-interface {v6, v1}, Ljava/util/Queue;->contains(Ljava/lang/Object;)Z

    move-result v6

    if-eqz v6, :cond_e7

    const-string v6, "FirebaseMessaging"

    invoke-static {v6, v5}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z

    move-result v6

    if-eqz v6, :cond_de

    const-string v6, "Received duplicate message: "

    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/String;->length()I

    move-result v7

    if-eqz v7, :cond_e1

    invoke-virtual {v6, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    :cond_de
    :goto_de
    move v1, v4

    goto/16 :goto_57

    :cond_e1
    new-instance v1, Ljava/lang/String;

    invoke-direct {v1, v6}, Ljava/lang/String;-><init>(Ljava/lang/String;)V

    goto :goto_de

    :cond_e7
    sget-object v6, Lcom/google/firebase/messaging/FirebaseMessagingService;->bez:Ljava/util/Queue;

    invoke-interface {v6}, Ljava/util/Queue;->size()I

    move-result v6

    const/16 v7, 0xa

    if-lt v6, v7, :cond_f6

    sget-object v6, Lcom/google/firebase/messaging/FirebaseMessagingService;->bez:Ljava/util/Queue;

    invoke-interface {v6}, Ljava/util/Queue;->remove()Ljava/lang/Object;

    :cond_f6
    sget-object v6, Lcom/google/firebase/messaging/FirebaseMessagingService;->bez:Ljava/util/Queue;

    invoke-interface {v6, v1}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z

    move v1, v2

    goto/16 :goto_57

    :sswitch_fe
    const-string v4, "gcm"

    invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_6a

    goto/16 :goto_6b

    :sswitch_108
    const-string v2, "deleted_messages"

    invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_6a

    move v2, v4

    goto/16 :goto_6b

    :sswitch_113
    const-string v2, "send_event"

    invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_6a

    const/4 v2, 0x2

    goto/16 :goto_6b

    :sswitch_11e
    const-string v2, "send_error"

    invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_6a

    move v2, v5

    goto/16 :goto_6b

    :pswitch_129
    invoke-virtual {p1}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;

    move-result-object v1

    invoke-static {v1}, Lcom/google/firebase/messaging/FirebaseMessagingService;->n(Landroid/os/Bundle;)Z

    move-result v1

    if-eqz v1, :cond_138

    .line 4000
    const-string v1, "_nr"

    invoke-static {v1, p1}, Lcom/google/firebase/messaging/f;->a(Ljava/lang/String;Landroid/content/Intent;)V

    .line 0
    :cond_138
    invoke-virtual {p1}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;

    move-result-object v1

    if-nez v1, :cond_143

    new-instance v1, Landroid/os/Bundle;

    invoke-direct {v1}, Landroid/os/Bundle;-><init>()V

    :cond_143
    const-string v2, "android.support.content.wakelockid"

    invoke-virtual {v1, v2}, Landroid/os/Bundle;->remove(Ljava/lang/String;)V

    invoke-static {v1}, Lcom/google/firebase/messaging/e;->o(Landroid/os/Bundle;)Z

    move-result v2

    if-eqz v2, :cond_163

    invoke-static {p0}, Lcom/google/firebase/messaging/e;->aL(Landroid/content/Context;)Lcom/google/firebase/messaging/e;

    move-result-object v2

    invoke-virtual {v2, v1}, Lcom/google/firebase/messaging/e;->q(Landroid/os/Bundle;)Z

    move-result v2

    if-nez v2, :cond_7d

    invoke-static {v1}, Lcom/google/firebase/messaging/FirebaseMessagingService;->n(Landroid/os/Bundle;)Z

    move-result v2

    if-eqz v2, :cond_163

    .line 5000
    const-string v2, "_nf"

    invoke-static {v2, p1}, Lcom/google/firebase/messaging/f;->a(Ljava/lang/String;Landroid/content/Intent;)V

    .line 0
    :cond_163
    new-instance v2, Lcom/google/firebase/messaging/RemoteMessage;

    invoke-direct {v2, v1}, Lcom/google/firebase/messaging/RemoteMessage;-><init>(Landroid/os/Bundle;)V

    invoke-virtual {p0, v2}, Lcom/google/firebase/messaging/FirebaseMessagingService;->a(Lcom/google/firebase/messaging/RemoteMessage;)V

    goto/16 :goto_7d

    :pswitch_16d
    const-string v1, "google.message_id"

    invoke-virtual {p1, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    goto/16 :goto_7d

    :pswitch_174
    const-string v1, "google.message_id"

    invoke-virtual {p1, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    if-nez v1, :cond_181

    const-string v1, "message_id"

    invoke-virtual {p1, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    :cond_181
    new-instance v1, Lcom/google/firebase/messaging/SendException;

    const-string v2, "error"

    invoke-virtual {p1, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2}, Lcom/google/firebase/messaging/SendException;-><init>(Ljava/lang/String;)V

    goto/16 :goto_7d

    :cond_18e
    new-instance v1, Ljava/lang/String;

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

    goto/16 :goto_7d

    :pswitch_195
    invoke-virtual {p1}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;

    move-result-object v0

    invoke-static {v0}, Lcom/google/firebase/messaging/FirebaseMessagingService;->n(Landroid/os/Bundle;)Z

    move-result v0

    if-eqz v0, :cond_2a

    .line 6000
    const-string v0, "_nd"

    invoke-static {v0, p1}, Lcom/google/firebase/messaging/f;->a(Ljava/lang/String;Landroid/content/Intent;)V

    goto/16 :goto_2a

    .line 0
    :cond_1a6
    new-instance v1, Ljava/lang/String;

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

    goto/16 :goto_2a

    :catch_1ad
    move-exception v0

    goto/16 :goto_86

    :catch_1b0
    move-exception v0

    goto/16 :goto_86

    nop

    :sswitch_data_1b4
    .sparse-switch
        0x47cfddf -> :sswitch_35
        0x15d8a480 -> :sswitch_2b
    .end sparse-switch

    :pswitch_data_1be
    .packed-switch 0x0
        :pswitch_3f
        :pswitch_195
    .end packed-switch

    :sswitch_data_1c6
    .sparse-switch
        -0x7aedf14e -> :sswitch_108
        0x18f11 -> :sswitch_fe
        0x308f3e91 -> :sswitch_11e
        0x3090df23 -> :sswitch_113
    .end sparse-switch

    :pswitch_data_1d8
    .packed-switch 0x0
        :pswitch_129
        :pswitch_7d
        :pswitch_16d
        :pswitch_174
    .end packed-switch
.end method

.method public final o(Landroid/content/Intent;)Z
    .registers 7

    .prologue
    .line 0
    const-string v0, "com.google.firebase.messaging.NOTIFICATION_OPEN"

    invoke-virtual {p1}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_74

    const-string v0, "pending_intent"

    invoke-virtual {p1, v0}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;

    move-result-object v0

    check-cast v0, Landroid/app/PendingIntent;

    if-eqz v0, :cond_19

    :try_start_16
    invoke-virtual {v0}, Landroid/app/PendingIntent;->send()V
    :try_end_19
    .catch Landroid/app/PendingIntent$CanceledException; {:try_start_16 .. :try_end_19} :catch_76

    :cond_19
    :goto_19
    invoke-virtual {p1}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;

    move-result-object v0

    invoke-static {v0}, Lcom/google/firebase/messaging/FirebaseMessagingService;->n(Landroid/os/Bundle;)Z

    move-result v0

    if-eqz v0, :cond_72

    .line 2000
    if-eqz p1, :cond_6d

    const-string v0, "google.c.a.tc"

    invoke-virtual {p1, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    const-string v1, "1"

    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_6d

    invoke-static {}, Lcom/google/firebase/a;->yn()Lcom/google/firebase/a;

    move-result-object v0

    const-class v1, Lcom/google/firebase/analytics/connector/a;

    invoke-virtual {v0, v1}, Lcom/google/firebase/a;->l(Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/google/firebase/analytics/connector/a;

    if-eqz v0, :cond_6d

    const-string v1, "google.c.a.c_id"

    invoke-virtual {p1, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    const-string v2, "fcm"

    const-string v3, "_ln"

    invoke-interface {v0, v2, v3, v1}, Lcom/google/firebase/analytics/connector/a;->setUserProperty(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V

    new-instance v2, Landroid/os/Bundle;

    invoke-direct {v2}, Landroid/os/Bundle;-><init>()V

    const-string v3, "source"

    const-string v4, "Firebase"

    invoke-virtual {v2, v3, v4}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V

    const-string v3, "medium"

    const-string v4, "notification"

    invoke-virtual {v2, v3, v4}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V

    const-string v3, "campaign"

    invoke-virtual {v2, v3, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V

    const-string v1, "fcm"

    const-string v3, "_cmp"

    invoke-interface {v0, v1, v3, v2}, Lcom/google/firebase/analytics/connector/a;->logEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V

    :cond_6d
    const-string v0, "_no"

    invoke-static {v0, p1}, Lcom/google/firebase/messaging/f;->a(Ljava/lang/String;Landroid/content/Intent;)V

    .line 0
    :cond_72
    const/4 v0, 0x1

    :goto_73
    return v0

    :cond_74
    const/4 v0, 0x0

    goto :goto_73

    :catch_76
    move-exception v0

    goto :goto_19
.end method