ViewUtils.smali
.class public Landroid/support/v7/widget/ViewUtils;
.super Ljava/lang/Object;
.source "ViewUtils.java"
# annotations
.annotation build Landroid/support/annotation/RestrictTo;
value = {
.enum Landroid/support/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroid/support/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "ViewUtils"
.field private static sComputeFitSystemWindowsMethod:Ljava/lang/reflect/Method;
# direct methods
.method static constructor <clinit>()V
.registers 5
.prologue
.line 41
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x12
if-lt v0, v1, :cond_2b
.line 43
:try_start_6
const-class v0, Landroid/view/View;
const-string v1, "computeFitSystemWindows"
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Class;
const/4 v3, 0x0
const-class v4, Landroid/graphics/Rect;
aput-object v4, v2, v3
const/4 v3, 0x1
const-class v4, Landroid/graphics/Rect;
aput-object v4, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Landroid/support/v7/widget/ViewUtils;->sComputeFitSystemWindowsMethod:Ljava/lang/reflect/Method;
.line 45
sget-object v0, Landroid/support/v7/widget/ViewUtils;->sComputeFitSystemWindowsMethod:Ljava/lang/reflect/Method;
invoke-virtual {v0}, Ljava/lang/reflect/Method;->isAccessible()Z
move-result v0
if-nez v0, :cond_2b
.line 46
sget-object v0, Landroid/support/v7/widget/ViewUtils;->sComputeFitSystemWindowsMethod:Ljava/lang/reflect/Method;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Ljava/lang/reflect/Method;->setAccessible(Z)V
:try_end_2b
.catch Ljava/lang/NoSuchMethodException; {:try_start_6 .. :try_end_2b} :catch_2c
.line 52
:cond_2b
:goto_2b
return-void
.line 48
:catch_2c
move-exception v0
.line 49
const-string v0, "ViewUtils"
const-string v1, "Could not find method computeFitSystemWindows. Oh well."
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_2b
.end method
.method private constructor <init>()V
.registers 1
.prologue
.line 54
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static computeFitSystemWindows(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
.registers 6
.prologue
.line 65
sget-object v0, Landroid/support/v7/widget/ViewUtils;->sComputeFitSystemWindowsMethod:Ljava/lang/reflect/Method;
if-eqz v0, :cond_12
.line 67
:try_start_4
sget-object v0, Landroid/support/v7/widget/ViewUtils;->sComputeFitSystemWindowsMethod:Ljava/lang/reflect/Method;
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p1, v1, v2
const/4 v2, 0x1
aput-object p2, v1, v2
invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_12
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_12} :catch_13
.line 72
:cond_12
:goto_12
return-void
.line 68
:catch_13
move-exception v0
.line 69
const-string v1, "ViewUtils"
const-string v2, "Could not invoke computeFitSystemWindows"
invoke-static {v1, v2, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_12
.end method
.method public static isLayoutRtl(Landroid/view/View;)Z
.registers 3
.prologue
const/4 v0, 0x1
.line 57
invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->getLayoutDirection(Landroid/view/View;)I
move-result v1
if-ne v1, v0, :cond_8
:goto_7
return v0
:cond_8
const/4 v0, 0x0
goto :goto_7
.end method
.method public static makeOptionalFitsSystemWindows(Landroid/view/View;)V
.registers 4
.prologue
.line 79
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x10
if-lt v0, v1, :cond_23
.line 83
:try_start_6
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
const-string v1, "makeOptionalFitsSystemWindows"
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Class;
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
.line 84
invoke-virtual {v0}, Ljava/lang/reflect/Method;->isAccessible()Z
move-result v1
if-nez v1, :cond_1d
.line 85
const/4 v1, 0x1
invoke-virtual {v0, v1}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 87
:cond_1d
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Object;
invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_23
.catch Ljava/lang/NoSuchMethodException; {:try_start_6 .. :try_end_23} :catch_24
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_6 .. :try_end_23} :catch_2d
.catch Ljava/lang/IllegalAccessException; {:try_start_6 .. :try_end_23} :catch_36
.line 96
:cond_23
:goto_23
return-void
.line 88
:catch_24
move-exception v0
.line 89
const-string v0, "ViewUtils"
const-string v1, "Could not find method makeOptionalFitsSystemWindows. Oh well..."
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_23
.line 90
:catch_2d
move-exception v0
.line 91
const-string v1, "ViewUtils"
const-string v2, "Could not invoke makeOptionalFitsSystemWindows"
invoke-static {v1, v2, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_23
.line 92
:catch_36
move-exception v0
.line 93
const-string v1, "ViewUtils"
const-string v2, "Could not invoke makeOptionalFitsSystemWindows"
invoke-static {v1, v2, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_23
.end method