.class public Ln1/b; .super Ljava/lang/Object; .source "TelephonyManagerCompat.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Ln1/b$a;, Ln1/b$b;, Ln1/b$c; } .end annotation # static fields .field public static a:Ljava/lang/reflect/Method; .field public static b:Ljava/lang/reflect/Method; # direct methods .method public constructor ()V .locals 0 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static a(Landroid/telephony/TelephonyManager;)Ljava/lang/String; .locals 2 .param p0 # Landroid/telephony/TelephonyManager; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroid/annotation/SuppressLint; value = { "MissingPermission" } .end annotation .annotation build Landroidx/annotation/Nullable; .end annotation .annotation build Landroidx/annotation/RequiresPermission; value = "android.permission.READ_PHONE_STATE" .end annotation .line 1 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1a if-lt v0, v1, :cond_0 .line 2 invoke-static {p0}, Ln1/b$b;->a(Landroid/telephony/TelephonyManager;)Ljava/lang/String; move-result-object p0 return-object p0 .line 3 :cond_0 invoke-static {p0}, Ln1/b;->b(Landroid/telephony/TelephonyManager;)I move-result v0 const v1, 0x7fffffff if-eq v0, v1, :cond_1 const/4 v1, -0x1 if-eq v0, v1, :cond_1 .line 4 invoke-static {v0}, Ln1/a;->a(I)I move-result v0 .line 5 invoke-static {p0, v0}, Ln1/b$a;->a(Landroid/telephony/TelephonyManager;I)Ljava/lang/String; move-result-object p0 return-object p0 .line 6 :cond_1 invoke-virtual {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static b(Landroid/telephony/TelephonyManager;)I .locals 4 .param p0 # Landroid/telephony/TelephonyManager; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroid/annotation/SuppressLint; value = { "SoonBlockedPrivateApi" } .end annotation .line 1 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1e if-lt v0, v1, :cond_0 .line 2 invoke-static {p0}, Ln1/b$c;->a(Landroid/telephony/TelephonyManager;)I move-result p0 return p0 .line 3 :cond_0 :try_start_0 sget-object v0, Ln1/b;->b:Ljava/lang/reflect/Method; const/4 v1, 0x0 if-nez v0, :cond_1 .line 4 const-class v0, Landroid/telephony/TelephonyManager; const-string v2, "getSubId" new-array v3, v1, [Ljava/lang/Class; invoke-virtual {v0, v2, v3}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v0 sput-object v0, Ln1/b;->b:Ljava/lang/reflect/Method; const/4 v2, 0x1 .line 5 invoke-virtual {v0, v2}, Ljava/lang/reflect/Method;->setAccessible(Z)V .line 6 :cond_1 sget-object v0, Ln1/b;->b:Ljava/lang/reflect/Method; new-array v1, v1, [Ljava/lang/Object; invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 check-cast p0, Ljava/lang/Integer; if-eqz p0, :cond_2 .line 7 invoke-virtual {p0}, Ljava/lang/Integer;->intValue()I move-result v0 const/4 v1, -0x1 if-eq v0, v1, :cond_2 .line 8 invoke-virtual {p0}, Ljava/lang/Integer;->intValue()I move-result p0 :try_end_0 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_0 .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_0 .catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_0} :catch_0 return p0 :catch_0 :cond_2 const p0, 0x7fffffff return p0 .end method