BrightnessUtils.smali

.class public final Lcom/blankj/utilcode/util/BrightnessUtils;
.super Ljava/lang/Object;
.source "BrightnessUtils.java"


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method private constructor <init>()V
    .registers 3

    .line 20
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 21
    new-instance v0, Ljava/lang/UnsupportedOperationException;

    const-string/jumbo 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 getBrightness()I
    .registers 2

    .line 66
    :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/jumbo v1, "screen_brightness"

    .line 65
    invoke-static {v0, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I

    move-result v0
    :try_end_f
    .catch Landroid/provider/Settings$SettingNotFoundException; {:try_start_0 .. :try_end_f} :catch_10

    return v0

    .line 69
    :catch_10
    move-exception v0

    .line 70
    .local v0, "e":Landroid/provider/Settings$SettingNotFoundException;
    invoke-virtual {v0}, Landroid/provider/Settings$SettingNotFoundException;->printStackTrace()V

    .line 71
    const/4 v1, 0x0

    return v1
.end method

.method public static getWindowBrightness(Landroid/view/Window;)I
    .registers 4
    .param p0, "window"    # Landroid/view/Window;

    .line 109
    invoke-virtual {p0}, Landroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;

    move-result-object v0

    .line 110
    .local v0, "lp":Landroid/view/WindowManager$LayoutParams;
    iget v1, v0, Landroid/view/WindowManager$LayoutParams;->screenBrightness:F

    .line 111
    .local v1, "brightness":F
    const/4 v2, 0x0

    cmpg-float v2, v1, v2

    if-gez v2, :cond_10

    invoke-static {}, Lcom/blankj/utilcode/util/BrightnessUtils;->getBrightness()I

    move-result v2

    return v2

    .line 112
    :cond_10
    const/high16 v2, 0x437f0000    # 255.0f

    mul-float v2, v2, v1

    float-to-int v2, v2

    return v2
.end method

.method public static isAutoBrightnessEnabled()Z
    .registers 3

    .line 32
    const/4 v0, 0x0

    :try_start_1
    invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;

    move-result-object v1

    invoke-virtual {v1}, Landroid/app/Application;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v1

    const-string/jumbo v2, "screen_brightness_mode"

    .line 31
    invoke-static {v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I

    move-result v1
    :try_end_10
    .catch Landroid/provider/Settings$SettingNotFoundException; {:try_start_1 .. :try_end_10} :catch_15

    .line 35
    .local v1, "mode":I
    const/4 v2, 0x1

    if-ne v1, v2, :cond_14

    const/4 v0, 0x1

    :cond_14
    return v0

    .line 36
    .end local v1    # "mode":I
    :catch_15
    move-exception v1

    .line 37
    .local v1, "e":Landroid/provider/Settings$SettingNotFoundException;
    invoke-virtual {v1}, Landroid/provider/Settings$SettingNotFoundException;->printStackTrace()V

    .line 38
    return v0
.end method

.method public static setAutoBrightnessEnabled(Z)Z
    .registers 3
    .param p0, "enabled"    # Z

    .line 51
    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

    .line 50
    const-string/jumbo v1, "screen_brightness_mode"

    invoke-static {v0, v1, p0}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z

    move-result v0

    return v0
.end method

.method public static setBrightness(I)Z
    .registers 5
    .param p0, "brightness"    # I

    .line 83
    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

    .line 84
    .local v0, "resolver":Landroid/content/ContentResolver;
    const-string/jumbo v1, "screen_brightness"

    invoke-static {v0, v1, p0}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z

    move-result v2

    .line 85
    .local v2, "b":Z
    invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;

    move-result-object v1

    const/4 v3, 0x0

    invoke-virtual {v0, v1, v3}, Landroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;)V

    .line 86
    return v2
.end method

.method public static setWindowBrightness(Landroid/view/Window;I)V
    .registers 5
    .param p0, "window"    # Landroid/view/Window;
    .param p1, "brightness"    # I

    .line 95
    if-eqz p0, :cond_10

    .line 97
    invoke-virtual {p0}, Landroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;

    move-result-object v0

    .line 98
    .local v0, "lp":Landroid/view/WindowManager$LayoutParams;
    int-to-float v1, p1

    const/high16 v2, 0x437f0000    # 255.0f

    div-float/2addr v1, v2

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->screenBrightness:F

    .line 99
    invoke-virtual {p0, v0}, Landroid/view/Window;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V

    .line 100
    return-void

    .line 95
    .end local v0    # "lp":Landroid/view/WindowManager$LayoutParams;
    :cond_10
    new-instance v0, Ljava/lang/NullPointerException;

    const-string v1, "Argument \'window\' of type Window (#0 out of 2, zero-based) is marked by @android.support.annotation.NonNull but got null for it"

    invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v0
.end method