2026-07-06 19:54:44 +08:00

837 lines
17 KiB
Smali

.class public final Lxyz/doikki/videoplayer/util/PlayerUtils;
.super Ljava/lang/Object;
.source "PlayerUtils.java"
# static fields
.field public static final NETWORK_CLOSED:I = 0x1
.field public static final NETWORK_ETHERNET:I = 0x2
.field public static final NETWORK_MOBILE:I = 0x4
.field public static final NETWORK_UNKNOWN:I = -0x1
.field public static final NETWORK_WIFI:I = 0x3
.field public static final NO_NETWORK:I
# direct methods
.method private constructor <init>()V
.locals 0
.line 38
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static dp2px(Landroid/content/Context;F)I
.locals 1
.line 140
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
invoke-virtual {p0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p0
const/4 v0, 0x1
invoke-static {v0, p1, p0}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result p0
float-to-int p0, p0
return p0
.end method
.method public static getApplication()Landroid/app/Application;
.locals 5
.annotation runtime Ljava/lang/Deprecated;
.end annotation
const/4 v0, 0x0
:try_start_0
const-string v1, "android.app.ActivityThread"
.line 242
invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
const-string v2, "currentApplication"
const/4 v3, 0x0
new-array v4, v3, [Ljava/lang/Class;
.line 243
invoke-virtual {v1, v2, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
new-array v2, v3, [Ljava/lang/Object;
invoke-virtual {v1, v0, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/app/Application;
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
return-object v1
:catch_0
move-exception v1
.line 245
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
return-object v0
.end method
.method public static getCurrentSystemTime()Ljava/lang/String;
.locals 3
.line 254
new-instance v0, Ljava/text/SimpleDateFormat;
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v1
const-string v2, "HH:mm"
invoke-direct {v0, v2, v1}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
.line 255
new-instance v1, Ljava/util/Date;
invoke-direct {v1}, Ljava/util/Date;-><init>()V
.line 256
invoke-virtual {v0, v1}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getNavigationBarHeight(Landroid/content/Context;)I
.locals 3
.line 73
invoke-static {p0}, Lxyz/doikki/videoplayer/util/PlayerUtils;->hasNavigationBar(Landroid/content/Context;)Z
move-result v0
if-nez v0, :cond_0
const/4 p0, 0x0
return p0
.line 76
:cond_0
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
const-string v0, "navigation_bar_height"
const-string v1, "dimen"
const-string v2, "android"
.line 77
invoke-virtual {p0, v0, v1, v2}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v0
.line 80
invoke-virtual {p0, v0}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result p0
return p0
.end method
.method public static getNetworkType(Landroid/content/Context;)I
.locals 3
.line 181
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p0
const-string v0, "connectivity"
.line 182
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/net/ConnectivityManager;
const/4 v0, 0x0
if-nez p0, :cond_0
return v0
.line 188
:cond_0
invoke-virtual {p0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object p0
if-nez p0, :cond_1
return v0
.line 193
:cond_1
invoke-virtual {p0}, Landroid/net/NetworkInfo;->isConnected()Z
move-result v0
const/4 v1, 0x1
if-nez v0, :cond_2
return v1
.line 197
:cond_2
invoke-virtual {p0}, Landroid/net/NetworkInfo;->getType()I
move-result v0
const/16 v2, 0x9
if-ne v0, v2, :cond_3
const/4 p0, 0x2
return p0
.line 200
:cond_3
invoke-virtual {p0}, Landroid/net/NetworkInfo;->getType()I
move-result v0
if-ne v0, v1, :cond_4
const/4 p0, 0x3
return p0
.line 203
:cond_4
invoke-virtual {p0}, Landroid/net/NetworkInfo;->getType()I
move-result v0
if-nez v0, :cond_6
.line 205
invoke-virtual {p0}, Landroid/net/NetworkInfo;->getSubtype()I
move-result p0
const/16 v0, 0x14
if-eq p0, v0, :cond_5
packed-switch p0, :pswitch_data_0
goto :goto_0
:cond_5
:pswitch_0
const/4 p0, 0x4
return p0
:cond_6
:goto_0
const/4 p0, -0x1
return p0
nop
:pswitch_data_0
.packed-switch 0x1
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
.end packed-switch
.end method
.method public static getScreenHeight(Landroid/content/Context;Z)I
.locals 0
if-eqz p1, :cond_0
.line 117
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p1
invoke-virtual {p1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p1
iget p1, p1, Landroid/util/DisplayMetrics;->heightPixels:I
invoke-static {p0}, Lxyz/doikki/videoplayer/util/PlayerUtils;->getNavigationBarHeight(Landroid/content/Context;)I
move-result p0
add-int/2addr p1, p0
return p1
.line 119
:cond_0
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
invoke-virtual {p0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p0
iget p0, p0, Landroid/util/DisplayMetrics;->heightPixels:I
return p0
.end method
.method public static getScreenWidth(Landroid/content/Context;Z)I
.locals 0
if-eqz p1, :cond_0
.line 106
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p1
invoke-virtual {p1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p1
iget p1, p1, Landroid/util/DisplayMetrics;->widthPixels:I
invoke-static {p0}, Lxyz/doikki/videoplayer/util/PlayerUtils;->getNavigationBarHeight(Landroid/content/Context;)I
move-result p0
add-int/2addr p1, p0
return p1
.line 108
:cond_0
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
invoke-virtual {p0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p0
iget p0, p0, Landroid/util/DisplayMetrics;->widthPixels:I
return p0
.end method
.method public static getSnapshot(Ljava/util/Collection;)Ljava/util/List;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"TT;>;)",
"Ljava/util/List<",
"TT;>;"
}
.end annotation
.line 281
new-instance v0, Ljava/util/ArrayList;
invoke-interface {p0}, Ljava/util/Collection;->size()I
move-result v1
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
.line 282
invoke-interface {p0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p0
:cond_0
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
if-eqz v1, :cond_0
.line 284
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_1
return-object v0
.end method
.method public static getStatusBarHeight(Landroid/content/Context;)D
.locals 4
.line 47
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v1, "status_bar_height"
const-string v2, "dimen"
const-string v3, "android"
invoke-virtual {v0, v1, v2, v3}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v0
if-lez v0, :cond_0
.line 50
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
invoke-virtual {p0, v0}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result p0
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
int-to-double v0, p0
return-wide v0
.end method
.method public static getStatusBarHeightPortrait(Landroid/content/Context;)D
.locals 4
.line 61
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v1, "status_bar_height_portrait"
const-string v2, "dimen"
const-string v3, "android"
invoke-virtual {v0, v1, v2, v3}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v0
if-lez v0, :cond_0
.line 64
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
invoke-virtual {p0, v0}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result p0
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
int-to-double v0, p0
return-wide v0
.end method
.method public static getWindowManager(Landroid/content/Context;)Landroid/view/WindowManager;
.locals 1
const-string v0, "window"
.line 154
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/view/WindowManager;
return-object p0
.end method
.method public static hasNavigationBar(Landroid/content/Context;)Z
.locals 5
.line 87
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x1
const/4 v2, 0x0
const/16 v3, 0x11
if-lt v0, v3, :cond_2
.line 88
invoke-static {p0}, Lxyz/doikki/videoplayer/util/PlayerUtils;->getWindowManager(Landroid/content/Context;)Landroid/view/WindowManager;
move-result-object p0
invoke-interface {p0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object p0
.line 89
new-instance v0, Landroid/graphics/Point;
invoke-direct {v0}, Landroid/graphics/Point;-><init>()V
.line 90
new-instance v3, Landroid/graphics/Point;
invoke-direct {v3}, Landroid/graphics/Point;-><init>()V
.line 91
invoke-virtual {p0, v0}, Landroid/view/Display;->getSize(Landroid/graphics/Point;)V
.line 92
invoke-virtual {p0, v3}, Landroid/view/Display;->getRealSize(Landroid/graphics/Point;)V
.line 93
iget p0, v3, Landroid/graphics/Point;->x:I
iget v4, v0, Landroid/graphics/Point;->x:I
if-ne p0, v4, :cond_1
iget p0, v3, Landroid/graphics/Point;->y:I
iget v0, v0, Landroid/graphics/Point;->y:I
if-eq p0, v0, :cond_0
goto :goto_0
:cond_0
move v1, v2
:cond_1
:goto_0
return v1
.line 95
:cond_2
invoke-static {p0}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
move-result-object p0
invoke-virtual {p0}, Landroid/view/ViewConfiguration;->hasPermanentMenuKey()Z
move-result p0
const/4 v0, 0x4
.line 96
invoke-static {v0}, Landroid/view/KeyCharacterMap;->deviceHasKey(I)Z
move-result v0
if-nez p0, :cond_3
if-nez v0, :cond_3
goto :goto_1
:cond_3
move v1, v2
:goto_1
return v1
.end method
.method public static isEdge(Landroid/content/Context;Landroid/view/MotionEvent;)Z
.locals 5
const/high16 v0, 0x42200000 # 40.0f
.line 161
invoke-static {p0, v0}, Lxyz/doikki/videoplayer/util/PlayerUtils;->dp2px(Landroid/content/Context;F)I
move-result v0
.line 162
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F
move-result v1
int-to-float v2, v0
cmpg-float v1, v1, v2
const/4 v3, 0x1
if-ltz v1, :cond_1
.line 163
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F
move-result v1
invoke-static {p0, v3}, Lxyz/doikki/videoplayer/util/PlayerUtils;->getScreenWidth(Landroid/content/Context;Z)I
move-result v4
sub-int/2addr v4, v0
int-to-float v4, v4
cmpl-float v1, v1, v4
if-gtz v1, :cond_1
.line 164
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
move-result v1
cmpg-float v1, v1, v2
if-ltz v1, :cond_1
.line 165
invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F
move-result p1
invoke-static {p0, v3}, Lxyz/doikki/videoplayer/util/PlayerUtils;->getScreenHeight(Landroid/content/Context;Z)I
move-result p0
sub-int/2addr p0, v0
int-to-float p0, p0
cmpl-float p0, p1, p0
if-lez p0, :cond_0
goto :goto_0
:cond_0
const/4 v3, 0x0
:cond_1
:goto_0
return v3
.end method
.method public static scanForActivity(Landroid/content/Context;)Landroid/app/Activity;
.locals 2
const/4 v0, 0x0
if-nez p0, :cond_0
return-object v0
.line 128
:cond_0
instance-of v1, p0, Landroid/app/Activity;
if-eqz v1, :cond_1
.line 129
check-cast p0, Landroid/app/Activity;
return-object p0
.line 130
:cond_1
instance-of v1, p0, Landroid/content/ContextWrapper;
if-eqz v1, :cond_2
.line 131
check-cast p0, Landroid/content/ContextWrapper;
invoke-virtual {p0}, Landroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
move-result-object p0
invoke-static {p0}, Lxyz/doikki/videoplayer/util/PlayerUtils;->scanForActivity(Landroid/content/Context;)Landroid/app/Activity;
move-result-object p0
return-object p0
:cond_2
return-object v0
.end method
.method public static sp2px(Landroid/content/Context;F)I
.locals 1
.line 147
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
invoke-virtual {p0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p0
const/4 v0, 0x2
invoke-static {v0, p1, p0}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result p0
float-to-int p0, p0
return p0
.end method
.method public static stringForTime(I)Ljava/lang/String;
.locals 7
.line 263
div-int/lit16 p0, p0, 0x3e8
.line 265
rem-int/lit8 v0, p0, 0x3c
.line 266
div-int/lit8 v1, p0, 0x3c
rem-int/lit8 v1, v1, 0x3c
.line 267
div-int/lit16 p0, p0, 0xe10
const/4 v2, 0x1
const/4 v3, 0x0
const/4 v4, 0x2
if-lez p0, :cond_0
.line 270
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v5
const/4 v6, 0x3
new-array v6, v6, [Ljava/lang/Object;
invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
aput-object p0, v6, v3
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
aput-object p0, v6, v2
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
aput-object p0, v6, v4
const-string p0, "%d:%02d:%02d"
invoke-static {v5, p0, v6}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
.line 272
:cond_0
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object p0
new-array v4, v4, [Ljava/lang/Object;
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
aput-object v1, v4, v3
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
aput-object v0, v4, v2
const-string v0, "%02d:%02d"
invoke-static {p0, v0, v4}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method