BlurTransformation.smali
.class public Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;
.super Ljava/lang/Object;
.source "BlurTransformation.java"
# interfaces
.implements Lcom/squareup/picasso/Transformation;
# static fields
.field private static DEFAULT_DOWN_SAMPLING:I = 0x1
.field private static MAX_RADIUS:I = 0x19
# instance fields
.field private mContext:Landroid/content/Context;
.field private mRadius:I
.field private mSampling:I
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 4
.line 23
sget v0, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->MAX_RADIUS:I
sget v1, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->DEFAULT_DOWN_SAMPLING:I
invoke-direct {p0, p1, v0, v1}, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;-><init>(Landroid/content/Context;II)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;I)V
.registers 4
.line 27
sget v0, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->DEFAULT_DOWN_SAMPLING:I
invoke-direct {p0, p1, p2, v0}, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;-><init>(Landroid/content/Context;II)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;II)V
.registers 4
.line 30
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 31
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->mContext:Landroid/content/Context;
.line 32
iput p2, p0, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->mRadius:I
.line 33
iput p3, p0, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->mSampling:I
return-void
.end method
# virtual methods
.method public key()Ljava/lang/String;
.registers 3
.line 67
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "BlurTransformation(radius="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, p0, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->mRadius:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ", sampling="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, p0, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->mSampling:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public transform(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
.registers 7
.line 39
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v0
iget v1, p0, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->mSampling:I
div-int/2addr v0, v1
.line 40
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I
move-result v1
iget v2, p0, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->mSampling:I
div-int/2addr v1, v2
.line 42
sget-object v2, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {v0, v1, v2}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v0
.line 44
new-instance v1, Landroid/graphics/Canvas;
invoke-direct {v1, v0}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V
.line 45
iget v2, p0, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->mSampling:I
int-to-float v3, v2
const/high16 v4, 0x3f800000 # 1.0f
div-float v3, v4, v3
int-to-float v2, v2
div-float/2addr v4, v2
invoke-virtual {v1, v3, v4}, Landroid/graphics/Canvas;->scale(FF)V
.line 46
new-instance v2, Landroid/graphics/Paint;
invoke-direct {v2}, Landroid/graphics/Paint;-><init>()V
const/4 v3, 0x2
.line 47
invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setFlags(I)V
const/4 v3, 0x0
.line 48
invoke-virtual {v1, p1, v3, v3, v2}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
.line 50
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v2, 0x1
const/16 v3, 0x12
if-lt v1, v3, :cond_49
.line 52
:try_start_39
iget-object v1, p0, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->mContext:Landroid/content/Context;
iget v3, p0, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->mRadius:I
invoke-static {v1, v0, v3}, Lhurriyet/mobil/android/hurriyet/utils/blur/RSBlur;->blur(Landroid/content/Context;Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
move-result-object v0
:try_end_41
.catch Landroid/renderscript/RSRuntimeException; {:try_start_39 .. :try_end_41} :catch_42
goto :goto_4f
.line 54
:catch_42
iget v1, p0, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->mRadius:I
invoke-static {v0, v1, v2}, Lhurriyet/mobil/android/hurriyet/utils/blur/FastBlur;->blur(Landroid/graphics/Bitmap;IZ)Landroid/graphics/Bitmap;
move-result-object v0
goto :goto_4f
.line 57
:cond_49
iget v1, p0, Lhurriyet/mobil/android/hurriyet/utils/blur/BlurTransformation;->mRadius:I
invoke-static {v0, v1, v2}, Lhurriyet/mobil/android/hurriyet/utils/blur/FastBlur;->blur(Landroid/graphics/Bitmap;IZ)Landroid/graphics/Bitmap;
move-result-object v0
.line 60
:goto_4f
invoke-virtual {p1}, Landroid/graphics/Bitmap;->recycle()V
return-object v0
.end method