DrawableCompat$DrawableCompatApi17Impl.smali
.class Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;
.super Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatBaseImpl;
# 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
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
const/4 v4, 0x1
const/4 v1, 0x0
sget-boolean v0, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sGetLayoutDirectionMethodFetched:Z
if-nez v0, :cond_1c
:try_start_6
const-class v0, Landroid/graphics/drawable/Drawable;
const-string/jumbo 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;
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_1a
.catch Ljava/lang/NoSuchMethodException; {:try_start_6 .. :try_end_1a} :catch_30
:goto_1a
sput-boolean v4, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sGetLayoutDirectionMethodFetched:Z
:cond_1c
sget-object v0, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sGetLayoutDirectionMethod:Ljava/lang/reflect/Method;
if-eqz v0, :cond_48
:try_start_20
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_2e
.catch Ljava/lang/Exception; {:try_start_20 .. :try_end_2e} :catch_3b
move-result v0
:goto_2f
return v0
:catch_30
move-exception v0
const-string/jumbo v2, "DrawableCompatApi17"
const-string/jumbo 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_1a
:catch_3b
move-exception v0
const-string/jumbo v2, "DrawableCompatApi17"
const-string/jumbo 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
const/4 v0, 0x0
sput-object v0, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sGetLayoutDirectionMethod:Ljava/lang/reflect/Method;
:cond_48
move v0, v1
goto :goto_2f
.end method
.method public setLayoutDirection(Landroid/graphics/drawable/Drawable;I)Z
.registers 10
const/4 v1, 0x0
const/4 v0, 0x1
sget-boolean v2, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sSetLayoutDirectionMethodFetched:Z
if-nez v2, :cond_21
:try_start_6
const-class v2, Landroid/graphics/drawable/Drawable;
const-string/jumbo 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
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;
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_1f
.catch Ljava/lang/NoSuchMethodException; {:try_start_6 .. :try_end_1f} :catch_35
:goto_1f
sput-boolean v0, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sSetLayoutDirectionMethodFetched:Z
:cond_21
sget-object v2, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sSetLayoutDirectionMethod:Ljava/lang/reflect/Method;
if-eqz v2, :cond_4d
:try_start_25
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_34
.catch Ljava/lang/Exception; {:try_start_25 .. :try_end_34} :catch_40
:goto_34
return v0
:catch_35
move-exception v2
const-string/jumbo v3, "DrawableCompatApi17"
const-string/jumbo 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_1f
:catch_40
move-exception v0
const-string/jumbo v2, "DrawableCompatApi17"
const-string/jumbo 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
const/4 v0, 0x0
sput-object v0, Landroid/support/v4/graphics/drawable/DrawableCompat$DrawableCompatApi17Impl;->sSetLayoutDirectionMethod:Ljava/lang/reflect/Method;
:cond_4d
move v0, v1
goto :goto_34
.end method