.class public Lcom/google/firebase/crashlytics/internal/analytics/BreadcrumbAnalyticsEventReceiver; .super Ljava/lang/Object; .source "BreadcrumbAnalyticsEventReceiver.java" # interfaces .implements Lcom/google/firebase/crashlytics/internal/analytics/AnalyticsEventReceiver; .implements Lcom/google/firebase/crashlytics/internal/breadcrumbs/BreadcrumbSource; # static fields .field private static final BREADCRUMB_NAME_KEY:Ljava/lang/String; = "name" .field private static final BREADCRUMB_PARAMS_KEY:Ljava/lang/String; = "parameters" .field private static final BREADCRUMB_PREFIX:Ljava/lang/String; = "$A$:" # instance fields .field private breadcrumbHandler:Lcom/google/firebase/crashlytics/internal/breadcrumbs/BreadcrumbHandler; .annotation build Landroidx/annotation/Nullable; .end annotation .end field # direct methods .method public constructor ()V .locals 0 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method private static serializeEvent(Ljava/lang/String;Landroid/os/Bundle;)Ljava/lang/String; .locals 5 .param p0 # Ljava/lang/String; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p1 # Landroid/os/Bundle; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/Throws; value = { Lorg/json/JSONException; } .end annotation .line 1 new-instance v0, Lorg/json/JSONObject; invoke-direct {v0}, Lorg/json/JSONObject;->()V .line 2 new-instance v1, Lorg/json/JSONObject; invoke-direct {v1}, Lorg/json/JSONObject;->()V .line 3 invoke-virtual {p1}, Landroid/os/Bundle;->keySet()Ljava/util/Set; move-result-object v2 invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v2 :goto_0 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z move-result v3 if-eqz v3, :cond_0 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/lang/String; .line 4 invoke-virtual {p1, v3}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object; move-result-object v4 invoke-virtual {v1, v3, v4}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; goto :goto_0 :cond_0 const-string p1, "name" .line 5 invoke-virtual {v0, p1, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; const-string p0, "parameters" .line 6 invoke-virtual {v0, p0, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; .line 7 invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method # virtual methods .method public onEvent(Ljava/lang/String;Landroid/os/Bundle;)V .locals 3 .param p1 # Ljava/lang/String; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/os/Bundle; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 iget-object v0, p0, Lcom/google/firebase/crashlytics/internal/analytics/BreadcrumbAnalyticsEventReceiver;->breadcrumbHandler:Lcom/google/firebase/crashlytics/internal/breadcrumbs/BreadcrumbHandler; if-eqz v0, :cond_0 .line 2 :try_start_0 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "$A$:" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-static {p1, p2}, Lcom/google/firebase/crashlytics/internal/analytics/BreadcrumbAnalyticsEventReceiver;->serializeEvent(Ljava/lang/String;Landroid/os/Bundle;)Ljava/lang/String; move-result-object p1 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 .line 3 invoke-interface {v0, p1}, Lcom/google/firebase/crashlytics/internal/breadcrumbs/BreadcrumbHandler;->handleBreadcrumb(Ljava/lang/String;)V :try_end_0 .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 .line 4 :catch_0 invoke-static {}, Lcom/google/firebase/crashlytics/internal/Logger;->getLogger()Lcom/google/firebase/crashlytics/internal/Logger; move-result-object p1 const-string p2, "Unable to serialize Firebase Analytics event to breadcrumb." invoke-virtual {p1, p2}, Lcom/google/firebase/crashlytics/internal/Logger;->w(Ljava/lang/String;)V :cond_0 :goto_0 return-void .end method .method public registerBreadcrumbHandler(Lcom/google/firebase/crashlytics/internal/breadcrumbs/BreadcrumbHandler;)V .locals 1 .param p1 # Lcom/google/firebase/crashlytics/internal/breadcrumbs/BreadcrumbHandler; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 iput-object p1, p0, Lcom/google/firebase/crashlytics/internal/analytics/BreadcrumbAnalyticsEventReceiver;->breadcrumbHandler:Lcom/google/firebase/crashlytics/internal/breadcrumbs/BreadcrumbHandler; .line 2 invoke-static {}, Lcom/google/firebase/crashlytics/internal/Logger;->getLogger()Lcom/google/firebase/crashlytics/internal/Logger; move-result-object p1 const-string v0, "Registered Firebase Analytics event receiver for breadcrumbs" invoke-virtual {p1, v0}, Lcom/google/firebase/crashlytics/internal/Logger;->d(Ljava/lang/String;)V return-void .end method