PassBiometricUtil.smali
.class public Lcom/baidu/pass/biometrics/base/utils/PassBiometricUtil;
.super Ljava/lang/Object;
.source "PassBiometricUtil.java"
# static fields
.field public static final CPU_TYPE_ARM64_V8A:Ljava/lang/String; = "arm64-v8a"
.field public static final CPU_TYPE_ARMEABI:Ljava/lang/String; = "armeabi"
.field public static final CPU_TYPE_ARMEABI_V7A:Ljava/lang/String; = "armeabi-v7a"
.field public static final CPU_TYPE_X86:Ljava/lang/String; = "x86"
.field static final STANDARD_BG_HEIGHT:I = 0x537
.field static final STANDARD_BG_WIDTH:I = 0x2ee
.field static final STANDARD_FACE_INSIDE_MAX_HEIGHT:I = 0x26c
.field static final STANDARD_FACE_INSIDE_MAX_WIDTH:I = 0x1e0
.field static final STANDARD_FACE_MIDDLE_MARGIN_TOP:I = 0x2d8
.field static final STANDARD_FACE_WIDTH:I = 0x1e0
.field static final STANDARD_MAX_FACE_WIDTH:I = 0x1e0
.field static final STANDARD_MIN_FACE_WIDTH:I = 0xc0
.field private static final TAG:Ljava/lang/String; = "PassBiometricUtil"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 30
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static calculateInSampleSize(Landroid/graphics/BitmapFactory$Options;II)I
.registers 6
.prologue
.line 201
iget v1, p0, Landroid/graphics/BitmapFactory$Options;->outHeight:I
.line 202
iget v2, p0, Landroid/graphics/BitmapFactory$Options;->outWidth:I
.line 203
const/4 v0, 0x1
.line 205
if-gt v1, p2, :cond_9
if-le v2, p1, :cond_19
.line 206
:cond_9
int-to-float v0, v1
int-to-float v1, p2
div-float/2addr v0, v1
invoke-static {v0}, Ljava/lang/Math;->round(F)I
move-result v0
.line 207
int-to-float v1, v2
int-to-float v2, p1
div-float/2addr v1, v2
invoke-static {v1}, Ljava/lang/Math;->round(F)I
move-result v1
.line 208
if-ge v0, v1, :cond_1a
.line 210
:cond_19
:goto_19
return v0
:cond_1a
move v0, v1
.line 208
goto :goto_19
.end method
.method public static checkRequestPermission(Landroid/content/Context;Ljava/lang/String;)Z
.registers 6
.annotation build Landroid/annotation/TargetApi;
value = 0x17
.end annotation
.prologue
const/16 v3, 0x17
const/4 v0, 0x1
.line 498
const/4 v1, 0x0
.line 499
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
if-lt v2, v3, :cond_f
invoke-virtual {p0, p1}, Landroid/content/Context;->checkSelfPermission(Ljava/lang/String;)I
move-result v2
if-nez v2, :cond_f
.line 506
:cond_e
:goto_e
return v0
.line 502
:cond_f
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
if-ge v2, v3, :cond_19
invoke-virtual {p0, p1}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I
move-result v2
if-eqz v2, :cond_e
:cond_19
move v0, v1
goto :goto_e
.end method
.method public static dip2px(Landroid/content/Context;F)I
.registers 4
.prologue
.line 411
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->density:F
.line 412
mul-float/2addr v0, p1
const/high16 v1, 0x3f000000 # 0.5f
add-float/2addr v0, v1
float-to-int v0, v0
return v0
.end method
.method public static drawShape([ILandroid/graphics/Bitmap;)V
.registers 11
.prologue
const/high16 v8, -0x10000
const/high16 v7, 0x40a00000 # 5.0f
const/4 v2, 0x0
.line 256
const v1, -0xff0100
.line 259
new-instance v0, Landroid/graphics/Canvas;
invoke-direct {v0, p1}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V
.line 260
sget-object v3, Landroid/graphics/PorterDuff$Mode;->CLEAR:Landroid/graphics/PorterDuff$Mode;
invoke-virtual {v0, v2, v3}, Landroid/graphics/Canvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V
.line 261
new-instance v5, Landroid/graphics/Paint;
invoke-direct {v5}, Landroid/graphics/Paint;-><init>()V
.line 262
const/high16 v3, 0x40800000 # 4.0f
invoke-virtual {v5, v3}, Landroid/graphics/Paint;->setStrokeWidth(F)V
.line 263
invoke-virtual {v5, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 264
sget-object v3, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style;
invoke-virtual {v5, v3}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
.line 266
const/high16 v3, 0x40400000 # 3.0f
invoke-virtual {v5, v3}, Landroid/graphics/Paint;->setStrokeWidth(F)V
.line 267
invoke-virtual {v5, v1}, Landroid/graphics/Paint;->setColor(I)V
move v1, v2
.line 269
:goto_2d
array-length v3, p0
div-int/lit8 v3, v3, 0x2
if-ge v1, v3, :cond_46
.line 270
shl-int/lit8 v3, v1, 0x1
aget v3, p0, v3
int-to-float v3, v3
.line 271
shl-int/lit8 v4, v1, 0x1
add-int/lit8 v4, v4, 0x1
aget v4, p0, v4
int-to-float v4, v4
.line 272
const/high16 v6, 0x40000000 # 2.0f
invoke-virtual {v0, v3, v4, v6, v5}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 269
add-int/lit8 v1, v1, 0x1
goto :goto_2d
.line 276
:cond_46
invoke-static {p0}, Lcom/baidu/pass/biometrics/base/utils/PassBiometricUtil;->getCurrentFaceRect([I)Landroid/graphics/Rect;
move-result-object v1
.line 277
invoke-virtual {v0, v1, v5}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V
.line 279
new-instance v3, Landroid/graphics/Point;
invoke-direct {v3}, Landroid/graphics/Point;-><init>()V
.line 280
invoke-virtual {v1}, Landroid/graphics/Rect;->centerX()I
move-result v4
invoke-virtual {v1}, Landroid/graphics/Rect;->centerY()I
move-result v1
invoke-virtual {v3, v4, v1}, Landroid/graphics/Point;->set(II)V
.line 281
invoke-virtual {v5, v8}, Landroid/graphics/Paint;->setColor(I)V
.line 282
iget v1, v3, Landroid/graphics/Point;->x:I
int-to-float v1, v1
iget v3, v3, Landroid/graphics/Point;->y:I
int-to-float v3, v3
invoke-virtual {v0, v1, v3, v7, v5}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 285
const/4 v1, 0x2
new-array v1, v1, [I
.line 286
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v3
aput v3, v1, v2
.line 287
const/4 v2, 0x1
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I
move-result v3
aput v3, v1, v2
.line 288
invoke-static {v1}, Lcom/baidu/pass/biometrics/base/utils/PassBiometricUtil;->getFaceInsideRoundRect([I)Landroid/graphics/Rect;
move-result-object v1
.line 289
invoke-virtual {v0, v1, v5}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V
.line 292
new-instance v6, Landroid/graphics/Point;
invoke-direct {v6}, Landroid/graphics/Point;-><init>()V
.line 293
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v1
div-int/lit8 v1, v1, 0x2
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I
move-result v2
mul-int/lit16 v2, v2, 0x2d8
div-int/lit16 v2, v2, 0x537
invoke-virtual {v6, v1, v2}, Landroid/graphics/Point;->set(II)V
.line 295
invoke-virtual {v5, v8}, Landroid/graphics/Paint;->setColor(I)V
.line 296
iget v1, v6, Landroid/graphics/Point;->x:I
int-to-float v1, v1
iget v2, v6, Landroid/graphics/Point;->y:I
int-to-float v2, v2
invoke-virtual {v0, v1, v2, v7, v5}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 299
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v1
mul-int/lit16 v1, v1, 0x1e0
div-int/lit16 v1, v1, 0x2ee
div-int/lit8 v4, v1, 0x2
.line 300
iget v1, v6, Landroid/graphics/Point;->x:I
sub-int/2addr v1, v4
int-to-float v1, v1
iget v2, v6, Landroid/graphics/Point;->y:I
sub-int/2addr v2, v4
int-to-float v2, v2
iget v3, v6, Landroid/graphics/Point;->x:I
add-int/2addr v3, v4
int-to-float v3, v3
iget v7, v6, Landroid/graphics/Point;->y:I
add-int/2addr v4, v7
int-to-float v4, v4
invoke-virtual/range {v0 .. v5}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 304
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v1
mul-int/lit16 v1, v1, 0xc0
div-int/lit16 v1, v1, 0x2ee
div-int/lit8 v4, v1, 0x2
.line 305
iget v1, v6, Landroid/graphics/Point;->x:I
sub-int/2addr v1, v4
int-to-float v1, v1
iget v2, v6, Landroid/graphics/Point;->y:I
sub-int/2addr v2, v4
int-to-float v2, v2
iget v3, v6, Landroid/graphics/Point;->x:I
add-int/2addr v3, v4
int-to-float v3, v3
iget v6, v6, Landroid/graphics/Point;->y:I
add-int/2addr v4, v6
int-to-float v4, v4
invoke-virtual/range {v0 .. v5}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
.line 307
return-void
.end method
.method public static getAppName(Landroid/content/Context;)Ljava/lang/String;
.registers 4
.prologue
.line 387
:try_start_0
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 388
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v0, v1, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v1
.line 390
iget-object v1, v1, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
invoke-virtual {v1, v0}, Landroid/content/pm/ApplicationInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
move-result-object v0
invoke-interface {v0}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
:try_end_16
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_16} :catch_18
move-result-object v0
.line 392
:goto_17
return-object v0
.line 391
:catch_18
move-exception v0
.line 392
const/4 v0, 0x0
goto :goto_17
.end method
.method public static getClientId(Landroid/content/Context;)Ljava/lang/String;
.registers 2
.prologue
.line 70
:try_start_0
invoke-static {p0}, Lcom/baidu/android/common/util/DeviceId;->getDeviceID(Landroid/content/Context;)Ljava/lang/String;
:try_end_3
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_3} :catch_5
move-result-object v0
.line 75
:goto_4
return-object v0
.line 71
:catch_5
move-exception v0
.line 72
const-string v0, "123456789"
goto :goto_4
.end method
.method public static getCpuType()Ljava/lang/String;
.registers 13
.prologue
const/4 v2, 0x0
const/4 v0, 0x2
const/4 v12, 0x1
const/4 v11, 0x0
.line 81
const-string v1, "/proc/cpuinfo"
.line 82
const-string v3, ""
.line 83
new-array v4, v0, [Ljava/lang/String;
const-string v3, ""
aput-object v3, v4, v11
const-string v3, ""
aput-object v3, v4, v12
.line 88
:try_start_12
new-instance v3, Ljava/io/FileReader;
invoke-direct {v3, v1}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V
:try_end_17
.catch Ljava/io/IOException; {:try_start_12 .. :try_end_17} :catch_113
.catchall {:try_start_12 .. :try_end_17} :catchall_128
.line 89
:try_start_17
new-instance v1, Ljava/io/BufferedReader;
const/16 v5, 0x2000
invoke-direct {v1, v3, v5}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V
:try_end_1e
.catch Ljava/io/IOException; {:try_start_17 .. :try_end_1e} :catch_1f0
.catchall {:try_start_17 .. :try_end_1e} :catchall_1e5
.line 90
:try_start_1e
invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v2
.line 91
const-string v5, "\\s+"
invoke-virtual {v2, v5}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v5
.line 92
const-string v6, "PassBiometricUtil"
const/4 v7, 0x1
new-array v7, v7, [Ljava/lang/Object;
const/4 v8, 0x0
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
const-string v10, "getCpuType()str2:"
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v9
invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
aput-object v2, v7, v8
invoke-static {v6, v7}, Lcom/baidu/pass/biometrics/base/debug/Log;->d(Ljava/lang/String;[Ljava/lang/Object;)V
.line 93
:goto_46
array-length v2, v5
if-ge v0, v2, :cond_6b
.line 94
const/4 v2, 0x0
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
const/4 v7, 0x0
aget-object v7, v4, v7
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
aget-object v7, v5, v0
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
const-string v7, " "
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
aput-object v6, v4, v2
.line 93
add-int/lit8 v0, v0, 0x1
goto :goto_46
.line 96
:cond_6b
invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v0
.line 97
const-string v2, "PassBiometricUtil"
const/4 v5, 0x1
new-array v5, v5, [Ljava/lang/Object;
const/4 v6, 0x0
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "getCpuType()str2"
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
aput-object v7, v5, v6
invoke-static {v2, v5}, Lcom/baidu/pass/biometrics/base/debug/Log;->d(Ljava/lang/String;[Ljava/lang/Object;)V
.line 98
const-string v2, "\\s+"
invoke-virtual {v0, v2}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
.line 99
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const/4 v5, 0x1
aget-object v6, v4, v5
invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const/4 v6, 0x2
aget-object v0, v0, v6
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
aput-object v0, v4, v5
:try_end_ac
.catch Ljava/io/IOException; {:try_start_1e .. :try_end_ac} :catch_1f5
.catchall {:try_start_1e .. :try_end_ac} :catchall_1e9
.line 104
if-eqz v3, :cond_b1
.line 105
:try_start_ae
invoke-virtual {v3}, Ljava/io/FileReader;->close()V
.line 108
:cond_b1
if-eqz v1, :cond_b6
.line 109
invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
:try_end_b6
.catch Ljava/io/IOException; {:try_start_ae .. :try_end_b6} :catch_10e
.line 116
:cond_b6
:goto_b6
sget-object v2, Landroid/os/Build;->CPU_ABI:Ljava/lang/String;
.line 117
const-string v1, "none"
.line 118
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0x8
if-lt v0, v3, :cond_15c
.line 120
:try_start_c0
const-class v0, Landroid/os/Build;
const-string v3, "cpuAbi2"
invoke-virtual {v0, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
const/4 v3, 0x0
invoke-virtual {v0, v3}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
:try_end_cf
.catch Ljava/lang/Exception; {:try_start_c0 .. :try_end_cf} :catch_13b
.line 126
:goto_cf
const-string v1, "PassBiometricUtil"
new-array v3, v12, [Ljava/lang/Object;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "getCpuType()"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
aget-object v6, v4, v11
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
aget-object v6, v4, v12
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
aput-object v5, v3, v11
invoke-static {v1, v3}, Lcom/baidu/pass/biometrics/base/debug/Log;->i(Ljava/lang/String;[Ljava/lang/Object;)V
.line 127
const-string v1, "armeabi"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_10b
const-string v1, "armeabi"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_15f
.line 128
:cond_10b
const-string v0, "armeabi"
.line 151
:goto_10d
return-object v0
.line 111
:catch_10e
move-exception v0
.line 112
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
goto :goto_b6
.line 100
:catch_113
move-exception v0
move-object v1, v2
.line 101
:goto_115
:try_start_115
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
:try_end_118
.catchall {:try_start_115 .. :try_end_118} :catchall_1ec
.line 104
if-eqz v2, :cond_11d
.line 105
:try_start_11a
invoke-virtual {v2}, Ljava/io/FileReader;->close()V
.line 108
:cond_11d
if-eqz v1, :cond_b6
.line 109
invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
:try_end_122
.catch Ljava/io/IOException; {:try_start_11a .. :try_end_122} :catch_123
goto :goto_b6
.line 111
:catch_123
move-exception v0
.line 112
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
goto :goto_b6
.line 103
:catchall_128
move-exception v0
move-object v1, v2
move-object v3, v2
.line 104
:goto_12b
if-eqz v3, :cond_130
.line 105
:try_start_12d
invoke-virtual {v3}, Ljava/io/FileReader;->close()V
.line 108
:cond_130
if-eqz v1, :cond_135
.line 109
invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
:try_end_135
.catch Ljava/io/IOException; {:try_start_12d .. :try_end_135} :catch_136
.line 114
:cond_135
:goto_135
throw v0
.line 111
:catch_136
move-exception v1
.line 112
invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
goto :goto_135
.line 121
:catch_13b
move-exception v0
.line 122
const-string v3, "PassBiometricUtil"
new-array v5, v12, [Ljava/lang/Object;
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "getCpuType() abi2"
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
invoke-virtual {v0}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
aput-object v0, v5, v11
invoke-static {v3, v5}, Lcom/baidu/pass/biometrics/base/debug/Log;->w(Ljava/lang/String;[Ljava/lang/Object;)V
:cond_15c
move-object v0, v1
goto/16 :goto_cf
.line 131
:cond_15f
const-string v1, "armeabi-v7a"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_16f
const-string v1, "armeabi-v7a"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_172
.line 132
:cond_16f
const-string v0, "armeabi-v7a"
goto :goto_10d
.line 135
:cond_172
const-string v1, "arm64-v8a"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_182
const-string v1, "arm64-v8a"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_185
.line 136
:cond_182
const-string v0, "arm64-v8a"
goto :goto_10d
.line 138
:cond_185
const-string v1, "x86"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_195
const-string v1, "x86"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_199
.line 139
:cond_195
const-string v0, "x86"
goto/16 :goto_10d
.line 142
:cond_199
aget-object v0, v4, v11
invoke-virtual {v0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v0
const-string v1, "armv7"
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_1ab
.line 143
const-string v0, "armeabi-v7a"
goto/16 :goto_10d
.line 144
:cond_1ab
aget-object v0, v4, v11
invoke-virtual {v0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v0
const-string v1, "arm"
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_1bd
.line 145
const-string v0, "armeabi"
goto/16 :goto_10d
.line 146
:cond_1bd
aget-object v0, v4, v11
invoke-virtual {v0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v0
const-string v1, "arm64"
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_1cf
.line 147
const-string v0, "arm64-v8a"
goto/16 :goto_10d
.line 148
:cond_1cf
aget-object v0, v4, v11
invoke-virtual {v0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v0
const-string v1, "x86"
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_1e1
.line 149
const-string v0, "x86"
goto/16 :goto_10d
.line 151
:cond_1e1
const-string v0, "armeabi"
goto/16 :goto_10d
.line 103
:catchall_1e5
move-exception v0
move-object v1, v2
goto/16 :goto_12b
:catchall_1e9
move-exception v0
goto/16 :goto_12b
:catchall_1ec
move-exception v0
move-object v3, v2
goto/16 :goto_12b
.line 100
:catch_1f0
move-exception v0
move-object v1, v2
move-object v2, v3
goto/16 :goto_115
:catch_1f5
move-exception v0
move-object v2, v3
goto/16 :goto_115
.end method
.method private static getCurrentFaceRect([I)Landroid/graphics/Rect;
.registers 7
.prologue
const/4 v5, 0x1
const/4 v0, 0x0
.line 315
new-instance v1, Landroid/graphics/Point;
invoke-direct {v1}, Landroid/graphics/Point;-><init>()V
.line 316
new-instance v2, Landroid/graphics/Point;
invoke-direct {v2}, Landroid/graphics/Point;-><init>()V
.line 317
array-length v3, p0
const/4 v4, 0x2
if-le v3, v4, :cond_20
.line 318
aget v3, p0, v0
iput v3, v1, Landroid/graphics/Point;->x:I
.line 319
aget v3, p0, v5
iput v3, v1, Landroid/graphics/Point;->y:I
.line 320
aget v3, p0, v0
iput v3, v2, Landroid/graphics/Point;->x:I
.line 321
aget v3, p0, v5
iput v3, v2, Landroid/graphics/Point;->y:I
.line 324
:cond_20
:goto_20
array-length v3, p0
div-int/lit8 v3, v3, 0x2
if-ge v0, v3, :cond_5c
.line 325
shl-int/lit8 v3, v0, 0x1
aget v3, p0, v3
int-to-float v3, v3
.line 326
shl-int/lit8 v4, v0, 0x1
add-int/lit8 v4, v4, 0x1
aget v4, p0, v4
int-to-float v4, v4
.line 328
iget v5, v1, Landroid/graphics/Point;->x:I
int-to-float v5, v5
cmpg-float v5, v3, v5
if-gez v5, :cond_3b
.line 329
float-to-int v5, v3
iput v5, v1, Landroid/graphics/Point;->x:I
.line 331
:cond_3b
iget v5, v1, Landroid/graphics/Point;->y:I
int-to-float v5, v5
cmpg-float v5, v4, v5
if-gez v5, :cond_45
.line 332
float-to-int v5, v4
iput v5, v1, Landroid/graphics/Point;->y:I
.line 334
:cond_45
iget v5, v2, Landroid/graphics/Point;->x:I
int-to-float v5, v5
cmpl-float v5, v3, v5
if-lez v5, :cond_4f
.line 335
float-to-int v3, v3
iput v3, v2, Landroid/graphics/Point;->x:I
.line 337
:cond_4f
iget v3, v2, Landroid/graphics/Point;->y:I
int-to-float v3, v3
cmpl-float v3, v4, v3
if-lez v3, :cond_59
.line 338
float-to-int v3, v4
iput v3, v2, Landroid/graphics/Point;->y:I
.line 324
:cond_59
add-int/lit8 v0, v0, 0x1
goto :goto_20
.line 341
:cond_5c
new-instance v0, Landroid/graphics/Rect;
iget v3, v1, Landroid/graphics/Point;->x:I
iget v1, v1, Landroid/graphics/Point;->y:I
iget v4, v2, Landroid/graphics/Point;->x:I
iget v2, v2, Landroid/graphics/Point;->y:I
invoke-direct {v0, v3, v1, v4, v2}, Landroid/graphics/Rect;-><init>(IIII)V
return-object v0
.end method
.method public static getFaceInsideRoundRect([I)Landroid/graphics/Rect;
.registers 8
.prologue
const/4 v5, 0x1
const/4 v4, 0x0
.line 365
if-eqz p0, :cond_3c
array-length v0, p0
const/4 v1, 0x2
if-ne v0, v1, :cond_3c
.line 366
aget v0, p0, v4
mul-int/lit16 v0, v0, 0x1e0
div-int/lit16 v0, v0, 0x2ee
div-int/lit8 v1, v0, 0x2
.line 367
aget v0, p0, v5
mul-int/lit16 v0, v0, 0x26c
div-int/lit16 v0, v0, 0x537
div-int/lit8 v2, v0, 0x2
.line 368
new-instance v3, Landroid/graphics/Point;
invoke-direct {v3}, Landroid/graphics/Point;-><init>()V
.line 369
aget v0, p0, v4
div-int/lit8 v0, v0, 0x2
aget v4, p0, v5
mul-int/lit16 v4, v4, 0x2d8
div-int/lit16 v4, v4, 0x537
invoke-virtual {v3, v0, v4}, Landroid/graphics/Point;->set(II)V
.line 371
new-instance v0, Landroid/graphics/Rect;
iget v4, v3, Landroid/graphics/Point;->x:I
sub-int/2addr v4, v1
iget v5, v3, Landroid/graphics/Point;->y:I
sub-int/2addr v5, v2
iget v6, v3, Landroid/graphics/Point;->x:I
add-int/2addr v1, v6
iget v3, v3, Landroid/graphics/Point;->y:I
add-int/2addr v2, v3
invoke-direct {v0, v4, v5, v1, v2}, Landroid/graphics/Rect;-><init>(IIII)V
.line 374
:goto_3b
return-object v0
:cond_3c
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0, v4, v4, v4, v4}, Landroid/graphics/Rect;-><init>(IIII)V
goto :goto_3b
.end method
.method public static getOSModel()Ljava/lang/String;
.registers 1
.prologue
.line 57
sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_b
sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String;
:goto_a
return-object v0
:cond_b
const-string v0, "-1"
goto :goto_a
.end method
.method public static getOSVersion()Ljava/lang/String;
.registers 1
.prologue
.line 53
sget-object v0, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_b
sget-object v0, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
:goto_a
return-object v0
:cond_b
const-string v0, "-1"
goto :goto_a
.end method
.method public static getPackageSign(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 5
.prologue
.line 163
const-string v0, ""
.line 164
if-eqz p0, :cond_a
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_b
.line 177
:cond_a
:goto_a
return-object v0
.line 169
:cond_b
:try_start_b
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
const/16 v2, 0x40
invoke-virtual {v1, p1, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v1
.line 170
iget-object v2, v1, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature;
array-length v2, v2
if-lez v2, :cond_a
.line 171
iget-object v1, v1, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature;
const/4 v2, 0x0
aget-object v1, v1, v2
.line 172
invoke-virtual {v1}, Landroid/content/pm/Signature;->toByteArray()[B
move-result-object v1
const/4 v2, 0x0
invoke-static {v1, v2}, Lcom/baidu/android/common/security/MD5Util;->toMd5([BZ)Ljava/lang/String;
:try_end_27
.catch Ljava/lang/Throwable; {:try_start_b .. :try_end_27} :catch_29
move-result-object v0
goto :goto_a
.line 174
:catch_29
move-exception v1
.line 175
invoke-static {v1}, Lcom/baidu/pass/biometrics/base/debug/Log;->e(Ljava/lang/Throwable;)V
goto :goto_a
.end method
.method public static getUA(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 5
.prologue
.line 477
const-string v0, "-p-"
.line 478
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
.line 479
const-string v2, "pass_bio"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 480
const-string v2, "android"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 481
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 482
invoke-static {p0}, Lcom/baidu/pass/biometrics/base/utils/PassBiometricUtil;->getVersionCode(Landroid/content/Context;)I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 483
const-string v2, "1.1.0"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 484
invoke-static {}, Lcom/baidu/pass/biometrics/base/utils/PassBiometricUtil;->getOSModel()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 485
invoke-static {}, Lcom/baidu/pass/biometrics/base/utils/PassBiometricUtil;->getOSVersion()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 486
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getUUID()Ljava/lang/String;
.registers 3
.prologue
.line 400
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v0
invoke-virtual {v0}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v0
.line 401
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_16
.line 402
const-string v1, "-"
const-string v2, ""
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
move-result-object v0
.line 404
:cond_16
return-object v0
.end method
.method public static getVersionCode(Landroid/content/Context;)I
.registers 5
.prologue
const/4 v0, 0x0
.line 188
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
.line 191
:try_start_5
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
invoke-virtual {v1, v2, v3}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v1
.line 193
iget v0, v1, Landroid/content/pm/PackageInfo;->versionCode:I
:try_end_10
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_10} :catch_11
.line 197
:goto_10
return v0
.line 194
:catch_11
move-exception v1
goto :goto_10
.end method
.method public static isFaceInsideRound([I[I)Z
.registers 7
.prologue
const/4 v0, 0x0
.line 348
if-eqz p1, :cond_7
array-length v1, p1
const/4 v2, 0x2
if-eq v1, v2, :cond_8
.line 356
:cond_7
:goto_7
return v0
.line 352
:cond_8
invoke-static {p0}, Lcom/baidu/pass/biometrics/base/utils/PassBiometricUtil;->getCurrentFaceRect([I)Landroid/graphics/Rect;
move-result-object v1
.line 354
invoke-static {p1}, Lcom/baidu/pass/biometrics/base/utils/PassBiometricUtil;->getFaceInsideRoundRect([I)Landroid/graphics/Rect;
move-result-object v2
.line 356
iget v3, v2, Landroid/graphics/Rect;->bottom:I
iget v4, v1, Landroid/graphics/Rect;->bottom:I
if-le v3, v4, :cond_7
iget v2, v2, Landroid/graphics/Rect;->top:I
iget v1, v1, Landroid/graphics/Rect;->top:I
if-ge v2, v1, :cond_7
const/4 v0, 0x1
goto :goto_7
.end method
.method public static isTooFarFromCamera([I[I)Z
.registers 6
.prologue
const/4 v0, 0x0
.line 238
if-eqz p1, :cond_1a
array-length v1, p1
const/4 v2, 0x2
if-ne v1, v2, :cond_1a
.line 239
invoke-static {p0}, Lcom/baidu/pass/biometrics/base/utils/PassBiometricUtil;->getCurrentFaceRect([I)Landroid/graphics/Rect;
move-result-object v1
.line 240
aget v2, p1, v0
mul-int/lit16 v2, v2, 0xc0
div-int/lit16 v2, v2, 0x2ee
.line 241
iget v3, v1, Landroid/graphics/Rect;->right:I
iget v1, v1, Landroid/graphics/Rect;->left:I
sub-int v1, v3, v1
if-ge v1, v2, :cond_1a
.line 242
const/4 v0, 0x1
.line 245
:cond_1a
return v0
.end method
.method public static isTooNearFromCamera([I[I)Z
.registers 6
.prologue
const/4 v0, 0x0
.line 221
if-eqz p1, :cond_1a
array-length v1, p1
const/4 v2, 0x2
if-ne v1, v2, :cond_1a
.line 222
invoke-static {p0}, Lcom/baidu/pass/biometrics/base/utils/PassBiometricUtil;->getCurrentFaceRect([I)Landroid/graphics/Rect;
move-result-object v1
.line 223
aget v2, p1, v0
mul-int/lit16 v2, v2, 0x1e0
div-int/lit16 v2, v2, 0x2ee
.line 224
iget v3, v1, Landroid/graphics/Rect;->right:I
iget v1, v1, Landroid/graphics/Rect;->left:I
sub-int v1, v3, v1
if-le v1, v2, :cond_1a
.line 225
const/4 v0, 0x1
.line 228
:cond_1a
return v0
.end method
.method public static px2dip(Landroid/content/Context;F)I
.registers 4
.prologue
.line 419
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->density:F
.line 420
div-float v0, p1, v0
const/high16 v1, 0x3f000000 # 0.5f
add-float/2addr v0, v1
float-to-int v0, v0
return v0
.end method
.method public static px2sp(Landroid/content/Context;F)I
.registers 4
.prologue
.line 428
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->scaledDensity:F
.line 429
div-float v0, p1, v0
const/high16 v1, 0x3f000000 # 0.5f
add-float/2addr v0, v1
float-to-int v0, v0
return v0
.end method
.method public static savePic(Landroid/graphics/Bitmap;)V
.registers 7
.prologue
.line 443
.line 446
:try_start_0
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v0
.line 447
const-string v1, "mounted"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_d
.line 470
:cond_c
:goto_c
return-void
.line 450
:cond_d
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v0
.line 451
new-instance v1, Ljava/io/File;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, "/awe"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 452
invoke-virtual {v1}, Ljava/io/File;->mkdirs()Z
.line 453
const-string v0, "%d.jpg"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v4
aput-object v4, v2, v3
invoke-static {v0, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 454
new-instance v2, Ljava/io/File;
invoke-direct {v2, v1, v0}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 455
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_52
.line 456
invoke-virtual {v2}, Ljava/io/File;->delete()Z
.line 459
:cond_52
new-instance v0, Ljava/io/FileOutputStream;
invoke-direct {v0, v2}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
.line 460
if-eqz v0, :cond_c
.line 461
sget-object v1, Landroid/graphics/Bitmap$CompressFormat;->JPEG:Landroid/graphics/Bitmap$CompressFormat;
const/16 v2, 0x64
invoke-virtual {p0, v1, v2, v0}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
.line 462
invoke-virtual {v0}, Ljava/io/FileOutputStream;->flush()V
.line 463
invoke-virtual {v0}, Ljava/io/FileOutputStream;->close()V
:try_end_66
.catch Ljava/io/FileNotFoundException; {:try_start_0 .. :try_end_66} :catch_67
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_66} :catch_6c
goto :goto_c
.line 465
:catch_67
move-exception v0
.line 466
invoke-virtual {v0}, Ljava/io/FileNotFoundException;->printStackTrace()V
goto :goto_c
.line 467
:catch_6c
move-exception v0
.line 468
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
goto :goto_c
.end method
.method public static sp2px(Landroid/content/Context;F)I
.registers 4
.prologue
.line 437
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->scaledDensity:F
.line 438
mul-float/2addr v0, p1
const/high16 v1, 0x3f000000 # 0.5f
add-float/2addr v0, v1
float-to-int v0, v0
return v0
.end method