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

813 lines
19 KiB
Smali

.class public final Lcom/blankj/utilcode/util/ScreenUtils;
.super Ljava/lang/Object;
.source "ScreenUtils.java"
# direct methods
.method private constructor <init>()V
.locals 2
.line 34
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 35
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "u can\'t instantiate me..."
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static getAppScreenHeight()I
.locals 2
.line 91
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
const-string v1, "window"
invoke-virtual {v0, v1}, Landroid/app/Application;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/WindowManager;
if-nez v0, :cond_0
const/4 v0, -0x1
return v0
.line 93
:cond_0
new-instance v1, Landroid/graphics/Point;
invoke-direct {v1}, Landroid/graphics/Point;-><init>()V
.line 94
invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object v0
invoke-virtual {v0, v1}, Landroid/view/Display;->getSize(Landroid/graphics/Point;)V
.line 95
iget v0, v1, Landroid/graphics/Point;->y:I
return v0
.end method
.method public static getAppScreenWidth()I
.locals 2
.line 78
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
const-string v1, "window"
invoke-virtual {v0, v1}, Landroid/app/Application;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/WindowManager;
if-nez v0, :cond_0
const/4 v0, -0x1
return v0
.line 80
:cond_0
new-instance v1, Landroid/graphics/Point;
invoke-direct {v1}, Landroid/graphics/Point;-><init>()V
.line 81
invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object v0
invoke-virtual {v0, v1}, Landroid/view/Display;->getSize(Landroid/graphics/Point;)V
.line 82
iget v0, v1, Landroid/graphics/Point;->x:I
return v0
.end method
.method public static getScreenDensity()F
.locals 1
.line 104
invoke-static {}, Landroid/content/res/Resources;->getSystem()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
return v0
.end method
.method public static getScreenDensityDpi()I
.locals 1
.line 113
invoke-static {}, Landroid/content/res/Resources;->getSystem()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;->densityDpi:I
return v0
.end method
.method public static getScreenHeight()I
.locals 4
.line 61
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
const-string v1, "window"
invoke-virtual {v0, v1}, Landroid/app/Application;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/WindowManager;
if-nez v0, :cond_0
const/4 v0, -0x1
return v0
.line 63
:cond_0
new-instance v1, Landroid/graphics/Point;
invoke-direct {v1}, Landroid/graphics/Point;-><init>()V
.line 64
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0x11
if-lt v2, v3, :cond_1
.line 65
invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object v0
invoke-virtual {v0, v1}, Landroid/view/Display;->getRealSize(Landroid/graphics/Point;)V
goto :goto_0
.line 67
:cond_1
invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object v0
invoke-virtual {v0, v1}, Landroid/view/Display;->getSize(Landroid/graphics/Point;)V
.line 69
:goto_0
iget v0, v1, Landroid/graphics/Point;->y:I
return v0
.end method
.method public static getScreenRotation(Landroid/app/Activity;)I
.locals 1
const-string v0, "Argument \'activity\' of type Activity (#0 out of 1, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
.line 268
invoke-static {p0, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 269
invoke-virtual {p0}, Landroid/app/Activity;->getWindowManager()Landroid/view/WindowManager;
move-result-object p0
invoke-interface {p0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object p0
invoke-virtual {p0}, Landroid/view/Display;->getRotation()I
move-result p0
const/4 v0, 0x1
if-eq p0, v0, :cond_2
const/4 v0, 0x2
if-eq p0, v0, :cond_1
const/4 v0, 0x3
if-eq p0, v0, :cond_0
const/4 p0, 0x0
return p0
:cond_0
const/16 p0, 0x10e
return p0
:cond_1
const/16 p0, 0xb4
return p0
:cond_2
const/16 p0, 0x5a
return p0
.end method
.method public static getScreenWidth()I
.locals 4
.line 44
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
const-string v1, "window"
invoke-virtual {v0, v1}, Landroid/app/Application;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/WindowManager;
if-nez v0, :cond_0
const/4 v0, -0x1
return v0
.line 46
:cond_0
new-instance v1, Landroid/graphics/Point;
invoke-direct {v1}, Landroid/graphics/Point;-><init>()V
.line 47
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0x11
if-lt v2, v3, :cond_1
.line 48
invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object v0
invoke-virtual {v0, v1}, Landroid/view/Display;->getRealSize(Landroid/graphics/Point;)V
goto :goto_0
.line 50
:cond_1
invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object v0
invoke-virtual {v0, v1}, Landroid/view/Display;->getSize(Landroid/graphics/Point;)V
.line 52
:goto_0
iget v0, v1, Landroid/graphics/Point;->x:I
return v0
.end method
.method public static getScreenXDpi()F
.locals 1
.line 122
invoke-static {}, Landroid/content/res/Resources;->getSystem()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;->xdpi:F
return v0
.end method
.method public static getScreenYDpi()F
.locals 1
.line 131
invoke-static {}, Landroid/content/res/Resources;->getSystem()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;->ydpi:F
return v0
.end method
.method public static getSleepDuration()I
.locals 2
.line 354
:try_start_0
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "screen_off_timeout"
.line 353
invoke-static {v0, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I
move-result v0
:try_end_0
.catch Landroid/provider/Settings$SettingNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
return v0
:catch_0
move-exception v0
.line 358
invoke-virtual {v0}, Landroid/provider/Settings$SettingNotFoundException;->printStackTrace()V
const/16 v0, -0x7b
return v0
.end method
.method public static isFullScreen(Landroid/app/Activity;)Z
.locals 1
const-string v0, "Argument \'activity\' of type Activity (#0 out of 1, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
.line 217
invoke-static {p0, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
const/16 v0, 0x400
.line 219
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object p0
invoke-virtual {p0}, Landroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;
move-result-object p0
iget p0, p0, Landroid/view/WindowManager$LayoutParams;->flags:I
and-int/2addr p0, v0
if-ne p0, v0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public static isLandscape()Z
.locals 2
.line 248
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v0
iget v0, v0, Landroid/content/res/Configuration;->orientation:I
const/4 v1, 0x2
if-ne v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public static isPortrait()Z
.locals 2
.line 258
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v0
iget v0, v0, Landroid/content/res/Configuration;->orientation:I
const/4 v1, 0x1
if-ne v0, v1, :cond_0
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
return v1
.end method
.method public static isScreenLock()Z
.locals 2
.line 326
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
const-string v1, "keyguard"
invoke-virtual {v0, v1}, Landroid/app/Application;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/KeyguardManager;
if-nez v0, :cond_0
const/4 v0, 0x0
return v0
.line 328
:cond_0
invoke-virtual {v0}, Landroid/app/KeyguardManager;->inKeyguardRestrictedInputMode()Z
move-result v0
return v0
.end method
.method public static screenShot(Landroid/app/Activity;)Landroid/graphics/Bitmap;
.locals 1
const-string v0, "Argument \'activity\' of type Activity (#0 out of 1, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
.line 289
invoke-static {p0, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
const/4 v0, 0x0
.line 290
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/ScreenUtils;->screenShot(Landroid/app/Activity;Z)Landroid/graphics/Bitmap;
move-result-object p0
return-object p0
.end method
.method public static screenShot(Landroid/app/Activity;Z)Landroid/graphics/Bitmap;
.locals 3
const-string v0, "Argument \'activity\' of type Activity (#0 out of 2, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
.line 300
invoke-static {p0, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 301
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
invoke-virtual {v0}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object v0
.line 302
invoke-static {v0}, Lcom/blankj/utilcode/util/UtilsBridge;->view2Bitmap(Landroid/view/View;)Landroid/graphics/Bitmap;
move-result-object v0
.line 303
new-instance v1, Landroid/util/DisplayMetrics;
invoke-direct {v1}, Landroid/util/DisplayMetrics;-><init>()V
.line 304
invoke-virtual {p0}, Landroid/app/Activity;->getWindowManager()Landroid/view/WindowManager;
move-result-object p0
invoke-interface {p0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object p0
invoke-virtual {p0, v1}, Landroid/view/Display;->getMetrics(Landroid/util/DisplayMetrics;)V
const/4 p0, 0x0
if-eqz p1, :cond_0
.line 306
invoke-static {}, Lcom/blankj/utilcode/util/UtilsBridge;->getStatusBarHeight()I
move-result p1
.line 307
iget v2, v1, Landroid/util/DisplayMetrics;->widthPixels:I
iget v1, v1, Landroid/util/DisplayMetrics;->heightPixels:I
sub-int/2addr v1, p1
invoke-static {v0, p0, p1, v2, v1}, Landroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIII)Landroid/graphics/Bitmap;
move-result-object p0
return-object p0
.line 315
:cond_0
iget p1, v1, Landroid/util/DisplayMetrics;->widthPixels:I
iget v1, v1, Landroid/util/DisplayMetrics;->heightPixels:I
invoke-static {v0, p0, p0, p1, v1}, Landroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIII)Landroid/graphics/Bitmap;
move-result-object p0
return-object p0
.end method
.method public static setFullScreen(Landroid/app/Activity;)V
.locals 1
const-string v0, "Argument \'activity\' of type Activity (#0 out of 1, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
.line 183
invoke-static {p0, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 184
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object p0
const/16 v0, 0x400
invoke-virtual {p0, v0}, Landroid/view/Window;->addFlags(I)V
return-void
.end method
.method public static setLandscape(Landroid/app/Activity;)V
.locals 1
const-string v0, "Argument \'activity\' of type Activity (#0 out of 1, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
.line 228
invoke-static {p0, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
const/4 v0, 0x0
.line 229
invoke-virtual {p0, v0}, Landroid/app/Activity;->setRequestedOrientation(I)V
return-void
.end method
.method public static setNonFullScreen(Landroid/app/Activity;)V
.locals 1
const-string v0, "Argument \'activity\' of type Activity (#0 out of 1, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
.line 192
invoke-static {p0, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 193
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object p0
const/16 v0, 0x400
invoke-virtual {p0, v0}, Landroid/view/Window;->clearFlags(I)V
return-void
.end method
.method public static setPortrait(Landroid/app/Activity;)V
.locals 1
const-string v0, "Argument \'activity\' of type Activity (#0 out of 1, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
.line 238
invoke-static {p0, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
const/4 v0, 0x1
.line 239
invoke-virtual {p0, v0}, Landroid/app/Activity;->setRequestedOrientation(I)V
return-void
.end method
.method public static setSleepDuration(I)V
.locals 2
.line 340
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0}, Landroid/app/Application;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "screen_off_timeout"
.line 339
invoke-static {v0, v1, p0}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
return-void
.end method
.method public static toggleFullScreen(Landroid/app/Activity;)V
.locals 2
const-string v0, "Argument \'activity\' of type Activity (#0 out of 1, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
.line 201
invoke-static {p0, v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 202
invoke-static {p0}, Lcom/blankj/utilcode/util/ScreenUtils;->isFullScreen(Landroid/app/Activity;)Z
move-result v0
.line 203
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object p0
const/16 v1, 0x400
if-eqz v0, :cond_0
.line 205
invoke-virtual {p0, v1}, Landroid/view/Window;->clearFlags(I)V
goto :goto_0
.line 207
:cond_0
invoke-virtual {p0, v1}, Landroid/view/Window;->addFlags(I)V
:goto_0
return-void
.end method
# virtual methods
.method public calculateDistanceByX(Landroid/view/View;)I
.locals 2
const/4 v0, 0x2
new-array v0, v0, [I
.line 141
invoke-virtual {p1, v0}, Landroid/view/View;->getLocationOnScreen([I)V
.line 142
invoke-static {}, Lcom/blankj/utilcode/util/ScreenUtils;->getScreenWidth()I
move-result p1
const/4 v1, 0x0
aget v0, v0, v1
sub-int/2addr p1, v0
return p1
.end method
.method public calculateDistanceByY(Landroid/view/View;)I
.locals 2
const/4 v0, 0x2
new-array v0, v0, [I
.line 152
invoke-virtual {p1, v0}, Landroid/view/View;->getLocationOnScreen([I)V
.line 153
invoke-static {}, Lcom/blankj/utilcode/util/ScreenUtils;->getScreenHeight()I
move-result p1
const/4 v1, 0x1
aget v0, v0, v1
sub-int/2addr p1, v0
return p1
.end method
.method public getViewX(Landroid/view/View;)I
.locals 1
const/4 v0, 0x2
new-array v0, v0, [I
.line 163
invoke-virtual {p1, v0}, Landroid/view/View;->getLocationOnScreen([I)V
const/4 p1, 0x0
.line 164
aget p1, v0, p1
return p1
.end method
.method public getViewY(Landroid/view/View;)I
.locals 1
const/4 v0, 0x2
new-array v0, v0, [I
.line 174
invoke-virtual {p1, v0}, Landroid/view/View;->getLocationOnScreen([I)V
const/4 p1, 0x1
.line 175
aget p1, v0, p1
return p1
.end method