GhostViewApi21$Creator.smali

.class Landroid/support/transition/GhostViewApi21$Creator;
.super Ljava/lang/Object;

# interfaces
.implements Landroid/support/transition/GhostViewImpl$Creator;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Landroid/support/transition/GhostViewApi21;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x8
    name = "Creator"
.end annotation


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

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

    return-void
.end method


# virtual methods
.method public addGhost(Landroid/view/View;Landroid/view/ViewGroup;Landroid/graphics/Matrix;)Landroid/support/transition/GhostViewImpl;
    .registers 10

    const/4 v2, 0x0

    # invokes: Landroid/support/transition/GhostViewApi21;->fetchAddGhostMethod()V
    invoke-static {}, Landroid/support/transition/GhostViewApi21;->access$000()V

    # getter for: Landroid/support/transition/GhostViewApi21;->sAddGhostMethod:Ljava/lang/reflect/Method;
    invoke-static {}, Landroid/support/transition/GhostViewApi21;->access$100()Ljava/lang/reflect/Method;

    move-result-object v0

    if-eqz v0, :cond_35

    :try_start_a
    new-instance v1, Landroid/support/transition/GhostViewApi21;

    # getter for: Landroid/support/transition/GhostViewApi21;->sAddGhostMethod:Ljava/lang/reflect/Method;
    invoke-static {}, Landroid/support/transition/GhostViewApi21;->access$100()Ljava/lang/reflect/Method;

    move-result-object v0

    const/4 v3, 0x0

    const/4 v4, 0x3

    new-array v4, v4, [Ljava/lang/Object;

    const/4 v5, 0x0

    aput-object p1, v4, v5

    const/4 v5, 0x1

    aput-object p2, v4, v5

    const/4 v5, 0x2

    aput-object p3, v4, v5

    invoke-virtual {v0, v3, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/view/View;

    const/4 v3, 0x0

    invoke-direct {v1, v0, v3}, Landroid/support/transition/GhostViewApi21;-><init>(Landroid/view/View;Landroid/support/transition/GhostViewApi21$1;)V
    :try_end_27
    .catch Ljava/lang/IllegalAccessException; {:try_start_a .. :try_end_27} :catch_34
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_a .. :try_end_27} :catch_29

    move-object v0, v1

    :goto_28
    return-object v0

    :catch_29
    move-exception v0

    new-instance v1, Ljava/lang/RuntimeException;

    invoke-virtual {v0}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;

    move-result-object v0

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

    throw v1

    :catch_34
    move-exception v0

    :cond_35
    move-object v0, v2

    goto :goto_28
.end method

.method public removeGhost(Landroid/view/View;)V
    .registers 6

    # invokes: Landroid/support/transition/GhostViewApi21;->fetchRemoveGhostMethod()V
    invoke-static {}, Landroid/support/transition/GhostViewApi21;->access$300()V

    # getter for: Landroid/support/transition/GhostViewApi21;->sRemoveGhostMethod:Ljava/lang/reflect/Method;
    invoke-static {}, Landroid/support/transition/GhostViewApi21;->access$400()Ljava/lang/reflect/Method;

    move-result-object v0

    if-eqz v0, :cond_17

    :try_start_9
    # getter for: Landroid/support/transition/GhostViewApi21;->sRemoveGhostMethod:Ljava/lang/reflect/Method;
    invoke-static {}, Landroid/support/transition/GhostViewApi21;->access$400()Ljava/lang/reflect/Method;

    move-result-object v0

    const/4 v1, 0x0

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Object;

    const/4 v3, 0x0

    aput-object p1, v2, v3

    invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_17
    .catch Ljava/lang/IllegalAccessException; {:try_start_9 .. :try_end_17} :catch_23
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_9 .. :try_end_17} :catch_18

    :cond_17
    :goto_17
    return-void

    :catch_18
    move-exception v0

    new-instance v1, Ljava/lang/RuntimeException;

    invoke-virtual {v0}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;

    move-result-object v0

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

    throw v1

    :catch_23
    move-exception v0

    goto :goto_17
.end method