.class public Landroidx/core/telephony/TelephonyManagerCompat; .super Ljava/lang/Object; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/core/telephony/TelephonyManagerCompat$Api26Impl;, Landroidx/core/telephony/TelephonyManagerCompat$Api23Impl;, Landroidx/core/telephony/TelephonyManagerCompat$Api30Impl; } .end annotation # static fields .field private static sGetDeviceIdMethod:Ljava/lang/reflect/Method; .field private static sGetSubIdMethod:Ljava/lang/reflect/Method; # direct methods .method private constructor ()V .locals 0 .line 133 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static getImei(Landroid/telephony/TelephonyManager;)Ljava/lang/String; .locals 0 .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 70 invoke-static {p0}, Landroidx/core/telephony/TelephonyManagerCompat$Api26Impl;->getImei(Landroid/telephony/TelephonyManager;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static getSubscriptionId(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 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1e if-lt v0, v1, :cond_0 .line 112 invoke-static {p0}, Landroidx/core/telephony/TelephonyManagerCompat$Api30Impl;->getSubscriptionId(Landroid/telephony/TelephonyManager;)I move-result p0 return p0 :cond_0 :try_start_0 sget-object v0, Landroidx/core/telephony/TelephonyManagerCompat;->sGetSubIdMethod:Ljava/lang/reflect/Method; const/4 v1, 0x0 if-nez v0, :cond_1 const-class v0, Landroid/telephony/TelephonyManager; const-string v2, "getSubId" new-array v3, v1, [Ljava/lang/Class; .line 116 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, Landroidx/core/telephony/TelephonyManagerCompat;->sGetSubIdMethod:Ljava/lang/reflect/Method; const/4 v2, 0x1 .line 117 invoke-virtual {v0, v2}, Ljava/lang/reflect/AccessibleObject;->setAccessible(Z)V :cond_1 sget-object v0, Landroidx/core/telephony/TelephonyManagerCompat;->sGetSubIdMethod:Ljava/lang/reflect/Method; new-array v1, v1, [Ljava/lang/Object; .line 120 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 121 invoke-virtual {p0}, Ljava/lang/Integer;->intValue()I move-result v0 const/4 v1, -0x1 if-eq v0, v1, :cond_2 .line 122 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