FirebaseMessagingService.smali
.class public Lcom/google/firebase/messaging/FirebaseMessagingService;
.super Lcom/google/firebase/iid/zzc;
# static fields
.field private static final zzeb: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
.line 96
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;->zzeb:Ljava/util/Queue;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Lcom/google/firebase/iid/zzc;-><init>()V
return-void
.end method
# virtual methods
.method public onDeletedMessages()V
.registers 1
return-void
.end method
.method public onMessageReceived(Lcom/google/firebase/messaging/RemoteMessage;)V
.registers 2
return-void
.end method
.method public onMessageSent(Ljava/lang/String;)V
.registers 2
return-void
.end method
.method public onNewToken(Ljava/lang/String;)V
.registers 2
return-void
.end method
.method public onSendError(Ljava/lang/String;Ljava/lang/Exception;)V
.registers 3
return-void
.end method
.method public final zzb(Landroid/content/Intent;)Landroid/content/Intent;
.registers 2
.line 7
invoke-static {}, Lcom/google/firebase/iid/v;->a()Lcom/google/firebase/iid/v;
move-result-object p1
.line 1019
iget-object p1, p1, Lcom/google/firebase/iid/v;->d:Ljava/util/Queue;
invoke-interface {p1}, Ljava/util/Queue;->poll()Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/content/Intent;
return-object p1
.end method
.method public final zzc(Landroid/content/Intent;)Z
.registers 8
.line 8
invoke-virtual {p1}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object v0
const-string v1, "com.google.firebase.messaging.NOTIFICATION_OPEN"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7c
const-string v0, "pending_intent"
.line 10
invoke-virtual {p1, v0}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;
move-result-object v0
check-cast v0, Landroid/app/PendingIntent;
const-string v1, "FirebaseMessaging"
if-eqz v0, :cond_21
.line 12
:try_start_18
invoke-virtual {v0}, Landroid/app/PendingIntent;->send()V
:try_end_1b
.catch Landroid/app/PendingIntent$CanceledException; {:try_start_18 .. :try_end_1b} :catch_1c
goto :goto_21
:catch_1c
const-string v0, "Notification pending intent canceled"
.line 15
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 16
:cond_21
:goto_21
invoke-static {p1}, Lcom/google/firebase/messaging/b;->a(Landroid/content/Intent;)Z
move-result v0
if-eqz v0, :cond_7a
if-eqz p1, :cond_75
const-string v0, "google.c.a.tc"
.line 2007
invoke-virtual {p1, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v2, "1"
.line 2008
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_75
.line 2009
invoke-static {}, Lcom/google/firebase/b;->d()Lcom/google/firebase/b;
move-result-object v0
const-class v2, Lcom/google/firebase/analytics/connector/a;
invoke-virtual {v0, v2}, Lcom/google/firebase/b;->a(Ljava/lang/Class;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/firebase/analytics/connector/a;
if-eqz v0, :cond_70
const-string v1, "google.c.a.c_id"
.line 2013
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"
.line 2014
invoke-interface {v0, v2, v3, v1}, Lcom/google/firebase/analytics/connector/a;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
.line 2015
new-instance v3, Landroid/os/Bundle;
invoke-direct {v3}, Landroid/os/Bundle;-><init>()V
const-string v4, "source"
const-string v5, "Firebase"
.line 2016
invoke-virtual {v3, v4, v5}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string v4, "medium"
const-string v5, "notification"
.line 2017
invoke-virtual {v3, v4, v5}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string v4, "campaign"
.line 2018
invoke-virtual {v3, v4, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
const-string v1, "_cmp"
.line 2019
invoke-interface {v0, v2, v1, v3}, Lcom/google/firebase/analytics/connector/a;->a(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
goto :goto_75
:cond_70
const-string v0, "Unable to set user property for conversion tracking: analytics library is missing"
.line 2021
invoke-static {v1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:cond_75
:goto_75
const-string v0, "_no"
.line 2025
invoke-static {v0, p1}, Lcom/google/firebase/messaging/b;->a(Ljava/lang/String;Landroid/content/Intent;)V
:cond_7a
const/4 p1, 0x1
return p1
:cond_7c
const/4 p1, 0x0
return p1
.end method
.method public final zzd(Landroid/content/Intent;)V
.registers 13
.line 20
invoke-virtual {p1}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object v0
const-string v1, "com.google.android.c2dm.intent.RECEIVE"
.line 21
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_55
const-string v1, "com.google.firebase.messaging.RECEIVE_DIRECT_BOOT"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_15
goto :goto_55
:cond_15
const-string v1, "com.google.firebase.messaging.NOTIFICATION_DISMISS"
.line 89
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_29
.line 90
invoke-static {p1}, Lcom/google/firebase/messaging/b;->a(Landroid/content/Intent;)Z
move-result v0
if-eqz v0, :cond_54
const-string v0, "_nd"
.line 5027
invoke-static {v0, p1}, Lcom/google/firebase/messaging/b;->a(Ljava/lang/String;Landroid/content/Intent;)V
return-void
:cond_29
const-string v1, "com.google.firebase.messaging.NEW_TOKEN"
.line 92
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_3b
const-string v0, "token"
.line 93
invoke-virtual {p1, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Lcom/google/firebase/messaging/FirebaseMessagingService;->onNewToken(Ljava/lang/String;)V
return-void
:cond_3b
const-string v0, "Unknown intent action: "
.line 94
invoke-virtual {p1}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v1
if-eqz v1, :cond_4f
invoke-virtual {v0, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
return-void
:cond_4f
new-instance p1, Ljava/lang/String;
invoke-direct {p1, v0}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
:cond_54
return-void
:cond_55
:goto_55
const-string v0, "google.message_id"
.line 23
invoke-virtual {p1, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 25
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_67
const/4 v2, 0x0
.line 26
invoke-static {v2}, Lcom/google/android/gms/tasks/Tasks;->forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task;
move-result-object v2
goto :goto_80
.line 27
:cond_67
new-instance v2, Landroid/os/Bundle;
invoke-direct {v2}, Landroid/os/Bundle;-><init>()V
.line 28
invoke-virtual {v2, v0, v1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 29
invoke-static {p0}, Lcom/google/firebase/iid/e;->a(Landroid/content/Context;)Lcom/google/firebase/iid/e;
move-result-object v3
.line 3012
new-instance v4, Lcom/google/firebase/iid/k;
invoke-virtual {v3}, Lcom/google/firebase/iid/e;->a()I
move-result v5
invoke-direct {v4, v5, v2}, Lcom/google/firebase/iid/k;-><init>(ILandroid/os/Bundle;)V
invoke-virtual {v3, v4}, Lcom/google/firebase/iid/e;->a(Lcom/google/firebase/iid/m;)Lcom/google/android/gms/tasks/Task;
move-result-object v2
.line 33
:goto_80
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
const/4 v4, 0x1
const/4 v5, 0x3
const-string v6, "FirebaseMessaging"
const/4 v7, 0x0
if-eqz v3, :cond_8d
:goto_8b
const/4 v1, 0x0
goto :goto_c7
.line 35
:cond_8d
sget-object v3, Lcom/google/firebase/messaging/FirebaseMessagingService;->zzeb:Ljava/util/Queue;
invoke-interface {v3, v1}, Ljava/util/Queue;->contains(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_b2
.line 36
invoke-static {v6, v5}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z
move-result v3
if-eqz v3, :cond_b0
const-string v3, "Received duplicate message: "
.line 37
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 v8
if-eqz v8, :cond_ab
invoke-virtual {v3, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
goto :goto_b0
:cond_ab
new-instance v1, Ljava/lang/String;
invoke-direct {v1, v3}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
:cond_b0
:goto_b0
const/4 v1, 0x1
goto :goto_c7
.line 39
:cond_b2
sget-object v3, Lcom/google/firebase/messaging/FirebaseMessagingService;->zzeb:Ljava/util/Queue;
invoke-interface {v3}, Ljava/util/Queue;->size()I
move-result v3
const/16 v8, 0xa
if-lt v3, v8, :cond_c1
.line 40
sget-object v3, Lcom/google/firebase/messaging/FirebaseMessagingService;->zzeb:Ljava/util/Queue;
invoke-interface {v3}, Ljava/util/Queue;->remove()Ljava/lang/Object;
.line 41
:cond_c1
sget-object v3, Lcom/google/firebase/messaging/FirebaseMessagingService;->zzeb:Ljava/util/Queue;
invoke-interface {v3, v1}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
goto :goto_8b
:goto_c7
if-nez v1, :cond_19f
const-string v1, "message_type"
.line 45
invoke-virtual {p1, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v3, "gcm"
if-nez v1, :cond_d4
move-object v1, v3
:cond_d4
const/4 v8, -0x1
.line 48
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v9
const/4 v10, 0x2
sparse-switch v9, :sswitch_data_1d0
goto :goto_103
:sswitch_de
const-string v3, "send_event"
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_103
const/4 v7, 0x2
goto :goto_104
:sswitch_e8
const-string v3, "send_error"
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_103
const/4 v7, 0x3
goto :goto_104
:sswitch_f2
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_103
goto :goto_104
:sswitch_f9
const-string v3, "deleted_messages"
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_103
const/4 v7, 0x1
goto :goto_104
:cond_103
:goto_103
const/4 v7, -0x1
:goto_104
if-eqz v7, :cond_14f
if-eq v7, v4, :cond_14b
if-eq v7, v10, :cond_143
if-eq v7, v5, :cond_128
const-string p1, "Received message with unknown type: "
.line 83
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
if-eqz v1, :cond_11d
invoke-virtual {p1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
goto :goto_123
:cond_11d
new-instance v0, Ljava/lang/String;
invoke-direct {v0, p1}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
move-object p1, v0
:goto_123
invoke-static {v6, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
goto/16 :goto_19f
.line 75
:cond_128
invoke-virtual {p1, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_134
const-string v0, "message_id"
.line 77
invoke-virtual {p1, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 79
:cond_134
new-instance v1, Lcom/google/firebase/messaging/SendException;
const-string v3, "error"
.line 80
invoke-virtual {p1, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-direct {v1, p1}, Lcom/google/firebase/messaging/SendException;-><init>(Ljava/lang/String;)V
.line 81
invoke-virtual {p0, v0, v1}, Lcom/google/firebase/messaging/FirebaseMessagingService;->onSendError(Ljava/lang/String;Ljava/lang/Exception;)V
goto :goto_19f
.line 71
:cond_143
invoke-virtual {p1, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Lcom/google/firebase/messaging/FirebaseMessagingService;->onMessageSent(Ljava/lang/String;)V
goto :goto_19f
.line 69
:cond_14b
invoke-virtual {p0}, Lcom/google/firebase/messaging/FirebaseMessagingService;->onDeletedMessages()V
goto :goto_19f
.line 49
:cond_14f
invoke-static {p1}, Lcom/google/firebase/messaging/b;->a(Landroid/content/Intent;)Z
move-result v0
if-eqz v0, :cond_15a
const-string v0, "_nr"
.line 4002
invoke-static {v0, p1}, Lcom/google/firebase/messaging/b;->a(Ljava/lang/String;Landroid/content/Intent;)V
.line 52
:cond_15a
invoke-virtual {p1}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object v0
if-nez v0, :cond_165
.line 54
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
:cond_165
const-string v1, "androidx.contentpager.content.wakelockid"
.line 55
invoke-virtual {v0, v1}, Landroid/os/Bundle;->remove(Ljava/lang/String;)V
.line 56
invoke-static {v0}, Lcom/google/firebase/messaging/c;->b(Landroid/os/Bundle;)Z
move-result v1
if-eqz v1, :cond_197
.line 57
invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService;
move-result-object v1
.line 58
new-instance v3, Lcom/google/firebase/messaging/d;
invoke-direct {v3, p0, v0, v1}, Lcom/google/firebase/messaging/d;-><init>(Landroid/content/Context;Landroid/os/Bundle;Ljava/util/concurrent/Executor;)V
.line 59
:try_start_179
invoke-virtual {v3}, Lcom/google/firebase/messaging/d;->a()Z
move-result v3
:try_end_17d
.catchall {:try_start_179 .. :try_end_17d} :catchall_192
if-eqz v3, :cond_183
.line 60
invoke-interface {v1}, Ljava/util/concurrent/ExecutorService;->shutdown()V
goto :goto_19f
.line 62
:cond_183
invoke-interface {v1}, Ljava/util/concurrent/ExecutorService;->shutdown()V
.line 65
invoke-static {p1}, Lcom/google/firebase/messaging/b;->a(Landroid/content/Intent;)Z
move-result v1
if-eqz v1, :cond_197
const-string v1, "_nf"
.line 4029
invoke-static {v1, p1}, Lcom/google/firebase/messaging/b;->a(Ljava/lang/String;Landroid/content/Intent;)V
goto :goto_197
:catchall_192
move-exception p1
.line 64
invoke-interface {v1}, Ljava/util/concurrent/ExecutorService;->shutdown()V
throw p1
.line 67
:cond_197
:goto_197
new-instance p1, Lcom/google/firebase/messaging/RemoteMessage;
invoke-direct {p1, v0}, Lcom/google/firebase/messaging/RemoteMessage;-><init>(Landroid/os/Bundle;)V
invoke-virtual {p0, p1}, Lcom/google/firebase/messaging/FirebaseMessagingService;->onMessageReceived(Lcom/google/firebase/messaging/RemoteMessage;)V
:cond_19f
:goto_19f
const-wide/16 v0, 0x1
.line 84
:try_start_1a1
sget-object p1, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
invoke-static {v2, v0, v1, p1}, Lcom/google/android/gms/tasks/Tasks;->await(Lcom/google/android/gms/tasks/Task;JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
:try_end_1a6
.catch Ljava/util/concurrent/ExecutionException; {:try_start_1a1 .. :try_end_1a6} :catch_1ab
.catch Ljava/lang/InterruptedException; {:try_start_1a1 .. :try_end_1a6} :catch_1a9
.catch Ljava/util/concurrent/TimeoutException; {:try_start_1a1 .. :try_end_1a6} :catch_1a7
return-void
:catch_1a7
move-exception p1
goto :goto_1ac
:catch_1a9
move-exception p1
goto :goto_1ac
:catch_1ab
move-exception p1
.line 87
:goto_1ac
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v0
add-int/lit8 v0, v0, 0x14
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v0}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v0, "Message ack failed: "
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v6, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
nop
:sswitch_data_1d0
.sparse-switch
-0x7aedf14e -> :sswitch_f9
0x18f11 -> :sswitch_f2
0x308f3e91 -> :sswitch_e8
0x3090df23 -> :sswitch_de
.end sparse-switch
.end method