.class public abstract Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache; .super Ljava/lang/Object; .source "BaseDiskCache.java" # interfaces .implements Lcom/nostra13/universalimageloader/cache/disc/DiskCache; # static fields .field public static final DEFAULT_BUFFER_SIZE:I = 0x8000 .field public static final DEFAULT_COMPRESS_FORMAT:Landroid/graphics/Bitmap$CompressFormat; .field public static final DEFAULT_COMPRESS_QUALITY:I = 0x64 .field private static final ERROR_ARG_NULL:Ljava/lang/String; = " argument must be not null" .field private static final TEMP_IMAGE_POSTFIX:Ljava/lang/String; = ".tmp" # instance fields .field protected bufferSize:I .field protected final cacheDir:Ljava/io/File; .field protected compressFormat:Landroid/graphics/Bitmap$CompressFormat; .field protected compressQuality:I .field protected final fileNameGenerator:Lcom/nostra13/universalimageloader/cache/disc/naming/FileNameGenerator; .field protected final reserveCacheDir:Ljava/io/File; # direct methods .method static constructor ()V .registers 1 .line 42 sget-object v0, Landroid/graphics/Bitmap$CompressFormat;->PNG:Landroid/graphics/Bitmap$CompressFormat; sput-object v0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->DEFAULT_COMPRESS_FORMAT:Landroid/graphics/Bitmap$CompressFormat; return-void .end method .method public constructor (Ljava/io/File;)V .registers 3 const/4 v0, 0x0 .line 61 invoke-direct {p0, p1, v0}, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->(Ljava/io/File;Ljava/io/File;)V return-void .end method .method public constructor (Ljava/io/File;Ljava/io/File;)V .registers 4 .line 69 invoke-static {}, Lcom/nostra13/universalimageloader/core/DefaultConfigurationFactory;->createFileNameGenerator()Lcom/nostra13/universalimageloader/cache/disc/naming/FileNameGenerator; move-result-object v0 invoke-direct {p0, p1, p2, v0}, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->(Ljava/io/File;Ljava/io/File;Lcom/nostra13/universalimageloader/cache/disc/naming/FileNameGenerator;)V return-void .end method .method public constructor (Ljava/io/File;Ljava/io/File;Lcom/nostra13/universalimageloader/cache/disc/naming/FileNameGenerator;)V .registers 5 .line 78 invoke-direct {p0}, Ljava/lang/Object;->()V const v0, 0x8000 .line 54 iput v0, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->bufferSize:I .line 56 sget-object v0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->DEFAULT_COMPRESS_FORMAT:Landroid/graphics/Bitmap$CompressFormat; iput-object v0, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->compressFormat:Landroid/graphics/Bitmap$CompressFormat; const/16 v0, 0x64 .line 57 iput v0, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->compressQuality:I if-eqz p1, :cond_23 if-eqz p3, :cond_1b .line 86 iput-object p1, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->cacheDir:Ljava/io/File; .line 87 iput-object p2, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->reserveCacheDir:Ljava/io/File; .line 88 iput-object p3, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->fileNameGenerator:Lcom/nostra13/universalimageloader/cache/disc/naming/FileNameGenerator; return-void .line 83 :cond_1b new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "fileNameGenerator argument must be not null" invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .line 80 :cond_23 new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "cacheDir argument must be not null" invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method # virtual methods .method public clear()V .registers 5 .line 157 iget-object v0, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->cacheDir:Ljava/io/File; invoke-virtual {v0}, Ljava/io/File;->listFiles()[Ljava/io/File; move-result-object v0 if-eqz v0, :cond_14 .line 159 array-length v1, v0 const/4 v2, 0x0 :goto_a if-ge v2, v1, :cond_14 aget-object v3, v0, v2 .line 160 invoke-virtual {v3}, Ljava/io/File;->delete()Z add-int/lit8 v2, v2, 0x1 goto :goto_a :cond_14 return-void .end method .method public close()V .registers 1 return-void .end method .method public get(Ljava/lang/String;)Ljava/io/File; .registers 2 .line 98 invoke-virtual {p0, p1}, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->getFile(Ljava/lang/String;)Ljava/io/File; move-result-object p1 return-object p1 .end method .method public getDirectory()Ljava/io/File; .registers 2 .line 93 iget-object v0, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->cacheDir:Ljava/io/File; return-object v0 .end method .method protected getFile(Ljava/lang/String;)Ljava/io/File; .registers 4 .line 167 iget-object v0, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->fileNameGenerator:Lcom/nostra13/universalimageloader/cache/disc/naming/FileNameGenerator; invoke-interface {v0, p1}, Lcom/nostra13/universalimageloader/cache/disc/naming/FileNameGenerator;->generate(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 .line 168 iget-object v0, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->cacheDir:Ljava/io/File; .line 169 invoke-virtual {v0}, Ljava/io/File;->exists()Z move-result v1 if-nez v1, :cond_2a iget-object v1, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->cacheDir:Ljava/io/File; invoke-virtual {v1}, Ljava/io/File;->mkdirs()Z move-result v1 if-nez v1, :cond_2a .line 170 iget-object v1, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->reserveCacheDir:Ljava/io/File; if-eqz v1, :cond_2a invoke-virtual {v1}, Ljava/io/File;->exists()Z move-result v1 if-nez v1, :cond_28 iget-object v1, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->reserveCacheDir:Ljava/io/File; invoke-virtual {v1}, Ljava/io/File;->mkdirs()Z move-result v1 if-eqz v1, :cond_2a .line 171 :cond_28 iget-object v0, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->reserveCacheDir:Ljava/io/File; .line 174 :cond_2a new-instance v1, Ljava/io/File; invoke-direct {v1, v0, p1}, Ljava/io/File;->(Ljava/io/File;Ljava/lang/String;)V return-object v1 .end method .method public remove(Ljava/lang/String;)Z .registers 2 .line 147 invoke-virtual {p0, p1}, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->getFile(Ljava/lang/String;)Ljava/io/File; move-result-object p1 invoke-virtual {p1}, Ljava/io/File;->delete()Z move-result p1 return p1 .end method .method public save(Ljava/lang/String;Landroid/graphics/Bitmap;)Z .registers 7 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 126 invoke-virtual {p0, p1}, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->getFile(Ljava/lang/String;)Ljava/io/File; move-result-object p1 .line 127 new-instance v0, Ljava/io/File; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {p1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, ".tmp" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/io/File;->(Ljava/lang/String;)V .line 128 new-instance v1, Ljava/io/BufferedOutputStream; new-instance v2, Ljava/io/FileOutputStream; invoke-direct {v2, v0}, Ljava/io/FileOutputStream;->(Ljava/io/File;)V iget v3, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->bufferSize:I invoke-direct {v1, v2, v3}, Ljava/io/BufferedOutputStream;->(Ljava/io/OutputStream;I)V .line 131 :try_start_2c iget-object v2, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->compressFormat:Landroid/graphics/Bitmap$CompressFormat; iget v3, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->compressQuality:I invoke-virtual {p2, v2, v3, v1}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z move-result v2 :try_end_34 .catchall {:try_start_2c .. :try_end_34} :catchall_49 .line 133 invoke-static {v1}, Lcom/nostra13/universalimageloader/utils/IoUtils;->closeSilently(Ljava/io/Closeable;)V if-eqz v2, :cond_40 .line 134 invoke-virtual {v0, p1}, Ljava/io/File;->renameTo(Ljava/io/File;)Z move-result p1 if-nez p1, :cond_40 const/4 v2, 0x0 :cond_40 if-nez v2, :cond_45 .line 138 invoke-virtual {v0}, Ljava/io/File;->delete()Z .line 141 :cond_45 invoke-virtual {p2}, Landroid/graphics/Bitmap;->recycle()V return v2 :catchall_49 move-exception p1 .line 133 invoke-static {v1}, Lcom/nostra13/universalimageloader/utils/IoUtils;->closeSilently(Ljava/io/Closeable;)V .line 138 invoke-virtual {v0}, Ljava/io/File;->delete()Z throw p1 .end method .method public save(Ljava/lang/String;Ljava/io/InputStream;Lcom/nostra13/universalimageloader/utils/IoUtils$CopyListener;)Z .registers 9 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 103 invoke-virtual {p0, p1}, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->getFile(Ljava/lang/String;)Ljava/io/File; move-result-object p1 .line 104 new-instance v0, Ljava/io/File; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {p1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, ".tmp" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/io/File;->(Ljava/lang/String;)V const/4 v1, 0x0 .line 107 :try_start_21 new-instance v2, Ljava/io/BufferedOutputStream; new-instance v3, Ljava/io/FileOutputStream; invoke-direct {v3, v0}, Ljava/io/FileOutputStream;->(Ljava/io/File;)V iget v4, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->bufferSize:I invoke-direct {v2, v3, v4}, Ljava/io/BufferedOutputStream;->(Ljava/io/OutputStream;I)V :try_end_2d .catchall {:try_start_21 .. :try_end_2d} :catchall_4d .line 109 :try_start_2d iget v3, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->bufferSize:I invoke-static {p2, v2, p3, v3}, Lcom/nostra13/universalimageloader/utils/IoUtils;->copyStream(Ljava/io/InputStream;Ljava/io/OutputStream;Lcom/nostra13/universalimageloader/utils/IoUtils$CopyListener;I)Z move-result p2 :try_end_33 .catchall {:try_start_2d .. :try_end_33} :catchall_48 .line 111 :try_start_33 invoke-static {v2}, Lcom/nostra13/universalimageloader/utils/IoUtils;->closeSilently(Ljava/io/Closeable;)V :try_end_36 .catchall {:try_start_33 .. :try_end_36} :catchall_46 if-eqz p2, :cond_3f .line 114 invoke-virtual {v0, p1}, Ljava/io/File;->renameTo(Ljava/io/File;)Z move-result p1 if-nez p1, :cond_3f goto :goto_40 :cond_3f move v1, p2 :goto_40 if-nez v1, :cond_45 .line 118 invoke-virtual {v0}, Ljava/io/File;->delete()Z :cond_45 return v1 :catchall_46 move-exception p3 goto :goto_4f :catchall_48 move-exception p2 .line 111 :try_start_49 invoke-static {v2}, Lcom/nostra13/universalimageloader/utils/IoUtils;->closeSilently(Ljava/io/Closeable;)V throw p2 :try_end_4d .catchall {:try_start_49 .. :try_end_4d} :catchall_4d :catchall_4d move-exception p3 move p2, v1 :goto_4f if-eqz p2, :cond_58 .line 114 invoke-virtual {v0, p1}, Ljava/io/File;->renameTo(Ljava/io/File;)Z move-result p1 if-nez p1, :cond_58 goto :goto_59 :cond_58 move v1, p2 :goto_59 if-nez v1, :cond_5e .line 118 invoke-virtual {v0}, Ljava/io/File;->delete()Z :cond_5e throw p3 .end method .method public setBufferSize(I)V .registers 2 .line 178 iput p1, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->bufferSize:I return-void .end method .method public setCompressFormat(Landroid/graphics/Bitmap$CompressFormat;)V .registers 2 .line 182 iput-object p1, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->compressFormat:Landroid/graphics/Bitmap$CompressFormat; return-void .end method .method public setCompressQuality(I)V .registers 2 .line 186 iput p1, p0, Lcom/nostra13/universalimageloader/cache/disc/impl/BaseDiskCache;->compressQuality:I return-void .end method