Changes of com.discord v823

This commit is contained in:
DisTok 2019-02-04 21:08:30 +01:00
parent 50139b7f2b
commit 204ebe7067
28411 changed files with 2982405 additions and 1720152 deletions

View file

@ -1,14 +0,0 @@
.class synthetic Lcom/android/camera/BitmapManager$1;
.super Ljava/lang/Object;
.source "BitmapManager.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/BitmapManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1008
name = null
.end annotation

View file

@ -1,119 +0,0 @@
.class final enum Lcom/android/camera/BitmapManager$State;
.super Ljava/lang/Enum;
.source "BitmapManager.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/BitmapManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x401a
name = "State"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum",
"<",
"Lcom/android/camera/BitmapManager$State;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/android/camera/BitmapManager$State;
.field public static final enum ALLOW:Lcom/android/camera/BitmapManager$State;
.field public static final enum CANCEL:Lcom/android/camera/BitmapManager$State;
# direct methods
.method static constructor <clinit>()V
.locals 4
.prologue
const/4 v3, 0x1
const/4 v2, 0x0
new-instance v0, Lcom/android/camera/BitmapManager$State;
const-string v1, "CANCEL"
invoke-direct {v0, v1, v2}, Lcom/android/camera/BitmapManager$State;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/android/camera/BitmapManager$State;->CANCEL:Lcom/android/camera/BitmapManager$State;
new-instance v0, Lcom/android/camera/BitmapManager$State;
const-string v1, "ALLOW"
invoke-direct {v0, v1, v3}, Lcom/android/camera/BitmapManager$State;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/android/camera/BitmapManager$State;->ALLOW:Lcom/android/camera/BitmapManager$State;
const/4 v0, 0x2
new-array v0, v0, [Lcom/android/camera/BitmapManager$State;
sget-object v1, Lcom/android/camera/BitmapManager$State;->CANCEL:Lcom/android/camera/BitmapManager$State;
aput-object v1, v0, v2
sget-object v1, Lcom/android/camera/BitmapManager$State;->ALLOW:Lcom/android/camera/BitmapManager$State;
aput-object v1, v0, v3
sput-object v0, Lcom/android/camera/BitmapManager$State;->$VALUES:[Lcom/android/camera/BitmapManager$State;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.prologue
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/android/camera/BitmapManager$State;
.locals 1
.param p0, "name" # Ljava/lang/String;
.prologue
const-class v0, Lcom/android/camera/BitmapManager$State;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object v0
check-cast v0, Lcom/android/camera/BitmapManager$State;
return-object v0
.end method
.method public static values()[Lcom/android/camera/BitmapManager$State;
.locals 1
.prologue
sget-object v0, Lcom/android/camera/BitmapManager$State;->$VALUES:[Lcom/android/camera/BitmapManager$State;
invoke-virtual {v0}, [Lcom/android/camera/BitmapManager$State;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/android/camera/BitmapManager$State;
return-object v0
.end method

View file

@ -1,116 +0,0 @@
.class Lcom/android/camera/BitmapManager$ThreadStatus;
.super Ljava/lang/Object;
.source "BitmapManager.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/BitmapManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "ThreadStatus"
.end annotation
# instance fields
.field public mOptions:Landroid/graphics/BitmapFactory$Options;
.field public mState:Lcom/android/camera/BitmapManager$State;
.field public mThumbRequesting:Z
# direct methods
.method private constructor <init>()V
.locals 1
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
sget-object v0, Lcom/android/camera/BitmapManager$State;->ALLOW:Lcom/android/camera/BitmapManager$State;
iput-object v0, p0, Lcom/android/camera/BitmapManager$ThreadStatus;->mState:Lcom/android/camera/BitmapManager$State;
return-void
.end method
.method synthetic constructor <init>(Lcom/android/camera/BitmapManager$1;)V
.locals 0
.param p1, "x0" # Lcom/android/camera/BitmapManager$1;
.prologue
invoke-direct {p0}, Lcom/android/camera/BitmapManager$ThreadStatus;-><init>()V
return-void
.end method
# virtual methods
.method public toString()Ljava/lang/String;
.locals 3
.prologue
iget-object v1, p0, Lcom/android/camera/BitmapManager$ThreadStatus;->mState:Lcom/android/camera/BitmapManager$State;
sget-object v2, Lcom/android/camera/BitmapManager$State;->CANCEL:Lcom/android/camera/BitmapManager$State;
if-ne v1, v2, :cond_0
const-string v0, "Cancel"
.local v0, "s":Ljava/lang/String;
:goto_0
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "thread state = "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, ", options = "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Lcom/android/camera/BitmapManager$ThreadStatus;->mOptions:Landroid/graphics/BitmapFactory$Options;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end local v0 # "s":Ljava/lang/String;
:cond_0
iget-object v1, p0, Lcom/android/camera/BitmapManager$ThreadStatus;->mState:Lcom/android/camera/BitmapManager$State;
sget-object v2, Lcom/android/camera/BitmapManager$State;->ALLOW:Lcom/android/camera/BitmapManager$State;
if-ne v1, v2, :cond_1
const-string v0, "Allow"
.restart local v0 # "s":Ljava/lang/String;
goto :goto_0
.end local v0 # "s":Ljava/lang/String;
:cond_1
const-string v0, "?"
.restart local v0 # "s":Ljava/lang/String;
goto :goto_0
.end method

View file

@ -1,670 +0,0 @@
.class public Lcom/android/camera/BitmapManager;
.super Ljava/lang/Object;
.source "BitmapManager.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/camera/BitmapManager$ThreadStatus;,
Lcom/android/camera/BitmapManager$State;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "BitmapManager"
.field private static sManager:Lcom/android/camera/BitmapManager;
# instance fields
.field private final mThreadStatus:Ljava/util/WeakHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/WeakHashMap",
"<",
"Ljava/lang/Thread;",
"Lcom/android/camera/BitmapManager$ThreadStatus;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.locals 1
.prologue
const/4 v0, 0x0
sput-object v0, Lcom/android/camera/BitmapManager;->sManager:Lcom/android/camera/BitmapManager;
return-void
.end method
.method private constructor <init>()V
.locals 1
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/util/WeakHashMap;
invoke-direct {v0}, Ljava/util/WeakHashMap;-><init>()V
iput-object v0, p0, Lcom/android/camera/BitmapManager;->mThreadStatus:Ljava/util/WeakHashMap;
return-void
.end method
.method private declared-synchronized getOrCreateThreadStatus(Ljava/lang/Thread;)Lcom/android/camera/BitmapManager$ThreadStatus;
.locals 2
.param p1, "t" # Ljava/lang/Thread;
.prologue
monitor-enter p0
:try_start_0
iget-object v1, p0, Lcom/android/camera/BitmapManager;->mThreadStatus:Ljava/util/WeakHashMap;
invoke-virtual {v1, p1}, Ljava/util/WeakHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/android/camera/BitmapManager$ThreadStatus;
.local v0, "status":Lcom/android/camera/BitmapManager$ThreadStatus;
if-nez v0, :cond_0
new-instance v0, Lcom/android/camera/BitmapManager$ThreadStatus;
.end local v0 # "status":Lcom/android/camera/BitmapManager$ThreadStatus;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/android/camera/BitmapManager$ThreadStatus;-><init>(Lcom/android/camera/BitmapManager$1;)V
.restart local v0 # "status":Lcom/android/camera/BitmapManager$ThreadStatus;
iget-object v1, p0, Lcom/android/camera/BitmapManager;->mThreadStatus:Ljava/util/WeakHashMap;
invoke-virtual {v1, p1, v0}, Ljava/util/WeakHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:cond_0
monitor-exit p0
return-object v0
.end local v0 # "status":Lcom/android/camera/BitmapManager$ThreadStatus;
:catchall_0
move-exception v1
monitor-exit p0
throw v1
.end method
.method public static declared-synchronized instance()Lcom/android/camera/BitmapManager;
.locals 2
.prologue
const-class v1, Lcom/android/camera/BitmapManager;
monitor-enter v1
:try_start_0
sget-object v0, Lcom/android/camera/BitmapManager;->sManager:Lcom/android/camera/BitmapManager;
if-nez v0, :cond_0
new-instance v0, Lcom/android/camera/BitmapManager;
invoke-direct {v0}, Lcom/android/camera/BitmapManager;-><init>()V
sput-object v0, Lcom/android/camera/BitmapManager;->sManager:Lcom/android/camera/BitmapManager;
:cond_0
sget-object v0, Lcom/android/camera/BitmapManager;->sManager:Lcom/android/camera/BitmapManager;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit v1
return-object v0
:catchall_0
move-exception v0
monitor-exit v1
throw v0
.end method
.method private declared-synchronized setDecodingOptions(Ljava/lang/Thread;Landroid/graphics/BitmapFactory$Options;)V
.locals 1
.param p1, "t" # Ljava/lang/Thread;
.param p2, "options" # Landroid/graphics/BitmapFactory$Options;
.prologue
monitor-enter p0
:try_start_0
invoke-direct {p0, p1}, Lcom/android/camera/BitmapManager;->getOrCreateThreadStatus(Ljava/lang/Thread;)Lcom/android/camera/BitmapManager$ThreadStatus;
move-result-object v0
iput-object p2, v0, Lcom/android/camera/BitmapManager$ThreadStatus;->mOptions:Landroid/graphics/BitmapFactory$Options;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
# virtual methods
.method public declared-synchronized allowThreadDecoding(Ljava/lang/Thread;)V
.locals 2
.param p1, "t" # Ljava/lang/Thread;
.prologue
monitor-enter p0
:try_start_0
invoke-direct {p0, p1}, Lcom/android/camera/BitmapManager;->getOrCreateThreadStatus(Ljava/lang/Thread;)Lcom/android/camera/BitmapManager$ThreadStatus;
move-result-object v0
sget-object v1, Lcom/android/camera/BitmapManager$State;->ALLOW:Lcom/android/camera/BitmapManager$State;
iput-object v1, v0, Lcom/android/camera/BitmapManager$ThreadStatus;->mState:Lcom/android/camera/BitmapManager$State;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized canThreadDecoding(Ljava/lang/Thread;)Z
.locals 4
.param p1, "t" # Ljava/lang/Thread;
.prologue
const/4 v0, 0x1
monitor-enter p0
:try_start_0
iget-object v2, p0, Lcom/android/camera/BitmapManager;->mThreadStatus:Ljava/util/WeakHashMap;
invoke-virtual {v2, p1}, Ljava/util/WeakHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/android/camera/BitmapManager$ThreadStatus;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.local v1, "status":Lcom/android/camera/BitmapManager$ThreadStatus;
if-nez v1, :cond_0
:goto_0
monitor-exit p0
return v0
:cond_0
:try_start_1
iget-object v2, v1, Lcom/android/camera/BitmapManager$ThreadStatus;->mState:Lcom/android/camera/BitmapManager$State;
sget-object v3, Lcom/android/camera/BitmapManager$State;->CANCEL:Lcom/android/camera/BitmapManager$State;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
if-eq v2, v3, :cond_1
.local v0, "result":Z
:goto_1
goto :goto_0
.end local v0 # "result":Z
:cond_1
const/4 v0, 0x0
goto :goto_1
.end local v1 # "status":Lcom/android/camera/BitmapManager$ThreadStatus;
:catchall_0
move-exception v2
monitor-exit p0
throw v2
.end method
.method public declared-synchronized cancelThreadDecoding(Ljava/lang/Thread;Landroid/content/ContentResolver;)V
.locals 6
.param p1, "t" # Ljava/lang/Thread;
.param p2, "cr" # Landroid/content/ContentResolver;
.prologue
monitor-enter p0
:try_start_0
invoke-direct {p0, p1}, Lcom/android/camera/BitmapManager;->getOrCreateThreadStatus(Ljava/lang/Thread;)Lcom/android/camera/BitmapManager$ThreadStatus;
move-result-object v0
.local v0, "status":Lcom/android/camera/BitmapManager$ThreadStatus;
sget-object v1, Lcom/android/camera/BitmapManager$State;->CANCEL:Lcom/android/camera/BitmapManager$State;
iput-object v1, v0, Lcom/android/camera/BitmapManager$ThreadStatus;->mState:Lcom/android/camera/BitmapManager$State;
iget-object v1, v0, Lcom/android/camera/BitmapManager$ThreadStatus;->mOptions:Landroid/graphics/BitmapFactory$Options;
if-eqz v1, :cond_0
iget-object v1, v0, Lcom/android/camera/BitmapManager$ThreadStatus;->mOptions:Landroid/graphics/BitmapFactory$Options;
invoke-virtual {v1}, Landroid/graphics/BitmapFactory$Options;->requestCancelDecode()V
:cond_0
invoke-virtual {p0}, Ljava/lang/Object;->notifyAll()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
:try_start_1
monitor-enter v0
:try_end_1
.catch Ljava/lang/InterruptedException; {:try_start_1 .. :try_end_1} :catch_0
.catchall {:try_start_1 .. :try_end_1} :catchall_1
:goto_0
:try_start_2
iget-boolean v1, v0, Lcom/android/camera/BitmapManager$ThreadStatus;->mThumbRequesting:Z
if-eqz v1, :cond_1
const-wide/16 v2, -0x1
invoke-virtual {p1}, Ljava/lang/Thread;->getId()J
move-result-wide v4
invoke-static {p2, v2, v3, v4, v5}, Landroid/provider/MediaStore$Images$Thumbnails;->cancelThumbnailRequest(Landroid/content/ContentResolver;JJ)V
const-wide/16 v2, -0x1
invoke-virtual {p1}, Ljava/lang/Thread;->getId()J
move-result-wide v4
invoke-static {p2, v2, v3, v4, v5}, Landroid/provider/MediaStore$Video$Thumbnails;->cancelThumbnailRequest(Landroid/content/ContentResolver;JJ)V
const-wide/16 v2, 0xc8
invoke-virtual {v0, v2, v3}, Ljava/lang/Object;->wait(J)V
goto :goto_0
:catchall_0
move-exception v1
monitor-exit v0
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
:try_start_3
throw v1
:try_end_3
.catch Ljava/lang/InterruptedException; {:try_start_3 .. :try_end_3} :catch_0
.catchall {:try_start_3 .. :try_end_3} :catchall_1
:catch_0
move-exception v1
:goto_1
monitor-exit p0
return-void
:cond_1
:try_start_4
monitor-exit v0
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_0
goto :goto_1
.end local v0 # "status":Lcom/android/camera/BitmapManager$ThreadStatus;
:catchall_1
move-exception v1
monitor-exit p0
throw v1
.end method
.method public decodeFileDescriptor(Ljava/io/FileDescriptor;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
.locals 5
.param p1, "fd" # Ljava/io/FileDescriptor;
.param p2, "options" # Landroid/graphics/BitmapFactory$Options;
.prologue
const/4 v0, 0x0
iget-boolean v2, p2, Landroid/graphics/BitmapFactory$Options;->mCancel:Z
if-eqz v2, :cond_0
:goto_0
return-object v0
:cond_0
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
.local v1, "thread":Ljava/lang/Thread;
invoke-virtual {p0, v1}, Lcom/android/camera/BitmapManager;->canThreadDecoding(Ljava/lang/Thread;)Z
move-result v2
if-nez v2, :cond_1
const-string v2, "BitmapManager"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Thread "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, " is not allowed to decode."
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_0
:cond_1
invoke-direct {p0, v1, p2}, Lcom/android/camera/BitmapManager;->setDecodingOptions(Ljava/lang/Thread;Landroid/graphics/BitmapFactory$Options;)V
invoke-static {p1, v0, p2}, Landroid/graphics/BitmapFactory;->decodeFileDescriptor(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
move-result-object v0
.local v0, "b":Landroid/graphics/Bitmap;
invoke-virtual {p0, v1}, Lcom/android/camera/BitmapManager;->removeDecodingOptions(Ljava/lang/Thread;)V
goto :goto_0
.end method
.method public getThumbnail(Landroid/content/ContentResolver;JILandroid/graphics/BitmapFactory$Options;Z)Landroid/graphics/Bitmap;
.locals 10
.param p1, "cr" # Landroid/content/ContentResolver;
.param p2, "origId" # J
.param p4, "kind" # I
.param p5, "options" # Landroid/graphics/BitmapFactory$Options;
.param p6, "isVideo" # Z
.prologue
const/4 v1, 0x0
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v8
.local v8, "t":Ljava/lang/Thread;
invoke-direct {p0, v8}, Lcom/android/camera/BitmapManager;->getOrCreateThreadStatus(Ljava/lang/Thread;)Lcom/android/camera/BitmapManager$ThreadStatus;
move-result-object v0
.local v0, "status":Lcom/android/camera/BitmapManager$ThreadStatus;
invoke-virtual {p0, v8}, Lcom/android/camera/BitmapManager;->canThreadDecoding(Ljava/lang/Thread;)Z
move-result v2
if-nez v2, :cond_0
const-string v2, "BitmapManager"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Thread "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, " is not allowed to decode."
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:goto_0
return-object v1
:cond_0
:try_start_0
monitor-enter v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_2
const/4 v1, 0x1
:try_start_1
iput-boolean v1, v0, Lcom/android/camera/BitmapManager$ThreadStatus;->mThumbRequesting:Z
monitor-exit v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
if-eqz p6, :cond_1
:try_start_2
invoke-virtual {v8}, Ljava/lang/Thread;->getId()J
move-result-wide v4
const/4 v7, 0x0
move-object v1, p1
move-wide v2, p2
move v6, p4
invoke-static/range {v1 .. v7}, Landroid/provider/MediaStore$Video$Thumbnails;->getThumbnail(Landroid/content/ContentResolver;JJILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_2
move-result-object v1
monitor-enter v0
const/4 v2, 0x0
:try_start_3
iput-boolean v2, v0, Lcom/android/camera/BitmapManager$ThreadStatus;->mThumbRequesting:Z
invoke-virtual {v0}, Ljava/lang/Object;->notifyAll()V
monitor-exit v0
goto :goto_0
:catchall_0
move-exception v1
monitor-exit v0
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
throw v1
:catchall_1
move-exception v1
:try_start_4
monitor-exit v0
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_1
:try_start_5
throw v1
:try_end_5
.catchall {:try_start_5 .. :try_end_5} :catchall_2
:catchall_2
move-exception v1
monitor-enter v0
const/4 v2, 0x0
:try_start_6
iput-boolean v2, v0, Lcom/android/camera/BitmapManager$ThreadStatus;->mThumbRequesting:Z
invoke-virtual {v0}, Ljava/lang/Object;->notifyAll()V
monitor-exit v0
:try_end_6
.catchall {:try_start_6 .. :try_end_6} :catchall_4
throw v1
:cond_1
:try_start_7
invoke-virtual {v8}, Ljava/lang/Thread;->getId()J
move-result-wide v4
const/4 v7, 0x0
move-object v1, p1
move-wide v2, p2
move v6, p4
invoke-static/range {v1 .. v7}, Landroid/provider/MediaStore$Images$Thumbnails;->getThumbnail(Landroid/content/ContentResolver;JJILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
:try_end_7
.catchall {:try_start_7 .. :try_end_7} :catchall_2
move-result-object v1
monitor-enter v0
const/4 v2, 0x0
:try_start_8
iput-boolean v2, v0, Lcom/android/camera/BitmapManager$ThreadStatus;->mThumbRequesting:Z
invoke-virtual {v0}, Ljava/lang/Object;->notifyAll()V
monitor-exit v0
goto :goto_0
:catchall_3
move-exception v1
monitor-exit v0
:try_end_8
.catchall {:try_start_8 .. :try_end_8} :catchall_3
throw v1
:catchall_4
move-exception v1
:try_start_9
monitor-exit v0
:try_end_9
.catchall {:try_start_9 .. :try_end_9} :catchall_4
throw v1
.end method
.method declared-synchronized removeDecodingOptions(Ljava/lang/Thread;)V
.locals 2
.param p1, "t" # Ljava/lang/Thread;
.prologue
monitor-enter p0
:try_start_0
iget-object v1, p0, Lcom/android/camera/BitmapManager;->mThreadStatus:Ljava/util/WeakHashMap;
invoke-virtual {v1, p1}, Ljava/util/WeakHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/android/camera/BitmapManager$ThreadStatus;
.local v0, "status":Lcom/android/camera/BitmapManager$ThreadStatus;
const/4 v1, 0x0
iput-object v1, v0, Lcom/android/camera/BitmapManager$ThreadStatus;->mOptions:Landroid/graphics/BitmapFactory$Options;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-void
.end local v0 # "status":Lcom/android/camera/BitmapManager$ThreadStatus;
:catchall_0
move-exception v1
monitor-exit p0
throw v1
.end method

View file

@ -1,28 +0,0 @@
.class public final Lcom/android/camera/BuildConfig;
.super Ljava/lang/Object;
.source "BuildConfig.java"
# static fields
.field public static final APPLICATION_ID:Ljava/lang/String; = "com.android.camera"
.field public static final BUILD_TYPE:Ljava/lang/String; = "release"
.field public static final DEBUG:Z = false
.field public static final FLAVOR:Ljava/lang/String; = ""
.field public static final VERSION_CODE:I = 0x1
.field public static final VERSION_NAME:Ljava/lang/String; = ""
# direct methods
.method public constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View file

@ -1,55 +0,0 @@
.class Lcom/android/camera/CropImage$1;
.super Ljava/lang/Object;
.source "CropImage.java"
# interfaces
.implements Landroid/view/View$OnClickListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/camera/CropImage;->onCreate(Landroid/os/Bundle;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/camera/CropImage;
# direct methods
.method constructor <init>(Lcom/android/camera/CropImage;)V
.locals 0
.param p1, "this$0" # Lcom/android/camera/CropImage;
.prologue
iput-object p1, p0, Lcom/android/camera/CropImage$1;->this$0:Lcom/android/camera/CropImage;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onClick(Landroid/view/View;)V
.locals 2
.param p1, "v" # Landroid/view/View;
.prologue
iget-object v0, p0, Lcom/android/camera/CropImage$1;->this$0:Lcom/android/camera/CropImage;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Lcom/android/camera/CropImage;->setResult(I)V
iget-object v0, p0, Lcom/android/camera/CropImage$1;->this$0:Lcom/android/camera/CropImage;
invoke-virtual {v0}, Lcom/android/camera/CropImage;->finish()V
return-void
.end method

View file

@ -1,49 +0,0 @@
.class Lcom/android/camera/CropImage$2;
.super Ljava/lang/Object;
.source "CropImage.java"
# interfaces
.implements Landroid/view/View$OnClickListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/camera/CropImage;->onCreate(Landroid/os/Bundle;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/camera/CropImage;
# direct methods
.method constructor <init>(Lcom/android/camera/CropImage;)V
.locals 0
.param p1, "this$0" # Lcom/android/camera/CropImage;
.prologue
iput-object p1, p0, Lcom/android/camera/CropImage$2;->this$0:Lcom/android/camera/CropImage;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onClick(Landroid/view/View;)V
.locals 1
.param p1, "v" # Landroid/view/View;
.prologue
iget-object v0, p0, Lcom/android/camera/CropImage$2;->this$0:Lcom/android/camera/CropImage;
invoke-static {v0}, Lcom/android/camera/CropImage;->access$000(Lcom/android/camera/CropImage;)V
return-void
.end method

View file

@ -1,134 +0,0 @@
.class Lcom/android/camera/CropImage$3$1;
.super Ljava/lang/Object;
.source "CropImage.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/camera/CropImage$3;->run()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$1:Lcom/android/camera/CropImage$3;
.field final synthetic val$b:Landroid/graphics/Bitmap;
.field final synthetic val$latch:Ljava/util/concurrent/CountDownLatch;
# direct methods
.method constructor <init>(Lcom/android/camera/CropImage$3;Landroid/graphics/Bitmap;Ljava/util/concurrent/CountDownLatch;)V
.locals 0
.param p1, "this$1" # Lcom/android/camera/CropImage$3;
.prologue
iput-object p1, p0, Lcom/android/camera/CropImage$3$1;->this$1:Lcom/android/camera/CropImage$3;
iput-object p2, p0, Lcom/android/camera/CropImage$3$1;->val$b:Landroid/graphics/Bitmap;
iput-object p3, p0, Lcom/android/camera/CropImage$3$1;->val$latch:Ljava/util/concurrent/CountDownLatch;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 3
.prologue
const/4 v2, 0x1
iget-object v0, p0, Lcom/android/camera/CropImage$3$1;->val$b:Landroid/graphics/Bitmap;
iget-object v1, p0, Lcom/android/camera/CropImage$3$1;->this$1:Lcom/android/camera/CropImage$3;
iget-object v1, v1, Lcom/android/camera/CropImage$3;->this$0:Lcom/android/camera/CropImage;
invoke-static {v1}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v1
if-eq v0, v1, :cond_0
iget-object v0, p0, Lcom/android/camera/CropImage$3$1;->val$b:Landroid/graphics/Bitmap;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/android/camera/CropImage$3$1;->this$1:Lcom/android/camera/CropImage$3;
iget-object v0, v0, Lcom/android/camera/CropImage$3;->this$0:Lcom/android/camera/CropImage;
invoke-static {v0}, Lcom/android/camera/CropImage;->access$300(Lcom/android/camera/CropImage;)Lcom/android/camera/CropImageView;
move-result-object v0
iget-object v1, p0, Lcom/android/camera/CropImage$3$1;->val$b:Landroid/graphics/Bitmap;
invoke-virtual {v0, v1, v2}, Lcom/android/camera/CropImageView;->setImageBitmapResetBase(Landroid/graphics/Bitmap;Z)V
iget-object v0, p0, Lcom/android/camera/CropImage$3$1;->this$1:Lcom/android/camera/CropImage$3;
iget-object v0, v0, Lcom/android/camera/CropImage$3;->this$0:Lcom/android/camera/CropImage;
invoke-static {v0}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v0
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
iget-object v0, p0, Lcom/android/camera/CropImage$3$1;->this$1:Lcom/android/camera/CropImage$3;
iget-object v0, v0, Lcom/android/camera/CropImage$3;->this$0:Lcom/android/camera/CropImage;
iget-object v1, p0, Lcom/android/camera/CropImage$3$1;->val$b:Landroid/graphics/Bitmap;
invoke-static {v0, v1}, Lcom/android/camera/CropImage;->access$202(Lcom/android/camera/CropImage;Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
:cond_0
iget-object v0, p0, Lcom/android/camera/CropImage$3$1;->this$1:Lcom/android/camera/CropImage$3;
iget-object v0, v0, Lcom/android/camera/CropImage$3;->this$0:Lcom/android/camera/CropImage;
invoke-static {v0}, Lcom/android/camera/CropImage;->access$300(Lcom/android/camera/CropImage;)Lcom/android/camera/CropImageView;
move-result-object v0
invoke-virtual {v0}, Lcom/android/camera/CropImageView;->getScale()F
move-result v0
const/high16 v1, 0x3f800000 # 1.0f
cmpl-float v0, v0, v1
if-nez v0, :cond_1
iget-object v0, p0, Lcom/android/camera/CropImage$3$1;->this$1:Lcom/android/camera/CropImage$3;
iget-object v0, v0, Lcom/android/camera/CropImage$3;->this$0:Lcom/android/camera/CropImage;
invoke-static {v0}, Lcom/android/camera/CropImage;->access$300(Lcom/android/camera/CropImage;)Lcom/android/camera/CropImageView;
move-result-object v0
invoke-virtual {v0, v2, v2}, Lcom/android/camera/CropImageView;->center(ZZ)V
:cond_1
iget-object v0, p0, Lcom/android/camera/CropImage$3$1;->val$latch:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
return-void
.end method

View file

@ -1,119 +0,0 @@
.class Lcom/android/camera/CropImage$3;
.super Ljava/lang/Object;
.source "CropImage.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/camera/CropImage;->startFaceDetection()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/camera/CropImage;
# direct methods
.method constructor <init>(Lcom/android/camera/CropImage;)V
.locals 0
.param p1, "this$0" # Lcom/android/camera/CropImage;
.prologue
iput-object p1, p0, Lcom/android/camera/CropImage$3;->this$0:Lcom/android/camera/CropImage;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 6
.prologue
new-instance v2, Ljava/util/concurrent/CountDownLatch;
const/4 v3, 0x1
invoke-direct {v2, v3}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
.local v2, "latch":Ljava/util/concurrent/CountDownLatch;
iget-object v3, p0, Lcom/android/camera/CropImage$3;->this$0:Lcom/android/camera/CropImage;
invoke-static {v3}, Lcom/android/camera/CropImage;->access$100(Lcom/android/camera/CropImage;)Lcom/android/camera/gallery/IImage;
move-result-object v3
if-eqz v3, :cond_0
iget-object v3, p0, Lcom/android/camera/CropImage$3;->this$0:Lcom/android/camera/CropImage;
invoke-static {v3}, Lcom/android/camera/CropImage;->access$100(Lcom/android/camera/CropImage;)Lcom/android/camera/gallery/IImage;
move-result-object v3
const/4 v4, -0x1
const/high16 v5, 0x100000
invoke-interface {v3, v4, v5}, Lcom/android/camera/gallery/IImage;->fullSizeBitmap(II)Landroid/graphics/Bitmap;
move-result-object v0
.local v0, "b":Landroid/graphics/Bitmap;
:goto_0
iget-object v3, p0, Lcom/android/camera/CropImage$3;->this$0:Lcom/android/camera/CropImage;
invoke-static {v3}, Lcom/android/camera/CropImage;->access$400(Lcom/android/camera/CropImage;)Landroid/os/Handler;
move-result-object v3
new-instance v4, Lcom/android/camera/CropImage$3$1;
invoke-direct {v4, p0, v0, v2}, Lcom/android/camera/CropImage$3$1;-><init>(Lcom/android/camera/CropImage$3;Landroid/graphics/Bitmap;Ljava/util/concurrent/CountDownLatch;)V
invoke-virtual {v3, v4}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
:try_start_0
invoke-virtual {v2}, Ljava/util/concurrent/CountDownLatch;->await()V
:try_end_0
.catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_0
iget-object v3, p0, Lcom/android/camera/CropImage$3;->this$0:Lcom/android/camera/CropImage;
iget-object v3, v3, Lcom/android/camera/CropImage;->mRunFaceDetection:Ljava/lang/Runnable;
invoke-interface {v3}, Ljava/lang/Runnable;->run()V
return-void
.end local v0 # "b":Landroid/graphics/Bitmap;
:cond_0
iget-object v3, p0, Lcom/android/camera/CropImage$3;->this$0:Lcom/android/camera/CropImage;
invoke-static {v3}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v0
goto :goto_0
.restart local v0 # "b":Landroid/graphics/Bitmap;
:catch_0
move-exception v1
.local v1, "e":Ljava/lang/InterruptedException;
new-instance v3, Ljava/lang/RuntimeException;
invoke-direct {v3, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v3
.end method

View file

@ -1,54 +0,0 @@
.class Lcom/android/camera/CropImage$4;
.super Ljava/lang/Object;
.source "CropImage.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/camera/CropImage;->onSaveClicked()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/camera/CropImage;
.field final synthetic val$b:Landroid/graphics/Bitmap;
# direct methods
.method constructor <init>(Lcom/android/camera/CropImage;Landroid/graphics/Bitmap;)V
.locals 0
.param p1, "this$0" # Lcom/android/camera/CropImage;
.prologue
iput-object p1, p0, Lcom/android/camera/CropImage$4;->this$0:Lcom/android/camera/CropImage;
iput-object p2, p0, Lcom/android/camera/CropImage$4;->val$b:Landroid/graphics/Bitmap;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 2
.prologue
iget-object v0, p0, Lcom/android/camera/CropImage$4;->this$0:Lcom/android/camera/CropImage;
iget-object v1, p0, Lcom/android/camera/CropImage$4;->val$b:Landroid/graphics/Bitmap;
invoke-static {v0, v1}, Lcom/android/camera/CropImage;->access$500(Lcom/android/camera/CropImage;Landroid/graphics/Bitmap;)V
return-void
.end method

View file

@ -1,60 +0,0 @@
.class Lcom/android/camera/CropImage$5;
.super Ljava/lang/Object;
.source "CropImage.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/camera/CropImage;->saveOutput(Landroid/graphics/Bitmap;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/camera/CropImage;
.field final synthetic val$b:Landroid/graphics/Bitmap;
# direct methods
.method constructor <init>(Lcom/android/camera/CropImage;Landroid/graphics/Bitmap;)V
.locals 0
.param p1, "this$0" # Lcom/android/camera/CropImage;
.prologue
iput-object p1, p0, Lcom/android/camera/CropImage$5;->this$0:Lcom/android/camera/CropImage;
iput-object p2, p0, Lcom/android/camera/CropImage$5;->val$b:Landroid/graphics/Bitmap;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/CropImage$5;->this$0:Lcom/android/camera/CropImage;
invoke-static {v0}, Lcom/android/camera/CropImage;->access$300(Lcom/android/camera/CropImage;)Lcom/android/camera/CropImageView;
move-result-object v0
invoke-virtual {v0}, Lcom/android/camera/CropImageView;->clear()V
iget-object v0, p0, Lcom/android/camera/CropImage$5;->val$b:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
return-void
.end method

View file

@ -1,183 +0,0 @@
.class Lcom/android/camera/CropImage$6$1;
.super Ljava/lang/Object;
.source "CropImage.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/camera/CropImage$6;->run()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$1:Lcom/android/camera/CropImage$6;
# direct methods
.method constructor <init>(Lcom/android/camera/CropImage$6;)V
.locals 0
.param p1, "this$1" # Lcom/android/camera/CropImage$6;
.prologue
iput-object p1, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 6
.prologue
const/4 v4, 0x0
const/4 v3, 0x1
iget-object v2, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
iget-object v5, v2, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
iget-object v2, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
iget v2, v2, Lcom/android/camera/CropImage$6;->mNumFaces:I
if-le v2, v3, :cond_0
move v2, v3
:goto_0
iput-boolean v2, v5, Lcom/android/camera/CropImage;->mWaitingToPick:Z
iget-object v2, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
iget v2, v2, Lcom/android/camera/CropImage$6;->mNumFaces:I
if-lez v2, :cond_1
const/4 v0, 0x0
.local v0, "i":I
:goto_1
iget-object v2, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
iget v2, v2, Lcom/android/camera/CropImage$6;->mNumFaces:I
if-ge v0, v2, :cond_2
iget-object v2, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
iget-object v5, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
iget-object v5, v5, Lcom/android/camera/CropImage$6;->mFaces:[Landroid/media/FaceDetector$Face;
aget-object v5, v5, v0
invoke-static {v2, v5}, Lcom/android/camera/CropImage$6;->access$1200(Lcom/android/camera/CropImage$6;Landroid/media/FaceDetector$Face;)V
add-int/lit8 v0, v0, 0x1
goto :goto_1
.end local v0 # "i":I
:cond_0
move v2, v4
goto :goto_0
:cond_1
iget-object v2, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
invoke-static {v2}, Lcom/android/camera/CropImage$6;->access$1300(Lcom/android/camera/CropImage$6;)V
:cond_2
iget-object v2, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
iget-object v2, v2, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v2}, Lcom/android/camera/CropImage;->access$300(Lcom/android/camera/CropImage;)Lcom/android/camera/CropImageView;
move-result-object v2
invoke-virtual {v2}, Lcom/android/camera/CropImageView;->invalidate()V
iget-object v2, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
iget-object v2, v2, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v2}, Lcom/android/camera/CropImage;->access$300(Lcom/android/camera/CropImage;)Lcom/android/camera/CropImageView;
move-result-object v2
iget-object v2, v2, Lcom/android/camera/CropImageView;->mHighlightViews:Ljava/util/ArrayList;
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v2
if-ne v2, v3, :cond_3
iget-object v2, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
iget-object v5, v2, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
iget-object v2, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
iget-object v2, v2, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v2}, Lcom/android/camera/CropImage;->access$300(Lcom/android/camera/CropImage;)Lcom/android/camera/CropImageView;
move-result-object v2
iget-object v2, v2, Lcom/android/camera/CropImageView;->mHighlightViews:Ljava/util/ArrayList;
invoke-virtual {v2, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/android/camera/HighlightView;
iput-object v2, v5, Lcom/android/camera/CropImage;->mCrop:Lcom/android/camera/HighlightView;
iget-object v2, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
iget-object v2, v2, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
iget-object v2, v2, Lcom/android/camera/CropImage;->mCrop:Lcom/android/camera/HighlightView;
invoke-virtual {v2, v3}, Lcom/android/camera/HighlightView;->setFocus(Z)V
:cond_3
iget-object v2, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
iget v2, v2, Lcom/android/camera/CropImage$6;->mNumFaces:I
if-le v2, v3, :cond_4
iget-object v2, p0, Lcom/android/camera/CropImage$6$1;->this$1:Lcom/android/camera/CropImage$6;
iget-object v2, v2, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
sget v3, Lcom/android/camera/R$string;->multiface_crop_help:I
invoke-static {v2, v3, v4}, Landroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast;
move-result-object v1
.local v1, "t":Landroid/widget/Toast;
invoke-virtual {v1}, Landroid/widget/Toast;->show()V
.end local v1 # "t":Landroid/widget/Toast;
:cond_4
return-void
.end method

View file

@ -1,759 +0,0 @@
.class Lcom/android/camera/CropImage$6;
.super Ljava/lang/Object;
.source "CropImage.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/CropImage;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field mFaces:[Landroid/media/FaceDetector$Face;
.field mImageMatrix:Landroid/graphics/Matrix;
.field mNumFaces:I
.field mScale:F
.field final synthetic this$0:Lcom/android/camera/CropImage;
# direct methods
.method constructor <init>(Lcom/android/camera/CropImage;)V
.locals 1
.param p1, "this$0" # Lcom/android/camera/CropImage;
.prologue
iput-object p1, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/high16 v0, 0x3f800000 # 1.0f
iput v0, p0, Lcom/android/camera/CropImage$6;->mScale:F
const/4 v0, 0x3
new-array v0, v0, [Landroid/media/FaceDetector$Face;
iput-object v0, p0, Lcom/android/camera/CropImage$6;->mFaces:[Landroid/media/FaceDetector$Face;
return-void
.end method
.method static synthetic access$1200(Lcom/android/camera/CropImage$6;Landroid/media/FaceDetector$Face;)V
.locals 0
.param p0, "x0" # Lcom/android/camera/CropImage$6;
.param p1, "x1" # Landroid/media/FaceDetector$Face;
.prologue
invoke-direct {p0, p1}, Lcom/android/camera/CropImage$6;->handleFace(Landroid/media/FaceDetector$Face;)V
return-void
.end method
.method static synthetic access$1300(Lcom/android/camera/CropImage$6;)V
.locals 0
.param p0, "x0" # Lcom/android/camera/CropImage$6;
.prologue
invoke-direct {p0}, Lcom/android/camera/CropImage$6;->makeDefault()V
return-void
.end method
.method private handleFace(Landroid/media/FaceDetector$Face;)V
.locals 13
.param p1, "f" # Landroid/media/FaceDetector$Face;
.prologue
new-instance v7, Landroid/graphics/PointF;
invoke-direct {v7}, Landroid/graphics/PointF;-><init>()V
.local v7, "midPoint":Landroid/graphics/PointF;
invoke-virtual {p1}, Landroid/media/FaceDetector$Face;->eyesDistance()F
move-result v1
iget v4, p0, Lcom/android/camera/CropImage$6;->mScale:F
mul-float/2addr v1, v4
float-to-int v1, v1
mul-int/lit8 v10, v1, 0x2
.local v10, "r":I
invoke-virtual {p1, v7}, Landroid/media/FaceDetector$Face;->getMidPoint(Landroid/graphics/PointF;)V
iget v1, v7, Landroid/graphics/PointF;->x:F
iget v4, p0, Lcom/android/camera/CropImage$6;->mScale:F
mul-float/2addr v1, v4
iput v1, v7, Landroid/graphics/PointF;->x:F
iget v1, v7, Landroid/graphics/PointF;->y:F
iget v4, p0, Lcom/android/camera/CropImage$6;->mScale:F
mul-float/2addr v1, v4
iput v1, v7, Landroid/graphics/PointF;->y:F
iget v1, v7, Landroid/graphics/PointF;->x:F
float-to-int v8, v1
.local v8, "midX":I
iget v1, v7, Landroid/graphics/PointF;->y:F
float-to-int v9, v1
.local v9, "midY":I
new-instance v0, Lcom/android/camera/HighlightView;
iget-object v1, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v1}, Lcom/android/camera/CropImage;->access$300(Lcom/android/camera/CropImage;)Lcom/android/camera/CropImageView;
move-result-object v1
iget-object v4, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v4}, Lcom/android/camera/CropImage;->access$600(Lcom/android/camera/CropImage;)I
move-result v4
iget-object v5, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v5}, Lcom/android/camera/CropImage;->access$700(Lcom/android/camera/CropImage;)I
move-result v5
invoke-direct {v0, v1, v4, v5}, Lcom/android/camera/HighlightView;-><init>(Landroid/view/View;II)V
.local v0, "hv":Lcom/android/camera/HighlightView;
iget-object v1, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v1}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v1
invoke-virtual {v1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v11
.local v11, "width":I
iget-object v1, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v1}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v1
invoke-virtual {v1}, Landroid/graphics/Bitmap;->getHeight()I
move-result v6
.local v6, "height":I
new-instance v2, Landroid/graphics/Rect;
const/4 v1, 0x0
const/4 v4, 0x0
invoke-direct {v2, v1, v4, v11, v6}, Landroid/graphics/Rect;-><init>(IIII)V
.local v2, "imageRect":Landroid/graphics/Rect;
new-instance v3, Landroid/graphics/RectF;
int-to-float v1, v8
int-to-float v4, v9
int-to-float v5, v8
int-to-float v12, v9
invoke-direct {v3, v1, v4, v5, v12}, Landroid/graphics/RectF;-><init>(FFFF)V
.local v3, "faceRect":Landroid/graphics/RectF;
neg-int v1, v10
int-to-float v1, v1
neg-int v4, v10
int-to-float v4, v4
invoke-virtual {v3, v1, v4}, Landroid/graphics/RectF;->inset(FF)V
iget v1, v3, Landroid/graphics/RectF;->left:F
const/4 v4, 0x0
cmpg-float v1, v1, v4
if-gez v1, :cond_0
iget v1, v3, Landroid/graphics/RectF;->left:F
neg-float v1, v1
iget v4, v3, Landroid/graphics/RectF;->left:F
neg-float v4, v4
invoke-virtual {v3, v1, v4}, Landroid/graphics/RectF;->inset(FF)V
:cond_0
iget v1, v3, Landroid/graphics/RectF;->top:F
const/4 v4, 0x0
cmpg-float v1, v1, v4
if-gez v1, :cond_1
iget v1, v3, Landroid/graphics/RectF;->top:F
neg-float v1, v1
iget v4, v3, Landroid/graphics/RectF;->top:F
neg-float v4, v4
invoke-virtual {v3, v1, v4}, Landroid/graphics/RectF;->inset(FF)V
:cond_1
iget v1, v3, Landroid/graphics/RectF;->right:F
iget v4, v2, Landroid/graphics/Rect;->right:I
int-to-float v4, v4
cmpl-float v1, v1, v4
if-lez v1, :cond_2
iget v1, v3, Landroid/graphics/RectF;->right:F
iget v4, v2, Landroid/graphics/Rect;->right:I
int-to-float v4, v4
sub-float/2addr v1, v4
iget v4, v3, Landroid/graphics/RectF;->right:F
iget v5, v2, Landroid/graphics/Rect;->right:I
int-to-float v5, v5
sub-float/2addr v4, v5
invoke-virtual {v3, v1, v4}, Landroid/graphics/RectF;->inset(FF)V
:cond_2
iget v1, v3, Landroid/graphics/RectF;->bottom:F
iget v4, v2, Landroid/graphics/Rect;->bottom:I
int-to-float v4, v4
cmpl-float v1, v1, v4
if-lez v1, :cond_3
iget v1, v3, Landroid/graphics/RectF;->bottom:F
iget v4, v2, Landroid/graphics/Rect;->bottom:I
int-to-float v4, v4
sub-float/2addr v1, v4
iget v4, v3, Landroid/graphics/RectF;->bottom:F
iget v5, v2, Landroid/graphics/Rect;->bottom:I
int-to-float v5, v5
sub-float/2addr v4, v5
invoke-virtual {v3, v1, v4}, Landroid/graphics/RectF;->inset(FF)V
:cond_3
iget-object v1, p0, Lcom/android/camera/CropImage$6;->mImageMatrix:Landroid/graphics/Matrix;
iget-object v4, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v4}, Lcom/android/camera/CropImage;->access$800(Lcom/android/camera/CropImage;)Z
move-result v4
iget-object v5, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v5}, Lcom/android/camera/CropImage;->access$900(Lcom/android/camera/CropImage;)I
move-result v5
if-eqz v5, :cond_4
iget-object v5, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v5}, Lcom/android/camera/CropImage;->access$1000(Lcom/android/camera/CropImage;)I
move-result v5
if-eqz v5, :cond_4
const/4 v5, 0x1
:goto_0
invoke-virtual/range {v0 .. v5}, Lcom/android/camera/HighlightView;->setup(Landroid/graphics/Matrix;Landroid/graphics/Rect;Landroid/graphics/RectF;ZZ)V
iget-object v1, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v1}, Lcom/android/camera/CropImage;->access$300(Lcom/android/camera/CropImage;)Lcom/android/camera/CropImageView;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/android/camera/CropImageView;->add(Lcom/android/camera/HighlightView;)V
return-void
:cond_4
const/4 v5, 0x0
goto :goto_0
.end method
.method private makeDefault()V
.locals 14
.prologue
const/4 v5, 0x0
new-instance v0, Lcom/android/camera/HighlightView;
iget-object v1, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v1}, Lcom/android/camera/CropImage;->access$300(Lcom/android/camera/CropImage;)Lcom/android/camera/CropImageView;
move-result-object v1
iget-object v4, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v4}, Lcom/android/camera/CropImage;->access$600(Lcom/android/camera/CropImage;)I
move-result v4
iget-object v12, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v12}, Lcom/android/camera/CropImage;->access$700(Lcom/android/camera/CropImage;)I
move-result v12
invoke-direct {v0, v1, v4, v12}, Lcom/android/camera/HighlightView;-><init>(Landroid/view/View;II)V
.local v0, "hv":Lcom/android/camera/HighlightView;
iget-object v1, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v1}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v1
invoke-virtual {v1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v9
.local v9, "width":I
iget-object v1, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v1}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v1
invoke-virtual {v1}, Landroid/graphics/Bitmap;->getHeight()I
move-result v8
.local v8, "height":I
new-instance v2, Landroid/graphics/Rect;
invoke-direct {v2, v5, v5, v9, v8}, Landroid/graphics/Rect;-><init>(IIII)V
.local v2, "imageRect":Landroid/graphics/Rect;
invoke-static {v9, v8}, Ljava/lang/Math;->min(II)I
move-result v1
mul-int/lit8 v1, v1, 0x4
div-int/lit8 v7, v1, 0x5
.local v7, "cropWidth":I
move v6, v7
.local v6, "cropHeight":I
iget-object v1, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v1}, Lcom/android/camera/CropImage;->access$900(Lcom/android/camera/CropImage;)I
move-result v1
if-eqz v1, :cond_0
iget-object v1, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v1}, Lcom/android/camera/CropImage;->access$1000(Lcom/android/camera/CropImage;)I
move-result v1
if-eqz v1, :cond_0
iget-object v1, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v1}, Lcom/android/camera/CropImage;->access$900(Lcom/android/camera/CropImage;)I
move-result v1
iget-object v4, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v4}, Lcom/android/camera/CropImage;->access$1000(Lcom/android/camera/CropImage;)I
move-result v4
if-le v1, v4, :cond_2
iget-object v1, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v1}, Lcom/android/camera/CropImage;->access$1000(Lcom/android/camera/CropImage;)I
move-result v1
mul-int/2addr v1, v7
iget-object v4, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v4}, Lcom/android/camera/CropImage;->access$900(Lcom/android/camera/CropImage;)I
move-result v4
div-int v6, v1, v4
:cond_0
:goto_0
sub-int v1, v9, v7
div-int/lit8 v10, v1, 0x2
.local v10, "x":I
sub-int v1, v8, v6
div-int/lit8 v11, v1, 0x2
.local v11, "y":I
new-instance v3, Landroid/graphics/RectF;
int-to-float v1, v10
int-to-float v4, v11
add-int v12, v10, v7
int-to-float v12, v12
add-int v13, v11, v6
int-to-float v13, v13
invoke-direct {v3, v1, v4, v12, v13}, Landroid/graphics/RectF;-><init>(FFFF)V
.local v3, "cropRect":Landroid/graphics/RectF;
iget-object v1, p0, Lcom/android/camera/CropImage$6;->mImageMatrix:Landroid/graphics/Matrix;
iget-object v4, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v4}, Lcom/android/camera/CropImage;->access$800(Lcom/android/camera/CropImage;)Z
move-result v4
iget-object v12, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v12}, Lcom/android/camera/CropImage;->access$900(Lcom/android/camera/CropImage;)I
move-result v12
if-eqz v12, :cond_1
iget-object v12, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v12}, Lcom/android/camera/CropImage;->access$1000(Lcom/android/camera/CropImage;)I
move-result v12
if-eqz v12, :cond_1
const/4 v5, 0x1
:cond_1
invoke-virtual/range {v0 .. v5}, Lcom/android/camera/HighlightView;->setup(Landroid/graphics/Matrix;Landroid/graphics/Rect;Landroid/graphics/RectF;ZZ)V
iget-object v1, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v1}, Lcom/android/camera/CropImage;->access$300(Lcom/android/camera/CropImage;)Lcom/android/camera/CropImageView;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/android/camera/CropImageView;->add(Lcom/android/camera/HighlightView;)V
return-void
.end local v3 # "cropRect":Landroid/graphics/RectF;
.end local v10 # "x":I
.end local v11 # "y":I
:cond_2
iget-object v1, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v1}, Lcom/android/camera/CropImage;->access$900(Lcom/android/camera/CropImage;)I
move-result v1
mul-int/2addr v1, v6
iget-object v4, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v4}, Lcom/android/camera/CropImage;->access$1000(Lcom/android/camera/CropImage;)I
move-result v4
div-int v7, v1, v4
goto :goto_0
.end method
.method private prepareBitmap()Landroid/graphics/Bitmap;
.locals 8
.prologue
const/4 v1, 0x0
iget-object v0, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v0}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v0}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v0
invoke-virtual {v0}, Landroid/graphics/Bitmap;->isRecycled()Z
move-result v0
if-eqz v0, :cond_1
:cond_0
const/4 v7, 0x0
:goto_0
return-object v7
:cond_1
iget-object v0, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v0}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v0
invoke-virtual {v0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v0
const/16 v2, 0x100
if-le v0, v2, :cond_2
const/high16 v0, 0x43800000 # 256.0f
iget-object v2, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v2}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v2
invoke-virtual {v2}, Landroid/graphics/Bitmap;->getWidth()I
move-result v2
int-to-float v2, v2
div-float/2addr v0, v2
iput v0, p0, Lcom/android/camera/CropImage$6;->mScale:F
:cond_2
new-instance v5, Landroid/graphics/Matrix;
invoke-direct {v5}, Landroid/graphics/Matrix;-><init>()V
.local v5, "matrix":Landroid/graphics/Matrix;
iget v0, p0, Lcom/android/camera/CropImage$6;->mScale:F
iget v2, p0, Lcom/android/camera/CropImage$6;->mScale:F
invoke-virtual {v5, v0, v2}, Landroid/graphics/Matrix;->setScale(FF)V
iget-object v0, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v0}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v0
iget-object v2, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v2}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v2
invoke-virtual {v2}, Landroid/graphics/Bitmap;->getWidth()I
move-result v3
iget-object v2, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v2}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v2
invoke-virtual {v2}, Landroid/graphics/Bitmap;->getHeight()I
move-result v4
const/4 v6, 0x1
move v2, v1
invoke-static/range {v0 .. v6}, Landroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;
move-result-object v7
.local v7, "faceBitmap":Landroid/graphics/Bitmap;
goto :goto_0
.end method
# virtual methods
.method public run()V
.locals 5
.prologue
iget-object v2, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v2}, Lcom/android/camera/CropImage;->access$300(Lcom/android/camera/CropImage;)Lcom/android/camera/CropImageView;
move-result-object v2
invoke-virtual {v2}, Lcom/android/camera/CropImageView;->getImageMatrix()Landroid/graphics/Matrix;
move-result-object v2
iput-object v2, p0, Lcom/android/camera/CropImage$6;->mImageMatrix:Landroid/graphics/Matrix;
invoke-direct {p0}, Lcom/android/camera/CropImage$6;->prepareBitmap()Landroid/graphics/Bitmap;
move-result-object v1
.local v1, "faceBitmap":Landroid/graphics/Bitmap;
const/high16 v2, 0x3f800000 # 1.0f
iget v3, p0, Lcom/android/camera/CropImage$6;->mScale:F
div-float/2addr v2, v3
iput v2, p0, Lcom/android/camera/CropImage$6;->mScale:F
if-eqz v1, :cond_0
iget-object v2, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v2}, Lcom/android/camera/CropImage;->access$1100(Lcom/android/camera/CropImage;)Z
move-result v2
if-eqz v2, :cond_0
new-instance v0, Landroid/media/FaceDetector;
invoke-virtual {v1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v2
invoke-virtual {v1}, Landroid/graphics/Bitmap;->getHeight()I
move-result v3
iget-object v4, p0, Lcom/android/camera/CropImage$6;->mFaces:[Landroid/media/FaceDetector$Face;
array-length v4, v4
invoke-direct {v0, v2, v3, v4}, Landroid/media/FaceDetector;-><init>(III)V
.local v0, "detector":Landroid/media/FaceDetector;
iget-object v2, p0, Lcom/android/camera/CropImage$6;->mFaces:[Landroid/media/FaceDetector$Face;
invoke-virtual {v0, v1, v2}, Landroid/media/FaceDetector;->findFaces(Landroid/graphics/Bitmap;[Landroid/media/FaceDetector$Face;)I
move-result v2
iput v2, p0, Lcom/android/camera/CropImage$6;->mNumFaces:I
.end local v0 # "detector":Landroid/media/FaceDetector;
:cond_0
if-eqz v1, :cond_1
iget-object v2, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v2}, Lcom/android/camera/CropImage;->access$200(Lcom/android/camera/CropImage;)Landroid/graphics/Bitmap;
move-result-object v2
if-eq v1, v2, :cond_1
invoke-virtual {v1}, Landroid/graphics/Bitmap;->recycle()V
:cond_1
iget-object v2, p0, Lcom/android/camera/CropImage$6;->this$0:Lcom/android/camera/CropImage;
invoke-static {v2}, Lcom/android/camera/CropImage;->access$400(Lcom/android/camera/CropImage;)Landroid/os/Handler;
move-result-object v2
new-instance v3, Lcom/android/camera/CropImage$6$1;
invoke-direct {v3, p0}, Lcom/android/camera/CropImage$6$1;-><init>(Lcom/android/camera/CropImage$6;)V
invoke-virtual {v2, v3}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
return-void
.end method

File diff suppressed because it is too large Load diff

View file

@ -1,368 +0,0 @@
.class public Lcom/android/camera/CropImageIntentBuilder;
.super Ljava/lang/Object;
.source "CropImageIntentBuilder.java"
# static fields
.field private static final DEFAULT_SCALE:I = 0x1
.field private static final EXTRA_ASPECT_X:Ljava/lang/String; = "aspectX"
.field private static final EXTRA_ASPECT_Y:Ljava/lang/String; = "aspectY"
.field private static final EXTRA_BITMAP_DATA:Ljava/lang/String; = "data"
.field private static final EXTRA_CIRCLE_CROP:Ljava/lang/String; = "circleCrop"
.field private static final EXTRA_NO_FACE_DETECTION:Ljava/lang/String; = "noFaceDetection"
.field private static final EXTRA_OUTLINE_CIRCLE_COLOR:Ljava/lang/String; = "outlineCircleColor"
.field private static final EXTRA_OUTLINE_COLOR:Ljava/lang/String; = "outlineColor"
.field private static final EXTRA_OUTPUT_FORMAT:Ljava/lang/String; = "outputFormat"
.field private static final EXTRA_OUTPUT_QUALITY:Ljava/lang/String; = "outputQuality"
.field private static final EXTRA_OUTPUT_X:Ljava/lang/String; = "outputX"
.field private static final EXTRA_OUTPUT_Y:Ljava/lang/String; = "outputY"
.field private static final EXTRA_SCALE:Ljava/lang/String; = "scale"
.field private static final EXTRA_SCALE_UP_IF_NEEDED:Ljava/lang/String; = "scaleUpIfNeeded"
# instance fields
.field private final aspectX:I
.field private final aspectY:I
.field private bitmap:Landroid/graphics/Bitmap;
.field private circleCrop:Z
.field private doFaceDetection:Z
.field private outlineCircleColor:I
.field private outlineColor:I
.field private outputFormat:Ljava/lang/String;
.field private outputQuality:I
.field private final outputX:I
.field private final outputY:I
.field private final saveUri:Landroid/net/Uri;
.field private scale:Z
.field private scaleUpIfNeeded:Z
.field private sourceImage:Landroid/net/Uri;
# direct methods
.method public constructor <init>(IIIILandroid/net/Uri;)V
.locals 1
.param p1, "aspectX" # I
.param p2, "aspectY" # I
.param p3, "outputX" # I
.param p4, "outputY" # I
.param p5, "saveUri" # Landroid/net/Uri;
.prologue
const/4 v0, 0x1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-boolean v0, p0, Lcom/android/camera/CropImageIntentBuilder;->scale:Z
iput-boolean v0, p0, Lcom/android/camera/CropImageIntentBuilder;->scaleUpIfNeeded:Z
iput-boolean v0, p0, Lcom/android/camera/CropImageIntentBuilder;->doFaceDetection:Z
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/android/camera/CropImageIntentBuilder;->circleCrop:Z
const/4 v0, 0x0
iput-object v0, p0, Lcom/android/camera/CropImageIntentBuilder;->outputFormat:Ljava/lang/String;
const/16 v0, 0x64
iput v0, p0, Lcom/android/camera/CropImageIntentBuilder;->outputQuality:I
const/16 v0, -0x7600
iput v0, p0, Lcom/android/camera/CropImageIntentBuilder;->outlineColor:I
const v0, -0x10fb2a
iput v0, p0, Lcom/android/camera/CropImageIntentBuilder;->outlineCircleColor:I
iput p1, p0, Lcom/android/camera/CropImageIntentBuilder;->aspectX:I
iput p2, p0, Lcom/android/camera/CropImageIntentBuilder;->aspectY:I
iput p3, p0, Lcom/android/camera/CropImageIntentBuilder;->outputX:I
iput p4, p0, Lcom/android/camera/CropImageIntentBuilder;->outputY:I
iput-object p5, p0, Lcom/android/camera/CropImageIntentBuilder;->saveUri:Landroid/net/Uri;
return-void
.end method
.method public constructor <init>(IILandroid/net/Uri;)V
.locals 6
.param p1, "outputX" # I
.param p2, "outputY" # I
.param p3, "saveUri" # Landroid/net/Uri;
.prologue
const/4 v1, 0x1
move-object v0, p0
move v2, v1
move v3, p1
move v4, p2
move-object v5, p3
invoke-direct/range {v0 .. v5}, Lcom/android/camera/CropImageIntentBuilder;-><init>(IIIILandroid/net/Uri;)V
return-void
.end method
# virtual methods
.method public getIntent(Landroid/content/Context;)Landroid/content/Intent;
.locals 3
.param p1, "context" # Landroid/content/Context;
.prologue
new-instance v0, Landroid/content/Intent;
const-class v1, Lcom/android/camera/CropImage;
invoke-direct {v0, p1, v1}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
.local v0, "intent":Landroid/content/Intent;
const-string v1, "aspectX"
iget v2, p0, Lcom/android/camera/CropImageIntentBuilder;->aspectX:I
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
const-string v1, "aspectY"
iget v2, p0, Lcom/android/camera/CropImageIntentBuilder;->aspectY:I
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
const-string v1, "outputX"
iget v2, p0, Lcom/android/camera/CropImageIntentBuilder;->outputX:I
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
const-string v1, "outputY"
iget v2, p0, Lcom/android/camera/CropImageIntentBuilder;->outputY:I
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
const-string v1, "output"
iget-object v2, p0, Lcom/android/camera/CropImageIntentBuilder;->saveUri:Landroid/net/Uri;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;
const-string v1, "scale"
iget-boolean v2, p0, Lcom/android/camera/CropImageIntentBuilder;->scale:Z
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
const-string v1, "scaleUpIfNeeded"
iget-boolean v2, p0, Lcom/android/camera/CropImageIntentBuilder;->scaleUpIfNeeded:Z
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
const-string v2, "noFaceDetection"
iget-boolean v1, p0, Lcom/android/camera/CropImageIntentBuilder;->doFaceDetection:Z
if-nez v1, :cond_2
const/4 v1, 0x1
:goto_0
invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
const-string v1, "circleCrop"
iget-boolean v2, p0, Lcom/android/camera/CropImageIntentBuilder;->circleCrop:Z
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
const-string v1, "outputFormat"
iget-object v2, p0, Lcom/android/camera/CropImageIntentBuilder;->outputFormat:Ljava/lang/String;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
const-string v1, "outputQuality"
iget v2, p0, Lcom/android/camera/CropImageIntentBuilder;->outputQuality:I
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
const-string v1, "outlineColor"
iget v2, p0, Lcom/android/camera/CropImageIntentBuilder;->outlineColor:I
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
const-string v1, "outlineCircleColor"
iget v2, p0, Lcom/android/camera/CropImageIntentBuilder;->outlineCircleColor:I
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
iget-object v1, p0, Lcom/android/camera/CropImageIntentBuilder;->bitmap:Landroid/graphics/Bitmap;
if-eqz v1, :cond_0
const-string v1, "data"
iget-object v2, p0, Lcom/android/camera/CropImageIntentBuilder;->bitmap:Landroid/graphics/Bitmap;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;
:cond_0
iget-object v1, p0, Lcom/android/camera/CropImageIntentBuilder;->sourceImage:Landroid/net/Uri;
if-eqz v1, :cond_1
iget-object v1, p0, Lcom/android/camera/CropImageIntentBuilder;->sourceImage:Landroid/net/Uri;
invoke-virtual {v0, v1}, Landroid/content/Intent;->setData(Landroid/net/Uri;)Landroid/content/Intent;
:cond_1
return-object v0
:cond_2
const/4 v1, 0x0
goto :goto_0
.end method
.method public setBitmap(Landroid/graphics/Bitmap;)Lcom/android/camera/CropImageIntentBuilder;
.locals 0
.param p1, "bitmap" # Landroid/graphics/Bitmap;
.prologue
iput-object p1, p0, Lcom/android/camera/CropImageIntentBuilder;->bitmap:Landroid/graphics/Bitmap;
return-object p0
.end method
.method public setCircleCrop(Z)Lcom/android/camera/CropImageIntentBuilder;
.locals 0
.param p1, "circleCrop" # Z
.prologue
iput-boolean p1, p0, Lcom/android/camera/CropImageIntentBuilder;->circleCrop:Z
return-object p0
.end method
.method public setDoFaceDetection(Z)Lcom/android/camera/CropImageIntentBuilder;
.locals 0
.param p1, "doFaceDetection" # Z
.prologue
iput-boolean p1, p0, Lcom/android/camera/CropImageIntentBuilder;->doFaceDetection:Z
return-object p0
.end method
.method public setOutlineCircleColor(I)Lcom/android/camera/CropImageIntentBuilder;
.locals 0
.param p1, "color" # I
.prologue
iput p1, p0, Lcom/android/camera/CropImageIntentBuilder;->outlineCircleColor:I
return-object p0
.end method
.method public setOutlineColor(I)Lcom/android/camera/CropImageIntentBuilder;
.locals 0
.param p1, "color" # I
.prologue
iput p1, p0, Lcom/android/camera/CropImageIntentBuilder;->outlineColor:I
return-object p0
.end method
.method public setOutputFormat(Ljava/lang/String;)Lcom/android/camera/CropImageIntentBuilder;
.locals 0
.param p1, "outputFormat" # Ljava/lang/String;
.prologue
iput-object p1, p0, Lcom/android/camera/CropImageIntentBuilder;->outputFormat:Ljava/lang/String;
return-object p0
.end method
.method public setOutputQuality(I)Lcom/android/camera/CropImageIntentBuilder;
.locals 0
.param p1, "outputQuality" # I
.prologue
iput p1, p0, Lcom/android/camera/CropImageIntentBuilder;->outputQuality:I
return-object p0
.end method
.method public setScale(Z)Lcom/android/camera/CropImageIntentBuilder;
.locals 0
.param p1, "scale" # Z
.prologue
iput-boolean p1, p0, Lcom/android/camera/CropImageIntentBuilder;->scale:Z
return-object p0
.end method
.method public setScaleUpIfNeeded(Z)Lcom/android/camera/CropImageIntentBuilder;
.locals 0
.param p1, "scaleUpIfNeeded" # Z
.prologue
iput-boolean p1, p0, Lcom/android/camera/CropImageIntentBuilder;->scaleUpIfNeeded:Z
return-object p0
.end method
.method public setSourceImage(Landroid/net/Uri;)Lcom/android/camera/CropImageIntentBuilder;
.locals 0
.param p1, "sourceImage" # Landroid/net/Uri;
.prologue
iput-object p1, p0, Lcom/android/camera/CropImageIntentBuilder;->sourceImage:Landroid/net/Uri;
return-object p0
.end method

File diff suppressed because it is too large Load diff

View file

@ -1,135 +0,0 @@
.class final enum Lcom/android/camera/HighlightView$ModifyMode;
.super Ljava/lang/Enum;
.source "HighlightView.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/HighlightView;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4018
name = "ModifyMode"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum",
"<",
"Lcom/android/camera/HighlightView$ModifyMode;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/android/camera/HighlightView$ModifyMode;
.field public static final enum Grow:Lcom/android/camera/HighlightView$ModifyMode;
.field public static final enum Move:Lcom/android/camera/HighlightView$ModifyMode;
.field public static final enum None:Lcom/android/camera/HighlightView$ModifyMode;
# direct methods
.method static constructor <clinit>()V
.locals 5
.prologue
const/4 v4, 0x2
const/4 v3, 0x1
const/4 v2, 0x0
new-instance v0, Lcom/android/camera/HighlightView$ModifyMode;
const-string v1, "None"
invoke-direct {v0, v1, v2}, Lcom/android/camera/HighlightView$ModifyMode;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/android/camera/HighlightView$ModifyMode;->None:Lcom/android/camera/HighlightView$ModifyMode;
new-instance v0, Lcom/android/camera/HighlightView$ModifyMode;
const-string v1, "Move"
invoke-direct {v0, v1, v3}, Lcom/android/camera/HighlightView$ModifyMode;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/android/camera/HighlightView$ModifyMode;->Move:Lcom/android/camera/HighlightView$ModifyMode;
new-instance v0, Lcom/android/camera/HighlightView$ModifyMode;
const-string v1, "Grow"
invoke-direct {v0, v1, v4}, Lcom/android/camera/HighlightView$ModifyMode;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/android/camera/HighlightView$ModifyMode;->Grow:Lcom/android/camera/HighlightView$ModifyMode;
const/4 v0, 0x3
new-array v0, v0, [Lcom/android/camera/HighlightView$ModifyMode;
sget-object v1, Lcom/android/camera/HighlightView$ModifyMode;->None:Lcom/android/camera/HighlightView$ModifyMode;
aput-object v1, v0, v2
sget-object v1, Lcom/android/camera/HighlightView$ModifyMode;->Move:Lcom/android/camera/HighlightView$ModifyMode;
aput-object v1, v0, v3
sget-object v1, Lcom/android/camera/HighlightView$ModifyMode;->Grow:Lcom/android/camera/HighlightView$ModifyMode;
aput-object v1, v0, v4
sput-object v0, Lcom/android/camera/HighlightView$ModifyMode;->$VALUES:[Lcom/android/camera/HighlightView$ModifyMode;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.prologue
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/android/camera/HighlightView$ModifyMode;
.locals 1
.param p0, "name" # Ljava/lang/String;
.prologue
const-class v0, Lcom/android/camera/HighlightView$ModifyMode;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object v0
check-cast v0, Lcom/android/camera/HighlightView$ModifyMode;
return-object v0
.end method
.method public static values()[Lcom/android/camera/HighlightView$ModifyMode;
.locals 1
.prologue
sget-object v0, Lcom/android/camera/HighlightView$ModifyMode;->$VALUES:[Lcom/android/camera/HighlightView$ModifyMode;
invoke-virtual {v0}, [Lcom/android/camera/HighlightView$ModifyMode;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/android/camera/HighlightView$ModifyMode;
return-object v0
.end method

File diff suppressed because it is too large Load diff

View file

@ -1,14 +0,0 @@
.class synthetic Lcom/android/camera/ImageManager$1;
.super Ljava/lang/Object;
.source "ImageManager.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/ImageManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1008
name = null
.end annotation

View file

@ -1,151 +0,0 @@
.class public final enum Lcom/android/camera/ImageManager$DataLocation;
.super Ljava/lang/Enum;
.source "ImageManager.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/ImageManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "DataLocation"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum",
"<",
"Lcom/android/camera/ImageManager$DataLocation;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/android/camera/ImageManager$DataLocation;
.field public static final enum ALL:Lcom/android/camera/ImageManager$DataLocation;
.field public static final enum EXTERNAL:Lcom/android/camera/ImageManager$DataLocation;
.field public static final enum INTERNAL:Lcom/android/camera/ImageManager$DataLocation;
.field public static final enum NONE:Lcom/android/camera/ImageManager$DataLocation;
# direct methods
.method static constructor <clinit>()V
.locals 6
.prologue
const/4 v5, 0x3
const/4 v4, 0x2
const/4 v3, 0x1
const/4 v2, 0x0
new-instance v0, Lcom/android/camera/ImageManager$DataLocation;
const-string v1, "NONE"
invoke-direct {v0, v1, v2}, Lcom/android/camera/ImageManager$DataLocation;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/android/camera/ImageManager$DataLocation;->NONE:Lcom/android/camera/ImageManager$DataLocation;
new-instance v0, Lcom/android/camera/ImageManager$DataLocation;
const-string v1, "INTERNAL"
invoke-direct {v0, v1, v3}, Lcom/android/camera/ImageManager$DataLocation;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/android/camera/ImageManager$DataLocation;->INTERNAL:Lcom/android/camera/ImageManager$DataLocation;
new-instance v0, Lcom/android/camera/ImageManager$DataLocation;
const-string v1, "EXTERNAL"
invoke-direct {v0, v1, v4}, Lcom/android/camera/ImageManager$DataLocation;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/android/camera/ImageManager$DataLocation;->EXTERNAL:Lcom/android/camera/ImageManager$DataLocation;
new-instance v0, Lcom/android/camera/ImageManager$DataLocation;
const-string v1, "ALL"
invoke-direct {v0, v1, v5}, Lcom/android/camera/ImageManager$DataLocation;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/android/camera/ImageManager$DataLocation;->ALL:Lcom/android/camera/ImageManager$DataLocation;
const/4 v0, 0x4
new-array v0, v0, [Lcom/android/camera/ImageManager$DataLocation;
sget-object v1, Lcom/android/camera/ImageManager$DataLocation;->NONE:Lcom/android/camera/ImageManager$DataLocation;
aput-object v1, v0, v2
sget-object v1, Lcom/android/camera/ImageManager$DataLocation;->INTERNAL:Lcom/android/camera/ImageManager$DataLocation;
aput-object v1, v0, v3
sget-object v1, Lcom/android/camera/ImageManager$DataLocation;->EXTERNAL:Lcom/android/camera/ImageManager$DataLocation;
aput-object v1, v0, v4
sget-object v1, Lcom/android/camera/ImageManager$DataLocation;->ALL:Lcom/android/camera/ImageManager$DataLocation;
aput-object v1, v0, v5
sput-object v0, Lcom/android/camera/ImageManager$DataLocation;->$VALUES:[Lcom/android/camera/ImageManager$DataLocation;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.prologue
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/android/camera/ImageManager$DataLocation;
.locals 1
.param p0, "name" # Ljava/lang/String;
.prologue
const-class v0, Lcom/android/camera/ImageManager$DataLocation;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object v0
check-cast v0, Lcom/android/camera/ImageManager$DataLocation;
return-object v0
.end method
.method public static values()[Lcom/android/camera/ImageManager$DataLocation;
.locals 1
.prologue
sget-object v0, Lcom/android/camera/ImageManager$DataLocation;->$VALUES:[Lcom/android/camera/ImageManager$DataLocation;
invoke-virtual {v0}, [Lcom/android/camera/ImageManager$DataLocation;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/android/camera/ImageManager$DataLocation;
return-object v0
.end method

View file

@ -1,138 +0,0 @@
.class Lcom/android/camera/ImageManager$EmptyImageList;
.super Ljava/lang/Object;
.source "ImageManager.java"
# interfaces
.implements Lcom/android/camera/gallery/IImageList;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/ImageManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "EmptyImageList"
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method synthetic constructor <init>(Lcom/android/camera/ImageManager$1;)V
.locals 0
.param p1, "x0" # Lcom/android/camera/ImageManager$1;
.prologue
invoke-direct {p0}, Lcom/android/camera/ImageManager$EmptyImageList;-><init>()V
return-void
.end method
# virtual methods
.method public close()V
.locals 0
.prologue
return-void
.end method
.method public getBucketIds()Ljava/util/HashMap;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.prologue
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
return-object v0
.end method
.method public getCount()I
.locals 1
.prologue
const/4 v0, 0x0
return v0
.end method
.method public getImageAt(I)Lcom/android/camera/gallery/IImage;
.locals 1
.param p1, "i" # I
.prologue
const/4 v0, 0x0
return-object v0
.end method
.method public getImageForUri(Landroid/net/Uri;)Lcom/android/camera/gallery/IImage;
.locals 1
.param p1, "uri" # Landroid/net/Uri;
.prologue
const/4 v0, 0x0
return-object v0
.end method
.method public getImageIndex(Lcom/android/camera/gallery/IImage;)I
.locals 1
.param p1, "image" # Lcom/android/camera/gallery/IImage;
.prologue
new-instance v0, Ljava/lang/UnsupportedOperationException;
invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw v0
.end method
.method public isEmpty()Z
.locals 1
.prologue
const/4 v0, 0x1
return v0
.end method
.method public removeImage(Lcom/android/camera/gallery/IImage;)Z
.locals 1
.param p1, "image" # Lcom/android/camera/gallery/IImage;
.prologue
const/4 v0, 0x0
return v0
.end method
.method public removeImageAt(I)Z
.locals 1
.param p1, "i" # I
.prologue
const/4 v0, 0x0
return v0
.end method

View file

@ -1,76 +0,0 @@
.class final Lcom/android/camera/ImageManager$ImageListParam$1;
.super Ljava/lang/Object;
.source "ImageManager.java"
# interfaces
.implements Landroid/os/Parcelable$Creator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/ImageManager$ImageListParam;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = null
.end annotation
# direct methods
.method constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public createFromParcel(Landroid/os/Parcel;)Lcom/android/camera/ImageManager$ImageListParam;
.locals 2
.param p1, "in" # Landroid/os/Parcel;
.prologue
new-instance v0, Lcom/android/camera/ImageManager$ImageListParam;
const/4 v1, 0x0
invoke-direct {v0, p1, v1}, Lcom/android/camera/ImageManager$ImageListParam;-><init>(Landroid/os/Parcel;Lcom/android/camera/ImageManager$1;)V
return-object v0
.end method
.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
.locals 1
.prologue
invoke-virtual {p0, p1}, Lcom/android/camera/ImageManager$ImageListParam$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/camera/ImageManager$ImageListParam;
move-result-object v0
return-object v0
.end method
.method public newArray(I)[Lcom/android/camera/ImageManager$ImageListParam;
.locals 1
.param p1, "size" # I
.prologue
new-array v0, p1, [Lcom/android/camera/ImageManager$ImageListParam;
return-object v0
.end method
.method public bridge synthetic newArray(I)[Ljava/lang/Object;
.locals 1
.prologue
invoke-virtual {p0, p1}, Lcom/android/camera/ImageManager$ImageListParam$1;->newArray(I)[Lcom/android/camera/ImageManager$ImageListParam;
move-result-object v0
return-object v0
.end method

View file

@ -1,259 +0,0 @@
.class public Lcom/android/camera/ImageManager$ImageListParam;
.super Ljava/lang/Object;
.source "ImageManager.java"
# interfaces
.implements Landroid/os/Parcelable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/ImageManager;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "ImageListParam"
.end annotation
# static fields
.field public static final CREATOR:Landroid/os/Parcelable$Creator;
# instance fields
.field public mBucketId:Ljava/lang/String;
.field public mInclusion:I
.field public mIsEmptyImageList:Z
.field public mLocation:Lcom/android/camera/ImageManager$DataLocation;
.field public mSingleImageUri:Landroid/net/Uri;
.field public mSort:I
# direct methods
.method static constructor <clinit>()V
.locals 1
.prologue
new-instance v0, Lcom/android/camera/ImageManager$ImageListParam$1;
invoke-direct {v0}, Lcom/android/camera/ImageManager$ImageListParam$1;-><init>()V
sput-object v0, Lcom/android/camera/ImageManager$ImageListParam;->CREATOR:Landroid/os/Parcelable$Creator;
return-void
.end method
.method public constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private constructor <init>(Landroid/os/Parcel;)V
.locals 2
.param p1, "in" # Landroid/os/Parcel;
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-static {}, Lcom/android/camera/ImageManager$DataLocation;->values()[Lcom/android/camera/ImageManager$DataLocation;
move-result-object v0
invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
move-result v1
aget-object v0, v0, v1
iput-object v0, p0, Lcom/android/camera/ImageManager$ImageListParam;->mLocation:Lcom/android/camera/ImageManager$DataLocation;
invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
move-result v0
iput v0, p0, Lcom/android/camera/ImageManager$ImageListParam;->mInclusion:I
invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
move-result v0
iput v0, p0, Lcom/android/camera/ImageManager$ImageListParam;->mSort:I
invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/android/camera/ImageManager$ImageListParam;->mBucketId:Ljava/lang/String;
const/4 v0, 0x0
invoke-virtual {p1, v0}, Landroid/os/Parcel;->readParcelable(Ljava/lang/ClassLoader;)Landroid/os/Parcelable;
move-result-object v0
check-cast v0, Landroid/net/Uri;
iput-object v0, p0, Lcom/android/camera/ImageManager$ImageListParam;->mSingleImageUri:Landroid/net/Uri;
invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
move-result v0
if-eqz v0, :cond_0
const/4 v0, 0x1
:goto_0
iput-boolean v0, p0, Lcom/android/camera/ImageManager$ImageListParam;->mIsEmptyImageList:Z
return-void
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method synthetic constructor <init>(Landroid/os/Parcel;Lcom/android/camera/ImageManager$1;)V
.locals 0
.param p1, "x0" # Landroid/os/Parcel;
.param p2, "x1" # Lcom/android/camera/ImageManager$1;
.prologue
invoke-direct {p0, p1}, Lcom/android/camera/ImageManager$ImageListParam;-><init>(Landroid/os/Parcel;)V
return-void
.end method
# virtual methods
.method public describeContents()I
.locals 1
.prologue
const/4 v0, 0x0
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 4
.prologue
const-string v0, "ImageListParam{loc=%s,inc=%d,sort=%d,bucket=%s,empty=%b,single=%s}"
const/4 v1, 0x6
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
iget-object v3, p0, Lcom/android/camera/ImageManager$ImageListParam;->mLocation:Lcom/android/camera/ImageManager$DataLocation;
aput-object v3, v1, v2
const/4 v2, 0x1
iget v3, p0, Lcom/android/camera/ImageManager$ImageListParam;->mInclusion:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
aput-object v3, v1, v2
const/4 v2, 0x2
iget v3, p0, Lcom/android/camera/ImageManager$ImageListParam;->mSort:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
aput-object v3, v1, v2
const/4 v2, 0x3
iget-object v3, p0, Lcom/android/camera/ImageManager$ImageListParam;->mBucketId:Ljava/lang/String;
aput-object v3, v1, v2
const/4 v2, 0x4
iget-boolean v3, p0, Lcom/android/camera/ImageManager$ImageListParam;->mIsEmptyImageList:Z
invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v3
aput-object v3, v1, v2
const/4 v2, 0x5
iget-object v3, p0, Lcom/android/camera/ImageManager$ImageListParam;->mSingleImageUri:Landroid/net/Uri;
aput-object v3, v1, v2
invoke-static {v0, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public writeToParcel(Landroid/os/Parcel;I)V
.locals 1
.param p1, "out" # Landroid/os/Parcel;
.param p2, "flags" # I
.prologue
iget-object v0, p0, Lcom/android/camera/ImageManager$ImageListParam;->mLocation:Lcom/android/camera/ImageManager$DataLocation;
invoke-virtual {v0}, Lcom/android/camera/ImageManager$DataLocation;->ordinal()I
move-result v0
invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
iget v0, p0, Lcom/android/camera/ImageManager$ImageListParam;->mInclusion:I
invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
iget v0, p0, Lcom/android/camera/ImageManager$ImageListParam;->mSort:I
invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
iget-object v0, p0, Lcom/android/camera/ImageManager$ImageListParam;->mBucketId:Ljava/lang/String;
invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
iget-object v0, p0, Lcom/android/camera/ImageManager$ImageListParam;->mSingleImageUri:Landroid/net/Uri;
invoke-virtual {p1, v0, p2}, Landroid/os/Parcel;->writeParcelable(Landroid/os/Parcelable;I)V
iget-boolean v0, p0, Lcom/android/camera/ImageManager$ImageListParam;->mIsEmptyImageList:Z
if-eqz v0, :cond_0
const/4 v0, 0x1
:goto_0
invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
return-void
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method

File diff suppressed because it is too large Load diff

View file

@ -1,60 +0,0 @@
.class Lcom/android/camera/ImageViewTouchBase$1;
.super Ljava/lang/Object;
.source "ImageViewTouchBase.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/camera/ImageViewTouchBase;->setImageRotateBitmapResetBase(Lcom/android/camera/RotateBitmap;Z)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/camera/ImageViewTouchBase;
.field final synthetic val$bitmap:Lcom/android/camera/RotateBitmap;
.field final synthetic val$resetSupp:Z
# direct methods
.method constructor <init>(Lcom/android/camera/ImageViewTouchBase;Lcom/android/camera/RotateBitmap;Z)V
.locals 0
.param p1, "this$0" # Lcom/android/camera/ImageViewTouchBase;
.prologue
iput-object p1, p0, Lcom/android/camera/ImageViewTouchBase$1;->this$0:Lcom/android/camera/ImageViewTouchBase;
iput-object p2, p0, Lcom/android/camera/ImageViewTouchBase$1;->val$bitmap:Lcom/android/camera/RotateBitmap;
iput-boolean p3, p0, Lcom/android/camera/ImageViewTouchBase$1;->val$resetSupp:Z
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 3
.prologue
iget-object v0, p0, Lcom/android/camera/ImageViewTouchBase$1;->this$0:Lcom/android/camera/ImageViewTouchBase;
iget-object v1, p0, Lcom/android/camera/ImageViewTouchBase$1;->val$bitmap:Lcom/android/camera/RotateBitmap;
iget-boolean v2, p0, Lcom/android/camera/ImageViewTouchBase$1;->val$resetSupp:Z
invoke-virtual {v0, v1, v2}, Lcom/android/camera/ImageViewTouchBase;->setImageRotateBitmapResetBase(Lcom/android/camera/RotateBitmap;Z)V
return-void
.end method

View file

@ -1,116 +0,0 @@
.class Lcom/android/camera/ImageViewTouchBase$2;
.super Ljava/lang/Object;
.source "ImageViewTouchBase.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/camera/ImageViewTouchBase;->zoomTo(FFFF)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/camera/ImageViewTouchBase;
.field final synthetic val$centerX:F
.field final synthetic val$centerY:F
.field final synthetic val$durationMs:F
.field final synthetic val$incrementPerMs:F
.field final synthetic val$oldScale:F
.field final synthetic val$startTime:J
# direct methods
.method constructor <init>(Lcom/android/camera/ImageViewTouchBase;FJFFFF)V
.locals 1
.param p1, "this$0" # Lcom/android/camera/ImageViewTouchBase;
.prologue
iput-object p1, p0, Lcom/android/camera/ImageViewTouchBase$2;->this$0:Lcom/android/camera/ImageViewTouchBase;
iput p2, p0, Lcom/android/camera/ImageViewTouchBase$2;->val$durationMs:F
iput-wide p3, p0, Lcom/android/camera/ImageViewTouchBase$2;->val$startTime:J
iput p5, p0, Lcom/android/camera/ImageViewTouchBase$2;->val$oldScale:F
iput p6, p0, Lcom/android/camera/ImageViewTouchBase$2;->val$incrementPerMs:F
iput p7, p0, Lcom/android/camera/ImageViewTouchBase$2;->val$centerX:F
iput p8, p0, Lcom/android/camera/ImageViewTouchBase$2;->val$centerY:F
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 8
.prologue
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
.local v2, "now":J
iget v4, p0, Lcom/android/camera/ImageViewTouchBase$2;->val$durationMs:F
iget-wide v6, p0, Lcom/android/camera/ImageViewTouchBase$2;->val$startTime:J
sub-long v6, v2, v6
long-to-float v5, v6
invoke-static {v4, v5}, Ljava/lang/Math;->min(FF)F
move-result v0
.local v0, "currentMs":F
iget v4, p0, Lcom/android/camera/ImageViewTouchBase$2;->val$oldScale:F
iget v5, p0, Lcom/android/camera/ImageViewTouchBase$2;->val$incrementPerMs:F
mul-float/2addr v5, v0
add-float v1, v4, v5
.local v1, "target":F
iget-object v4, p0, Lcom/android/camera/ImageViewTouchBase$2;->this$0:Lcom/android/camera/ImageViewTouchBase;
iget v5, p0, Lcom/android/camera/ImageViewTouchBase$2;->val$centerX:F
iget v6, p0, Lcom/android/camera/ImageViewTouchBase$2;->val$centerY:F
invoke-virtual {v4, v1, v5, v6}, Lcom/android/camera/ImageViewTouchBase;->zoomTo(FFF)V
iget v4, p0, Lcom/android/camera/ImageViewTouchBase$2;->val$durationMs:F
cmpg-float v4, v0, v4
if-gez v4, :cond_0
iget-object v4, p0, Lcom/android/camera/ImageViewTouchBase$2;->this$0:Lcom/android/camera/ImageViewTouchBase;
iget-object v4, v4, Lcom/android/camera/ImageViewTouchBase;->mHandler:Landroid/os/Handler;
invoke-virtual {v4, p0}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
:cond_0
return-void
.end method

View file

@ -1,19 +0,0 @@
.class public interface abstract Lcom/android/camera/ImageViewTouchBase$Recycler;
.super Ljava/lang/Object;
.source "ImageViewTouchBase.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/ImageViewTouchBase;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "Recycler"
.end annotation
# virtual methods
.method public abstract recycle(Landroid/graphics/Bitmap;)V
.end method

File diff suppressed because it is too large Load diff

View file

@ -1,62 +0,0 @@
.class public Lcom/android/camera/MonitoredActivity$LifeCycleAdapter;
.super Ljava/lang/Object;
.source "MonitoredActivity.java"
# interfaces
.implements Lcom/android/camera/MonitoredActivity$LifeCycleListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/MonitoredActivity;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "LifeCycleAdapter"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onActivityCreated(Lcom/android/camera/MonitoredActivity;)V
.locals 0
.param p1, "activity" # Lcom/android/camera/MonitoredActivity;
.prologue
return-void
.end method
.method public onActivityDestroyed(Lcom/android/camera/MonitoredActivity;)V
.locals 0
.param p1, "activity" # Lcom/android/camera/MonitoredActivity;
.prologue
return-void
.end method
.method public onActivityStarted(Lcom/android/camera/MonitoredActivity;)V
.locals 0
.param p1, "activity" # Lcom/android/camera/MonitoredActivity;
.prologue
return-void
.end method
.method public onActivityStopped(Lcom/android/camera/MonitoredActivity;)V
.locals 0
.param p1, "activity" # Lcom/android/camera/MonitoredActivity;
.prologue
return-void
.end method

View file

@ -1,28 +0,0 @@
.class public interface abstract Lcom/android/camera/MonitoredActivity$LifeCycleListener;
.super Ljava/lang/Object;
.source "MonitoredActivity.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/MonitoredActivity;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "LifeCycleListener"
.end annotation
# virtual methods
.method public abstract onActivityCreated(Lcom/android/camera/MonitoredActivity;)V
.end method
.method public abstract onActivityDestroyed(Lcom/android/camera/MonitoredActivity;)V
.end method
.method public abstract onActivityStarted(Lcom/android/camera/MonitoredActivity;)V
.end method
.method public abstract onActivityStopped(Lcom/android/camera/MonitoredActivity;)V
.end method

View file

@ -1,221 +0,0 @@
.class public Lcom/android/camera/MonitoredActivity;
.super Lcom/android/camera/NoSearchActivity;
.source "MonitoredActivity.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/camera/MonitoredActivity$LifeCycleAdapter;,
Lcom/android/camera/MonitoredActivity$LifeCycleListener;
}
.end annotation
# instance fields
.field private final mListeners:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList",
"<",
"Lcom/android/camera/MonitoredActivity$LifeCycleListener;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 1
.prologue
invoke-direct {p0}, Lcom/android/camera/NoSearchActivity;-><init>()V
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/android/camera/MonitoredActivity;->mListeners:Ljava/util/ArrayList;
return-void
.end method
# virtual methods
.method public addLifeCycleListener(Lcom/android/camera/MonitoredActivity$LifeCycleListener;)V
.locals 1
.param p1, "listener" # Lcom/android/camera/MonitoredActivity$LifeCycleListener;
.prologue
iget-object v0, p0, Lcom/android/camera/MonitoredActivity;->mListeners:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
:goto_0
return-void
:cond_0
iget-object v0, p0, Lcom/android/camera/MonitoredActivity;->mListeners:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
.end method
.method protected onCreate(Landroid/os/Bundle;)V
.locals 3
.param p1, "savedInstanceState" # Landroid/os/Bundle;
.prologue
invoke-super {p0, p1}, Lcom/android/camera/NoSearchActivity;->onCreate(Landroid/os/Bundle;)V
iget-object v1, p0, Lcom/android/camera/MonitoredActivity;->mListeners:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_0
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/android/camera/MonitoredActivity$LifeCycleListener;
.local v0, "listener":Lcom/android/camera/MonitoredActivity$LifeCycleListener;
invoke-interface {v0, p0}, Lcom/android/camera/MonitoredActivity$LifeCycleListener;->onActivityCreated(Lcom/android/camera/MonitoredActivity;)V
goto :goto_0
.end local v0 # "listener":Lcom/android/camera/MonitoredActivity$LifeCycleListener;
:cond_0
return-void
.end method
.method protected onDestroy()V
.locals 3
.prologue
invoke-super {p0}, Lcom/android/camera/NoSearchActivity;->onDestroy()V
iget-object v1, p0, Lcom/android/camera/MonitoredActivity;->mListeners:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_0
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/android/camera/MonitoredActivity$LifeCycleListener;
.local v0, "listener":Lcom/android/camera/MonitoredActivity$LifeCycleListener;
invoke-interface {v0, p0}, Lcom/android/camera/MonitoredActivity$LifeCycleListener;->onActivityDestroyed(Lcom/android/camera/MonitoredActivity;)V
goto :goto_0
.end local v0 # "listener":Lcom/android/camera/MonitoredActivity$LifeCycleListener;
:cond_0
return-void
.end method
.method protected onStart()V
.locals 3
.prologue
invoke-super {p0}, Lcom/android/camera/NoSearchActivity;->onStart()V
iget-object v1, p0, Lcom/android/camera/MonitoredActivity;->mListeners:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_0
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/android/camera/MonitoredActivity$LifeCycleListener;
.local v0, "listener":Lcom/android/camera/MonitoredActivity$LifeCycleListener;
invoke-interface {v0, p0}, Lcom/android/camera/MonitoredActivity$LifeCycleListener;->onActivityStarted(Lcom/android/camera/MonitoredActivity;)V
goto :goto_0
.end local v0 # "listener":Lcom/android/camera/MonitoredActivity$LifeCycleListener;
:cond_0
return-void
.end method
.method protected onStop()V
.locals 3
.prologue
invoke-super {p0}, Lcom/android/camera/NoSearchActivity;->onStop()V
iget-object v1, p0, Lcom/android/camera/MonitoredActivity;->mListeners:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_0
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/android/camera/MonitoredActivity$LifeCycleListener;
.local v0, "listener":Lcom/android/camera/MonitoredActivity$LifeCycleListener;
invoke-interface {v0, p0}, Lcom/android/camera/MonitoredActivity$LifeCycleListener;->onActivityStopped(Lcom/android/camera/MonitoredActivity;)V
goto :goto_0
.end local v0 # "listener":Lcom/android/camera/MonitoredActivity$LifeCycleListener;
:cond_0
return-void
.end method
.method public removeLifeCycleListener(Lcom/android/camera/MonitoredActivity$LifeCycleListener;)V
.locals 1
.param p1, "listener" # Lcom/android/camera/MonitoredActivity$LifeCycleListener;
.prologue
iget-object v0, p0, Lcom/android/camera/MonitoredActivity;->mListeners:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
return-void
.end method

View file

@ -1,25 +0,0 @@
.class public Lcom/android/camera/NoSearchActivity;
.super Landroid/app/Activity;
.source "NoSearchActivity.java"
# direct methods
.method public constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Landroid/app/Activity;-><init>()V
return-void
.end method
# virtual methods
.method public onSearchRequested()Z
.locals 1
.prologue
const/4 v0, 0x0
return v0
.end method

View file

@ -1,43 +0,0 @@
.class public final Lcom/android/camera/R$array;
.super Ljava/lang/Object;
.source "R.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/R;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "array"
.end annotation
# static fields
.field public static final pref_gallery_size_choices:I = 0x7f0b0000
.field public static final pref_gallery_size_values:I = 0x7f0b0004
.field public static final pref_gallery_slideshow_interval_choices:I = 0x7f0b0001
.field public static final pref_gallery_slideshow_interval_values:I = 0x7f0b0005
.field public static final pref_gallery_slideshow_transition_choices:I = 0x7f0b0002
.field public static final pref_gallery_slideshow_transition_values:I = 0x7f0b0006
.field public static final pref_gallery_sort_choices:I = 0x7f0b0003
.field public static final pref_gallery_sort_values:I = 0x7f0b0007
# direct methods
.method public constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View file

@ -1,29 +0,0 @@
.class public final Lcom/android/camera/R$dimen;
.super Ljava/lang/Object;
.source "R.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/R;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "dimen"
.end annotation
# static fields
.field public static final crop_button_width:I = 0x7f090055
# direct methods
.method public constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View file

@ -1,41 +0,0 @@
.class public final Lcom/android/camera/R$drawable;
.super Ljava/lang/Object;
.source "R.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/R;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "drawable"
.end annotation
# static fields
.field public static final camera_crop_height:I = 0x7f020064
.field public static final camera_crop_width:I = 0x7f020065
.field public static final detail_photo_border:I = 0x7f020092
.field public static final ic_menu_3d_globe:I = 0x7f0200d7
.field public static final ic_menu_camera_video_view:I = 0x7f0200d8
.field public static final ic_menu_view_details:I = 0x7f0200d9
.field public static final indicator_autocrop:I = 0x7f02011c
# direct methods
.method public constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View file

@ -1,93 +0,0 @@
.class public final Lcom/android/camera/R$id;
.super Ljava/lang/Object;
.source "R.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/R;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "id"
.end annotation
# static fields
.field public static final details_bit_rate_row:I = 0x7f0e009a
.field public static final details_bit_rate_value:I = 0x7f0e009b
.field public static final details_codec_row:I = 0x7f0e009e
.field public static final details_codec_value:I = 0x7f0e009f
.field public static final details_date_taken_row:I = 0x7f0e00a0
.field public static final details_date_taken_value:I = 0x7f0e00a1
.field public static final details_duration_row:I = 0x7f0e0096
.field public static final details_duration_value:I = 0x7f0e0097
.field public static final details_file_size_value:I = 0x7f0e0087
.field public static final details_format_row:I = 0x7f0e009c
.field public static final details_format_value:I = 0x7f0e009d
.field public static final details_frame_rate_row:I = 0x7f0e0098
.field public static final details_frame_rate_value:I = 0x7f0e0099
.field public static final details_image_title:I = 0x7f0e0086
.field public static final details_latitude_row:I = 0x7f0e0090
.field public static final details_latitude_value:I = 0x7f0e0091
.field public static final details_location_row:I = 0x7f0e0094
.field public static final details_location_value:I = 0x7f0e0095
.field public static final details_longitude_row:I = 0x7f0e0092
.field public static final details_longitude_value:I = 0x7f0e0093
.field public static final details_make_row:I = 0x7f0e008a
.field public static final details_make_value:I = 0x7f0e008b
.field public static final details_model_row:I = 0x7f0e008c
.field public static final details_model_value:I = 0x7f0e008d
.field public static final details_resolution_row:I = 0x7f0e0088
.field public static final details_resolution_value:I = 0x7f0e0089
.field public static final details_thumbnail_image:I = 0x7f0e0085
.field public static final details_whitebalance_row:I = 0x7f0e008e
.field public static final details_whitebalance_value:I = 0x7f0e008f
.field public static final discard:I = 0x7f0e007a
.field public static final image:I = 0x7f0e004f
.field public static final save:I = 0x7f0e0079
.field public static final scroll_view:I = 0x7f0e0084
# direct methods
.method public constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View file

@ -1,31 +0,0 @@
.class public final Lcom/android/camera/R$layout;
.super Ljava/lang/Object;
.source "R.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/R;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "layout"
.end annotation
# static fields
.field public static final cropimage:I = 0x7f040019
.field public static final detailsview:I = 0x7f040026
# direct methods
.method public constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View file

@ -1,267 +0,0 @@
.class public final Lcom/android/camera/R$string;
.super Ljava/lang/Object;
.source "R.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/R;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "string"
.end annotation
# static fields
.field public static final all_images:I = 0x7f0603fb
.field public static final all_videos:I = 0x7f0603fc
.field public static final camera_attach:I = 0x7f0603fd
.field public static final camera_cancel:I = 0x7f0603fe
.field public static final camera_crop:I = 0x7f0603ff
.field public static final camera_label:I = 0x7f060400
.field public static final camera_pick_wallpaper:I = 0x7f060401
.field public static final camera_play:I = 0x7f060402
.field public static final camera_set:I = 0x7f060403
.field public static final camera_setas_wallpaper:I = 0x7f060404
.field public static final camera_share:I = 0x7f060405
.field public static final camera_toss:I = 0x7f060406
.field public static final camerasettings:I = 0x7f060407
.field public static final capture_picture:I = 0x7f060408
.field public static final capture_video:I = 0x7f060409
.field public static final confirm_delete_message:I = 0x7f06040a
.field public static final confirm_delete_multiple_message:I = 0x7f06040b
.field public static final confirm_delete_title:I = 0x7f06040c
.field public static final confirm_delete_video_message:I = 0x7f06040d
.field public static final context_menu_header:I = 0x7f06040e
.field public static final crop_discard_text:I = 0x7f06040f
.field public static final crop_label:I = 0x7f060410
.field public static final crop_save_text:I = 0x7f060411
.field public static final default_value_pref_gallery_size:I = 0x7f060491
.field public static final default_value_pref_gallery_slideshow_interval:I = 0x7f060492
.field public static final default_value_pref_gallery_slideshow_transition:I = 0x7f060493
.field public static final default_value_pref_gallery_sort:I = 0x7f060494
.field public static final delete_images_message:I = 0x7f060412
.field public static final details:I = 0x7f060413
.field public static final details_bit_rate:I = 0x7f060414
.field public static final details_codec:I = 0x7f060415
.field public static final details_date_taken:I = 0x7f060416
.field public static final details_dimension_x:I = 0x7f060417
.field public static final details_duration:I = 0x7f060418
.field public static final details_file_size:I = 0x7f060419
.field public static final details_format:I = 0x7f06041a
.field public static final details_fps:I = 0x7f06041b
.field public static final details_frame_rate:I = 0x7f06041c
.field public static final details_hms:I = 0x7f06041d
.field public static final details_image_latitude:I = 0x7f06041e
.field public static final details_image_location:I = 0x7f06041f
.field public static final details_image_longitude:I = 0x7f060420
.field public static final details_image_make:I = 0x7f060421
.field public static final details_image_model:I = 0x7f060422
.field public static final details_image_resolution:I = 0x7f060423
.field public static final details_image_whitebalance:I = 0x7f060424
.field public static final details_kbps:I = 0x7f060425
.field public static final details_mbps:I = 0x7f060426
.field public static final details_ms:I = 0x7f060427
.field public static final details_ok:I = 0x7f060428
.field public static final details_panel_title:I = 0x7f060429
.field public static final file_info_title:I = 0x7f06042a
.field public static final gadget_title:I = 0x7f06042b
.field public static final gallery_camera_bucket_name:I = 0x7f06042c
.field public static final gallery_camera_media_bucket_name:I = 0x7f06042d
.field public static final gallery_camera_videos_bucket_name:I = 0x7f06042e
.field public static final gallery_label:I = 0x7f06042f
.field public static final gallery_picker_label:I = 0x7f060430
.field public static final image_gallery_NoImageView_text:I = 0x7f060431
.field public static final loading_video:I = 0x7f060432
.field public static final movieviewlabel:I = 0x7f060433
.field public static final multiface_crop_help:I = 0x7f060434
.field public static final multiselect:I = 0x7f060435
.field public static final multiselect_cancel:I = 0x7f060436
.field public static final multiselect_delete:I = 0x7f060437
.field public static final multiselect_share:I = 0x7f060438
.field public static final no_location_image:I = 0x7f060439
.field public static final no_storage:I = 0x7f06043a
.field public static final no_way_to_share:I = 0x7f06043b
.field public static final no_way_to_share_image:I = 0x7f06043c
.field public static final no_way_to_share_video:I = 0x7f06043d
.field public static final not_enough_space:I = 0x7f06043e
.field public static final photos_gallery_title:I = 0x7f06043f
.field public static final pick_photos_gallery_title:I = 0x7f060440
.field public static final pick_videos_gallery_title:I = 0x7f060441
.field public static final pref_gallery_category:I = 0x7f060442
.field public static final pref_gallery_confirm_delete_summary:I = 0x7f060443
.field public static final pref_gallery_confirm_delete_title:I = 0x7f060444
.field public static final pref_gallery_size_dialogtitle:I = 0x7f060445
.field public static final pref_gallery_size_summary:I = 0x7f060446
.field public static final pref_gallery_size_title:I = 0x7f060447
.field public static final pref_gallery_slideshow_interval_dialogtitle:I = 0x7f060448
.field public static final pref_gallery_slideshow_interval_summary:I = 0x7f060449
.field public static final pref_gallery_slideshow_interval_title:I = 0x7f06044a
.field public static final pref_gallery_slideshow_repeat_summary:I = 0x7f06044b
.field public static final pref_gallery_slideshow_repeat_title:I = 0x7f06044c
.field public static final pref_gallery_slideshow_shuffle_summary:I = 0x7f06044d
.field public static final pref_gallery_slideshow_shuffle_title:I = 0x7f06044e
.field public static final pref_gallery_slideshow_transition_dialogtitle:I = 0x7f06044f
.field public static final pref_gallery_slideshow_transition_summary:I = 0x7f060450
.field public static final pref_gallery_slideshow_transition_title:I = 0x7f060451
.field public static final pref_gallery_sort_dialogtitle:I = 0x7f060452
.field public static final pref_gallery_sort_summary:I = 0x7f060453
.field public static final pref_gallery_sort_title:I = 0x7f060454
.field public static final pref_slideshow_category:I = 0x7f060455
.field public static final preferences_label:I = 0x7f060456
.field public static final preparing_sd:I = 0x7f060457
.field public static final resume_playing_message:I = 0x7f060458
.field public static final resume_playing_restart:I = 0x7f060459
.field public static final resume_playing_resume:I = 0x7f06045a
.field public static final resume_playing_title:I = 0x7f06045b
.field public static final rotate:I = 0x7f06045c
.field public static final rotate_left:I = 0x7f06045d
.field public static final rotate_right:I = 0x7f06045e
.field public static final runningFaceDetection:I = 0x7f06045f
.field public static final savingImage:I = 0x7f060460
.field public static final sendImage:I = 0x7f060461
.field public static final sendVideo:I = 0x7f060462
.field public static final send_media_files:I = 0x7f060463
.field public static final setImage:I = 0x7f060464
.field public static final show_on_map:I = 0x7f060465
.field public static final slide_show:I = 0x7f060466
.field public static final video_context_menu_header:I = 0x7f060467
.field public static final video_exceed_mms_limit:I = 0x7f060468
.field public static final video_play:I = 0x7f060469
.field public static final videos_gallery_title:I = 0x7f06046a
.field public static final view:I = 0x7f06046b
.field public static final view_label:I = 0x7f06046c
.field public static final wait:I = 0x7f06046d
.field public static final wallpaper:I = 0x7f06046e
# direct methods
.method public constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View file

@ -1,27 +0,0 @@
.class public final Lcom/android/camera/R;
.super Ljava/lang/Object;
.source "R.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/camera/R$string;,
Lcom/android/camera/R$layout;,
Lcom/android/camera/R$id;,
Lcom/android/camera/R$drawable;,
Lcom/android/camera/R$dimen;,
Lcom/android/camera/R$array;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View file

@ -1,260 +0,0 @@
.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

View file

@ -1,38 +0,0 @@
.class final Lcom/android/camera/Util$1;
.super Ljava/lang/Object;
.source "Util.java"
# interfaces
.implements Landroid/view/View$OnClickListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/camera/Util;->getNullOnClickListener()Landroid/view/View$OnClickListener;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = null
.end annotation
# direct methods
.method constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onClick(Landroid/view/View;)V
.locals 0
.param p1, "v" # Landroid/view/View;
.prologue
return-void
.end method

View file

@ -1,75 +0,0 @@
.class Lcom/android/camera/Util$BackgroundJob$1;
.super Ljava/lang/Object;
.source "Util.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/Util$BackgroundJob;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/camera/Util$BackgroundJob;
# direct methods
.method constructor <init>(Lcom/android/camera/Util$BackgroundJob;)V
.locals 0
.param p1, "this$0" # Lcom/android/camera/Util$BackgroundJob;
.prologue
iput-object p1, p0, Lcom/android/camera/Util$BackgroundJob$1;->this$0:Lcom/android/camera/Util$BackgroundJob;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 2
.prologue
iget-object v0, p0, Lcom/android/camera/Util$BackgroundJob$1;->this$0:Lcom/android/camera/Util$BackgroundJob;
invoke-static {v0}, Lcom/android/camera/Util$BackgroundJob;->access$000(Lcom/android/camera/Util$BackgroundJob;)Lcom/android/camera/MonitoredActivity;
move-result-object v0
iget-object v1, p0, Lcom/android/camera/Util$BackgroundJob$1;->this$0:Lcom/android/camera/Util$BackgroundJob;
invoke-virtual {v0, v1}, Lcom/android/camera/MonitoredActivity;->removeLifeCycleListener(Lcom/android/camera/MonitoredActivity$LifeCycleListener;)V
iget-object v0, p0, Lcom/android/camera/Util$BackgroundJob$1;->this$0:Lcom/android/camera/Util$BackgroundJob;
invoke-static {v0}, Lcom/android/camera/Util$BackgroundJob;->access$100(Lcom/android/camera/Util$BackgroundJob;)Landroid/app/ProgressDialog;
move-result-object v0
invoke-virtual {v0}, Landroid/app/ProgressDialog;->getWindow()Landroid/view/Window;
move-result-object v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/android/camera/Util$BackgroundJob$1;->this$0:Lcom/android/camera/Util$BackgroundJob;
invoke-static {v0}, Lcom/android/camera/Util$BackgroundJob;->access$100(Lcom/android/camera/Util$BackgroundJob;)Landroid/app/ProgressDialog;
move-result-object v0
invoke-virtual {v0}, Landroid/app/ProgressDialog;->dismiss()V
:cond_0
return-void
.end method

View file

@ -1,157 +0,0 @@
.class Lcom/android/camera/Util$BackgroundJob;
.super Lcom/android/camera/MonitoredActivity$LifeCycleAdapter;
.source "Util.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/Util;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "BackgroundJob"
.end annotation
# instance fields
.field private final mActivity:Lcom/android/camera/MonitoredActivity;
.field private final mCleanupRunner:Ljava/lang/Runnable;
.field private final mDialog:Landroid/app/ProgressDialog;
.field private final mHandler:Landroid/os/Handler;
.field private final mJob:Ljava/lang/Runnable;
# direct methods
.method public constructor <init>(Lcom/android/camera/MonitoredActivity;Ljava/lang/Runnable;Landroid/app/ProgressDialog;Landroid/os/Handler;)V
.locals 1
.param p1, "activity" # Lcom/android/camera/MonitoredActivity;
.param p2, "job" # Ljava/lang/Runnable;
.param p3, "dialog" # Landroid/app/ProgressDialog;
.param p4, "handler" # Landroid/os/Handler;
.prologue
invoke-direct {p0}, Lcom/android/camera/MonitoredActivity$LifeCycleAdapter;-><init>()V
new-instance v0, Lcom/android/camera/Util$BackgroundJob$1;
invoke-direct {v0, p0}, Lcom/android/camera/Util$BackgroundJob$1;-><init>(Lcom/android/camera/Util$BackgroundJob;)V
iput-object v0, p0, Lcom/android/camera/Util$BackgroundJob;->mCleanupRunner:Ljava/lang/Runnable;
iput-object p1, p0, Lcom/android/camera/Util$BackgroundJob;->mActivity:Lcom/android/camera/MonitoredActivity;
iput-object p3, p0, Lcom/android/camera/Util$BackgroundJob;->mDialog:Landroid/app/ProgressDialog;
iput-object p2, p0, Lcom/android/camera/Util$BackgroundJob;->mJob:Ljava/lang/Runnable;
iget-object v0, p0, Lcom/android/camera/Util$BackgroundJob;->mActivity:Lcom/android/camera/MonitoredActivity;
invoke-virtual {v0, p0}, Lcom/android/camera/MonitoredActivity;->addLifeCycleListener(Lcom/android/camera/MonitoredActivity$LifeCycleListener;)V
iput-object p4, p0, Lcom/android/camera/Util$BackgroundJob;->mHandler:Landroid/os/Handler;
return-void
.end method
.method static synthetic access$000(Lcom/android/camera/Util$BackgroundJob;)Lcom/android/camera/MonitoredActivity;
.locals 1
.param p0, "x0" # Lcom/android/camera/Util$BackgroundJob;
.prologue
iget-object v0, p0, Lcom/android/camera/Util$BackgroundJob;->mActivity:Lcom/android/camera/MonitoredActivity;
return-object v0
.end method
.method static synthetic access$100(Lcom/android/camera/Util$BackgroundJob;)Landroid/app/ProgressDialog;
.locals 1
.param p0, "x0" # Lcom/android/camera/Util$BackgroundJob;
.prologue
iget-object v0, p0, Lcom/android/camera/Util$BackgroundJob;->mDialog:Landroid/app/ProgressDialog;
return-object v0
.end method
# virtual methods
.method public onActivityDestroyed(Lcom/android/camera/MonitoredActivity;)V
.locals 2
.param p1, "activity" # Lcom/android/camera/MonitoredActivity;
.prologue
iget-object v0, p0, Lcom/android/camera/Util$BackgroundJob;->mCleanupRunner:Ljava/lang/Runnable;
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
iget-object v0, p0, Lcom/android/camera/Util$BackgroundJob;->mHandler:Landroid/os/Handler;
iget-object v1, p0, Lcom/android/camera/Util$BackgroundJob;->mCleanupRunner:Ljava/lang/Runnable;
invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
return-void
.end method
.method public onActivityStarted(Lcom/android/camera/MonitoredActivity;)V
.locals 1
.param p1, "activity" # Lcom/android/camera/MonitoredActivity;
.prologue
iget-object v0, p0, Lcom/android/camera/Util$BackgroundJob;->mDialog:Landroid/app/ProgressDialog;
invoke-virtual {v0}, Landroid/app/ProgressDialog;->show()V
return-void
.end method
.method public onActivityStopped(Lcom/android/camera/MonitoredActivity;)V
.locals 1
.param p1, "activity" # Lcom/android/camera/MonitoredActivity;
.prologue
iget-object v0, p0, Lcom/android/camera/Util$BackgroundJob;->mDialog:Landroid/app/ProgressDialog;
invoke-virtual {v0}, Landroid/app/ProgressDialog;->hide()V
return-void
.end method
.method public run()V
.locals 3
.prologue
:try_start_0
iget-object v0, p0, Lcom/android/camera/Util$BackgroundJob;->mJob:Ljava/lang/Runnable;
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
iget-object v0, p0, Lcom/android/camera/Util$BackgroundJob;->mHandler:Landroid/os/Handler;
iget-object v1, p0, Lcom/android/camera/Util$BackgroundJob;->mCleanupRunner:Ljava/lang/Runnable;
invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
return-void
:catchall_0
move-exception v0
iget-object v1, p0, Lcom/android/camera/Util$BackgroundJob;->mHandler:Landroid/os/Handler;
iget-object v2, p0, Lcom/android/camera/Util$BackgroundJob;->mCleanupRunner:Ljava/lang/Runnable;
invoke-virtual {v1, v2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
throw v0
.end method

File diff suppressed because it is too large Load diff

View file

@ -1,485 +0,0 @@
.class public abstract Lcom/android/camera/gallery/BaseImage;
.super Ljava/lang/Object;
.source "BaseImage.java"
# interfaces
.implements Lcom/android/camera/gallery/IImage;
# static fields
.field private static final TAG:Ljava/lang/String; = "BaseImage"
.field private static final UNKNOWN_LENGTH:I = -0x1
# instance fields
.field protected mContainer:Lcom/android/camera/gallery/BaseImageList;
.field protected mContentResolver:Landroid/content/ContentResolver;
.field protected mDataPath:Ljava/lang/String;
.field private final mDateTaken:J
.field private mHeight:I
.field protected mId:J
.field protected final mIndex:I
.field protected mMimeType:Ljava/lang/String;
.field private mTitle:Ljava/lang/String;
.field protected mUri:Landroid/net/Uri;
.field private mWidth:I
# direct methods
.method protected constructor <init>(Lcom/android/camera/gallery/BaseImageList;Landroid/content/ContentResolver;JILandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;)V
.locals 1
.param p1, "container" # Lcom/android/camera/gallery/BaseImageList;
.param p2, "cr" # Landroid/content/ContentResolver;
.param p3, "id" # J
.param p5, "index" # I
.param p6, "uri" # Landroid/net/Uri;
.param p7, "dataPath" # Ljava/lang/String;
.param p8, "mimeType" # Ljava/lang/String;
.param p9, "dateTaken" # J
.param p11, "title" # Ljava/lang/String;
.prologue
const/4 v0, -0x1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput v0, p0, Lcom/android/camera/gallery/BaseImage;->mWidth:I
iput v0, p0, Lcom/android/camera/gallery/BaseImage;->mHeight:I
iput-object p1, p0, Lcom/android/camera/gallery/BaseImage;->mContainer:Lcom/android/camera/gallery/BaseImageList;
iput-object p2, p0, Lcom/android/camera/gallery/BaseImage;->mContentResolver:Landroid/content/ContentResolver;
iput-wide p3, p0, Lcom/android/camera/gallery/BaseImage;->mId:J
iput p5, p0, Lcom/android/camera/gallery/BaseImage;->mIndex:I
iput-object p6, p0, Lcom/android/camera/gallery/BaseImage;->mUri:Landroid/net/Uri;
iput-object p7, p0, Lcom/android/camera/gallery/BaseImage;->mDataPath:Ljava/lang/String;
iput-object p8, p0, Lcom/android/camera/gallery/BaseImage;->mMimeType:Ljava/lang/String;
iput-wide p9, p0, Lcom/android/camera/gallery/BaseImage;->mDateTaken:J
iput-object p11, p0, Lcom/android/camera/gallery/BaseImage;->mTitle:Ljava/lang/String;
return-void
.end method
.method private setupDimension()V
.locals 6
.prologue
const/4 v1, 0x0
.local v1, "input":Landroid/os/ParcelFileDescriptor;
:try_start_0
iget-object v3, p0, Lcom/android/camera/gallery/BaseImage;->mContentResolver:Landroid/content/ContentResolver;
iget-object v4, p0, Lcom/android/camera/gallery/BaseImage;->mUri:Landroid/net/Uri;
const-string v5, "r"
invoke-virtual {v3, v4, v5}, Landroid/content/ContentResolver;->openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
move-result-object v1
new-instance v2, Landroid/graphics/BitmapFactory$Options;
invoke-direct {v2}, Landroid/graphics/BitmapFactory$Options;-><init>()V
.local v2, "options":Landroid/graphics/BitmapFactory$Options;
const/4 v3, 0x1
iput-boolean v3, v2, Landroid/graphics/BitmapFactory$Options;->inJustDecodeBounds:Z
invoke-static {}, Lcom/android/camera/BitmapManager;->instance()Lcom/android/camera/BitmapManager;
move-result-object v3
invoke-virtual {v1}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
move-result-object v4
invoke-virtual {v3, v4, v2}, Lcom/android/camera/BitmapManager;->decodeFileDescriptor(Ljava/io/FileDescriptor;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
iget v3, v2, Landroid/graphics/BitmapFactory$Options;->outWidth:I
iput v3, p0, Lcom/android/camera/gallery/BaseImage;->mWidth:I
iget v3, v2, Landroid/graphics/BitmapFactory$Options;->outHeight:I
iput v3, p0, Lcom/android/camera/gallery/BaseImage;->mHeight:I
:try_end_0
.catch Ljava/io/FileNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-static {v1}, Lcom/android/camera/Util;->closeSilently(Landroid/os/ParcelFileDescriptor;)V
.end local v2 # "options":Landroid/graphics/BitmapFactory$Options;
:goto_0
return-void
:catch_0
move-exception v0
.local v0, "ex":Ljava/io/FileNotFoundException;
const/4 v3, 0x0
:try_start_1
iput v3, p0, Lcom/android/camera/gallery/BaseImage;->mWidth:I
const/4 v3, 0x0
iput v3, p0, Lcom/android/camera/gallery/BaseImage;->mHeight:I
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
invoke-static {v1}, Lcom/android/camera/Util;->closeSilently(Landroid/os/ParcelFileDescriptor;)V
goto :goto_0
.end local v0 # "ex":Ljava/io/FileNotFoundException;
:catchall_0
move-exception v3
invoke-static {v1}, Lcom/android/camera/Util;->closeSilently(Landroid/os/ParcelFileDescriptor;)V
throw v3
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 2
.param p1, "other" # Ljava/lang/Object;
.prologue
if-eqz p1, :cond_0
instance-of v0, p1, Lcom/android/camera/gallery/Image;
if-nez v0, :cond_1
:cond_0
const/4 v0, 0x0
.end local p1 # "other":Ljava/lang/Object;
:goto_0
return v0
.restart local p1 # "other":Ljava/lang/Object;
:cond_1
iget-object v0, p0, Lcom/android/camera/gallery/BaseImage;->mUri:Landroid/net/Uri;
check-cast p1, Lcom/android/camera/gallery/Image;
.end local p1 # "other":Ljava/lang/Object;
iget-object v1, p1, Lcom/android/camera/gallery/Image;->mUri:Landroid/net/Uri;
invoke-virtual {v0, v1}, Landroid/net/Uri;->equals(Ljava/lang/Object;)Z
move-result v0
goto :goto_0
.end method
.method public fullSizeBitmap(II)Landroid/graphics/Bitmap;
.locals 2
.param p1, "minSideLength" # I
.param p2, "maxNumberOfPixels" # I
.prologue
const/4 v0, 0x1
const/4 v1, 0x0
invoke-virtual {p0, p1, p2, v0, v1}, Lcom/android/camera/gallery/BaseImage;->fullSizeBitmap(IIZZ)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public fullSizeBitmap(IIZZ)Landroid/graphics/Bitmap;
.locals 6
.param p1, "minSideLength" # I
.param p2, "maxNumberOfPixels" # I
.param p3, "rotateAsNeeded" # Z
.param p4, "useNative" # Z
.prologue
iget-object v2, p0, Lcom/android/camera/gallery/BaseImage;->mContainer:Lcom/android/camera/gallery/BaseImageList;
iget-wide v4, p0, Lcom/android/camera/gallery/BaseImage;->mId:J
invoke-virtual {v2, v4, v5}, Lcom/android/camera/gallery/BaseImageList;->contentUri(J)Landroid/net/Uri;
move-result-object v1
.local v1, "url":Landroid/net/Uri;
if-nez v1, :cond_1
const/4 v0, 0x0
:cond_0
:goto_0
return-object v0
:cond_1
iget-object v2, p0, Lcom/android/camera/gallery/BaseImage;->mContentResolver:Landroid/content/ContentResolver;
invoke-static {p1, p2, v1, v2, p4}, Lcom/android/camera/Util;->makeBitmap(IILandroid/net/Uri;Landroid/content/ContentResolver;Z)Landroid/graphics/Bitmap;
move-result-object v0
.local v0, "b":Landroid/graphics/Bitmap;
if-eqz v0, :cond_0
if-eqz p3, :cond_0
invoke-virtual {p0}, Lcom/android/camera/gallery/BaseImage;->getDegreesRotated()I
move-result v2
invoke-static {v0, v2}, Lcom/android/camera/Util;->rotate(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
move-result-object v0
goto :goto_0
.end method
.method public fullSizeImageData()Ljava/io/InputStream;
.locals 4
.prologue
:try_start_0
iget-object v2, p0, Lcom/android/camera/gallery/BaseImage;->mContentResolver:Landroid/content/ContentResolver;
iget-object v3, p0, Lcom/android/camera/gallery/BaseImage;->mUri:Landroid/net/Uri;
invoke-virtual {v2, v3}, Landroid/content/ContentResolver;->openInputStream(Landroid/net/Uri;)Ljava/io/InputStream;
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
move-result-object v1
:goto_0
return-object v1
:catch_0
move-exception v0
.local v0, "ex":Ljava/io/IOException;
const/4 v1, 0x0
goto :goto_0
.end method
.method public fullSizeImageUri()Landroid/net/Uri;
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/BaseImage;->mUri:Landroid/net/Uri;
return-object v0
.end method
.method public getContainer()Lcom/android/camera/gallery/IImageList;
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/BaseImage;->mContainer:Lcom/android/camera/gallery/BaseImageList;
return-object v0
.end method
.method public getDataPath()Ljava/lang/String;
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/BaseImage;->mDataPath:Ljava/lang/String;
return-object v0
.end method
.method public getDateTaken()J
.locals 2
.prologue
iget-wide v0, p0, Lcom/android/camera/gallery/BaseImage;->mDateTaken:J
return-wide v0
.end method
.method public getDegreesRotated()I
.locals 1
.prologue
const/4 v0, 0x0
return v0
.end method
.method public getHeight()I
.locals 2
.prologue
iget v0, p0, Lcom/android/camera/gallery/BaseImage;->mHeight:I
const/4 v1, -0x1
if-ne v0, v1, :cond_0
invoke-direct {p0}, Lcom/android/camera/gallery/BaseImage;->setupDimension()V
:cond_0
iget v0, p0, Lcom/android/camera/gallery/BaseImage;->mHeight:I
return v0
.end method
.method public getMimeType()Ljava/lang/String;
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/BaseImage;->mMimeType:Ljava/lang/String;
return-object v0
.end method
.method public getTitle()Ljava/lang/String;
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/BaseImage;->mTitle:Ljava/lang/String;
return-object v0
.end method
.method public getWidth()I
.locals 2
.prologue
iget v0, p0, Lcom/android/camera/gallery/BaseImage;->mWidth:I
const/4 v1, -0x1
if-ne v0, v1, :cond_0
invoke-direct {p0}, Lcom/android/camera/gallery/BaseImage;->setupDimension()V
:cond_0
iget v0, p0, Lcom/android/camera/gallery/BaseImage;->mWidth:I
return v0
.end method
.method public hashCode()I
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/BaseImage;->mUri:Landroid/net/Uri;
invoke-virtual {v0}, Landroid/net/Uri;->hashCode()I
move-result v0
return v0
.end method
.method public miniThumbBitmap()Landroid/graphics/Bitmap;
.locals 10
.prologue
const/4 v9, 0x0
const/4 v7, 0x0
.local v7, "b":Landroid/graphics/Bitmap;
:try_start_0
iget-wide v2, p0, Lcom/android/camera/gallery/BaseImage;->mId:J
.local v2, "id":J
invoke-static {}, Lcom/android/camera/BitmapManager;->instance()Lcom/android/camera/BitmapManager;
move-result-object v0
iget-object v1, p0, Lcom/android/camera/gallery/BaseImage;->mContentResolver:Landroid/content/ContentResolver;
const/4 v4, 0x3
const/4 v5, 0x0
const/4 v6, 0x0
invoke-virtual/range {v0 .. v6}, Lcom/android/camera/BitmapManager;->getThumbnail(Landroid/content/ContentResolver;JILandroid/graphics/BitmapFactory$Options;Z)Landroid/graphics/Bitmap;
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
move-result-object v7
if-eqz v7, :cond_0
invoke-virtual {p0}, Lcom/android/camera/gallery/BaseImage;->getDegreesRotated()I
move-result v0
invoke-static {v7, v0}, Lcom/android/camera/Util;->rotate(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
move-result-object v7
:cond_0
move-object v0, v7
.end local v2 # "id":J
:goto_0
return-object v0
:catch_0
move-exception v8
.local v8, "ex":Ljava/lang/Throwable;
const-string v0, "BaseImage"
const-string v1, "miniThumbBitmap got exception"
invoke-static {v0, v1, v8}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
move-object v0, v9
goto :goto_0
.end method
.method protected onRemove()V
.locals 0
.prologue
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/BaseImage;->mUri:Landroid/net/Uri;
invoke-virtual {v0}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -1,809 +0,0 @@
.class public abstract Lcom/android/camera/gallery/BaseImageList;
.super Ljava/lang/Object;
.source "BaseImageList.java"
# interfaces
.implements Lcom/android/camera/gallery/IImageList;
# static fields
.field private static final CACHE_CAPACITY:I = 0x200
.field private static final TAG:Ljava/lang/String; = "BaseImageList"
.field private static final sPathWithId:Ljava/util/regex/Pattern;
# instance fields
.field protected mBaseUri:Landroid/net/Uri;
.field protected mBucketId:Ljava/lang/String;
.field private final mCache:Lcom/android/camera/gallery/LruCache;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/android/camera/gallery/LruCache",
"<",
"Ljava/lang/Integer;",
"Lcom/android/camera/gallery/BaseImage;",
">;"
}
.end annotation
.end field
.field protected mContentResolver:Landroid/content/ContentResolver;
.field protected mCursor:Landroid/database/Cursor;
.field protected mCursorDeactivated:Z
.field protected mSort:I
# direct methods
.method static constructor <clinit>()V
.locals 1
.prologue
const-string v0, "(.*)/\\d+"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/android/camera/gallery/BaseImageList;->sPathWithId:Ljava/util/regex/Pattern;
return-void
.end method
.method public constructor <init>(Landroid/content/ContentResolver;Landroid/net/Uri;ILjava/lang/String;)V
.locals 2
.param p1, "resolver" # Landroid/content/ContentResolver;
.param p2, "uri" # Landroid/net/Uri;
.param p3, "sort" # I
.param p4, "bucketId" # Ljava/lang/String;
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Lcom/android/camera/gallery/LruCache;
const/16 v1, 0x200
invoke-direct {v0, v1}, Lcom/android/camera/gallery/LruCache;-><init>(I)V
iput-object v0, p0, Lcom/android/camera/gallery/BaseImageList;->mCache:Lcom/android/camera/gallery/LruCache;
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/android/camera/gallery/BaseImageList;->mCursorDeactivated:Z
iput p3, p0, Lcom/android/camera/gallery/BaseImageList;->mSort:I
iput-object p2, p0, Lcom/android/camera/gallery/BaseImageList;->mBaseUri:Landroid/net/Uri;
iput-object p4, p0, Lcom/android/camera/gallery/BaseImageList;->mBucketId:Ljava/lang/String;
iput-object p1, p0, Lcom/android/camera/gallery/BaseImageList;->mContentResolver:Landroid/content/ContentResolver;
invoke-virtual {p0}, Lcom/android/camera/gallery/BaseImageList;->createCursor()Landroid/database/Cursor;
move-result-object v0
iput-object v0, p0, Lcom/android/camera/gallery/BaseImageList;->mCursor:Landroid/database/Cursor;
iget-object v0, p0, Lcom/android/camera/gallery/BaseImageList;->mCursor:Landroid/database/Cursor;
if-nez v0, :cond_0
const-string v0, "BaseImageList"
const-string v1, "createCursor returns null."
invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:cond_0
iget-object v0, p0, Lcom/android/camera/gallery/BaseImageList;->mCache:Lcom/android/camera/gallery/LruCache;
invoke-virtual {v0}, Lcom/android/camera/gallery/LruCache;->clear()V
return-void
.end method
.method private getCursor()Landroid/database/Cursor;
.locals 1
.prologue
monitor-enter p0
:try_start_0
iget-object v0, p0, Lcom/android/camera/gallery/BaseImageList;->mCursor:Landroid/database/Cursor;
if-nez v0, :cond_0
const/4 v0, 0x0
monitor-exit p0
:goto_0
return-object v0
:cond_0
iget-boolean v0, p0, Lcom/android/camera/gallery/BaseImageList;->mCursorDeactivated:Z
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/android/camera/gallery/BaseImageList;->mCursor:Landroid/database/Cursor;
invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/android/camera/gallery/BaseImageList;->mCursorDeactivated:Z
:cond_1
iget-object v0, p0, Lcom/android/camera/gallery/BaseImageList;->mCursor:Landroid/database/Cursor;
monitor-exit p0
goto :goto_0
:catchall_0
move-exception v0
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
.method private static getPathWithoutId(Landroid/net/Uri;)Ljava/lang/String;
.locals 3
.param p0, "uri" # Landroid/net/Uri;
.prologue
invoke-virtual {p0}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object v1
.local v1, "path":Ljava/lang/String;
sget-object v2, Lcom/android/camera/gallery/BaseImageList;->sPathWithId:Ljava/util/regex/Pattern;
invoke-virtual {v2, v1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
.local v0, "matcher":Ljava/util/regex/Matcher;
invoke-virtual {v0}, Ljava/util/regex/Matcher;->matches()Z
move-result v2
if-eqz v2, :cond_0
const/4 v2, 0x1
invoke-virtual {v0, v2}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v1
.end local v1 # "path":Ljava/lang/String;
:cond_0
return-object v1
.end method
.method private isChildImageUri(Landroid/net/Uri;)Z
.locals 3
.param p1, "uri" # Landroid/net/Uri;
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/BaseImageList;->mBaseUri:Landroid/net/Uri;
.local v0, "base":Landroid/net/Uri;
invoke-virtual {v0}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
move-result-object v1
invoke-virtual {p1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Lcom/android/camera/Util;->equals(Ljava/lang/String;Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_0
invoke-virtual {v0}, Landroid/net/Uri;->getHost()Ljava/lang/String;
move-result-object v1
invoke-virtual {p1}, Landroid/net/Uri;->getHost()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Lcom/android/camera/Util;->equals(Ljava/lang/String;Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_0
invoke-virtual {v0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
move-result-object v1
invoke-virtual {p1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Lcom/android/camera/Util;->equals(Ljava/lang/String;Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_0
invoke-virtual {v0}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object v1
invoke-static {p1}, Lcom/android/camera/gallery/BaseImageList;->getPathWithoutId(Landroid/net/Uri;)Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Lcom/android/camera/Util;->equals(Ljava/lang/String;Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_0
const/4 v1, 0x1
:goto_0
return v1
:cond_0
const/4 v1, 0x0
goto :goto_0
.end method
# virtual methods
.method public close()V
.locals 4
.prologue
const/4 v3, 0x0
:try_start_0
invoke-virtual {p0}, Lcom/android/camera/gallery/BaseImageList;->invalidateCursor()V
:try_end_0
.catch Ljava/lang/IllegalStateException; {:try_start_0 .. :try_end_0} :catch_0
:goto_0
iput-object v3, p0, Lcom/android/camera/gallery/BaseImageList;->mContentResolver:Landroid/content/ContentResolver;
iget-object v1, p0, Lcom/android/camera/gallery/BaseImageList;->mCursor:Landroid/database/Cursor;
if-eqz v1, :cond_0
iget-object v1, p0, Lcom/android/camera/gallery/BaseImageList;->mCursor:Landroid/database/Cursor;
invoke-interface {v1}, Landroid/database/Cursor;->close()V
iput-object v3, p0, Lcom/android/camera/gallery/BaseImageList;->mCursor:Landroid/database/Cursor;
:cond_0
return-void
:catch_0
move-exception v0
.local v0, "e":Ljava/lang/IllegalStateException;
const-string v1, "BaseImageList"
const-string v2, "Caught exception while deactivating cursor."
invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_0
.end method
.method public contentUri(J)Landroid/net/Uri;
.locals 5
.param p1, "id" # J
.prologue
:try_start_0
iget-object v1, p0, Lcom/android/camera/gallery/BaseImageList;->mBaseUri:Landroid/net/Uri;
invoke-static {v1}, Landroid/content/ContentUris;->parseId(Landroid/net/Uri;)J
move-result-wide v2
.local v2, "existingId":J
cmp-long v1, v2, p1
if-eqz v1, :cond_0
const-string v1, "BaseImageList"
const-string v4, "id mismatch"
invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:cond_0
iget-object v1, p0, Lcom/android/camera/gallery/BaseImageList;->mBaseUri:Landroid/net/Uri;
:try_end_0
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0
.end local v2 # "existingId":J
:goto_0
return-object v1
:catch_0
move-exception v0
.local v0, "ex":Ljava/lang/NumberFormatException;
iget-object v1, p0, Lcom/android/camera/gallery/BaseImageList;->mBaseUri:Landroid/net/Uri;
invoke-static {v1, p1, p2}, Landroid/content/ContentUris;->withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri;
move-result-object v1
goto :goto_0
.end method
.method protected abstract createCursor()Landroid/database/Cursor;
.end method
.method public getCount()I
.locals 2
.prologue
invoke-direct {p0}, Lcom/android/camera/gallery/BaseImageList;->getCursor()Landroid/database/Cursor;
move-result-object v0
.local v0, "cursor":Landroid/database/Cursor;
if-nez v0, :cond_0
const/4 v1, 0x0
:goto_0
return v1
:cond_0
monitor-enter p0
:try_start_0
invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
move-result v1
monitor-exit p0
goto :goto_0
:catchall_0
move-exception v1
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v1
.end method
.method public getImageAt(I)Lcom/android/camera/gallery/IImage;
.locals 5
.param p1, "i" # I
.prologue
const/4 v2, 0x0
iget-object v3, p0, Lcom/android/camera/gallery/BaseImageList;->mCache:Lcom/android/camera/gallery/LruCache;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
invoke-virtual {v3, v4}, Lcom/android/camera/gallery/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/android/camera/gallery/BaseImage;
.local v1, "result":Lcom/android/camera/gallery/BaseImage;
if-nez v1, :cond_1
invoke-direct {p0}, Lcom/android/camera/gallery/BaseImageList;->getCursor()Landroid/database/Cursor;
move-result-object v0
.local v0, "cursor":Landroid/database/Cursor;
if-nez v0, :cond_0
.end local v0 # "cursor":Landroid/database/Cursor;
:goto_0
return-object v2
.restart local v0 # "cursor":Landroid/database/Cursor;
:cond_0
monitor-enter p0
:try_start_0
invoke-interface {v0, p1}, Landroid/database/Cursor;->moveToPosition(I)Z
move-result v3
if-eqz v3, :cond_2
invoke-virtual {p0, v0}, Lcom/android/camera/gallery/BaseImageList;->loadImageFromCursor(Landroid/database/Cursor;)Lcom/android/camera/gallery/BaseImage;
move-result-object v1
:goto_1
iget-object v2, p0, Lcom/android/camera/gallery/BaseImageList;->mCache:Lcom/android/camera/gallery/LruCache;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-virtual {v2, v3, v1}, Lcom/android/camera/gallery/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
monitor-exit p0
.end local v0 # "cursor":Landroid/database/Cursor;
:cond_1
move-object v2, v1
goto :goto_0
.restart local v0 # "cursor":Landroid/database/Cursor;
:cond_2
move-object v1, v2
goto :goto_1
:catchall_0
move-exception v2
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v2
.end method
.method public getImageForUri(Landroid/net/Uri;)Lcom/android/camera/gallery/IImage;
.locals 9
.param p1, "uri" # Landroid/net/Uri;
.prologue
const/4 v3, 0x0
invoke-direct {p0, p1}, Lcom/android/camera/gallery/BaseImageList;->isChildImageUri(Landroid/net/Uri;)Z
move-result v6
if-nez v6, :cond_1
:cond_0
:goto_0
return-object v3
:cond_1
:try_start_0
invoke-static {p1}, Landroid/content/ContentUris;->parseId(Landroid/net/Uri;)J
:try_end_0
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0
move-result-wide v4
.local v4, "matchId":J
invoke-direct {p0}, Lcom/android/camera/gallery/BaseImageList;->getCursor()Landroid/database/Cursor;
move-result-object v0
.local v0, "cursor":Landroid/database/Cursor;
if-eqz v0, :cond_0
monitor-enter p0
const/4 v6, -0x1
:try_start_1
invoke-interface {v0, v6}, Landroid/database/Cursor;->moveToPosition(I)Z
const/4 v2, 0x0
.local v2, "i":I
:goto_1
invoke-interface {v0}, Landroid/database/Cursor;->moveToNext()Z
move-result v6
if-eqz v6, :cond_4
invoke-virtual {p0, v0}, Lcom/android/camera/gallery/BaseImageList;->getImageId(Landroid/database/Cursor;)J
move-result-wide v6
cmp-long v6, v6, v4
if-nez v6, :cond_3
iget-object v6, p0, Lcom/android/camera/gallery/BaseImageList;->mCache:Lcom/android/camera/gallery/LruCache;
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v7
invoke-virtual {v6, v7}, Lcom/android/camera/gallery/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/android/camera/gallery/BaseImage;
.local v3, "image":Lcom/android/camera/gallery/BaseImage;
if-nez v3, :cond_2
invoke-virtual {p0, v0}, Lcom/android/camera/gallery/BaseImageList;->loadImageFromCursor(Landroid/database/Cursor;)Lcom/android/camera/gallery/BaseImage;
move-result-object v3
iget-object v6, p0, Lcom/android/camera/gallery/BaseImageList;->mCache:Lcom/android/camera/gallery/LruCache;
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v7
invoke-virtual {v6, v7, v3}, Lcom/android/camera/gallery/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_2
monitor-exit p0
goto :goto_0
.end local v2 # "i":I
.end local v3 # "image":Lcom/android/camera/gallery/BaseImage;
:catchall_0
move-exception v6
monitor-exit p0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw v6
.end local v0 # "cursor":Landroid/database/Cursor;
.end local v4 # "matchId":J
:catch_0
move-exception v1
.local v1, "ex":Ljava/lang/NumberFormatException;
const-string v6, "BaseImageList"
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "fail to get id in: "
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v7
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-static {v6, v7, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_0
.end local v1 # "ex":Ljava/lang/NumberFormatException;
.restart local v0 # "cursor":Landroid/database/Cursor;
.restart local v2 # "i":I
.restart local v4 # "matchId":J
:cond_3
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_4
:try_start_2
monitor-exit p0
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
goto :goto_0
.end method
.method protected abstract getImageId(Landroid/database/Cursor;)J
.end method
.method public getImageIndex(Lcom/android/camera/gallery/IImage;)I
.locals 1
.param p1, "image" # Lcom/android/camera/gallery/IImage;
.prologue
check-cast p1, Lcom/android/camera/gallery/BaseImage;
.end local p1 # "image":Lcom/android/camera/gallery/IImage;
iget v0, p1, Lcom/android/camera/gallery/BaseImage;->mIndex:I
return v0
.end method
.method protected invalidateCache()V
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/BaseImageList;->mCache:Lcom/android/camera/gallery/LruCache;
invoke-virtual {v0}, Lcom/android/camera/gallery/LruCache;->clear()V
return-void
.end method
.method protected invalidateCursor()V
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/BaseImageList;->mCursor:Landroid/database/Cursor;
if-nez v0, :cond_0
:goto_0
return-void
:cond_0
iget-object v0, p0, Lcom/android/camera/gallery/BaseImageList;->mCursor:Landroid/database/Cursor;
invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/android/camera/gallery/BaseImageList;->mCursorDeactivated:Z
goto :goto_0
.end method
.method public isEmpty()Z
.locals 1
.prologue
invoke-virtual {p0}, Lcom/android/camera/gallery/BaseImageList;->getCount()I
move-result v0
if-nez v0, :cond_0
const/4 v0, 0x1
:goto_0
return v0
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method protected abstract loadImageFromCursor(Landroid/database/Cursor;)Lcom/android/camera/gallery/BaseImage;
.end method
.method public removeImage(Lcom/android/camera/gallery/IImage;)Z
.locals 3
.param p1, "image" # Lcom/android/camera/gallery/IImage;
.prologue
const/4 v2, 0x0
iget-object v0, p0, Lcom/android/camera/gallery/BaseImageList;->mContentResolver:Landroid/content/ContentResolver;
invoke-interface {p1}, Lcom/android/camera/gallery/IImage;->fullSizeImageUri()Landroid/net/Uri;
move-result-object v1
invoke-virtual {v0, v1, v2, v2}, Landroid/content/ContentResolver;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
move-result v0
if-lez v0, :cond_0
check-cast p1, Lcom/android/camera/gallery/BaseImage;
.end local p1 # "image":Lcom/android/camera/gallery/IImage;
invoke-virtual {p1}, Lcom/android/camera/gallery/BaseImage;->onRemove()V
invoke-virtual {p0}, Lcom/android/camera/gallery/BaseImageList;->invalidateCursor()V
invoke-virtual {p0}, Lcom/android/camera/gallery/BaseImageList;->invalidateCache()V
const/4 v0, 0x1
:goto_0
return v0
.restart local p1 # "image":Lcom/android/camera/gallery/IImage;
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method public removeImageAt(I)Z
.locals 1
.param p1, "i" # I
.prologue
invoke-virtual {p0, p1}, Lcom/android/camera/gallery/BaseImageList;->getImageAt(I)Lcom/android/camera/gallery/IImage;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/android/camera/gallery/BaseImageList;->removeImage(Lcom/android/camera/gallery/IImage;)Z
move-result v0
return v0
.end method
.method protected sortOrder()Ljava/lang/String;
.locals 4
.prologue
iget v2, p0, Lcom/android/camera/gallery/BaseImageList;->mSort:I
const/4 v3, 0x1
if-ne v2, v3, :cond_0
const-string v0, " ASC"
.local v0, "ascending":Ljava/lang/String;
:goto_0
const-string v1, "case ifnull(datetaken,0) when 0 then date_modified*1000 else datetaken end"
.local v1, "dateExpr":Ljava/lang/String;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, ", _id"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
return-object v2
.end local v0 # "ascending":Ljava/lang/String;
.end local v1 # "dateExpr":Ljava/lang/String;
:cond_0
const-string v0, " DESC"
goto :goto_0
.end method

View file

@ -1,76 +0,0 @@
.class public interface abstract Lcom/android/camera/gallery/IImage;
.super Ljava/lang/Object;
.source "IImage.java"
# static fields
.field public static final MINI_THUMB_MAX_NUM_PIXELS:I = 0x4000
.field public static final MINI_THUMB_TARGET_SIZE:I = 0x60
.field public static final NO_NATIVE:Z = false
.field public static final NO_ROTATE:Z = false
.field public static final ROTATE_AS_NEEDED:Z = true
.field public static final THUMBNAIL_MAX_NUM_PIXELS:I = 0x30000
.field public static final THUMBNAIL_TARGET_SIZE:I = 0x140
.field public static final UNCONSTRAINED:I = -0x1
.field public static final USE_NATIVE:Z = true
# virtual methods
.method public abstract fullSizeBitmap(II)Landroid/graphics/Bitmap;
.end method
.method public abstract fullSizeBitmap(IIZZ)Landroid/graphics/Bitmap;
.end method
.method public abstract fullSizeImageData()Ljava/io/InputStream;
.end method
.method public abstract fullSizeImageUri()Landroid/net/Uri;
.end method
.method public abstract getContainer()Lcom/android/camera/gallery/IImageList;
.end method
.method public abstract getDataPath()Ljava/lang/String;
.end method
.method public abstract getDateTaken()J
.end method
.method public abstract getDegreesRotated()I
.end method
.method public abstract getHeight()I
.end method
.method public abstract getMimeType()Ljava/lang/String;
.end method
.method public abstract getTitle()Ljava/lang/String;
.end method
.method public abstract getWidth()I
.end method
.method public abstract isDrm()Z
.end method
.method public abstract isReadonly()Z
.end method
.method public abstract miniThumbBitmap()Landroid/graphics/Bitmap;
.end method
.method public abstract rotateImageBy(I)Z
.end method
.method public abstract thumbBitmap(Z)Landroid/graphics/Bitmap;
.end method

View file

@ -1,42 +0,0 @@
.class public interface abstract Lcom/android/camera/gallery/IImageList;
.super Ljava/lang/Object;
.source "IImageList.java"
# virtual methods
.method public abstract close()V
.end method
.method public abstract getBucketIds()Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end method
.method public abstract getCount()I
.end method
.method public abstract getImageAt(I)Lcom/android/camera/gallery/IImage;
.end method
.method public abstract getImageForUri(Landroid/net/Uri;)Lcom/android/camera/gallery/IImage;
.end method
.method public abstract getImageIndex(Lcom/android/camera/gallery/IImage;)I
.end method
.method public abstract isEmpty()Z
.end method
.method public abstract removeImage(Lcom/android/camera/gallery/IImage;)Z
.end method
.method public abstract removeImageAt(I)Z
.end method

View file

@ -1,401 +0,0 @@
.class public Lcom/android/camera/gallery/Image;
.super Lcom/android/camera/gallery/BaseImage;
.source "Image.java"
# interfaces
.implements Lcom/android/camera/gallery/IImage;
# static fields
.field private static final TAG:Ljava/lang/String; = "BaseImage"
.field private static final THUMB_PROJECTION:[Ljava/lang/String;
# instance fields
.field private mExif:Landroid/media/ExifInterface;
.field private mRotation:I
# direct methods
.method static constructor <clinit>()V
.locals 3
.prologue
const/4 v0, 0x1
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "_id"
aput-object v2, v0, v1
sput-object v0, Lcom/android/camera/gallery/Image;->THUMB_PROJECTION:[Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Lcom/android/camera/gallery/BaseImageList;Landroid/content/ContentResolver;JILandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;I)V
.locals 1
.param p1, "container" # Lcom/android/camera/gallery/BaseImageList;
.param p2, "cr" # Landroid/content/ContentResolver;
.param p3, "id" # J
.param p5, "index" # I
.param p6, "uri" # Landroid/net/Uri;
.param p7, "dataPath" # Ljava/lang/String;
.param p8, "mimeType" # Ljava/lang/String;
.param p9, "dateTaken" # J
.param p11, "title" # Ljava/lang/String;
.param p12, "rotation" # I
.prologue
invoke-direct/range {p0 .. p11}, Lcom/android/camera/gallery/BaseImage;-><init>(Lcom/android/camera/gallery/BaseImageList;Landroid/content/ContentResolver;JILandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;)V
iput p12, p0, Lcom/android/camera/gallery/Image;->mRotation:I
return-void
.end method
.method private loadExifData()V
.locals 3
.prologue
:try_start_0
new-instance v1, Landroid/media/ExifInterface;
iget-object v2, p0, Lcom/android/camera/gallery/Image;->mDataPath:Ljava/lang/String;
invoke-direct {v1, v2}, Landroid/media/ExifInterface;-><init>(Ljava/lang/String;)V
iput-object v1, p0, Lcom/android/camera/gallery/Image;->mExif:Landroid/media/ExifInterface;
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
:goto_0
return-void
:catch_0
move-exception v0
.local v0, "ex":Ljava/io/IOException;
const-string v1, "BaseImage"
const-string v2, "cannot read exif"
invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_0
.end method
.method private saveExifData()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/Image;->mExif:Landroid/media/ExifInterface;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/android/camera/gallery/Image;->mExif:Landroid/media/ExifInterface;
invoke-virtual {v0}, Landroid/media/ExifInterface;->saveAttributes()V
:cond_0
return-void
.end method
.method private setExifRotation(I)V
.locals 5
.param p1, "degrees" # I
.prologue
:try_start_0
rem-int/lit16 p1, p1, 0x168
if-gez p1, :cond_0
add-int/lit16 p1, p1, 0x168
:cond_0
const/4 v1, 0x1
.local v1, "orientation":I
sparse-switch p1, :sswitch_data_0
:goto_0
const-string v2, "Orientation"
invoke-static {v1}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {p0, v2, v3}, Lcom/android/camera/gallery/Image;->replaceExifTag(Ljava/lang/String;Ljava/lang/String;)V
invoke-direct {p0}, Lcom/android/camera/gallery/Image;->saveExifData()V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
.end local v1 # "orientation":I
:goto_1
return-void
.restart local v1 # "orientation":I
:sswitch_0
const/4 v1, 0x1
goto :goto_0
:sswitch_1
const/4 v1, 0x6
goto :goto_0
:sswitch_2
const/4 v1, 0x3
goto :goto_0
:sswitch_3
const/16 v1, 0x8
goto :goto_0
.end local v1 # "orientation":I
:catch_0
move-exception v0
.local v0, "ex":Ljava/lang/Exception;
const-string v2, "BaseImage"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "unable to save exif data with new orientation "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {p0}, Lcom/android/camera/gallery/Image;->fullSizeImageUri()Landroid/net/Uri;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_1
:sswitch_data_0
.sparse-switch
0x0 -> :sswitch_0
0x5a -> :sswitch_1
0xb4 -> :sswitch_2
0x10e -> :sswitch_3
.end sparse-switch
.end method
# virtual methods
.method public getDegreesRotated()I
.locals 1
.prologue
iget v0, p0, Lcom/android/camera/gallery/Image;->mRotation:I
return v0
.end method
.method public isDrm()Z
.locals 1
.prologue
const/4 v0, 0x0
return v0
.end method
.method public isReadonly()Z
.locals 2
.prologue
invoke-virtual {p0}, Lcom/android/camera/gallery/Image;->getMimeType()Ljava/lang/String;
move-result-object v0
.local v0, "mimeType":Ljava/lang/String;
const-string v1, "image/jpeg"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_0
const-string v1, "image/png"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_0
const/4 v1, 0x1
:goto_0
return v1
:cond_0
const/4 v1, 0x0
goto :goto_0
.end method
.method public replaceExifTag(Ljava/lang/String;Ljava/lang/String;)V
.locals 1
.param p1, "tag" # Ljava/lang/String;
.param p2, "value" # Ljava/lang/String;
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/Image;->mExif:Landroid/media/ExifInterface;
if-nez v0, :cond_0
invoke-direct {p0}, Lcom/android/camera/gallery/Image;->loadExifData()V
:cond_0
iget-object v0, p0, Lcom/android/camera/gallery/Image;->mExif:Landroid/media/ExifInterface;
invoke-virtual {v0, p1, p2}, Landroid/media/ExifInterface;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public rotateImageBy(I)Z
.locals 2
.param p1, "degrees" # I
.prologue
invoke-virtual {p0}, Lcom/android/camera/gallery/Image;->getDegreesRotated()I
move-result v1
add-int/2addr v1, p1
rem-int/lit16 v0, v1, 0x168
.local v0, "newDegrees":I
invoke-direct {p0, v0}, Lcom/android/camera/gallery/Image;->setExifRotation(I)V
invoke-virtual {p0, v0}, Lcom/android/camera/gallery/Image;->setDegreesRotated(I)V
const/4 v1, 0x1
return v1
.end method
.method protected setDegreesRotated(I)V
.locals 4
.param p1, "degrees" # I
.prologue
const/4 v3, 0x0
iget v1, p0, Lcom/android/camera/gallery/Image;->mRotation:I
if-ne v1, p1, :cond_0
:goto_0
return-void
:cond_0
iput p1, p0, Lcom/android/camera/gallery/Image;->mRotation:I
new-instance v0, Landroid/content/ContentValues;
invoke-direct {v0}, Landroid/content/ContentValues;-><init>()V
.local v0, "values":Landroid/content/ContentValues;
const-string v1, "orientation"
iget v2, p0, Lcom/android/camera/gallery/Image;->mRotation:I
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
iget-object v1, p0, Lcom/android/camera/gallery/Image;->mContentResolver:Landroid/content/ContentResolver;
iget-object v2, p0, Lcom/android/camera/gallery/Image;->mUri:Landroid/net/Uri;
invoke-virtual {v1, v2, v0, v3, v3}, Landroid/content/ContentResolver;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
goto :goto_0
.end method
.method public thumbBitmap(Z)Landroid/graphics/Bitmap;
.locals 8
.param p1, "rotateAsNeeded" # Z
.prologue
const/4 v6, 0x0
const/4 v7, 0x0
.local v7, "bitmap":Landroid/graphics/Bitmap;
new-instance v5, Landroid/graphics/BitmapFactory$Options;
invoke-direct {v5}, Landroid/graphics/BitmapFactory$Options;-><init>()V
.local v5, "options":Landroid/graphics/BitmapFactory$Options;
iput-boolean v6, v5, Landroid/graphics/BitmapFactory$Options;->inDither:Z
sget-object v0, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
iput-object v0, v5, Landroid/graphics/BitmapFactory$Options;->inPreferredConfig:Landroid/graphics/Bitmap$Config;
invoke-static {}, Lcom/android/camera/BitmapManager;->instance()Lcom/android/camera/BitmapManager;
move-result-object v0
iget-object v1, p0, Lcom/android/camera/gallery/Image;->mContentResolver:Landroid/content/ContentResolver;
iget-wide v2, p0, Lcom/android/camera/gallery/Image;->mId:J
const/4 v4, 0x1
invoke-virtual/range {v0 .. v6}, Lcom/android/camera/BitmapManager;->getThumbnail(Landroid/content/ContentResolver;JILandroid/graphics/BitmapFactory$Options;Z)Landroid/graphics/Bitmap;
move-result-object v7
if-eqz v7, :cond_0
if-eqz p1, :cond_0
invoke-virtual {p0}, Lcom/android/camera/gallery/Image;->getDegreesRotated()I
move-result v0
invoke-static {v7, v0}, Lcom/android/camera/Util;->rotate(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
move-result-object v7
:cond_0
return-object v7
.end method

View file

@ -1,464 +0,0 @@
.class public Lcom/android/camera/gallery/ImageList;
.super Lcom/android/camera/gallery/BaseImageList;
.source "ImageList.java"
# interfaces
.implements Lcom/android/camera/gallery/IImageList;
# static fields
.field private static final ACCEPTABLE_IMAGE_TYPES:[Ljava/lang/String;
.field static final IMAGE_PROJECTION:[Ljava/lang/String;
.field private static final INDEX_DATA_PATH:I = 0x1
.field private static final INDEX_DATE_MODIFIED:I = 0x7
.field private static final INDEX_DATE_TAKEN:I = 0x2
.field private static final INDEX_ID:I = 0x0
.field private static final INDEX_MIME_TYPE:I = 0x6
.field private static final INDEX_MINI_THUMB_MAGIC:I = 0x3
.field private static final INDEX_ORIENTATION:I = 0x4
.field private static final INDEX_TITLE:I = 0x5
.field private static final TAG:Ljava/lang/String; = "ImageList"
.field private static final WHERE_CLAUSE:Ljava/lang/String; = "(mime_type in (?, ?, ?))"
.field private static final WHERE_CLAUSE_WITH_BUCKET_ID:Ljava/lang/String; = "(mime_type in (?, ?, ?)) AND bucket_id = ?"
# direct methods
.method static constructor <clinit>()V
.locals 6
.prologue
const/4 v5, 0x3
const/4 v4, 0x2
const/4 v3, 0x1
const/4 v2, 0x0
new-array v0, v5, [Ljava/lang/String;
const-string v1, "image/jpeg"
aput-object v1, v0, v2
const-string v1, "image/png"
aput-object v1, v0, v3
const-string v1, "image/gif"
aput-object v1, v0, v4
sput-object v0, Lcom/android/camera/gallery/ImageList;->ACCEPTABLE_IMAGE_TYPES:[Ljava/lang/String;
const/16 v0, 0x8
new-array v0, v0, [Ljava/lang/String;
const-string v1, "_id"
aput-object v1, v0, v2
const-string v1, "_data"
aput-object v1, v0, v3
const-string v1, "datetaken"
aput-object v1, v0, v4
const-string v1, "mini_thumb_magic"
aput-object v1, v0, v5
const/4 v1, 0x4
const-string v2, "orientation"
aput-object v2, v0, v1
const/4 v1, 0x5
const-string v2, "title"
aput-object v2, v0, v1
const/4 v1, 0x6
const-string v2, "mime_type"
aput-object v2, v0, v1
const/4 v1, 0x7
const-string v2, "date_modified"
aput-object v2, v0, v1
sput-object v0, Lcom/android/camera/gallery/ImageList;->IMAGE_PROJECTION:[Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/ContentResolver;Landroid/net/Uri;ILjava/lang/String;)V
.locals 0
.param p1, "resolver" # Landroid/content/ContentResolver;
.param p2, "imageUri" # Landroid/net/Uri;
.param p3, "sort" # I
.param p4, "bucketId" # Ljava/lang/String;
.prologue
invoke-direct {p0, p1, p2, p3, p4}, Lcom/android/camera/gallery/BaseImageList;-><init>(Landroid/content/ContentResolver;Landroid/net/Uri;ILjava/lang/String;)V
return-void
.end method
# virtual methods
.method protected createCursor()Landroid/database/Cursor;
.locals 7
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/ImageList;->mContentResolver:Landroid/content/ContentResolver;
iget-object v1, p0, Lcom/android/camera/gallery/ImageList;->mBaseUri:Landroid/net/Uri;
sget-object v2, Lcom/android/camera/gallery/ImageList;->IMAGE_PROJECTION:[Ljava/lang/String;
invoke-virtual {p0}, Lcom/android/camera/gallery/ImageList;->whereClause()Ljava/lang/String;
move-result-object v3
invoke-virtual {p0}, Lcom/android/camera/gallery/ImageList;->whereClauseArgs()[Ljava/lang/String;
move-result-object v4
invoke-virtual {p0}, Lcom/android/camera/gallery/ImageList;->sortOrder()Ljava/lang/String;
move-result-object v5
invoke-static/range {v0 .. v5}, Landroid/provider/MediaStore$Images$Media;->query(Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v6
.local v6, "c":Landroid/database/Cursor;
return-object v6
.end method
.method public getBucketIds()Ljava/util/HashMap;
.locals 8
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.prologue
const/4 v5, 0x1
const/4 v4, 0x0
iget-object v0, p0, Lcom/android/camera/gallery/ImageList;->mBaseUri:Landroid/net/Uri;
invoke-virtual {v0}, Landroid/net/Uri;->buildUpon()Landroid/net/Uri$Builder;
move-result-object v0
const-string v2, "distinct"
const-string v3, "true"
invoke-virtual {v0, v2, v3}, Landroid/net/Uri$Builder;->appendQueryParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object v0
invoke-virtual {v0}, Landroid/net/Uri$Builder;->build()Landroid/net/Uri;
move-result-object v1
.local v1, "uri":Landroid/net/Uri;
iget-object v0, p0, Lcom/android/camera/gallery/ImageList;->mContentResolver:Landroid/content/ContentResolver;
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/String;
const-string v3, "bucket_display_name"
aput-object v3, v2, v4
const-string v3, "bucket_id"
aput-object v3, v2, v5
invoke-virtual {p0}, Lcom/android/camera/gallery/ImageList;->whereClause()Ljava/lang/String;
move-result-object v3
invoke-virtual {p0}, Lcom/android/camera/gallery/ImageList;->whereClauseArgs()[Ljava/lang/String;
move-result-object v4
const/4 v5, 0x0
invoke-static/range {v0 .. v5}, Landroid/provider/MediaStore$Images$Media;->query(Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v6
.local v6, "cursor":Landroid/database/Cursor;
:try_start_0
new-instance v7, Ljava/util/HashMap;
invoke-direct {v7}, Ljava/util/HashMap;-><init>()V
.local v7, "hash":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;"
:goto_0
invoke-interface {v6}, Landroid/database/Cursor;->moveToNext()Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, 0x1
invoke-interface {v6, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v0
const/4 v2, 0x0
invoke-interface {v6, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v7, v0, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
.end local v7 # "hash":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;"
:catchall_0
move-exception v0
invoke-interface {v6}, Landroid/database/Cursor;->close()V
throw v0
.restart local v7 # "hash":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;"
:cond_0
invoke-interface {v6}, Landroid/database/Cursor;->close()V
return-object v7
.end method
.method protected getImageId(Landroid/database/Cursor;)J
.locals 2
.param p1, "cursor" # Landroid/database/Cursor;
.prologue
const/4 v0, 0x0
invoke-interface {p1, v0}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v0
return-wide v0
.end method
.method protected loadImageFromCursor(Landroid/database/Cursor;)Lcom/android/camera/gallery/BaseImage;
.locals 18
.param p1, "cursor" # Landroid/database/Cursor;
.prologue
const/4 v2, 0x0
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v6
.local v6, "id":J
const/4 v2, 0x1
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v10
.local v10, "dataPath":Ljava/lang/String;
const/4 v2, 0x2
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v12
.local v12, "dateTaken":J
const-wide/16 v2, 0x0
cmp-long v2, v12, v2
if-nez v2, :cond_0
const/4 v2, 0x7
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v2
const-wide/16 v4, 0x3e8
mul-long v12, v2, v4
:cond_0
const/4 v2, 0x3
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v16
.local v16, "miniThumbMagic":J
const/4 v2, 0x4
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getInt(I)I
move-result v15
.local v15, "orientation":I
const/4 v2, 0x5
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v14
.local v14, "title":Ljava/lang/String;
const/4 v2, 0x6
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v11
.local v11, "mimeType":Ljava/lang/String;
if-eqz v14, :cond_1
invoke-virtual {v14}, Ljava/lang/String;->length()I
move-result v2
if-nez v2, :cond_2
:cond_1
move-object v14, v10
:cond_2
new-instance v3, Lcom/android/camera/gallery/Image;
move-object/from16 v0, p0
iget-object v5, v0, Lcom/android/camera/gallery/ImageList;->mContentResolver:Landroid/content/ContentResolver;
invoke-interface/range {p1 .. p1}, Landroid/database/Cursor;->getPosition()I
move-result v8
move-object/from16 v0, p0
invoke-virtual {v0, v6, v7}, Lcom/android/camera/gallery/ImageList;->contentUri(J)Landroid/net/Uri;
move-result-object v9
move-object/from16 v4, p0
invoke-direct/range {v3 .. v15}, Lcom/android/camera/gallery/Image;-><init>(Lcom/android/camera/gallery/BaseImageList;Landroid/content/ContentResolver;JILandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;I)V
return-object v3
.end method
.method protected whereClause()Ljava/lang/String;
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/ImageList;->mBucketId:Ljava/lang/String;
if-nez v0, :cond_0
const-string v0, "(mime_type in (?, ?, ?))"
:goto_0
return-object v0
:cond_0
const-string v0, "(mime_type in (?, ?, ?)) AND bucket_id = ?"
goto :goto_0
.end method
.method protected whereClauseArgs()[Ljava/lang/String;
.locals 4
.prologue
const/4 v3, 0x0
iget-object v2, p0, Lcom/android/camera/gallery/ImageList;->mBucketId:Ljava/lang/String;
if-eqz v2, :cond_0
sget-object v2, Lcom/android/camera/gallery/ImageList;->ACCEPTABLE_IMAGE_TYPES:[Ljava/lang/String;
array-length v0, v2
.local v0, "count":I
add-int/lit8 v2, v0, 0x1
new-array v1, v2, [Ljava/lang/String;
.local v1, "result":[Ljava/lang/String;
sget-object v2, Lcom/android/camera/gallery/ImageList;->ACCEPTABLE_IMAGE_TYPES:[Ljava/lang/String;
invoke-static {v2, v3, v1, v3, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
iget-object v2, p0, Lcom/android/camera/gallery/ImageList;->mBucketId:Ljava/lang/String;
aput-object v2, v1, v0
.end local v0 # "count":I
.end local v1 # "result":[Ljava/lang/String;
:goto_0
return-object v1
:cond_0
sget-object v1, Lcom/android/camera/gallery/ImageList;->ACCEPTABLE_IMAGE_TYPES:[Ljava/lang/String;
goto :goto_0
.end method

View file

@ -1,14 +0,0 @@
.class synthetic Lcom/android/camera/gallery/ImageListUber$1;
.super Ljava/lang/Object;
.source "ImageListUber.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/gallery/ImageListUber;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1008
name = null
.end annotation

View file

@ -1,107 +0,0 @@
.class Lcom/android/camera/gallery/ImageListUber$AscendingComparator;
.super Ljava/lang/Object;
.source "ImageListUber.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/gallery/ImageListUber;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "AscendingComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Comparator",
"<",
"Lcom/android/camera/gallery/ImageListUber$MergeSlot;",
">;"
}
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method synthetic constructor <init>(Lcom/android/camera/gallery/ImageListUber$1;)V
.locals 0
.param p1, "x0" # Lcom/android/camera/gallery/ImageListUber$1;
.prologue
invoke-direct {p0}, Lcom/android/camera/gallery/ImageListUber$AscendingComparator;-><init>()V
return-void
.end method
# virtual methods
.method public compare(Lcom/android/camera/gallery/ImageListUber$MergeSlot;Lcom/android/camera/gallery/ImageListUber$MergeSlot;)I
.locals 4
.param p1, "m1" # Lcom/android/camera/gallery/ImageListUber$MergeSlot;
.param p2, "m2" # Lcom/android/camera/gallery/ImageListUber$MergeSlot;
.prologue
iget-wide v0, p1, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mDateTaken:J
iget-wide v2, p2, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mDateTaken:J
cmp-long v0, v0, v2
if-eqz v0, :cond_1
iget-wide v0, p1, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mDateTaken:J
iget-wide v2, p2, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mDateTaken:J
cmp-long v0, v0, v2
if-gez v0, :cond_0
const/4 v0, -0x1
:goto_0
return v0
:cond_0
const/4 v0, 0x1
goto :goto_0
:cond_1
iget v0, p1, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mListIndex:I
iget v1, p2, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mListIndex:I
sub-int/2addr v0, v1
goto :goto_0
.end method
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 1
.prologue
check-cast p1, Lcom/android/camera/gallery/ImageListUber$MergeSlot;
check-cast p2, Lcom/android/camera/gallery/ImageListUber$MergeSlot;
invoke-virtual {p0, p1, p2}, Lcom/android/camera/gallery/ImageListUber$AscendingComparator;->compare(Lcom/android/camera/gallery/ImageListUber$MergeSlot;Lcom/android/camera/gallery/ImageListUber$MergeSlot;)I
move-result v0
return v0
.end method

View file

@ -1,107 +0,0 @@
.class Lcom/android/camera/gallery/ImageListUber$DescendingComparator;
.super Ljava/lang/Object;
.source "ImageListUber.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/gallery/ImageListUber;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "DescendingComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Comparator",
"<",
"Lcom/android/camera/gallery/ImageListUber$MergeSlot;",
">;"
}
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method synthetic constructor <init>(Lcom/android/camera/gallery/ImageListUber$1;)V
.locals 0
.param p1, "x0" # Lcom/android/camera/gallery/ImageListUber$1;
.prologue
invoke-direct {p0}, Lcom/android/camera/gallery/ImageListUber$DescendingComparator;-><init>()V
return-void
.end method
# virtual methods
.method public compare(Lcom/android/camera/gallery/ImageListUber$MergeSlot;Lcom/android/camera/gallery/ImageListUber$MergeSlot;)I
.locals 4
.param p1, "m1" # Lcom/android/camera/gallery/ImageListUber$MergeSlot;
.param p2, "m2" # Lcom/android/camera/gallery/ImageListUber$MergeSlot;
.prologue
iget-wide v0, p1, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mDateTaken:J
iget-wide v2, p2, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mDateTaken:J
cmp-long v0, v0, v2
if-eqz v0, :cond_1
iget-wide v0, p1, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mDateTaken:J
iget-wide v2, p2, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mDateTaken:J
cmp-long v0, v0, v2
if-gez v0, :cond_0
const/4 v0, 0x1
:goto_0
return v0
:cond_0
const/4 v0, -0x1
goto :goto_0
:cond_1
iget v0, p1, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mListIndex:I
iget v1, p2, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mListIndex:I
sub-int/2addr v0, v1
goto :goto_0
.end method
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 1
.prologue
check-cast p1, Lcom/android/camera/gallery/ImageListUber$MergeSlot;
check-cast p2, Lcom/android/camera/gallery/ImageListUber$MergeSlot;
invoke-virtual {p0, p1, p2}, Lcom/android/camera/gallery/ImageListUber$DescendingComparator;->compare(Lcom/android/camera/gallery/ImageListUber$MergeSlot;Lcom/android/camera/gallery/ImageListUber$MergeSlot;)I
move-result v0
return v0
.end method

View file

@ -1,98 +0,0 @@
.class Lcom/android/camera/gallery/ImageListUber$MergeSlot;
.super Ljava/lang/Object;
.source "ImageListUber.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/gallery/ImageListUber;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "MergeSlot"
.end annotation
# instance fields
.field mDateTaken:J
.field mImage:Lcom/android/camera/gallery/IImage;
.field private final mList:Lcom/android/camera/gallery/IImageList;
.field mListIndex:I
.field private mOffset:I
# direct methods
.method public constructor <init>(Lcom/android/camera/gallery/IImageList;I)V
.locals 1
.param p1, "list" # Lcom/android/camera/gallery/IImageList;
.param p2, "index" # I
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, -0x1
iput v0, p0, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mOffset:I
iput-object p1, p0, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mList:Lcom/android/camera/gallery/IImageList;
iput p2, p0, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mListIndex:I
return-void
.end method
# virtual methods
.method public next()Z
.locals 2
.prologue
iget v0, p0, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mOffset:I
iget-object v1, p0, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mList:Lcom/android/camera/gallery/IImageList;
invoke-interface {v1}, Lcom/android/camera/gallery/IImageList;->getCount()I
move-result v1
add-int/lit8 v1, v1, -0x1
if-lt v0, v1, :cond_0
const/4 v0, 0x0
:goto_0
return v0
:cond_0
iget-object v0, p0, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mList:Lcom/android/camera/gallery/IImageList;
iget v1, p0, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mOffset:I
add-int/lit8 v1, v1, 0x1
iput v1, p0, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mOffset:I
invoke-interface {v0, v1}, Lcom/android/camera/gallery/IImageList;->getImageAt(I)Lcom/android/camera/gallery/IImage;
move-result-object v0
iput-object v0, p0, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mImage:Lcom/android/camera/gallery/IImage;
iget-object v0, p0, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mImage:Lcom/android/camera/gallery/IImage;
invoke-interface {v0}, Lcom/android/camera/gallery/IImage;->getDateTaken()J
move-result-wide v0
iput-wide v0, p0, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mDateTaken:J
const/4 v0, 0x1
goto :goto_0
.end method

View file

@ -1,935 +0,0 @@
.class public Lcom/android/camera/gallery/ImageListUber;
.super Ljava/lang/Object;
.source "ImageListUber.java"
# interfaces
.implements Lcom/android/camera/gallery/IImageList;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/camera/gallery/ImageListUber$MergeSlot;,
Lcom/android/camera/gallery/ImageListUber$AscendingComparator;,
Lcom/android/camera/gallery/ImageListUber$DescendingComparator;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "ImageListUber"
# instance fields
.field private mLastListIndex:I
.field private final mQueue:Ljava/util/PriorityQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/PriorityQueue",
"<",
"Lcom/android/camera/gallery/ImageListUber$MergeSlot;",
">;"
}
.end annotation
.end field
.field private mSkipCounts:[I
.field private mSkipList:[J
.field private mSkipListSize:I
.field private final mSubList:[Lcom/android/camera/gallery/IImageList;
# direct methods
.method public constructor <init>([Lcom/android/camera/gallery/IImageList;I)V
.locals 8
.param p1, "sublist" # [Lcom/android/camera/gallery/IImageList;
.param p2, "sort" # I
.prologue
const/4 v7, 0x0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-virtual {p1}, [Lcom/android/camera/gallery/IImageList;->clone()Ljava/lang/Object;
move-result-object v4
check-cast v4, [Lcom/android/camera/gallery/IImageList;
iput-object v4, p0, Lcom/android/camera/gallery/ImageListUber;->mSubList:[Lcom/android/camera/gallery/IImageList;
new-instance v5, Ljava/util/PriorityQueue;
const/4 v6, 0x4
const/4 v4, 0x1
if-ne p2, v4, :cond_1
new-instance v4, Lcom/android/camera/gallery/ImageListUber$AscendingComparator;
invoke-direct {v4, v7}, Lcom/android/camera/gallery/ImageListUber$AscendingComparator;-><init>(Lcom/android/camera/gallery/ImageListUber$1;)V
:goto_0
invoke-direct {v5, v6, v4}, Ljava/util/PriorityQueue;-><init>(ILjava/util/Comparator;)V
iput-object v5, p0, Lcom/android/camera/gallery/ImageListUber;->mQueue:Ljava/util/PriorityQueue;
const/16 v4, 0x10
new-array v4, v4, [J
iput-object v4, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipList:[J
const/4 v4, 0x0
iput v4, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipListSize:I
iget-object v4, p0, Lcom/android/camera/gallery/ImageListUber;->mSubList:[Lcom/android/camera/gallery/IImageList;
array-length v4, v4
new-array v4, v4, [I
iput-object v4, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipCounts:[I
const/4 v4, -0x1
iput v4, p0, Lcom/android/camera/gallery/ImageListUber;->mLastListIndex:I
iget-object v4, p0, Lcom/android/camera/gallery/ImageListUber;->mQueue:Ljava/util/PriorityQueue;
invoke-virtual {v4}, Ljava/util/PriorityQueue;->clear()V
const/4 v0, 0x0
.local v0, "i":I
iget-object v4, p0, Lcom/android/camera/gallery/ImageListUber;->mSubList:[Lcom/android/camera/gallery/IImageList;
array-length v2, v4
.local v2, "n":I
:goto_1
if-ge v0, v2, :cond_2
iget-object v4, p0, Lcom/android/camera/gallery/ImageListUber;->mSubList:[Lcom/android/camera/gallery/IImageList;
aget-object v1, v4, v0
.local v1, "list":Lcom/android/camera/gallery/IImageList;
new-instance v3, Lcom/android/camera/gallery/ImageListUber$MergeSlot;
invoke-direct {v3, v1, v0}, Lcom/android/camera/gallery/ImageListUber$MergeSlot;-><init>(Lcom/android/camera/gallery/IImageList;I)V
.local v3, "slot":Lcom/android/camera/gallery/ImageListUber$MergeSlot;
invoke-virtual {v3}, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->next()Z
move-result v4
if-eqz v4, :cond_0
iget-object v4, p0, Lcom/android/camera/gallery/ImageListUber;->mQueue:Ljava/util/PriorityQueue;
invoke-virtual {v4, v3}, Ljava/util/PriorityQueue;->add(Ljava/lang/Object;)Z
:cond_0
add-int/lit8 v0, v0, 0x1
goto :goto_1
.end local v0 # "i":I
.end local v1 # "list":Lcom/android/camera/gallery/IImageList;
.end local v2 # "n":I
.end local v3 # "slot":Lcom/android/camera/gallery/ImageListUber$MergeSlot;
:cond_1
new-instance v4, Lcom/android/camera/gallery/ImageListUber$DescendingComparator;
invoke-direct {v4, v7}, Lcom/android/camera/gallery/ImageListUber$DescendingComparator;-><init>(Lcom/android/camera/gallery/ImageListUber$1;)V
goto :goto_0
.restart local v0 # "i":I
.restart local v2 # "n":I
:cond_2
return-void
.end method
.method private modifySkipCountForDeletedImage(I)V
.locals 10
.param p1, "index" # I
.prologue
const/4 v3, 0x0
.local v3, "skipCount":I
const/4 v0, 0x0
.local v0, "i":I
iget v1, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipListSize:I
.local v1, "n":I
:goto_0
if-ge v0, v1, :cond_0
iget-object v6, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipList:[J
aget-wide v4, v6, v0
.local v4, "v":J
const-wide/16 v6, -0x1
and-long/2addr v6, v4
long-to-int v2, v6
.local v2, "offset":I
add-int v6, v3, v2
if-le v6, p1, :cond_1
iget-object v6, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipList:[J
const-wide/16 v8, 0x1
sub-long v8, v4, v8
aput-wide v8, v6, v0
.end local v2 # "offset":I
.end local v4 # "v":J
:cond_0
return-void
.restart local v2 # "offset":I
.restart local v4 # "v":J
:cond_1
add-int/2addr v3, v2
add-int/lit8 v0, v0, 0x1
goto :goto_0
.end method
.method private nextMergeSlot()Lcom/android/camera/gallery/ImageListUber$MergeSlot;
.locals 10
.prologue
const-wide/16 v8, 0x1
const/4 v5, 0x0
iget-object v3, p0, Lcom/android/camera/gallery/ImageListUber;->mQueue:Ljava/util/PriorityQueue;
invoke-virtual {v3}, Ljava/util/PriorityQueue;->poll()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/android/camera/gallery/ImageListUber$MergeSlot;
.local v1, "slot":Lcom/android/camera/gallery/ImageListUber$MergeSlot;
if-nez v1, :cond_0
const/4 v1, 0x0
.end local v1 # "slot":Lcom/android/camera/gallery/ImageListUber$MergeSlot;
:goto_0
return-object v1
.restart local v1 # "slot":Lcom/android/camera/gallery/ImageListUber$MergeSlot;
:cond_0
iget v3, v1, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mListIndex:I
iget v4, p0, Lcom/android/camera/gallery/ImageListUber;->mLastListIndex:I
if-ne v3, v4, :cond_1
iget v3, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipListSize:I
add-int/lit8 v0, v3, -0x1
.local v0, "lastIndex":I
iget-object v3, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipList:[J
aget-wide v4, v3, v0
add-long/2addr v4, v8
aput-wide v4, v3, v0
goto :goto_0
.end local v0 # "lastIndex":I
:cond_1
iget v3, v1, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mListIndex:I
iput v3, p0, Lcom/android/camera/gallery/ImageListUber;->mLastListIndex:I
iget-object v3, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipList:[J
array-length v3, v3
iget v4, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipListSize:I
if-ne v3, v4, :cond_2
iget v3, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipListSize:I
mul-int/lit8 v3, v3, 0x2
new-array v2, v3, [J
.local v2, "temp":[J
iget-object v3, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipList:[J
iget v4, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipListSize:I
invoke-static {v3, v5, v2, v5, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
iput-object v2, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipList:[J
.end local v2 # "temp":[J
:cond_2
iget-object v3, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipList:[J
iget v4, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipListSize:I
add-int/lit8 v5, v4, 0x1
iput v5, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipListSize:I
iget v5, p0, Lcom/android/camera/gallery/ImageListUber;->mLastListIndex:I
int-to-long v6, v5
const/16 v5, 0x20
shl-long/2addr v6, v5
or-long/2addr v6, v8
aput-wide v6, v3, v4
goto :goto_0
.end method
.method private removeImage(Lcom/android/camera/gallery/IImage;I)Z
.locals 2
.param p1, "image" # Lcom/android/camera/gallery/IImage;
.param p2, "index" # I
.prologue
invoke-interface {p1}, Lcom/android/camera/gallery/IImage;->getContainer()Lcom/android/camera/gallery/IImageList;
move-result-object v0
.local v0, "list":Lcom/android/camera/gallery/IImageList;
if-eqz v0, :cond_0
invoke-interface {v0, p1}, Lcom/android/camera/gallery/IImageList;->removeImage(Lcom/android/camera/gallery/IImage;)Z
move-result v1
if-eqz v1, :cond_0
invoke-direct {p0, p2}, Lcom/android/camera/gallery/ImageListUber;->modifySkipCountForDeletedImage(I)V
const/4 v1, 0x1
:goto_0
return v1
:cond_0
const/4 v1, 0x0
goto :goto_0
.end method
# virtual methods
.method public close()V
.locals 3
.prologue
const/4 v0, 0x0
.local v0, "i":I
iget-object v2, p0, Lcom/android/camera/gallery/ImageListUber;->mSubList:[Lcom/android/camera/gallery/IImageList;
array-length v1, v2
.local v1, "n":I
:goto_0
if-ge v0, v1, :cond_0
iget-object v2, p0, Lcom/android/camera/gallery/ImageListUber;->mSubList:[Lcom/android/camera/gallery/IImageList;
aget-object v2, v2, v0
invoke-interface {v2}, Lcom/android/camera/gallery/IImageList;->close()V
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method public getBucketIds()Ljava/util/HashMap;
.locals 6
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.prologue
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.local v0, "hashMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;"
iget-object v3, p0, Lcom/android/camera/gallery/ImageListUber;->mSubList:[Lcom/android/camera/gallery/IImageList;
array-length v4, v3
const/4 v2, 0x0
:goto_0
if-ge v2, v4, :cond_0
aget-object v1, v3, v2
.local v1, "list":Lcom/android/camera/gallery/IImageList;
invoke-interface {v1}, Lcom/android/camera/gallery/IImageList;->getBucketIds()Ljava/util/HashMap;
move-result-object v5
invoke-virtual {v0, v5}, Ljava/util/HashMap;->putAll(Ljava/util/Map;)V
add-int/lit8 v2, v2, 0x1
goto :goto_0
.end local v1 # "list":Lcom/android/camera/gallery/IImageList;
:cond_0
return-object v0
.end method
.method public getCount()I
.locals 6
.prologue
const/4 v0, 0x0
.local v0, "count":I
iget-object v3, p0, Lcom/android/camera/gallery/ImageListUber;->mSubList:[Lcom/android/camera/gallery/IImageList;
array-length v4, v3
const/4 v2, 0x0
:goto_0
if-ge v2, v4, :cond_0
aget-object v1, v3, v2
.local v1, "subList":Lcom/android/camera/gallery/IImageList;
invoke-interface {v1}, Lcom/android/camera/gallery/IImageList;->getCount()I
move-result v5
add-int/2addr v0, v5
add-int/lit8 v2, v2, 0x1
goto :goto_0
.end local v1 # "subList":Lcom/android/camera/gallery/IImageList;
:cond_0
return v0
.end method
.method public getImageAt(I)Lcom/android/camera/gallery/IImage;
.locals 14
.param p1, "index" # I
.prologue
if-ltz p1, :cond_0
invoke-virtual {p0}, Lcom/android/camera/gallery/ImageListUber;->getCount()I
move-result v11
if-le p1, v11, :cond_1
:cond_0
new-instance v11, Ljava/lang/IndexOutOfBoundsException;
new-instance v12, Ljava/lang/StringBuilder;
invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
const-string v13, "index "
invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v12
invoke-virtual {v12, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v12
const-string v13, " out of range max is "
invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v12
invoke-virtual {p0}, Lcom/android/camera/gallery/ImageListUber;->getCount()I
move-result v13
invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v12
invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v12
invoke-direct {v11, v12}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw v11
:cond_1
iget-object v5, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipCounts:[I
.local v5, "skipCounts":[I
const/4 v11, 0x0
invoke-static {v5, v11}, Ljava/util/Arrays;->fill([II)V
const/4 v4, 0x0
.local v4, "skipCount":I
const/4 v0, 0x0
.local v0, "i":I
iget v1, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipListSize:I
.local v1, "n":I
:goto_0
if-ge v0, v1, :cond_6
iget-object v11, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipList:[J
aget-wide v8, v11, v0
.local v8, "v":J
const-wide/16 v12, -0x1
and-long/2addr v12, v8
long-to-int v2, v12
.local v2, "offset":I
const/16 v11, 0x20
shr-long v12, v8, v11
long-to-int v10, v12
.local v10, "which":I
add-int v11, v4, v2
if-le v11, p1, :cond_3
iget-object v11, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipCounts:[I
aget v11, v11, v10
sub-int v12, p1, v4
add-int v7, v11, v12
.local v7, "subindex":I
iget-object v11, p0, Lcom/android/camera/gallery/ImageListUber;->mSubList:[Lcom/android/camera/gallery/IImageList;
aget-object v11, v11, v10
invoke-interface {v11, v7}, Lcom/android/camera/gallery/IImageList;->getImageAt(I)Lcom/android/camera/gallery/IImage;
move-result-object v3
.end local v2 # "offset":I
.end local v7 # "subindex":I
.end local v8 # "v":J
.end local v10 # "which":I
:cond_2
:goto_1
return-object v3
.restart local v2 # "offset":I
.restart local v8 # "v":J
.restart local v10 # "which":I
:cond_3
add-int/2addr v4, v2
iget-object v11, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipCounts:[I
aget v12, v11, v10
add-int/2addr v12, v2
aput v12, v11, v10
add-int/lit8 v0, v0, 0x1
goto :goto_0
.end local v2 # "offset":I
.end local v8 # "v":J
.end local v10 # "which":I
.local v6, "slot":Lcom/android/camera/gallery/ImageListUber$MergeSlot;
:cond_4
invoke-virtual {v6}, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->next()Z
move-result v11
if-eqz v11, :cond_5
iget-object v11, p0, Lcom/android/camera/gallery/ImageListUber;->mQueue:Ljava/util/PriorityQueue;
invoke-virtual {v11, v6}, Ljava/util/PriorityQueue;->add(Ljava/lang/Object;)Z
:cond_5
add-int/lit8 v4, v4, 0x1
.end local v6 # "slot":Lcom/android/camera/gallery/ImageListUber$MergeSlot;
:cond_6
invoke-direct {p0}, Lcom/android/camera/gallery/ImageListUber;->nextMergeSlot()Lcom/android/camera/gallery/ImageListUber$MergeSlot;
move-result-object v6
.restart local v6 # "slot":Lcom/android/camera/gallery/ImageListUber$MergeSlot;
if-nez v6, :cond_7
const/4 v3, 0x0
goto :goto_1
:cond_7
if-ne v4, p1, :cond_4
iget-object v3, v6, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mImage:Lcom/android/camera/gallery/IImage;
.local v3, "result":Lcom/android/camera/gallery/IImage;
invoke-virtual {v6}, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->next()Z
move-result v11
if-eqz v11, :cond_2
iget-object v11, p0, Lcom/android/camera/gallery/ImageListUber;->mQueue:Ljava/util/PriorityQueue;
invoke-virtual {v11, v6}, Ljava/util/PriorityQueue;->add(Ljava/lang/Object;)Z
goto :goto_1
.end method
.method public getImageForUri(Landroid/net/Uri;)Lcom/android/camera/gallery/IImage;
.locals 5
.param p1, "uri" # Landroid/net/Uri;
.prologue
iget-object v3, p0, Lcom/android/camera/gallery/ImageListUber;->mSubList:[Lcom/android/camera/gallery/IImageList;
array-length v4, v3
const/4 v2, 0x0
:goto_0
if-ge v2, v4, :cond_1
aget-object v1, v3, v2
.local v1, "sublist":Lcom/android/camera/gallery/IImageList;
invoke-interface {v1, p1}, Lcom/android/camera/gallery/IImageList;->getImageForUri(Landroid/net/Uri;)Lcom/android/camera/gallery/IImage;
move-result-object v0
.local v0, "image":Lcom/android/camera/gallery/IImage;
if-eqz v0, :cond_0
.end local v0 # "image":Lcom/android/camera/gallery/IImage;
.end local v1 # "sublist":Lcom/android/camera/gallery/IImageList;
:goto_1
return-object v0
.restart local v0 # "image":Lcom/android/camera/gallery/IImage;
.restart local v1 # "sublist":Lcom/android/camera/gallery/IImageList;
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
.end local v0 # "image":Lcom/android/camera/gallery/IImage;
.end local v1 # "sublist":Lcom/android/camera/gallery/IImageList;
:cond_1
const/4 v0, 0x0
goto :goto_1
.end method
.method public declared-synchronized getImageIndex(Lcom/android/camera/gallery/IImage;)I
.locals 14
.param p1, "image" # Lcom/android/camera/gallery/IImage;
.prologue
const/4 v11, -0x1
monitor-enter p0
:try_start_0
invoke-interface {p1}, Lcom/android/camera/gallery/IImage;->getContainer()Lcom/android/camera/gallery/IImageList;
move-result-object v1
.local v1, "list":Lcom/android/camera/gallery/IImageList;
iget-object v12, p0, Lcom/android/camera/gallery/ImageListUber;->mSubList:[Lcom/android/camera/gallery/IImageList;
invoke-static {v12, v1}, Lcom/android/camera/Util;->indexOf([Ljava/lang/Object;Ljava/lang/Object;)I
move-result v2
.local v2, "listIndex":I
if-ne v2, v11, :cond_0
new-instance v11, Ljava/lang/IllegalArgumentException;
invoke-direct {v11}, Ljava/lang/IllegalArgumentException;-><init>()V
throw v11
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.end local v1 # "list":Lcom/android/camera/gallery/IImageList;
.end local v2 # "listIndex":I
:catchall_0
move-exception v11
monitor-exit p0
throw v11
.restart local v1 # "list":Lcom/android/camera/gallery/IImageList;
.restart local v2 # "listIndex":I
:cond_0
:try_start_1
invoke-interface {v1, p1}, Lcom/android/camera/gallery/IImageList;->getImageIndex(Lcom/android/camera/gallery/IImage;)I
move-result v3
.local v3, "listOffset":I
const/4 v6, 0x0
.local v6, "skipCount":I
const/4 v0, 0x0
.local v0, "i":I
iget v4, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipListSize:I
.local v4, "n":I
:goto_0
if-ge v0, v4, :cond_6
iget-object v12, p0, Lcom/android/camera/gallery/ImageListUber;->mSkipList:[J
aget-wide v8, v12, v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.local v8, "value":J
const-wide/16 v12, -0x1
and-long/2addr v12, v8
long-to-int v5, v12
.local v5, "offset":I
const/16 v12, 0x20
shr-long v12, v8, v12
long-to-int v10, v12
.local v10, "which":I
if-ne v10, v2, :cond_3
if-ge v3, v5, :cond_2
add-int v11, v6, v3
.end local v5 # "offset":I
.end local v8 # "value":J
.end local v10 # "which":I
:cond_1
:goto_1
monitor-exit p0
return v11
.restart local v5 # "offset":I
.restart local v8 # "value":J
.restart local v10 # "which":I
:cond_2
sub-int/2addr v3, v5
:cond_3
add-int/2addr v6, v5
add-int/lit8 v0, v0, 0x1
goto :goto_0
.end local v5 # "offset":I
.end local v8 # "value":J
.end local v10 # "which":I
.local v7, "slot":Lcom/android/camera/gallery/ImageListUber$MergeSlot;
:cond_4
:try_start_2
invoke-virtual {v7}, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->next()Z
move-result v12
if-eqz v12, :cond_5
iget-object v12, p0, Lcom/android/camera/gallery/ImageListUber;->mQueue:Ljava/util/PriorityQueue;
invoke-virtual {v12, v7}, Ljava/util/PriorityQueue;->add(Ljava/lang/Object;)Z
:cond_5
add-int/lit8 v6, v6, 0x1
.end local v7 # "slot":Lcom/android/camera/gallery/ImageListUber$MergeSlot;
:cond_6
invoke-direct {p0}, Lcom/android/camera/gallery/ImageListUber;->nextMergeSlot()Lcom/android/camera/gallery/ImageListUber$MergeSlot;
move-result-object v7
.restart local v7 # "slot":Lcom/android/camera/gallery/ImageListUber$MergeSlot;
if-eqz v7, :cond_1
iget-object v12, v7, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->mImage:Lcom/android/camera/gallery/IImage;
if-ne v12, p1, :cond_4
invoke-virtual {v7}, Lcom/android/camera/gallery/ImageListUber$MergeSlot;->next()Z
move-result v11
if-eqz v11, :cond_7
iget-object v11, p0, Lcom/android/camera/gallery/ImageListUber;->mQueue:Ljava/util/PriorityQueue;
invoke-virtual {v11, v7}, Ljava/util/PriorityQueue;->add(Ljava/lang/Object;)Z
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
:cond_7
move v11, v6
goto :goto_1
.end method
.method public isEmpty()Z
.locals 6
.prologue
const/4 v1, 0x0
iget-object v3, p0, Lcom/android/camera/gallery/ImageListUber;->mSubList:[Lcom/android/camera/gallery/IImageList;
array-length v4, v3
move v2, v1
:goto_0
if-ge v2, v4, :cond_1
aget-object v0, v3, v2
.local v0, "subList":Lcom/android/camera/gallery/IImageList;
invoke-interface {v0}, Lcom/android/camera/gallery/IImageList;->isEmpty()Z
move-result v5
if-nez v5, :cond_0
.end local v0 # "subList":Lcom/android/camera/gallery/IImageList;
:goto_1
return v1
.restart local v0 # "subList":Lcom/android/camera/gallery/IImageList;
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
.end local v0 # "subList":Lcom/android/camera/gallery/IImageList;
:cond_1
const/4 v1, 0x1
goto :goto_1
.end method
.method public removeImage(Lcom/android/camera/gallery/IImage;)Z
.locals 1
.param p1, "image" # Lcom/android/camera/gallery/IImage;
.prologue
invoke-virtual {p0, p1}, Lcom/android/camera/gallery/ImageListUber;->getImageIndex(Lcom/android/camera/gallery/IImage;)I
move-result v0
invoke-direct {p0, p1, v0}, Lcom/android/camera/gallery/ImageListUber;->removeImage(Lcom/android/camera/gallery/IImage;I)Z
move-result v0
return v0
.end method
.method public removeImageAt(I)Z
.locals 2
.param p1, "index" # I
.prologue
invoke-virtual {p0, p1}, Lcom/android/camera/gallery/ImageListUber;->getImageAt(I)Lcom/android/camera/gallery/IImage;
move-result-object v0
.local v0, "image":Lcom/android/camera/gallery/IImage;
if-nez v0, :cond_0
const/4 v1, 0x0
:goto_0
return v1
:cond_0
invoke-direct {p0, v0, p1}, Lcom/android/camera/gallery/ImageListUber;->removeImage(Lcom/android/camera/gallery/IImage;I)Z
move-result v1
goto :goto_0
.end method

View file

@ -1,81 +0,0 @@
.class Lcom/android/camera/gallery/LruCache$1;
.super Ljava/util/LinkedHashMap;
.source "LruCache.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/camera/gallery/LruCache;-><init>(I)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/LinkedHashMap",
"<TK;TV;>;"
}
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/camera/gallery/LruCache;
.field final synthetic val$capacity:I
# direct methods
.method constructor <init>(Lcom/android/camera/gallery/LruCache;IFZI)V
.locals 0
.param p1, "this$0" # Lcom/android/camera/gallery/LruCache;
.param p2, "x0" # I
.param p3, "x1" # F
.param p4, "x2" # Z
.prologue
.local p0, "this":Lcom/android/camera/gallery/LruCache$1;, "Lcom/android/camera/gallery/LruCache$1;"
iput-object p1, p0, Lcom/android/camera/gallery/LruCache$1;->this$0:Lcom/android/camera/gallery/LruCache;
iput p5, p0, Lcom/android/camera/gallery/LruCache$1;->val$capacity:I
invoke-direct {p0, p2, p3, p4}, Ljava/util/LinkedHashMap;-><init>(IFZ)V
return-void
.end method
# virtual methods
.method protected removeEldestEntry(Ljava/util/Map$Entry;)Z
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map$Entry",
"<TK;TV;>;)Z"
}
.end annotation
.prologue
.local p0, "this":Lcom/android/camera/gallery/LruCache$1;, "Lcom/android/camera/gallery/LruCache$1;"
.local p1, "eldest":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<TK;TV;>;"
invoke-virtual {p0}, Lcom/android/camera/gallery/LruCache$1;->size()I
move-result v0
iget v1, p0, Lcom/android/camera/gallery/LruCache$1;->val$capacity:I
if-le v0, v1, :cond_0
const/4 v0, 0x1
:goto_0
return v0
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method

View file

@ -1,60 +0,0 @@
.class Lcom/android/camera/gallery/LruCache$Entry;
.super Ljava/lang/ref/WeakReference;
.source "LruCache.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/camera/gallery/LruCache;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "Entry"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/ref/WeakReference",
"<TV;>;"
}
.end annotation
# instance fields
.field mKey:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TK;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(TK;TV;",
"Ljava/lang/ref/ReferenceQueue",
"<TV;>;)V"
}
.end annotation
.prologue
.local p0, "this":Lcom/android/camera/gallery/LruCache$Entry;, "Lcom/android/camera/gallery/LruCache$Entry<TK;TV;>;"
.local p1, "key":Ljava/lang/Object;, "TK;"
.local p2, "value":Ljava/lang/Object;, "TV;"
.local p3, "queue":Ljava/lang/ref/ReferenceQueue;, "Ljava/lang/ref/ReferenceQueue<TV;>;"
invoke-direct {p0, p2, p3}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
iput-object p1, p0, Lcom/android/camera/gallery/LruCache$Entry;->mKey:Ljava/lang/Object;
return-void
.end method

View file

@ -1,310 +0,0 @@
.class public Lcom/android/camera/gallery/LruCache;
.super Ljava/lang/Object;
.source "LruCache.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/camera/gallery/LruCache$Entry;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field private final mLruMap:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<TK;TV;>;"
}
.end annotation
.end field
.field private mQueue:Ljava/lang/ref/ReferenceQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/ReferenceQueue",
"<TV;>;"
}
.end annotation
.end field
.field private final mWeakMap:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<TK;",
"Lcom/android/camera/gallery/LruCache$Entry",
"<TK;TV;>;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(I)V
.locals 6
.param p1, "capacity" # I
.prologue
.local p0, "this":Lcom/android/camera/gallery/LruCache;, "Lcom/android/camera/gallery/LruCache<TK;TV;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/android/camera/gallery/LruCache;->mWeakMap:Ljava/util/HashMap;
new-instance v0, Ljava/lang/ref/ReferenceQueue;
invoke-direct {v0}, Ljava/lang/ref/ReferenceQueue;-><init>()V
iput-object v0, p0, Lcom/android/camera/gallery/LruCache;->mQueue:Ljava/lang/ref/ReferenceQueue;
new-instance v0, Lcom/android/camera/gallery/LruCache$1;
const/16 v2, 0x10
const/high16 v3, 0x3f400000 # 0.75f
const/4 v4, 0x1
move-object v1, p0
move v5, p1
invoke-direct/range {v0 .. v5}, Lcom/android/camera/gallery/LruCache$1;-><init>(Lcom/android/camera/gallery/LruCache;IFZI)V
iput-object v0, p0, Lcom/android/camera/gallery/LruCache;->mLruMap:Ljava/util/HashMap;
return-void
.end method
.method private cleanUpWeakMap()V
.locals 3
.prologue
.local p0, "this":Lcom/android/camera/gallery/LruCache;, "Lcom/android/camera/gallery/LruCache<TK;TV;>;"
iget-object v1, p0, Lcom/android/camera/gallery/LruCache;->mQueue:Ljava/lang/ref/ReferenceQueue;
invoke-virtual {v1}, Ljava/lang/ref/ReferenceQueue;->poll()Ljava/lang/ref/Reference;
move-result-object v0
check-cast v0, Lcom/android/camera/gallery/LruCache$Entry;
.local v0, "entry":Lcom/android/camera/gallery/LruCache$Entry;, "Lcom/android/camera/gallery/LruCache$Entry<TK;TV;>;"
:goto_0
if-eqz v0, :cond_0
iget-object v1, p0, Lcom/android/camera/gallery/LruCache;->mWeakMap:Ljava/util/HashMap;
iget-object v2, v0, Lcom/android/camera/gallery/LruCache$Entry;->mKey:Ljava/lang/Object;
invoke-virtual {v1, v2}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
iget-object v1, p0, Lcom/android/camera/gallery/LruCache;->mQueue:Ljava/lang/ref/ReferenceQueue;
invoke-virtual {v1}, Ljava/lang/ref/ReferenceQueue;->poll()Ljava/lang/ref/Reference;
move-result-object v0
.end local v0 # "entry":Lcom/android/camera/gallery/LruCache$Entry;, "Lcom/android/camera/gallery/LruCache$Entry<TK;TV;>;"
check-cast v0, Lcom/android/camera/gallery/LruCache$Entry;
.restart local v0 # "entry":Lcom/android/camera/gallery/LruCache$Entry;, "Lcom/android/camera/gallery/LruCache$Entry<TK;TV;>;"
goto :goto_0
:cond_0
return-void
.end method
# virtual methods
.method public declared-synchronized clear()V
.locals 1
.prologue
.local p0, "this":Lcom/android/camera/gallery/LruCache;, "Lcom/android/camera/gallery/LruCache<TK;TV;>;"
monitor-enter p0
:try_start_0
iget-object v0, p0, Lcom/android/camera/gallery/LruCache;->mLruMap:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->clear()V
iget-object v0, p0, Lcom/android/camera/gallery/LruCache;->mWeakMap:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->clear()V
new-instance v0, Ljava/lang/ref/ReferenceQueue;
invoke-direct {v0}, Ljava/lang/ref/ReferenceQueue;-><init>()V
iput-object v0, p0, Lcom/android/camera/gallery/LruCache;->mQueue:Ljava/lang/ref/ReferenceQueue;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized get(Ljava/lang/Object;)Ljava/lang/Object;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(TK;)TV;"
}
.end annotation
.prologue
.local p0, "this":Lcom/android/camera/gallery/LruCache;, "Lcom/android/camera/gallery/LruCache<TK;TV;>;"
.local p1, "key":Ljava/lang/Object;, "TK;"
monitor-enter p0
:try_start_0
invoke-direct {p0}, Lcom/android/camera/gallery/LruCache;->cleanUpWeakMap()V
iget-object v2, p0, Lcom/android/camera/gallery/LruCache;->mLruMap:Ljava/util/HashMap;
invoke-virtual {v2, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
move-result-object v1
.local v1, "value":Ljava/lang/Object;, "TV;"
if-eqz v1, :cond_0
.end local v1 # "value":Ljava/lang/Object;, "TV;"
:goto_0
monitor-exit p0
return-object v1
.restart local v1 # "value":Ljava/lang/Object;, "TV;"
:cond_0
:try_start_1
iget-object v2, p0, Lcom/android/camera/gallery/LruCache;->mWeakMap:Ljava/util/HashMap;
invoke-virtual {v2, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/android/camera/gallery/LruCache$Entry;
.local v0, "entry":Lcom/android/camera/gallery/LruCache$Entry;, "Lcom/android/camera/gallery/LruCache$Entry<TK;TV;>;"
if-nez v0, :cond_1
const/4 v2, 0x0
:goto_1
move-object v1, v2
goto :goto_0
:cond_1
invoke-virtual {v0}, Lcom/android/camera/gallery/LruCache$Entry;->get()Ljava/lang/Object;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
move-result-object v2
goto :goto_1
.end local v0 # "entry":Lcom/android/camera/gallery/LruCache$Entry;, "Lcom/android/camera/gallery/LruCache$Entry<TK;TV;>;"
.end local v1 # "value":Ljava/lang/Object;, "TV;"
:catchall_0
move-exception v2
monitor-exit p0
throw v2
.end method
.method public declared-synchronized put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(TK;TV;)TV;"
}
.end annotation
.prologue
.local p0, "this":Lcom/android/camera/gallery/LruCache;, "Lcom/android/camera/gallery/LruCache<TK;TV;>;"
.local p1, "key":Ljava/lang/Object;, "TK;"
.local p2, "value":Ljava/lang/Object;, "TV;"
monitor-enter p0
:try_start_0
invoke-direct {p0}, Lcom/android/camera/gallery/LruCache;->cleanUpWeakMap()V
iget-object v1, p0, Lcom/android/camera/gallery/LruCache;->mLruMap:Ljava/util/HashMap;
invoke-virtual {v1, p1, p2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v1, p0, Lcom/android/camera/gallery/LruCache;->mWeakMap:Ljava/util/HashMap;
new-instance v2, Lcom/android/camera/gallery/LruCache$Entry;
iget-object v3, p0, Lcom/android/camera/gallery/LruCache;->mQueue:Ljava/lang/ref/ReferenceQueue;
invoke-direct {v2, p1, p2, v3}, Lcom/android/camera/gallery/LruCache$Entry;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
invoke-virtual {v1, p1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/android/camera/gallery/LruCache$Entry;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.local v0, "entry":Lcom/android/camera/gallery/LruCache$Entry;, "Lcom/android/camera/gallery/LruCache$Entry<TK;TV;>;"
if-nez v0, :cond_0
const/4 v1, 0x0
:goto_0
monitor-exit p0
return-object v1
:cond_0
:try_start_1
invoke-virtual {v0}, Lcom/android/camera/gallery/LruCache$Entry;->get()Ljava/lang/Object;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
move-result-object v1
goto :goto_0
.end local v0 # "entry":Lcom/android/camera/gallery/LruCache$Entry;, "Lcom/android/camera/gallery/LruCache$Entry<TK;TV;>;"
:catchall_0
move-exception v1
monitor-exit p0
throw v1
.end method

View file

@ -1,173 +0,0 @@
.class public Lcom/android/camera/gallery/SingleImageList;
.super Ljava/lang/Object;
.source "SingleImageList.java"
# interfaces
.implements Lcom/android/camera/gallery/IImageList;
# static fields
.field private static final TAG:Ljava/lang/String; = "BaseImageList"
# instance fields
.field private mSingleImage:Lcom/android/camera/gallery/IImage;
.field private mUri:Landroid/net/Uri;
# direct methods
.method public constructor <init>(Landroid/content/ContentResolver;Landroid/net/Uri;)V
.locals 1
.param p1, "resolver" # Landroid/content/ContentResolver;
.param p2, "uri" # Landroid/net/Uri;
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p2, p0, Lcom/android/camera/gallery/SingleImageList;->mUri:Landroid/net/Uri;
new-instance v0, Lcom/android/camera/gallery/UriImage;
invoke-direct {v0, p0, p1, p2}, Lcom/android/camera/gallery/UriImage;-><init>(Lcom/android/camera/gallery/IImageList;Landroid/content/ContentResolver;Landroid/net/Uri;)V
iput-object v0, p0, Lcom/android/camera/gallery/SingleImageList;->mSingleImage:Lcom/android/camera/gallery/IImage;
return-void
.end method
# virtual methods
.method public close()V
.locals 1
.prologue
const/4 v0, 0x0
iput-object v0, p0, Lcom/android/camera/gallery/SingleImageList;->mSingleImage:Lcom/android/camera/gallery/IImage;
iput-object v0, p0, Lcom/android/camera/gallery/SingleImageList;->mUri:Landroid/net/Uri;
return-void
.end method
.method public getBucketIds()Ljava/util/HashMap;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.prologue
new-instance v0, Ljava/lang/UnsupportedOperationException;
invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw v0
.end method
.method public getCount()I
.locals 1
.prologue
const/4 v0, 0x1
return v0
.end method
.method public getImageAt(I)Lcom/android/camera/gallery/IImage;
.locals 1
.param p1, "i" # I
.prologue
if-nez p1, :cond_0
iget-object v0, p0, Lcom/android/camera/gallery/SingleImageList;->mSingleImage:Lcom/android/camera/gallery/IImage;
:goto_0
return-object v0
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method public getImageForUri(Landroid/net/Uri;)Lcom/android/camera/gallery/IImage;
.locals 1
.param p1, "uri" # Landroid/net/Uri;
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/SingleImageList;->mUri:Landroid/net/Uri;
invoke-virtual {p1, v0}, Landroid/net/Uri;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/android/camera/gallery/SingleImageList;->mSingleImage:Lcom/android/camera/gallery/IImage;
:goto_0
return-object v0
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method public getImageIndex(Lcom/android/camera/gallery/IImage;)I
.locals 1
.param p1, "image" # Lcom/android/camera/gallery/IImage;
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/SingleImageList;->mSingleImage:Lcom/android/camera/gallery/IImage;
if-ne p1, v0, :cond_0
const/4 v0, 0x0
:goto_0
return v0
:cond_0
const/4 v0, -0x1
goto :goto_0
.end method
.method public isEmpty()Z
.locals 1
.prologue
const/4 v0, 0x0
return v0
.end method
.method public removeImage(Lcom/android/camera/gallery/IImage;)Z
.locals 1
.param p1, "image" # Lcom/android/camera/gallery/IImage;
.prologue
const/4 v0, 0x0
return v0
.end method
.method public removeImageAt(I)Z
.locals 1
.param p1, "index" # I
.prologue
const/4 v0, 0x0
return v0
.end method

View file

@ -1,482 +0,0 @@
.class Lcom/android/camera/gallery/UriImage;
.super Ljava/lang/Object;
.source "UriImage.java"
# interfaces
.implements Lcom/android/camera/gallery/IImage;
# static fields
.field private static final TAG:Ljava/lang/String; = "UriImage"
# instance fields
.field private final mContainer:Lcom/android/camera/gallery/IImageList;
.field private final mContentResolver:Landroid/content/ContentResolver;
.field private final mUri:Landroid/net/Uri;
# direct methods
.method constructor <init>(Lcom/android/camera/gallery/IImageList;Landroid/content/ContentResolver;Landroid/net/Uri;)V
.locals 0
.param p1, "container" # Lcom/android/camera/gallery/IImageList;
.param p2, "cr" # Landroid/content/ContentResolver;
.param p3, "uri" # Landroid/net/Uri;
.prologue
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/android/camera/gallery/UriImage;->mContainer:Lcom/android/camera/gallery/IImageList;
iput-object p2, p0, Lcom/android/camera/gallery/UriImage;->mContentResolver:Landroid/content/ContentResolver;
iput-object p3, p0, Lcom/android/camera/gallery/UriImage;->mUri:Landroid/net/Uri;
return-void
.end method
.method private getInputStream()Ljava/io/InputStream;
.locals 3
.prologue
:try_start_0
iget-object v1, p0, Lcom/android/camera/gallery/UriImage;->mUri:Landroid/net/Uri;
invoke-virtual {v1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
move-result-object v1
const-string v2, "file"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
new-instance v1, Ljava/io/FileInputStream;
iget-object v2, p0, Lcom/android/camera/gallery/UriImage;->mUri:Landroid/net/Uri;
invoke-virtual {v2}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
:goto_0
return-object v1
:cond_0
iget-object v1, p0, Lcom/android/camera/gallery/UriImage;->mContentResolver:Landroid/content/ContentResolver;
iget-object v2, p0, Lcom/android/camera/gallery/UriImage;->mUri:Landroid/net/Uri;
invoke-virtual {v1, v2}, Landroid/content/ContentResolver;->openInputStream(Landroid/net/Uri;)Ljava/io/InputStream;
:try_end_0
.catch Ljava/io/FileNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
move-result-object v1
goto :goto_0
:catch_0
move-exception v0
.local v0, "ex":Ljava/io/FileNotFoundException;
const/4 v1, 0x0
goto :goto_0
.end method
.method private getPFD()Landroid/os/ParcelFileDescriptor;
.locals 5
.prologue
:try_start_0
iget-object v2, p0, Lcom/android/camera/gallery/UriImage;->mUri:Landroid/net/Uri;
invoke-virtual {v2}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
move-result-object v2
const-string v3, "file"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
iget-object v2, p0, Lcom/android/camera/gallery/UriImage;->mUri:Landroid/net/Uri;
invoke-virtual {v2}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object v1
.local v1, "path":Ljava/lang/String;
new-instance v2, Ljava/io/File;
invoke-direct {v2, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
const/high16 v3, 0x10000000
invoke-static {v2, v3}, Landroid/os/ParcelFileDescriptor;->open(Ljava/io/File;I)Landroid/os/ParcelFileDescriptor;
move-result-object v2
.end local v1 # "path":Ljava/lang/String;
:goto_0
return-object v2
:cond_0
iget-object v2, p0, Lcom/android/camera/gallery/UriImage;->mContentResolver:Landroid/content/ContentResolver;
iget-object v3, p0, Lcom/android/camera/gallery/UriImage;->mUri:Landroid/net/Uri;
const-string v4, "r"
invoke-virtual {v2, v3, v4}, Landroid/content/ContentResolver;->openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
:try_end_0
.catch Ljava/io/FileNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
move-result-object v2
goto :goto_0
:catch_0
move-exception v0
.local v0, "ex":Ljava/io/FileNotFoundException;
const/4 v2, 0x0
goto :goto_0
.end method
.method private snifBitmapOptions()Landroid/graphics/BitmapFactory$Options;
.locals 4
.prologue
invoke-direct {p0}, Lcom/android/camera/gallery/UriImage;->getPFD()Landroid/os/ParcelFileDescriptor;
move-result-object v0
.local v0, "input":Landroid/os/ParcelFileDescriptor;
if-nez v0, :cond_0
const/4 v1, 0x0
:goto_0
return-object v1
:cond_0
:try_start_0
new-instance v1, Landroid/graphics/BitmapFactory$Options;
invoke-direct {v1}, Landroid/graphics/BitmapFactory$Options;-><init>()V
.local v1, "options":Landroid/graphics/BitmapFactory$Options;
const/4 v2, 0x1
iput-boolean v2, v1, Landroid/graphics/BitmapFactory$Options;->inJustDecodeBounds:Z
invoke-static {}, Lcom/android/camera/BitmapManager;->instance()Lcom/android/camera/BitmapManager;
move-result-object v2
invoke-virtual {v0}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
move-result-object v3
invoke-virtual {v2, v3, v1}, Lcom/android/camera/BitmapManager;->decodeFileDescriptor(Ljava/io/FileDescriptor;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-static {v0}, Lcom/android/camera/Util;->closeSilently(Landroid/os/ParcelFileDescriptor;)V
goto :goto_0
.end local v1 # "options":Landroid/graphics/BitmapFactory$Options;
:catchall_0
move-exception v2
invoke-static {v0}, Lcom/android/camera/Util;->closeSilently(Landroid/os/ParcelFileDescriptor;)V
throw v2
.end method
# virtual methods
.method public fullSizeBitmap(II)Landroid/graphics/Bitmap;
.locals 2
.param p1, "minSideLength" # I
.param p2, "maxNumberOfPixels" # I
.prologue
const/4 v0, 0x1
const/4 v1, 0x0
invoke-virtual {p0, p1, p2, v0, v1}, Lcom/android/camera/gallery/UriImage;->fullSizeBitmap(IIZZ)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public fullSizeBitmap(IIZ)Landroid/graphics/Bitmap;
.locals 1
.param p1, "minSideLength" # I
.param p2, "maxNumberOfPixels" # I
.param p3, "rotateAsNeeded" # Z
.prologue
const/4 v0, 0x0
invoke-virtual {p0, p1, p2, p3, v0}, Lcom/android/camera/gallery/UriImage;->fullSizeBitmap(IIZZ)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public fullSizeBitmap(IIZZ)Landroid/graphics/Bitmap;
.locals 5
.param p1, "minSideLength" # I
.param p2, "maxNumberOfPixels" # I
.param p3, "rotateAsNeeded" # Z
.param p4, "useNative" # Z
.prologue
:try_start_0
invoke-direct {p0}, Lcom/android/camera/gallery/UriImage;->getPFD()Landroid/os/ParcelFileDescriptor;
move-result-object v2
.local v2, "pfdInput":Landroid/os/ParcelFileDescriptor;
invoke-static {p1, p2, v2, p4}, Lcom/android/camera/Util;->makeBitmap(IILandroid/os/ParcelFileDescriptor;Z)Landroid/graphics/Bitmap;
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
move-result-object v0
.end local v2 # "pfdInput":Landroid/os/ParcelFileDescriptor;
:goto_0
return-object v0
:catch_0
move-exception v1
.local v1, "ex":Ljava/lang/Exception;
const-string v3, "UriImage"
const-string v4, "got exception decoding bitmap "
invoke-static {v3, v4, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
const/4 v0, 0x0
goto :goto_0
.end method
.method public fullSizeImageData()Ljava/io/InputStream;
.locals 1
.prologue
invoke-direct {p0}, Lcom/android/camera/gallery/UriImage;->getInputStream()Ljava/io/InputStream;
move-result-object v0
return-object v0
.end method
.method public fullSizeImageUri()Landroid/net/Uri;
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/UriImage;->mUri:Landroid/net/Uri;
return-object v0
.end method
.method public getContainer()Lcom/android/camera/gallery/IImageList;
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/UriImage;->mContainer:Lcom/android/camera/gallery/IImageList;
return-object v0
.end method
.method public getDataPath()Ljava/lang/String;
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/UriImage;->mUri:Landroid/net/Uri;
invoke-virtual {v0}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public getDateTaken()J
.locals 2
.prologue
const-wide/16 v0, 0x0
return-wide v0
.end method
.method public getDegreesRotated()I
.locals 1
.prologue
const/4 v0, 0x0
return v0
.end method
.method public getHeight()I
.locals 2
.prologue
invoke-direct {p0}, Lcom/android/camera/gallery/UriImage;->snifBitmapOptions()Landroid/graphics/BitmapFactory$Options;
move-result-object v0
.local v0, "options":Landroid/graphics/BitmapFactory$Options;
if-eqz v0, :cond_0
iget v1, v0, Landroid/graphics/BitmapFactory$Options;->outHeight:I
:goto_0
return v1
:cond_0
const/4 v1, 0x0
goto :goto_0
.end method
.method public getMimeType()Ljava/lang/String;
.locals 2
.prologue
invoke-direct {p0}, Lcom/android/camera/gallery/UriImage;->snifBitmapOptions()Landroid/graphics/BitmapFactory$Options;
move-result-object v0
.local v0, "options":Landroid/graphics/BitmapFactory$Options;
if-eqz v0, :cond_0
iget-object v1, v0, Landroid/graphics/BitmapFactory$Options;->outMimeType:Ljava/lang/String;
if-eqz v1, :cond_0
iget-object v1, v0, Landroid/graphics/BitmapFactory$Options;->outMimeType:Ljava/lang/String;
:goto_0
return-object v1
:cond_0
const-string v1, ""
goto :goto_0
.end method
.method public getTitle()Ljava/lang/String;
.locals 1
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/UriImage;->mUri:Landroid/net/Uri;
invoke-virtual {v0}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public getWidth()I
.locals 2
.prologue
invoke-direct {p0}, Lcom/android/camera/gallery/UriImage;->snifBitmapOptions()Landroid/graphics/BitmapFactory$Options;
move-result-object v0
.local v0, "options":Landroid/graphics/BitmapFactory$Options;
if-eqz v0, :cond_0
iget v1, v0, Landroid/graphics/BitmapFactory$Options;->outWidth:I
:goto_0
return v1
:cond_0
const/4 v1, 0x0
goto :goto_0
.end method
.method public isDrm()Z
.locals 1
.prologue
const/4 v0, 0x0
return v0
.end method
.method public isReadonly()Z
.locals 1
.prologue
const/4 v0, 0x1
return v0
.end method
.method public miniThumbBitmap()Landroid/graphics/Bitmap;
.locals 1
.prologue
const/4 v0, 0x1
invoke-virtual {p0, v0}, Lcom/android/camera/gallery/UriImage;->thumbBitmap(Z)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public rotateImageBy(I)Z
.locals 1
.param p1, "degrees" # I
.prologue
const/4 v0, 0x0
return v0
.end method
.method public thumbBitmap(Z)Landroid/graphics/Bitmap;
.locals 2
.param p1, "rotateAsNeeded" # Z
.prologue
const/16 v0, 0x140
const/high16 v1, 0x30000
invoke-virtual {p0, v0, v1, p1}, Lcom/android/camera/gallery/UriImage;->fullSizeBitmap(IIZ)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method

View file

@ -1,418 +0,0 @@
.class public Lcom/android/camera/gallery/VideoList;
.super Lcom/android/camera/gallery/BaseImageList;
.source "VideoList.java"
# static fields
.field private static final INDEX_DATA_PATH:I = 0x1
.field private static final INDEX_DATE_MODIFIED:I = 0x6
.field private static final INDEX_DATE_TAKEN:I = 0x2
.field private static final INDEX_ID:I = 0x0
.field private static final INDEX_MIME_TYPE:I = 0x5
.field private static final INDEX_MIMI_THUMB_MAGIC:I = 0x4
.field private static final INDEX_TITLE:I = 0x3
.field private static final TAG:Ljava/lang/String; = "BaseImageList"
.field private static final VIDEO_PROJECTION:[Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.locals 3
.prologue
const/4 v0, 0x7
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "_id"
aput-object v2, v0, v1
const/4 v1, 0x1
const-string v2, "_data"
aput-object v2, v0, v1
const/4 v1, 0x2
const-string v2, "datetaken"
aput-object v2, v0, v1
const/4 v1, 0x3
const-string v2, "title"
aput-object v2, v0, v1
const/4 v1, 0x4
const-string v2, "mini_thumb_magic"
aput-object v2, v0, v1
const/4 v1, 0x5
const-string v2, "mime_type"
aput-object v2, v0, v1
const/4 v1, 0x6
const-string v2, "date_modified"
aput-object v2, v0, v1
sput-object v0, Lcom/android/camera/gallery/VideoList;->VIDEO_PROJECTION:[Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroid/content/ContentResolver;Landroid/net/Uri;ILjava/lang/String;)V
.locals 0
.param p1, "resolver" # Landroid/content/ContentResolver;
.param p2, "uri" # Landroid/net/Uri;
.param p3, "sort" # I
.param p4, "bucketId" # Ljava/lang/String;
.prologue
invoke-direct {p0, p1, p2, p3, p4}, Lcom/android/camera/gallery/BaseImageList;-><init>(Landroid/content/ContentResolver;Landroid/net/Uri;ILjava/lang/String;)V
return-void
.end method
# virtual methods
.method protected createCursor()Landroid/database/Cursor;
.locals 7
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/VideoList;->mContentResolver:Landroid/content/ContentResolver;
iget-object v1, p0, Lcom/android/camera/gallery/VideoList;->mBaseUri:Landroid/net/Uri;
sget-object v2, Lcom/android/camera/gallery/VideoList;->VIDEO_PROJECTION:[Ljava/lang/String;
invoke-virtual {p0}, Lcom/android/camera/gallery/VideoList;->whereClause()Ljava/lang/String;
move-result-object v3
invoke-virtual {p0}, Lcom/android/camera/gallery/VideoList;->whereClauseArgs()[Ljava/lang/String;
move-result-object v4
invoke-virtual {p0}, Lcom/android/camera/gallery/VideoList;->sortOrder()Ljava/lang/String;
move-result-object v5
invoke-static/range {v0 .. v5}, Landroid/provider/MediaStore$Images$Media;->query(Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v6
.local v6, "c":Landroid/database/Cursor;
return-object v6
.end method
.method public getBucketIds()Ljava/util/HashMap;
.locals 8
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.prologue
const/4 v5, 0x1
const/4 v4, 0x0
iget-object v0, p0, Lcom/android/camera/gallery/VideoList;->mBaseUri:Landroid/net/Uri;
invoke-virtual {v0}, Landroid/net/Uri;->buildUpon()Landroid/net/Uri$Builder;
move-result-object v0
const-string v2, "distinct"
const-string v3, "true"
invoke-virtual {v0, v2, v3}, Landroid/net/Uri$Builder;->appendQueryParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object v0
invoke-virtual {v0}, Landroid/net/Uri$Builder;->build()Landroid/net/Uri;
move-result-object v1
.local v1, "uri":Landroid/net/Uri;
iget-object v0, p0, Lcom/android/camera/gallery/VideoList;->mContentResolver:Landroid/content/ContentResolver;
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/String;
const-string v3, "bucket_display_name"
aput-object v3, v2, v4
const-string v3, "bucket_id"
aput-object v3, v2, v5
invoke-virtual {p0}, Lcom/android/camera/gallery/VideoList;->whereClause()Ljava/lang/String;
move-result-object v3
invoke-virtual {p0}, Lcom/android/camera/gallery/VideoList;->whereClauseArgs()[Ljava/lang/String;
move-result-object v4
invoke-virtual {p0}, Lcom/android/camera/gallery/VideoList;->sortOrder()Ljava/lang/String;
move-result-object v5
invoke-static/range {v0 .. v5}, Landroid/provider/MediaStore$Images$Media;->query(Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v6
.local v6, "c":Landroid/database/Cursor;
:try_start_0
new-instance v7, Ljava/util/HashMap;
invoke-direct {v7}, Ljava/util/HashMap;-><init>()V
.local v7, "hash":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;"
:goto_0
invoke-interface {v6}, Landroid/database/Cursor;->moveToNext()Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, 0x1
invoke-interface {v6, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v0
const/4 v2, 0x0
invoke-interface {v6, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v7, v0, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
.end local v7 # "hash":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;"
:catchall_0
move-exception v0
invoke-interface {v6}, Landroid/database/Cursor;->close()V
throw v0
.restart local v7 # "hash":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;"
:cond_0
invoke-interface {v6}, Landroid/database/Cursor;->close()V
return-object v7
.end method
.method protected getImageId(Landroid/database/Cursor;)J
.locals 2
.param p1, "cursor" # Landroid/database/Cursor;
.prologue
const/4 v0, 0x0
invoke-interface {p1, v0}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v0
return-wide v0
.end method
.method protected loadImageFromCursor(Landroid/database/Cursor;)Lcom/android/camera/gallery/BaseImage;
.locals 18
.param p1, "cursor" # Landroid/database/Cursor;
.prologue
const/4 v2, 0x0
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v6
.local v6, "id":J
const/4 v2, 0x1
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v10
.local v10, "dataPath":Ljava/lang/String;
const/4 v2, 0x2
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v12
.local v12, "dateTaken":J
const-wide/16 v2, 0x0
cmp-long v2, v12, v2
if-nez v2, :cond_0
const/4 v2, 0x6
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v2
const-wide/16 v4, 0x3e8
mul-long v12, v2, v4
:cond_0
const/4 v2, 0x4
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v16
.local v16, "miniThumbMagic":J
const/4 v2, 0x3
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v14
.local v14, "title":Ljava/lang/String;
const/4 v2, 0x5
move-object/from16 v0, p1
invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v11
.local v11, "mimeType":Ljava/lang/String;
if-eqz v14, :cond_1
invoke-virtual {v14}, Ljava/lang/String;->length()I
move-result v2
if-nez v2, :cond_2
:cond_1
move-object v14, v10
:cond_2
new-instance v3, Lcom/android/camera/gallery/VideoObject;
move-object/from16 v0, p0
iget-object v5, v0, Lcom/android/camera/gallery/VideoList;->mContentResolver:Landroid/content/ContentResolver;
invoke-interface/range {p1 .. p1}, Landroid/database/Cursor;->getPosition()I
move-result v8
move-object/from16 v0, p0
invoke-virtual {v0, v6, v7}, Lcom/android/camera/gallery/VideoList;->contentUri(J)Landroid/net/Uri;
move-result-object v9
move-object/from16 v4, p0
invoke-direct/range {v3 .. v14}, Lcom/android/camera/gallery/VideoObject;-><init>(Lcom/android/camera/gallery/BaseImageList;Landroid/content/ContentResolver;JILandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;)V
return-object v3
.end method
.method protected whereClause()Ljava/lang/String;
.locals 2
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/VideoList;->mBucketId:Ljava/lang/String;
if-eqz v0, :cond_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "bucket_id = \'"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/android/camera/gallery/VideoList;->mBucketId:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "\'"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:goto_0
return-object v0
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method protected whereClauseArgs()[Ljava/lang/String;
.locals 1
.prologue
const/4 v0, 0x0
return-object v0
.end method

View file

@ -1,269 +0,0 @@
.class public Lcom/android/camera/gallery/VideoObject;
.super Lcom/android/camera/gallery/BaseImage;
.source "VideoObject.java"
# interfaces
.implements Lcom/android/camera/gallery/IImage;
# static fields
.field private static final TAG:Ljava/lang/String; = "VideoObject"
# direct methods
.method protected constructor <init>(Lcom/android/camera/gallery/BaseImageList;Landroid/content/ContentResolver;JILandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;)V
.locals 1
.param p1, "container" # Lcom/android/camera/gallery/BaseImageList;
.param p2, "cr" # Landroid/content/ContentResolver;
.param p3, "id" # J
.param p5, "index" # I
.param p6, "uri" # Landroid/net/Uri;
.param p7, "dataPath" # Ljava/lang/String;
.param p8, "mimeType" # Ljava/lang/String;
.param p9, "dateTaken" # J
.param p11, "title" # Ljava/lang/String;
.prologue
invoke-direct/range {p0 .. p11}, Lcom/android/camera/gallery/BaseImage;-><init>(Lcom/android/camera/gallery/BaseImageList;Landroid/content/ContentResolver;JILandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;)V
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 2
.param p1, "other" # Ljava/lang/Object;
.prologue
if-eqz p1, :cond_0
instance-of v0, p1, Lcom/android/camera/gallery/VideoObject;
if-nez v0, :cond_1
:cond_0
const/4 v0, 0x0
.end local p1 # "other":Ljava/lang/Object;
:goto_0
return v0
.restart local p1 # "other":Ljava/lang/Object;
:cond_1
invoke-virtual {p0}, Lcom/android/camera/gallery/VideoObject;->fullSizeImageUri()Landroid/net/Uri;
move-result-object v0
check-cast p1, Lcom/android/camera/gallery/VideoObject;
.end local p1 # "other":Ljava/lang/Object;
invoke-virtual {p1}, Lcom/android/camera/gallery/VideoObject;->fullSizeImageUri()Landroid/net/Uri;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/net/Uri;->equals(Ljava/lang/Object;)Z
move-result v0
goto :goto_0
.end method
.method public fullSizeBitmap(IIZZ)Landroid/graphics/Bitmap;
.locals 2
.param p1, "minSideLength" # I
.param p2, "maxNumberOfPixels" # I
.param p3, "rotateAsNeeded" # Z
.param p4, "useNative" # Z
.prologue
iget-object v0, p0, Lcom/android/camera/gallery/VideoObject;->mDataPath:Ljava/lang/String;
const/4 v1, 0x1
invoke-static {v0, v1}, Landroid/media/ThumbnailUtils;->createVideoThumbnail(Ljava/lang/String;I)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public fullSizeImageData()Ljava/io/InputStream;
.locals 4
.prologue
:try_start_0
iget-object v2, p0, Lcom/android/camera/gallery/VideoObject;->mContentResolver:Landroid/content/ContentResolver;
invoke-virtual {p0}, Lcom/android/camera/gallery/VideoObject;->fullSizeImageUri()Landroid/net/Uri;
move-result-object v3
invoke-virtual {v2, v3}, Landroid/content/ContentResolver;->openInputStream(Landroid/net/Uri;)Ljava/io/InputStream;
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
move-result-object v1
:goto_0
return-object v1
:catch_0
move-exception v0
.local v0, "ex":Ljava/io/IOException;
const/4 v1, 0x0
goto :goto_0
.end method
.method public getHeight()I
.locals 1
.prologue
const/4 v0, 0x0
return v0
.end method
.method public getWidth()I
.locals 1
.prologue
const/4 v0, 0x0
return v0
.end method
.method public hashCode()I
.locals 1
.prologue
invoke-virtual {p0}, Lcom/android/camera/gallery/VideoObject;->fullSizeImageUri()Landroid/net/Uri;
move-result-object v0
invoke-virtual {v0}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v0
return v0
.end method
.method public isDrm()Z
.locals 1
.prologue
const/4 v0, 0x0
return v0
.end method
.method public isReadonly()Z
.locals 1
.prologue
const/4 v0, 0x0
return v0
.end method
.method public miniThumbBitmap()Landroid/graphics/Bitmap;
.locals 9
.prologue
const/4 v8, 0x0
:try_start_0
iget-wide v2, p0, Lcom/android/camera/gallery/VideoObject;->mId:J
.local v2, "id":J
invoke-static {}, Lcom/android/camera/BitmapManager;->instance()Lcom/android/camera/BitmapManager;
move-result-object v0
iget-object v1, p0, Lcom/android/camera/gallery/VideoObject;->mContentResolver:Landroid/content/ContentResolver;
const/4 v4, 0x3
const/4 v5, 0x0
const/4 v6, 0x1
invoke-virtual/range {v0 .. v6}, Lcom/android/camera/BitmapManager;->getThumbnail(Landroid/content/ContentResolver;JILandroid/graphics/BitmapFactory$Options;Z)Landroid/graphics/Bitmap;
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
move-result-object v0
.end local v2 # "id":J
:goto_0
return-object v0
:catch_0
move-exception v7
.local v7, "ex":Ljava/lang/Throwable;
const-string v0, "VideoObject"
const-string v1, "miniThumbBitmap got exception"
invoke-static {v0, v1, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
move-object v0, v8
goto :goto_0
.end method
.method public rotateImageBy(I)Z
.locals 1
.param p1, "degrees" # I
.prologue
const/4 v0, 0x0
return v0
.end method
.method public thumbBitmap(Z)Landroid/graphics/Bitmap;
.locals 2
.param p1, "rotateAsNeeded" # Z
.prologue
const/16 v0, 0x140
const/high16 v1, 0x30000
invoke-virtual {p0, v0, v1}, Lcom/android/camera/gallery/VideoObject;->fullSizeBitmap(II)Landroid/graphics/Bitmap;
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 4
.prologue
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "VideoObject"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-wide v2, p0, Lcom/android/camera/gallery/VideoObject;->mId:J
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,12 @@
.class public final Lcom/android/installreferrer/R;
.super Ljava/lang/Object;
# direct methods
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View file

@ -0,0 +1,2 @@
.class public interface abstract Lcom/android/installreferrer/a/a;
.super Ljava/lang/Object;