RSBlur.smali

.class public Lhurriyet/mobil/android/hurriyet/utils/blur/RSBlur;
.super Ljava/lang/Object;
.source "RSBlur.java"


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

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

    return-void
.end method

.method public static blur(Landroid/content/Context;Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
    .registers 8
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Landroid/renderscript/RSRuntimeException;
        }
    .end annotation

    const/4 v0, 0x0

    .line 22
    :try_start_1
    invoke-static {p0}, Landroid/renderscript/RenderScript;->create(Landroid/content/Context;)Landroid/renderscript/RenderScript;

    move-result-object p0
    :try_end_5
    .catchall {:try_start_1 .. :try_end_5} :catchall_54

    .line 23
    :try_start_5
    new-instance v1, Landroid/renderscript/RenderScript$RSMessageHandler;

    invoke-direct {v1}, Landroid/renderscript/RenderScript$RSMessageHandler;-><init>()V

    invoke-virtual {p0, v1}, Landroid/renderscript/RenderScript;->setMessageHandler(Landroid/renderscript/RenderScript$RSMessageHandler;)V

    .line 24
    sget-object v1, Landroid/renderscript/Allocation$MipmapControl;->MIPMAP_NONE:Landroid/renderscript/Allocation$MipmapControl;

    const/4 v2, 0x1

    invoke-static {p0, p1, v1, v2}, Landroid/renderscript/Allocation;->createFromBitmap(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;Landroid/renderscript/Allocation$MipmapControl;I)Landroid/renderscript/Allocation;

    move-result-object v1
    :try_end_14
    .catchall {:try_start_5 .. :try_end_14} :catchall_4e

    .line 26
    :try_start_14
    invoke-virtual {v1}, Landroid/renderscript/Allocation;->getType()Landroid/renderscript/Type;

    move-result-object v2

    invoke-static {p0, v2}, Landroid/renderscript/Allocation;->createTyped(Landroid/renderscript/RenderScript;Landroid/renderscript/Type;)Landroid/renderscript/Allocation;

    move-result-object v2
    :try_end_1c
    .catchall {:try_start_14 .. :try_end_1c} :catchall_4b

    .line 27
    :try_start_1c
    invoke-static {p0}, Landroid/renderscript/Element;->U8_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;

    move-result-object v3

    invoke-static {p0, v3}, Landroid/renderscript/ScriptIntrinsicBlur;->create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicBlur;

    move-result-object v0

    .line 29
    invoke-virtual {v0, v1}, Landroid/renderscript/ScriptIntrinsicBlur;->setInput(Landroid/renderscript/Allocation;)V

    int-to-float p2, p2

    .line 30
    invoke-virtual {v0, p2}, Landroid/renderscript/ScriptIntrinsicBlur;->setRadius(F)V

    .line 31
    invoke-virtual {v0, v2}, Landroid/renderscript/ScriptIntrinsicBlur;->forEach(Landroid/renderscript/Allocation;)V

    .line 32
    invoke-virtual {v2, p1}, Landroid/renderscript/Allocation;->copyTo(Landroid/graphics/Bitmap;)V
    :try_end_31
    .catchall {:try_start_1c .. :try_end_31} :catchall_46

    if-eqz p0, :cond_36

    .line 35
    invoke-virtual {p0}, Landroid/renderscript/RenderScript;->destroy()V

    :cond_36
    if-eqz v1, :cond_3b

    .line 38
    invoke-virtual {v1}, Landroid/renderscript/Allocation;->destroy()V

    :cond_3b
    if-eqz v2, :cond_40

    .line 41
    invoke-virtual {v2}, Landroid/renderscript/Allocation;->destroy()V

    :cond_40
    if-eqz v0, :cond_45

    .line 44
    invoke-virtual {v0}, Landroid/renderscript/ScriptIntrinsicBlur;->destroy()V

    :cond_45
    return-object p1

    :catchall_46
    move-exception p1

    move-object v4, v0

    move-object v0, p0

    move-object p0, v4

    goto :goto_58

    :catchall_4b
    move-exception p1

    move-object v2, v0

    goto :goto_51

    :catchall_4e
    move-exception p1

    move-object v1, v0

    move-object v2, v1

    :goto_51
    move-object v0, p0

    move-object p0, v2

    goto :goto_58

    :catchall_54
    move-exception p1

    move-object p0, v0

    move-object v1, p0

    move-object v2, v1

    :goto_58
    if-eqz v0, :cond_5d

    .line 35
    invoke-virtual {v0}, Landroid/renderscript/RenderScript;->destroy()V

    :cond_5d
    if-eqz v1, :cond_62

    .line 38
    invoke-virtual {v1}, Landroid/renderscript/Allocation;->destroy()V

    :cond_62
    if-eqz v2, :cond_67

    .line 41
    invoke-virtual {v2}, Landroid/renderscript/Allocation;->destroy()V

    :cond_67
    if-eqz p0, :cond_6c

    .line 44
    invoke-virtual {p0}, Landroid/renderscript/ScriptIntrinsicBlur;->destroy()V

    .line 46
    :cond_6c
    throw p1
.end method