.class public final Lcom/google/firebase/sessions/ProcessDetailsProvider; .super Ljava/lang/Object; .source "SourceFile" # static fields .field public static final INSTANCE:Lcom/google/firebase/sessions/ProcessDetailsProvider; # direct methods .method static constructor ()V .locals 1 new-instance v0, Lcom/google/firebase/sessions/ProcessDetailsProvider; invoke-direct {v0}, Lcom/google/firebase/sessions/ProcessDetailsProvider;->()V sput-object v0, Lcom/google/firebase/sessions/ProcessDetailsProvider;->INSTANCE:Lcom/google/firebase/sessions/ProcessDetailsProvider; return-void .end method .method public constructor ()V .locals 0 .line 31 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static synthetic buildProcessDetails$default(Lcom/google/firebase/sessions/ProcessDetailsProvider;Ljava/lang/String;IIZILjava/lang/Object;)Lcom/google/firebase/sessions/ProcessDetails; .locals 1 and-int/lit8 p6, p5, 0x2 const/4 v0, 0x0 if-eqz p6, :cond_0 move p2, v0 :cond_0 and-int/lit8 p6, p5, 0x4 if-eqz p6, :cond_1 move p3, v0 :cond_1 and-int/lit8 p5, p5, 0x8 if-eqz p5, :cond_2 move p4, v0 .line 68 :cond_2 invoke-virtual {p0, p1, p2, p3, p4}, Lcom/google/firebase/sessions/ProcessDetailsProvider;->buildProcessDetails(Ljava/lang/String;IIZ)Lcom/google/firebase/sessions/ProcessDetails; move-result-object p0 return-object p0 .end method # virtual methods .method public final buildProcessDetails(Ljava/lang/String;IIZ)Lcom/google/firebase/sessions/ProcessDetails; .locals 1 .line 73 new-instance v0, Lcom/google/firebase/sessions/ProcessDetails; invoke-direct {v0, p1, p2, p3, p4}, Lcom/google/firebase/sessions/ProcessDetails;->(Ljava/lang/String;IIZ)V return-object v0 .end method .method public final getAppProcessDetails(Landroid/content/Context;)Ljava/util/List; .locals 7 const-string v0, "context" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 34 invoke-virtual {p1}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; move-result-object v0 iget v0, v0, Landroid/content/pm/ApplicationInfo;->uid:I .line 35 invoke-virtual {p1}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; move-result-object v1 iget-object v1, v1, Landroid/content/pm/ApplicationInfo;->processName:Ljava/lang/String; const-string v2, "activity" .line 36 invoke-virtual {p1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 instance-of v2, p1, Landroid/app/ActivityManager; const/4 v3, 0x0 if-eqz v2, :cond_0 check-cast p1, Landroid/app/ActivityManager; goto :goto_0 :cond_0 move-object p1, v3 :goto_0 if-eqz p1, :cond_1 .line 37 invoke-virtual {p1}, Landroid/app/ActivityManager;->getRunningAppProcesses()Ljava/util/List; move-result-object v3 :cond_1 if-nez v3, :cond_2 invoke-static {}, Lkotlin/collections/CollectionsKt;->emptyList()Ljava/util/List; move-result-object v3 .line 39 :cond_2 check-cast v3, Ljava/lang/Iterable; .line 40 invoke-static {v3}, Lkotlin/collections/CollectionsKt;->filterNotNull(Ljava/lang/Iterable;)Ljava/util/List; move-result-object p1 check-cast p1, Ljava/lang/Iterable; .line 766 new-instance v2, Ljava/util/ArrayList; invoke-direct {v2}, Ljava/util/ArrayList;->()V .line 857 invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object p1 :cond_3 :goto_1 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v3 if-eqz v3, :cond_4 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 move-object v4, v3 check-cast v4, Landroid/app/ActivityManager$RunningAppProcessInfo; .line 43 iget v4, v4, Landroid/app/ActivityManager$RunningAppProcessInfo;->uid:I if-ne v4, v0, :cond_3 .line 857 invoke-interface {v2, v3}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z goto :goto_1 .line 1549 :cond_4 new-instance p1, Ljava/util/ArrayList; const/16 v0, 0xa invoke-static {v2, v0}, Lkotlin/collections/CollectionsKt;->collectionSizeOrDefault(Ljava/lang/Iterable;I)I move-result v0 invoke-direct {p1, v0}, Ljava/util/ArrayList;->(I)V .line 1620 invoke-interface {v2}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_2 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_5 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 .line 1621 check-cast v2, Landroid/app/ActivityManager$RunningAppProcessInfo; .line 46 new-instance v3, Lcom/google/firebase/sessions/ProcessDetails; .line 47 iget-object v4, v2, Landroid/app/ActivityManager$RunningAppProcessInfo;->processName:Ljava/lang/String; const-string v5, "runningAppProcessInfo.processName" invoke-static {v4, v5}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V .line 48 iget v5, v2, Landroid/app/ActivityManager$RunningAppProcessInfo;->pid:I .line 49 iget v6, v2, Landroid/app/ActivityManager$RunningAppProcessInfo;->importance:I .line 50 iget-object v2, v2, Landroid/app/ActivityManager$RunningAppProcessInfo;->processName:Ljava/lang/String; invoke-static {v2, v1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v2 .line 46 invoke-direct {v3, v4, v5, v6, v2}, Lcom/google/firebase/sessions/ProcessDetails;->(Ljava/lang/String;IIZ)V .line 1621 invoke-interface {p1, v3}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z goto :goto_2 :cond_5 return-object p1 .end method .method public final getCurrentProcessDetails(Landroid/content/Context;)Lcom/google/firebase/sessions/ProcessDetails; .locals 8 const-string v0, "context" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 62 invoke-static {}, Landroid/os/Process;->myPid()I move-result v3 .line 63 invoke-virtual {p0, p1}, Lcom/google/firebase/sessions/ProcessDetailsProvider;->getAppProcessDetails(Landroid/content/Context;)Ljava/util/List; move-result-object p1 check-cast p1, Ljava/lang/Iterable; invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object p1 :cond_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_1 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 move-object v1, v0 check-cast v1, Lcom/google/firebase/sessions/ProcessDetails; invoke-virtual {v1}, Lcom/google/firebase/sessions/ProcessDetails;->getPid()I move-result v1 if-ne v1, v3, :cond_0 goto :goto_0 :cond_1 const/4 v0, 0x0 :goto_0 check-cast v0, Lcom/google/firebase/sessions/ProcessDetails; if-nez v0, :cond_2 .line 64 invoke-virtual {p0}, Lcom/google/firebase/sessions/ProcessDetailsProvider;->getProcessName$com_google_firebase_firebase_sessions()Ljava/lang/String; move-result-object v2 const/4 v4, 0x0 const/4 v5, 0x0 const/16 v6, 0xc const/4 v7, 0x0 move-object v1, p0 invoke-static/range {v1 .. v7}, Lcom/google/firebase/sessions/ProcessDetailsProvider;->buildProcessDetails$default(Lcom/google/firebase/sessions/ProcessDetailsProvider;Ljava/lang/String;IIZILjava/lang/Object;)Lcom/google/firebase/sessions/ProcessDetails; move-result-object v0 :cond_2 return-object v0 .end method .method public final getProcessName$com_google_firebase_firebase_sessions()Ljava/lang/String; .locals 2 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x21 if-lt v0, v1, :cond_0 .line 78 invoke-static {}, Lcom/google/firebase/crashlytics/internal/ProcessDetailsProvider$$ExternalSyntheticApiModelOutline0;->m()Ljava/lang/String; move-result-object v0 const-string v1, "myProcessName()" invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V return-object v0 :cond_0 const/16 v1, 0x1c if-lt v0, v1, :cond_1 .line 82 invoke-static {}, Lcom/google/android/gms/common/util/ProcessUtils$$ExternalSyntheticApiModelOutline0;->m()Ljava/lang/String; move-result-object v0 if-eqz v0, :cond_1 return-object v0 .line 88 :cond_1 invoke-static {}, Lcom/google/android/gms/common/util/ProcessUtils;->getMyProcessName()Ljava/lang/String; move-result-object v0 if-eqz v0, :cond_2 return-object v0 :cond_2 const-string v0, "" return-object v0 .end method