DrawableCompat$DrawableCompatApi17Impl.smali
.class Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;
.super Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatBaseImpl;
.source "DrawableCompat.java"
# annotations
.annotation build Landroid/support/annotation/RequiresApi;
value = 0x11
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroid/support/v4/graphics/drawable/DrawableCompat;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "DrawableCompatApi17Impl"
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "DrawableCompatApi17"
.field private static sGetLayoutDirectionMethod:Ljava/lang/reflect/Method;
.field private static sGetLayoutDirectionMethodFetched:Z
.field private static sSetLayoutDirectionMethod:Ljava/lang/reflect/Method;
.field private static sSetLayoutDirectionMethodFetched:Z
# direct methods
.method constructor <init>()V
.registers 1
.prologue
.line 127
invoke-direct {p0}, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatBaseImpl;-><init>()V
return-void
.end method
# virtual methods
.method public getLayoutDirection(Landroid/graphics/drawable/Drawable;)I
.registers 7
.prologue
const/4 v4, 0x1
const/4 v1, 0x0
.line 163
sget-boolean v0, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sGetLayoutDirectionMethodFetched:Z
if-nez v0, :cond_1b
.line 165
:try_start_6
const-class v0, Landroid/graphics/drawable/Drawable;
const-string v2, "getLayoutDirection"
const/4 v3, 0x0
new-array v3, v3, [Ljava/lang/Class;
invoke-virtual {v0, v2, v3}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sGetLayoutDirectionMethod:Ljava/lang/reflect/Method;
.line 166
sget-object v0, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sGetLayoutDirectionMethod:Ljava/lang/reflect/Method;
const/4 v2, 0x1
invoke-virtual {v0, v2}, Ljava/lang/reflect/Method;->setAccessible(Z)V
:try_end_19
.catch Ljava/lang/NoSuchMethodException; {:try_start_6 .. :try_end_19} :catch_2f
.line 170
:goto_19
sput-boolean v4, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sGetLayoutDirectionMethodFetched:Z
.line 173
:cond_1b
sget-object v0, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sGetLayoutDirectionMethod:Ljava/lang/reflect/Method;
if-eqz v0, :cond_43
.line 175
:try_start_1f
sget-object v0, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sGetLayoutDirectionMethod:Ljava/lang/reflect/Method;
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Object;
invoke-virtual {v0, p1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
:try_end_2d
.catch Ljava/lang/Exception; {:try_start_1f .. :try_end_2d} :catch_38
move-result v0
.line 181
:goto_2e
return v0
.line 167
:catch_2f
move-exception v0
.line 168
const-string v2, "DrawableCompatApi17"
const-string v3, "Failed to retrieve getLayoutDirection() method"
invoke-static {v2, v3, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_19
.line 176
:catch_38
move-exception v0
.line 177
const-string v2, "DrawableCompatApi17"
const-string v3, "Failed to invoke getLayoutDirection() via reflection"
invoke-static {v2, v3, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 178
const/4 v0, 0x0
sput-object v0, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sGetLayoutDirectionMethod:Ljava/lang/reflect/Method;
:cond_43
move v0, v1
.line 181
goto :goto_2e
.end method
.method public setLayoutDirection(Landroid/graphics/drawable/Drawable;I)Z
.registers 10
.prologue
const/4 v1, 0x0
const/4 v0, 0x1
.line 138
sget-boolean v2, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sSetLayoutDirectionMethodFetched:Z
if-nez v2, :cond_20
.line 140
:try_start_6
const-class v2, Landroid/graphics/drawable/Drawable;
const-string v3, "setLayoutDirection"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Class;
const/4 v5, 0x0
sget-object v6, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v6, v4, v5
.line 141
invoke-virtual {v2, v3, v4}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v2
sput-object v2, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sSetLayoutDirectionMethod:Ljava/lang/reflect/Method;
.line 142
sget-object v2, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sSetLayoutDirectionMethod:Ljava/lang/reflect/Method;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Ljava/lang/reflect/Method;->setAccessible(Z)V
:try_end_1e
.catch Ljava/lang/NoSuchMethodException; {:try_start_6 .. :try_end_1e} :catch_34
.line 146
:goto_1e
sput-boolean v0, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sSetLayoutDirectionMethodFetched:Z
.line 149
:cond_20
sget-object v2, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sSetLayoutDirectionMethod:Ljava/lang/reflect/Method;
if-eqz v2, :cond_48
.line 151
:try_start_24
sget-object v2, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sSetLayoutDirectionMethod:Ljava/lang/reflect/Method;
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
aput-object v5, v3, v4
invoke-virtual {v2, p1, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_33
.catch Ljava/lang/Exception; {:try_start_24 .. :try_end_33} :catch_3d
.line 158
:goto_33
return v0
.line 143
:catch_34
move-exception v2
.line 144
const-string v3, "DrawableCompatApi17"
const-string v4, "Failed to retrieve setLayoutDirection(int) method"
invoke-static {v3, v4, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_1e
.line 153
:catch_3d
move-exception v0
.line 154
const-string v2, "DrawableCompatApi17"
const-string v3, "Failed to invoke setLayoutDirection(int) via reflection"
invoke-static {v2, v3, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 155
const/4 v0, 0x0
sput-object v0, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sSetLayoutDirectionMethod:Ljava/lang/reflect/Method;
:cond_48
move v0, v1
.line 158
goto :goto_33
.end method