apkfuckery/com.discord/smali/com/android/camera/RotateBitmap.smali
2019-02-04 21:05:16 +01:00

260 lines
5.5 KiB
Smali

.class public Lcom/android/camera/RotateBitmap;
.super Ljava/lang/Object;
.source "RotateBitmap.java"
# static fields
.field public static final TAG:Ljava/lang/String; = "RotateBitmap"
# instance fields
.field private mBitmap:Landroid/graphics/Bitmap;
.field private mRotation:I
# direct methods
.method public constructor <init>(Landroid/graphics/Bitmap;)V
.locals 1
.param p1, "bitmap" # Landroid/graphics/Bitmap;
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/android/camera/RotateBitmap;->mBitmap:Landroid/graphics/Bitmap;
const/4 v0, 0x0
iput v0, p0, Lcom/android/camera/RotateBitmap;->mRotation:I
return-void
.end method
.method public constructor <init>(Landroid/graphics/Bitmap;I)V
.locals 1
.param p1, "bitmap" # Landroid/graphics/Bitmap;
.param p2, "rotation" # I
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/android/camera/RotateBitmap;->mBitmap:Landroid/graphics/Bitmap;
rem-int/lit16 v0, p2, 0x168
iput v0, p0, Lcom/android/camera/RotateBitmap;->mRotation:I
return-void
.end method
# virtual methods
.method public getBitmap()Landroid/graphics/Bitmap;
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/RotateBitmap;->mBitmap:Landroid/graphics/Bitmap;
return-object v0
.end method
.method public getHeight()I
.locals 1
.prologue
invoke-virtual {p0}, Lcom/android/camera/RotateBitmap;->isOrientationChanged()Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/android/camera/RotateBitmap;->mBitmap:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v0
:goto_0
return v0
:cond_0
iget-object v0, p0, Lcom/android/camera/RotateBitmap;->mBitmap:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->getHeight()I
move-result v0
goto :goto_0
.end method
.method public getRotateMatrix()Landroid/graphics/Matrix;
.locals 5
.prologue
new-instance v2, Landroid/graphics/Matrix;
invoke-direct {v2}, Landroid/graphics/Matrix;-><init>()V
.local v2, "matrix":Landroid/graphics/Matrix;
iget v3, p0, Lcom/android/camera/RotateBitmap;->mRotation:I
if-eqz v3, :cond_0
iget-object v3, p0, Lcom/android/camera/RotateBitmap;->mBitmap:Landroid/graphics/Bitmap;
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getWidth()I
move-result v3
div-int/lit8 v0, v3, 0x2
.local v0, "cx":I
iget-object v3, p0, Lcom/android/camera/RotateBitmap;->mBitmap:Landroid/graphics/Bitmap;
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I
move-result v3
div-int/lit8 v1, v3, 0x2
.local v1, "cy":I
neg-int v3, v0
int-to-float v3, v3
neg-int v4, v1
int-to-float v4, v4
invoke-virtual {v2, v3, v4}, Landroid/graphics/Matrix;->preTranslate(FF)Z
iget v3, p0, Lcom/android/camera/RotateBitmap;->mRotation:I
int-to-float v3, v3
invoke-virtual {v2, v3}, Landroid/graphics/Matrix;->postRotate(F)Z
invoke-virtual {p0}, Lcom/android/camera/RotateBitmap;->getWidth()I
move-result v3
div-int/lit8 v3, v3, 0x2
int-to-float v3, v3
invoke-virtual {p0}, Lcom/android/camera/RotateBitmap;->getHeight()I
move-result v4
div-int/lit8 v4, v4, 0x2
int-to-float v4, v4
invoke-virtual {v2, v3, v4}, Landroid/graphics/Matrix;->postTranslate(FF)Z
.end local v0 # "cx":I
.end local v1 # "cy":I
:cond_0
return-object v2
.end method
.method public getRotation()I
.locals 1
.prologue
iget v0, p0, Lcom/android/camera/RotateBitmap;->mRotation:I
return v0
.end method
.method public getWidth()I
.locals 1
.prologue
invoke-virtual {p0}, Lcom/android/camera/RotateBitmap;->isOrientationChanged()Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/android/camera/RotateBitmap;->mBitmap:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->getHeight()I
move-result v0
:goto_0
return v0
:cond_0
iget-object v0, p0, Lcom/android/camera/RotateBitmap;->mBitmap:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v0
goto :goto_0
.end method
.method public isOrientationChanged()Z
.locals 1
.prologue
iget v0, p0, Lcom/android/camera/RotateBitmap;->mRotation:I
div-int/lit8 v0, v0, 0x5a
rem-int/lit8 v0, v0, 0x2
if-eqz v0, :cond_0
const/4 v0, 0x1
:goto_0
return v0
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method public recycle()V
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/RotateBitmap;->mBitmap:Landroid/graphics/Bitmap;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/android/camera/RotateBitmap;->mBitmap:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
const/4 v0, 0x0
iput-object v0, p0, Lcom/android/camera/RotateBitmap;->mBitmap:Landroid/graphics/Bitmap;
:cond_0
return-void
.end method
.method public setBitmap(Landroid/graphics/Bitmap;)V
.locals 0
.param p1, "bitmap" # Landroid/graphics/Bitmap;
.prologue
iput-object p1, p0, Lcom/android/camera/RotateBitmap;->mBitmap:Landroid/graphics/Bitmap;
return-void
.end method
.method public setRotation(I)V
.locals 0
.param p1, "rotation" # I
.prologue
iput p1, p0, Lcom/android/camera/RotateBitmap;->mRotation:I
return-void
.end method