.class public abstract Lcom/google/firebase/messaging/EnhancedIntentService; .super Landroid/app/Service; .source "SourceFile" # annotations .annotation build Landroid/annotation/SuppressLint; value = { "UnwrappedWakefulBroadcastReceiver" } .end annotation # static fields .field static final MESSAGE_TIMEOUT_S:J = 0x14L .field private static final TAG:Ljava/lang/String; = "EnhancedIntentService" # instance fields .field private binder:Landroid/os/Binder; .field final executor:Ljava/util/concurrent/ExecutorService; .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .end field .field private lastStartId:I .field private final lock:Ljava/lang/Object; .field private runningTasks:I # direct methods .method public static synthetic $r8$lambda$EtJIsbHBJoRICpxpOA7WulxQhSE(Lcom/google/firebase/messaging/EnhancedIntentService;Landroid/content/Intent;Lcom/google/android/gms/tasks/Task;)V .locals 0 .line 0 invoke-virtual {p0, p1, p2}, Lcom/google/firebase/messaging/EnhancedIntentService;->lambda$onStartCommand$1(Landroid/content/Intent;Lcom/google/android/gms/tasks/Task;)V return-void .end method .method public static synthetic $r8$lambda$NSk2h75eWhBOI4TsAFgvvtv1g9o(Lcom/google/firebase/messaging/EnhancedIntentService;Landroid/content/Intent;Lcom/google/android/gms/tasks/TaskCompletionSource;)V .locals 0 .line 0 invoke-virtual {p0, p1, p2}, Lcom/google/firebase/messaging/EnhancedIntentService;->lambda$processIntent$0(Landroid/content/Intent;Lcom/google/android/gms/tasks/TaskCompletionSource;)V return-void .end method .method public constructor ()V .locals 1 .line 38 invoke-direct {p0}, Landroid/app/Service;->()V .line 46 invoke-static {}, Lcom/google/firebase/messaging/FcmExecutors;->newIntentHandleExecutor()Ljava/util/concurrent/ExecutorService; move-result-object v0 iput-object v0, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->executor:Ljava/util/concurrent/ExecutorService; .line 92 new-instance v0, Ljava/lang/Object; invoke-direct {v0}, Ljava/lang/Object;->()V iput-object v0, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->lock:Ljava/lang/Object; const/4 v0, 0x0 iput v0, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->runningTasks:I return-void .end method .method public static synthetic access$000(Lcom/google/firebase/messaging/EnhancedIntentService;Landroid/content/Intent;)Lcom/google/android/gms/tasks/Task; .locals 0 .line 38 invoke-virtual {p0, p1}, Lcom/google/firebase/messaging/EnhancedIntentService;->processIntent(Landroid/content/Intent;)Lcom/google/android/gms/tasks/Task; move-result-object p0 return-object p0 .end method # virtual methods .method public final finishTask(Landroid/content/Intent;)V .locals 1 if-eqz p1, :cond_0 .line 135 invoke-static {p1}, Lcom/google/firebase/messaging/WakeLockHolder;->completeWakefulIntent(Landroid/content/Intent;)V :cond_0 iget-object p1, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->lock:Ljava/lang/Object; .line 137 monitor-enter p1 :try_start_0 iget v0, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->runningTasks:I add-int/lit8 v0, v0, -0x1 iput v0, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->runningTasks:I if-nez v0, :cond_1 iget v0, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->lastStartId:I .line 140 invoke-virtual {p0, v0}, Lcom/google/firebase/messaging/EnhancedIntentService;->stopSelfResultHook(I)Z goto :goto_0 :catchall_0 move-exception v0 goto :goto_1 .line 142 :cond_1 :goto_0 monitor-exit p1 return-void :goto_1 monitor-exit p1 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v0 .end method .method public getStartCommandIntent(Landroid/content/Intent;)Landroid/content/Intent; .locals 0 return-object p1 .end method .method public abstract handleIntent(Landroid/content/Intent;)V .end method .method public handleIntentOnMainThread(Landroid/content/Intent;)Z .locals 0 const/4 p1, 0x0 return p1 .end method .method public final synthetic lambda$onStartCommand$1(Landroid/content/Intent;Lcom/google/android/gms/tasks/Task;)V .locals 0 .line 117 invoke-virtual {p0, p1}, Lcom/google/firebase/messaging/EnhancedIntentService;->finishTask(Landroid/content/Intent;)V return-void .end method .method public final synthetic lambda$processIntent$0(Landroid/content/Intent;Lcom/google/android/gms/tasks/TaskCompletionSource;)V .locals 1 const/4 v0, 0x0 .line 82 :try_start_0 invoke-virtual {p0, p1}, Lcom/google/firebase/messaging/EnhancedIntentService;->handleIntent(Landroid/content/Intent;)V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 84 invoke-virtual {p2, v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->setResult(Ljava/lang/Object;)V return-void :catchall_0 move-exception p1 invoke-virtual {p2, v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->setResult(Ljava/lang/Object;)V .line 85 throw p1 .end method .method public final declared-synchronized onBind(Landroid/content/Intent;)Landroid/os/IBinder; .locals 1 monitor-enter p0 :try_start_0 const-string p1, "EnhancedIntentService" const/4 v0, 0x3 .line 54 invoke-static {p1, v0}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z iget-object p1, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->binder:Landroid/os/Binder; if-nez p1, :cond_0 .line 58 new-instance p1, Lcom/google/firebase/messaging/WithinAppServiceBinder; new-instance v0, Lcom/google/firebase/messaging/EnhancedIntentService$1; invoke-direct {v0, p0}, Lcom/google/firebase/messaging/EnhancedIntentService$1;->(Lcom/google/firebase/messaging/EnhancedIntentService;)V invoke-direct {p1, v0}, Lcom/google/firebase/messaging/WithinAppServiceBinder;->(Lcom/google/firebase/messaging/WithinAppServiceBinder$IntentHandler;)V iput-object p1, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->binder:Landroid/os/Binder; goto :goto_0 :catchall_0 move-exception p1 goto :goto_1 :cond_0 :goto_0 iget-object p1, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->binder:Landroid/os/Binder; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 68 monitor-exit p0 return-object p1 :goto_1 monitor-exit p0 throw p1 .end method .method public onDestroy()V .locals 1 .annotation build Landroidx/annotation/CallSuper; .end annotation iget-object v0, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->executor:Ljava/util/concurrent/ExecutorService; .line 127 invoke-interface {v0}, Ljava/util/concurrent/ExecutorService;->shutdown()V .line 128 invoke-super {p0}, Landroid/app/Service;->onDestroy()V return-void .end method .method public final onStartCommand(Landroid/content/Intent;II)I .locals 1 iget-object p2, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->lock:Ljava/lang/Object; .line 99 monitor-enter p2 :try_start_0 iput p3, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->lastStartId:I iget p3, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->runningTasks:I add-int/lit8 p3, p3, 0x1 iput p3, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->runningTasks:I .line 102 monitor-exit p2 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 103 invoke-virtual {p0, p1}, Lcom/google/firebase/messaging/EnhancedIntentService;->getStartCommandIntent(Landroid/content/Intent;)Landroid/content/Intent; move-result-object p2 const/4 p3, 0x2 if-nez p2, :cond_0 .line 105 invoke-virtual {p0, p1}, Lcom/google/firebase/messaging/EnhancedIntentService;->finishTask(Landroid/content/Intent;)V return p3 .line 109 :cond_0 invoke-virtual {p0, p2}, Lcom/google/firebase/messaging/EnhancedIntentService;->processIntent(Landroid/content/Intent;)Lcom/google/android/gms/tasks/Task; move-result-object p2 .line 110 invoke-virtual {p2}, Lcom/google/android/gms/tasks/Task;->isComplete()Z move-result v0 if-eqz v0, :cond_1 .line 112 invoke-virtual {p0, p1}, Lcom/google/firebase/messaging/EnhancedIntentService;->finishTask(Landroid/content/Intent;)V return p3 .line 117 :cond_1 new-instance p3, Landroidx/credentials/CredentialManager$$ExternalSyntheticLambda0; invoke-direct {p3}, Landroidx/credentials/CredentialManager$$ExternalSyntheticLambda0;->()V new-instance v0, Lcom/google/firebase/messaging/EnhancedIntentService$$ExternalSyntheticLambda1; invoke-direct {v0, p0, p1}, Lcom/google/firebase/messaging/EnhancedIntentService$$ExternalSyntheticLambda1;->(Lcom/google/firebase/messaging/EnhancedIntentService;Landroid/content/Intent;)V invoke-virtual {p2, p3, v0}, Lcom/google/android/gms/tasks/Task;->addOnCompleteListener(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnCompleteListener;)Lcom/google/android/gms/tasks/Task; const/4 p1, 0x3 return p1 :catchall_0 move-exception p1 .line 102 :try_start_1 monitor-exit p2 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 throw p1 .end method .method public final processIntent(Landroid/content/Intent;)Lcom/google/android/gms/tasks/Task; .locals 3 .line 74 invoke-virtual {p0, p1}, Lcom/google/firebase/messaging/EnhancedIntentService;->handleIntentOnMainThread(Landroid/content/Intent;)Z move-result v0 if-eqz v0, :cond_0 const/4 p1, 0x0 .line 75 invoke-static {p1}, Lcom/google/android/gms/tasks/Tasks;->forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task; move-result-object p1 return-object p1 .line 78 :cond_0 new-instance v0, Lcom/google/android/gms/tasks/TaskCompletionSource; invoke-direct {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->()V iget-object v1, p0, Lcom/google/firebase/messaging/EnhancedIntentService;->executor:Ljava/util/concurrent/ExecutorService; .line 79 new-instance v2, Lcom/google/firebase/messaging/EnhancedIntentService$$ExternalSyntheticLambda0; invoke-direct {v2, p0, p1, v0}, Lcom/google/firebase/messaging/EnhancedIntentService$$ExternalSyntheticLambda0;->(Lcom/google/firebase/messaging/EnhancedIntentService;Landroid/content/Intent;Lcom/google/android/gms/tasks/TaskCompletionSource;)V invoke-interface {v1, v2}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V .line 87 invoke-virtual {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->getTask()Lcom/google/android/gms/tasks/Task; move-result-object p1 return-object p1 .end method .method public stopSelfResultHook(I)Z .locals 0 .line 147 invoke-virtual {p0, p1}, Landroid/app/Service;->stopSelfResult(I)Z move-result p1 return p1 .end method