.class final Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask; .super Ljava/lang/Object; .source "LoadAndDisplayImageTask.java" # interfaces .implements Ljava/lang/Runnable; .implements Lcom/nostra13/universalimageloader/utils/IoUtils$CopyListener; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException; } .end annotation # static fields .field private static final ERROR_NO_IMAGE_STREAM:Ljava/lang/String; = "No stream for image [%s]" .field private static final ERROR_POST_PROCESSOR_NULL:Ljava/lang/String; = "Post-processor returned null [%s]" .field private static final ERROR_PRE_PROCESSOR_NULL:Ljava/lang/String; = "Pre-processor returned null [%s]" .field private static final ERROR_PROCESSOR_FOR_DISK_CACHE_NULL:Ljava/lang/String; = "Bitmap processor for disk cache returned null [%s]" .field private static final LOG_CACHE_IMAGE_IN_MEMORY:Ljava/lang/String; = "Cache image in memory [%s]" .field private static final LOG_CACHE_IMAGE_ON_DISK:Ljava/lang/String; = "Cache image on disk [%s]" .field private static final LOG_DELAY_BEFORE_LOADING:Ljava/lang/String; = "Delay %d ms before loading... [%s]" .field private static final LOG_GET_IMAGE_FROM_MEMORY_CACHE_AFTER_WAITING:Ljava/lang/String; = "...Get cached bitmap from memory after waiting. [%s]" .field private static final LOG_LOAD_IMAGE_FROM_DISK_CACHE:Ljava/lang/String; = "Load image from disk cache [%s]" .field private static final LOG_LOAD_IMAGE_FROM_NETWORK:Ljava/lang/String; = "Load image from network [%s]" .field private static final LOG_POSTPROCESS_IMAGE:Ljava/lang/String; = "PostProcess image before displaying [%s]" .field private static final LOG_PREPROCESS_IMAGE:Ljava/lang/String; = "PreProcess image before caching in memory [%s]" .field private static final LOG_PROCESS_IMAGE_BEFORE_CACHE_ON_DISK:Ljava/lang/String; = "Process image before cache on disk [%s]" .field private static final LOG_RESIZE_CACHED_IMAGE_FILE:Ljava/lang/String; = "Resize image in disk cache [%s]" .field private static final LOG_RESUME_AFTER_PAUSE:Ljava/lang/String; = ".. Resume loading [%s]" .field private static final LOG_START_DISPLAY_IMAGE_TASK:Ljava/lang/String; = "Start display image task [%s]" .field private static final LOG_TASK_CANCELLED_IMAGEAWARE_COLLECTED:Ljava/lang/String; = "ImageAware was collected by GC. Task is cancelled. [%s]" .field private static final LOG_TASK_CANCELLED_IMAGEAWARE_REUSED:Ljava/lang/String; = "ImageAware is reused for another image. Task is cancelled. [%s]" .field private static final LOG_TASK_INTERRUPTED:Ljava/lang/String; = "Task was interrupted [%s]" .field private static final LOG_WAITING_FOR_IMAGE_LOADED:Ljava/lang/String; = "Image already is loading. Waiting... [%s]" .field private static final LOG_WAITING_FOR_RESUME:Ljava/lang/String; = "ImageLoader is paused. Waiting... [%s]" # instance fields .field private final configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; .field private final decoder:Lcom/nostra13/universalimageloader/core/decode/ImageDecoder; .field private final downloader:Lcom/nostra13/universalimageloader/core/download/ImageDownloader; .field private final engine:Lcom/nostra13/universalimageloader/core/ImageLoaderEngine; .field private final handler:Landroid/os/Handler; .field final imageAware:Lcom/nostra13/universalimageloader/core/imageaware/ImageAware; .field private final imageLoadingInfo:Lcom/nostra13/universalimageloader/core/ImageLoadingInfo; .field final listener:Lcom/nostra13/universalimageloader/core/listener/ImageLoadingListener; .field private loadedFrom:Lcom/nostra13/universalimageloader/core/assist/LoadedFrom; .field private final memoryCacheKey:Ljava/lang/String; .field private final networkDeniedDownloader:Lcom/nostra13/universalimageloader/core/download/ImageDownloader; .field final options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; .field final progressListener:Lcom/nostra13/universalimageloader/core/listener/ImageLoadingProgressListener; .field private final slowNetworkDownloader:Lcom/nostra13/universalimageloader/core/download/ImageDownloader; .field private final syncLoading:Z .field private final targetSize:Lcom/nostra13/universalimageloader/core/assist/ImageSize; .field final uri:Ljava/lang/String; # direct methods .method public constructor (Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;Lcom/nostra13/universalimageloader/core/ImageLoadingInfo;Landroid/os/Handler;)V .registers 5 .line 98 invoke-direct {p0}, Ljava/lang/Object;->()V .line 96 sget-object v0, Lcom/nostra13/universalimageloader/core/assist/LoadedFrom;->NETWORK:Lcom/nostra13/universalimageloader/core/assist/LoadedFrom; iput-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->loadedFrom:Lcom/nostra13/universalimageloader/core/assist/LoadedFrom; .line 99 iput-object p1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->engine:Lcom/nostra13/universalimageloader/core/ImageLoaderEngine; .line 100 iput-object p2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->imageLoadingInfo:Lcom/nostra13/universalimageloader/core/ImageLoadingInfo; .line 101 iput-object p3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->handler:Landroid/os/Handler; .line 103 iget-object p1, p1, Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;->configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; iput-object p1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; .line 104 iget-object p3, p1, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->downloader:Lcom/nostra13/universalimageloader/core/download/ImageDownloader; iput-object p3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->downloader:Lcom/nostra13/universalimageloader/core/download/ImageDownloader; .line 105 iget-object p3, p1, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->networkDeniedDownloader:Lcom/nostra13/universalimageloader/core/download/ImageDownloader; iput-object p3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->networkDeniedDownloader:Lcom/nostra13/universalimageloader/core/download/ImageDownloader; .line 106 iget-object p3, p1, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->slowNetworkDownloader:Lcom/nostra13/universalimageloader/core/download/ImageDownloader; iput-object p3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->slowNetworkDownloader:Lcom/nostra13/universalimageloader/core/download/ImageDownloader; .line 107 iget-object p1, p1, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->decoder:Lcom/nostra13/universalimageloader/core/decode/ImageDecoder; iput-object p1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->decoder:Lcom/nostra13/universalimageloader/core/decode/ImageDecoder; .line 108 iget-object p1, p2, Lcom/nostra13/universalimageloader/core/ImageLoadingInfo;->uri:Ljava/lang/String; iput-object p1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->uri:Ljava/lang/String; .line 109 iget-object p1, p2, Lcom/nostra13/universalimageloader/core/ImageLoadingInfo;->memoryCacheKey:Ljava/lang/String; iput-object p1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; .line 110 iget-object p1, p2, Lcom/nostra13/universalimageloader/core/ImageLoadingInfo;->imageAware:Lcom/nostra13/universalimageloader/core/imageaware/ImageAware; iput-object p1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->imageAware:Lcom/nostra13/universalimageloader/core/imageaware/ImageAware; .line 111 iget-object p1, p2, Lcom/nostra13/universalimageloader/core/ImageLoadingInfo;->targetSize:Lcom/nostra13/universalimageloader/core/assist/ImageSize; iput-object p1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->targetSize:Lcom/nostra13/universalimageloader/core/assist/ImageSize; .line 112 iget-object p1, p2, Lcom/nostra13/universalimageloader/core/ImageLoadingInfo;->options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; iput-object p1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; .line 113 iget-object p3, p2, Lcom/nostra13/universalimageloader/core/ImageLoadingInfo;->listener:Lcom/nostra13/universalimageloader/core/listener/ImageLoadingListener; iput-object p3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->listener:Lcom/nostra13/universalimageloader/core/listener/ImageLoadingListener; .line 114 iget-object p2, p2, Lcom/nostra13/universalimageloader/core/ImageLoadingInfo;->progressListener:Lcom/nostra13/universalimageloader/core/listener/ImageLoadingProgressListener; iput-object p2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->progressListener:Lcom/nostra13/universalimageloader/core/listener/ImageLoadingProgressListener; .line 115 invoke-virtual {p1}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions;->isSyncLoading()Z move-result p1 iput-boolean p1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->syncLoading:Z return-void .end method .method static synthetic access$000(Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;)Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; .registers 1 .line 51 iget-object p0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; return-object p0 .end method .method private checkTaskInterrupted()V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException; } .end annotation .line 445 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->isTaskInterrupted()Z move-result v0 if-nez v0, :cond_7 return-void .line 446 :cond_7 new-instance v0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException; invoke-direct {v0, p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException;->(Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;)V throw v0 .end method .method private checkTaskNotActual()V .registers 1 .annotation system Ldalvik/annotation/Throws; value = { Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException; } .end annotation .line 395 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->checkViewCollected()V .line 396 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->checkViewReused()V return-void .end method .method private checkViewCollected()V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException; } .end annotation .line 409 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->isViewCollected()Z move-result v0 if-nez v0, :cond_7 return-void .line 410 :cond_7 new-instance v0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException; invoke-direct {v0, p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException;->(Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;)V throw v0 .end method .method private checkViewReused()V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException; } .end annotation .line 425 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->isViewReused()Z move-result v0 if-nez v0, :cond_7 return-void .line 426 :cond_7 new-instance v0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException; invoke-direct {v0, p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException;->(Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;)V throw v0 .end method .method private decodeImage(Ljava/lang/String;)Landroid/graphics/Bitmap; .registers 11 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 262 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->imageAware:Lcom/nostra13/universalimageloader/core/imageaware/ImageAware; invoke-interface {v0}, Lcom/nostra13/universalimageloader/core/imageaware/ImageAware;->getScaleType()Lcom/nostra13/universalimageloader/core/assist/ViewScaleType; move-result-object v6 .line 263 new-instance v0, Lcom/nostra13/universalimageloader/core/decode/ImageDecodingInfo; iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; iget-object v4, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->uri:Ljava/lang/String; iget-object v5, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->targetSize:Lcom/nostra13/universalimageloader/core/assist/ImageSize; invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->getDownloader()Lcom/nostra13/universalimageloader/core/download/ImageDownloader; move-result-object v7 iget-object v8, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; move-object v1, v0 move-object v3, p1 invoke-direct/range {v1 .. v8}, Lcom/nostra13/universalimageloader/core/decode/ImageDecodingInfo;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/nostra13/universalimageloader/core/assist/ImageSize;Lcom/nostra13/universalimageloader/core/assist/ViewScaleType;Lcom/nostra13/universalimageloader/core/download/ImageDownloader;Lcom/nostra13/universalimageloader/core/DisplayImageOptions;)V .line 265 iget-object p1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->decoder:Lcom/nostra13/universalimageloader/core/decode/ImageDecoder; invoke-interface {p1, v0}, Lcom/nostra13/universalimageloader/core/decode/ImageDecoder;->decode(Lcom/nostra13/universalimageloader/core/decode/ImageDecodingInfo;)Landroid/graphics/Bitmap; move-result-object p1 return-object p1 .end method .method private delayIfNeed()Z .registers 3 .line 201 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; invoke-virtual {v0}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions;->shouldDelayBeforeLoading()Z move-result v0 if-eqz v0, :cond_39 .line 202 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; invoke-virtual {v0}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions;->getDelayBeforeLoading()I move-result v0 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 iget-object v1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v0, v1}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Delay %d ms before loading... [%s]" invoke-static {v1, v0}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V .line 204 :try_start_1d iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; invoke-virtual {v0}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions;->getDelayBeforeLoading()I move-result v0 int-to-long v0, v0 invoke-static {v0, v1}, Ljava/lang/Thread;->sleep(J)V :try_end_27 .catch Ljava/lang/InterruptedException; {:try_start_1d .. :try_end_27} :catch_2c .line 209 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->isTaskNotActual()Z move-result v0 return v0 .line 206 :catch_2c iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Task was interrupted [%s]" invoke-static {v1, v0}, Lcom/nostra13/universalimageloader/utils/L;->e(Ljava/lang/String;[Ljava/lang/Object;)V const/4 v0, 0x1 return v0 :cond_39 const/4 v0, 0x0 return v0 .end method .method private downloadImage()Z .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 291 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->getDownloader()Lcom/nostra13/universalimageloader/core/download/ImageDownloader; move-result-object v0 iget-object v1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->uri:Ljava/lang/String; iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; invoke-virtual {v2}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions;->getExtraForDownloader()Ljava/lang/Object; move-result-object v2 invoke-interface {v0, v1, v2}, Lcom/nostra13/universalimageloader/core/download/ImageDownloader;->getStream(Ljava/lang/String;Ljava/lang/Object;)Ljava/io/InputStream; move-result-object v0 if-nez v0, :cond_1f .line 293 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "No stream for image [%s]" invoke-static {v1, v0}, Lcom/nostra13/universalimageloader/utils/L;->e(Ljava/lang/String;[Ljava/lang/Object;)V const/4 v0, 0x0 return v0 .line 297 :cond_1f :try_start_1f iget-object v1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; iget-object v1, v1, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->diskCache:Lcom/nostra13/universalimageloader/cache/disc/DiskCache; iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->uri:Ljava/lang/String; invoke-interface {v1, v2, v0, p0}, Lcom/nostra13/universalimageloader/cache/disc/DiskCache;->save(Ljava/lang/String;Ljava/io/InputStream;Lcom/nostra13/universalimageloader/utils/IoUtils$CopyListener;)Z move-result v1 :try_end_29 .catchall {:try_start_1f .. :try_end_29} :catchall_2d .line 299 invoke-static {v0}, Lcom/nostra13/universalimageloader/utils/IoUtils;->closeSilently(Ljava/io/Closeable;)V return v1 :catchall_2d move-exception v1 invoke-static {v0}, Lcom/nostra13/universalimageloader/utils/IoUtils;->closeSilently(Ljava/io/Closeable;)V throw v1 .end method .method private fireCancelEvent()V .registers 5 .line 367 iget-boolean v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->syncLoading:Z if-nez v0, :cond_18 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->isTaskInterrupted()Z move-result v0 if-eqz v0, :cond_b goto :goto_18 .line 368 :cond_b new-instance v0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$3; invoke-direct {v0, p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$3;->(Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;)V .line 374 iget-object v1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->handler:Landroid/os/Handler; iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->engine:Lcom/nostra13/universalimageloader/core/ImageLoaderEngine; const/4 v3, 0x0 invoke-static {v0, v3, v1, v2}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->runTask(Ljava/lang/Runnable;ZLandroid/os/Handler;Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;)V :cond_18 :goto_18 return-void .end method .method private fireFailEvent(Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType;Ljava/lang/Throwable;)V .registers 5 .line 353 iget-boolean v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->syncLoading:Z if-nez v0, :cond_1e invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->isTaskInterrupted()Z move-result v0 if-nez v0, :cond_1e invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->isTaskNotActual()Z move-result v0 if-eqz v0, :cond_11 goto :goto_1e .line 354 :cond_11 new-instance v0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$2; invoke-direct {v0, p0, p1, p2}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$2;->(Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType;Ljava/lang/Throwable;)V .line 363 iget-object p1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->handler:Landroid/os/Handler; iget-object p2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->engine:Lcom/nostra13/universalimageloader/core/ImageLoaderEngine; const/4 v1, 0x0 invoke-static {v0, v1, p1, p2}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->runTask(Ljava/lang/Runnable;ZLandroid/os/Handler;Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;)V :cond_1e :goto_1e return-void .end method .method private fireProgressEvent(II)Z .registers 5 .line 339 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->isTaskInterrupted()Z move-result v0 const/4 v1, 0x0 if-nez v0, :cond_20 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->isTaskNotActual()Z move-result v0 if-eqz v0, :cond_e goto :goto_20 .line 340 :cond_e iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->progressListener:Lcom/nostra13/universalimageloader/core/listener/ImageLoadingProgressListener; if-eqz v0, :cond_1e .line 341 new-instance v0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$1; invoke-direct {v0, p0, p1, p2}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$1;->(Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;II)V .line 347 iget-object p1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->handler:Landroid/os/Handler; iget-object p2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->engine:Lcom/nostra13/universalimageloader/core/ImageLoaderEngine; invoke-static {v0, v1, p1, p2}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->runTask(Ljava/lang/Runnable;ZLandroid/os/Handler;Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;)V :cond_1e const/4 p1, 0x1 return p1 :cond_20 :goto_20 return v1 .end method .method private getDownloader()Lcom/nostra13/universalimageloader/core/download/ImageDownloader; .registers 2 .line 379 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->engine:Lcom/nostra13/universalimageloader/core/ImageLoaderEngine; invoke-virtual {v0}, Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;->isNetworkDenied()Z move-result v0 if-eqz v0, :cond_b .line 380 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->networkDeniedDownloader:Lcom/nostra13/universalimageloader/core/download/ImageDownloader; goto :goto_18 .line 381 :cond_b iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->engine:Lcom/nostra13/universalimageloader/core/ImageLoaderEngine; invoke-virtual {v0}, Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;->isSlowNetwork()Z move-result v0 if-eqz v0, :cond_16 .line 382 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->slowNetworkDownloader:Lcom/nostra13/universalimageloader/core/download/ImageDownloader; goto :goto_18 .line 384 :cond_16 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->downloader:Lcom/nostra13/universalimageloader/core/download/ImageDownloader; :goto_18 return-object v0 .end method .method private isTaskInterrupted()Z .registers 3 .line 452 invoke-static {}, Ljava/lang/Thread;->interrupted()Z move-result v0 if-eqz v0, :cond_13 .line 453 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Task was interrupted [%s]" invoke-static {v1, v0}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V const/4 v0, 0x1 return v0 :cond_13 const/4 v0, 0x0 return v0 .end method .method private isTaskNotActual()Z .registers 2 .line 404 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->isViewCollected()Z move-result v0 if-nez v0, :cond_f invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->isViewReused()Z move-result v0 if-eqz v0, :cond_d goto :goto_f :cond_d const/4 v0, 0x0 goto :goto_10 :cond_f :goto_f const/4 v0, 0x1 :goto_10 return v0 .end method .method private isViewCollected()Z .registers 3 .line 416 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->imageAware:Lcom/nostra13/universalimageloader/core/imageaware/ImageAware; invoke-interface {v0}, Lcom/nostra13/universalimageloader/core/imageaware/ImageAware;->isCollected()Z move-result v0 if-eqz v0, :cond_15 .line 417 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "ImageAware was collected by GC. Task is cancelled. [%s]" invoke-static {v1, v0}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V const/4 v0, 0x1 return v0 :cond_15 const/4 v0, 0x0 return v0 .end method .method private isViewReused()Z .registers 3 .line 432 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->engine:Lcom/nostra13/universalimageloader/core/ImageLoaderEngine; iget-object v1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->imageAware:Lcom/nostra13/universalimageloader/core/imageaware/ImageAware; invoke-virtual {v0, v1}, Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;->getLoadingUriForView(Lcom/nostra13/universalimageloader/core/imageaware/ImageAware;)Ljava/lang/String; move-result-object v0 .line 435 iget-object v1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_1d .line 437 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "ImageAware is reused for another image. Task is cancelled. [%s]" invoke-static {v1, v0}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V const/4 v0, 0x1 return v0 :cond_1d const/4 v0, 0x0 return v0 .end method .method private resizeAndSaveImage(II)Z .registers 13 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 308 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; iget-object v0, v0, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->diskCache:Lcom/nostra13/universalimageloader/cache/disc/DiskCache; iget-object v1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->uri:Ljava/lang/String; invoke-interface {v0, v1}, Lcom/nostra13/universalimageloader/cache/disc/DiskCache;->get(Ljava/lang/String;)Ljava/io/File; move-result-object v0 if-eqz v0, :cond_84 .line 309 invoke-virtual {v0}, Ljava/io/File;->exists()Z move-result v1 if-eqz v1, :cond_84 .line 310 new-instance v6, Lcom/nostra13/universalimageloader/core/assist/ImageSize; invoke-direct {v6, p1, p2}, Lcom/nostra13/universalimageloader/core/assist/ImageSize;->(II)V .line 311 new-instance p1, Lcom/nostra13/universalimageloader/core/DisplayImageOptions$Builder; invoke-direct {p1}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions$Builder;->()V iget-object p2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; invoke-virtual {p1, p2}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions$Builder;->cloneFrom(Lcom/nostra13/universalimageloader/core/DisplayImageOptions;)Lcom/nostra13/universalimageloader/core/DisplayImageOptions$Builder; move-result-object p1 sget-object p2, Lcom/nostra13/universalimageloader/core/assist/ImageScaleType;->IN_SAMPLE_INT:Lcom/nostra13/universalimageloader/core/assist/ImageScaleType; invoke-virtual {p1, p2}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions$Builder;->imageScaleType(Lcom/nostra13/universalimageloader/core/assist/ImageScaleType;)Lcom/nostra13/universalimageloader/core/DisplayImageOptions$Builder; move-result-object p1 invoke-virtual {p1}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions$Builder;->build()Lcom/nostra13/universalimageloader/core/DisplayImageOptions; move-result-object v9 .line 313 new-instance p1, Lcom/nostra13/universalimageloader/core/decode/ImageDecodingInfo; iget-object v3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; sget-object p2, Lcom/nostra13/universalimageloader/core/download/ImageDownloader$Scheme;->FILE:Lcom/nostra13/universalimageloader/core/download/ImageDownloader$Scheme; invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String; move-result-object v0 invoke-virtual {p2, v0}, Lcom/nostra13/universalimageloader/core/download/ImageDownloader$Scheme;->wrap(Ljava/lang/String;)Ljava/lang/String; move-result-object v4 iget-object v5, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->uri:Ljava/lang/String; sget-object v7, Lcom/nostra13/universalimageloader/core/assist/ViewScaleType;->FIT_INSIDE:Lcom/nostra13/universalimageloader/core/assist/ViewScaleType; invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->getDownloader()Lcom/nostra13/universalimageloader/core/download/ImageDownloader; move-result-object v8 move-object v2, p1 invoke-direct/range {v2 .. v9}, Lcom/nostra13/universalimageloader/core/decode/ImageDecodingInfo;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/nostra13/universalimageloader/core/assist/ImageSize;Lcom/nostra13/universalimageloader/core/assist/ViewScaleType;Lcom/nostra13/universalimageloader/core/download/ImageDownloader;Lcom/nostra13/universalimageloader/core/DisplayImageOptions;)V .line 316 iget-object p2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->decoder:Lcom/nostra13/universalimageloader/core/decode/ImageDecoder; invoke-interface {p2, p1}, Lcom/nostra13/universalimageloader/core/decode/ImageDecoder;->decode(Lcom/nostra13/universalimageloader/core/decode/ImageDecodingInfo;)Landroid/graphics/Bitmap; move-result-object p1 if-eqz p1, :cond_74 .line 317 iget-object p2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; iget-object p2, p2, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->processorForDiskCache:Lcom/nostra13/universalimageloader/core/process/BitmapProcessor; if-eqz p2, :cond_74 .line 318 iget-object p2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {p2}, [Ljava/lang/Object; move-result-object p2 const-string v0, "Process image before cache on disk [%s]" invoke-static {v0, p2}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V .line 319 iget-object p2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; iget-object p2, p2, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->processorForDiskCache:Lcom/nostra13/universalimageloader/core/process/BitmapProcessor; invoke-interface {p2, p1}, Lcom/nostra13/universalimageloader/core/process/BitmapProcessor;->process(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap; move-result-object p1 if-nez p1, :cond_74 .line 321 iget-object p2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {p2}, [Ljava/lang/Object; move-result-object p2 const-string v0, "Bitmap processor for disk cache returned null [%s]" invoke-static {v0, p2}, Lcom/nostra13/universalimageloader/utils/L;->e(Ljava/lang/String;[Ljava/lang/Object;)V :cond_74 if-eqz p1, :cond_84 .line 325 iget-object p2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; iget-object p2, p2, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->diskCache:Lcom/nostra13/universalimageloader/cache/disc/DiskCache; iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->uri:Ljava/lang/String; invoke-interface {p2, v0, p1}, Lcom/nostra13/universalimageloader/cache/disc/DiskCache;->save(Ljava/lang/String;Landroid/graphics/Bitmap;)Z move-result p2 .line 326 invoke-virtual {p1}, Landroid/graphics/Bitmap;->recycle()V goto :goto_85 :cond_84 const/4 p2, 0x0 :goto_85 return p2 .end method .method static runTask(Ljava/lang/Runnable;ZLandroid/os/Handler;Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;)V .registers 4 if-eqz p1, :cond_6 .line 465 invoke-interface {p0}, Ljava/lang/Runnable;->run()V goto :goto_f :cond_6 if-nez p2, :cond_c .line 467 invoke-virtual {p3, p0}, Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;->fireCallback(Ljava/lang/Runnable;)V goto :goto_f .line 469 :cond_c invoke-virtual {p2, p0}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z :goto_f return-void .end method .method private tryCacheImageOnDisk()Z .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException; } .end annotation .line 270 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Cache image on disk [%s]" invoke-static {v1, v0}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V .line 274 :try_start_b invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->downloadImage()Z move-result v0 if-eqz v0, :cond_31 .line 276 iget-object v1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; iget v1, v1, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->maxImageWidthForDiskCache:I .line 277 iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; iget v2, v2, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->maxImageHeightForDiskCache:I if-gtz v1, :cond_1d if-lez v2, :cond_31 .line 279 :cond_1d const-string v3, "Resize image in disk cache [%s]" iget-object v4, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v4}, [Ljava/lang/Object; move-result-object v4 invoke-static {v3, v4}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V .line 280 invoke-direct {p0, v1, v2}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->resizeAndSaveImage(II)Z :try_end_2b .catch Ljava/io/IOException; {:try_start_b .. :try_end_2b} :catch_2c goto :goto_31 :catch_2c move-exception v0 .line 284 invoke-static {v0}, Lcom/nostra13/universalimageloader/utils/L;->e(Ljava/lang/Throwable;)V const/4 v0, 0x0 :cond_31 :goto_31 return v0 .end method .method private tryLoadBitmap()Landroid/graphics/Bitmap; .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException; } .end annotation const/4 v0, 0x0 .line 217 :try_start_1 iget-object v1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; iget-object v1, v1, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->diskCache:Lcom/nostra13/universalimageloader/cache/disc/DiskCache; iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->uri:Ljava/lang/String; invoke-interface {v1, v2}, Lcom/nostra13/universalimageloader/cache/disc/DiskCache;->get(Ljava/lang/String;)Ljava/io/File; move-result-object v1 if-eqz v1, :cond_3e .line 218 invoke-virtual {v1}, Ljava/io/File;->exists()Z move-result v2 if-eqz v2, :cond_3e invoke-virtual {v1}, Ljava/io/File;->length()J move-result-wide v2 const-wide/16 v4, 0x0 cmp-long v2, v2, v4 if-lez v2, :cond_3e .line 219 const-string v2, "Load image from disk cache [%s]" iget-object v3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v3}, [Ljava/lang/Object; move-result-object v3 invoke-static {v2, v3}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V .line 220 sget-object v2, Lcom/nostra13/universalimageloader/core/assist/LoadedFrom;->DISC_CACHE:Lcom/nostra13/universalimageloader/core/assist/LoadedFrom; iput-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->loadedFrom:Lcom/nostra13/universalimageloader/core/assist/LoadedFrom; .line 222 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->checkTaskNotActual()V .line 223 sget-object v2, Lcom/nostra13/universalimageloader/core/download/ImageDownloader$Scheme;->FILE:Lcom/nostra13/universalimageloader/core/download/ImageDownloader$Scheme; invoke-virtual {v1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String; move-result-object v1 invoke-virtual {v2, v1}, Lcom/nostra13/universalimageloader/core/download/ImageDownloader$Scheme;->wrap(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 invoke-direct {p0, v1}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->decodeImage(Ljava/lang/String;)Landroid/graphics/Bitmap; move-result-object v1 :try_end_3d .catch Ljava/lang/IllegalStateException; {:try_start_1 .. :try_end_3d} :catch_cd .catch Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException; {:try_start_1 .. :try_end_3d} :catch_cb .catch Ljava/io/IOException; {:try_start_1 .. :try_end_3d} :catch_c0 .catch Ljava/lang/OutOfMemoryError; {:try_start_1 .. :try_end_3d} :catch_b6 .catchall {:try_start_1 .. :try_end_3d} :catchall_ac goto :goto_3f :cond_3e move-object v1, v0 :goto_3f if-eqz v1, :cond_4d .line 225 :try_start_41 invoke-virtual {v1}, Landroid/graphics/Bitmap;->getWidth()I move-result v2 if-lez v2, :cond_4d invoke-virtual {v1}, Landroid/graphics/Bitmap;->getHeight()I move-result v2 if-gtz v2, :cond_d3 .line 226 :cond_4d const-string v2, "Load image from network [%s]" iget-object v3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v3}, [Ljava/lang/Object; move-result-object v3 invoke-static {v2, v3}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V .line 227 sget-object v2, Lcom/nostra13/universalimageloader/core/assist/LoadedFrom;->NETWORK:Lcom/nostra13/universalimageloader/core/assist/LoadedFrom; iput-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->loadedFrom:Lcom/nostra13/universalimageloader/core/assist/LoadedFrom; .line 229 iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->uri:Ljava/lang/String; .line 230 iget-object v3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; invoke-virtual {v3}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions;->isCacheOnDisk()Z move-result v3 if-eqz v3, :cond_82 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->tryCacheImageOnDisk()Z move-result v3 if-eqz v3, :cond_82 .line 231 iget-object v3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; iget-object v3, v3, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->diskCache:Lcom/nostra13/universalimageloader/cache/disc/DiskCache; iget-object v4, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->uri:Ljava/lang/String; invoke-interface {v3, v4}, Lcom/nostra13/universalimageloader/cache/disc/DiskCache;->get(Ljava/lang/String;)Ljava/io/File; move-result-object v3 if-eqz v3, :cond_82 .line 233 sget-object v2, Lcom/nostra13/universalimageloader/core/download/ImageDownloader$Scheme;->FILE:Lcom/nostra13/universalimageloader/core/download/ImageDownloader$Scheme; invoke-virtual {v3}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Lcom/nostra13/universalimageloader/core/download/ImageDownloader$Scheme;->wrap(Ljava/lang/String;)Ljava/lang/String; move-result-object v2 .line 237 :cond_82 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->checkTaskNotActual()V .line 238 invoke-direct {p0, v2}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->decodeImage(Ljava/lang/String;)Landroid/graphics/Bitmap; move-result-object v1 if-eqz v1, :cond_97 .line 240 invoke-virtual {v1}, Landroid/graphics/Bitmap;->getWidth()I move-result v2 if-lez v2, :cond_97 invoke-virtual {v1}, Landroid/graphics/Bitmap;->getHeight()I move-result v2 if-gtz v2, :cond_d3 .line 241 :cond_97 sget-object v2, Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType;->DECODING_ERROR:Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType; invoke-direct {p0, v2, v0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->fireFailEvent(Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType;Ljava/lang/Throwable;)V :try_end_9c .catch Ljava/lang/IllegalStateException; {:try_start_41 .. :try_end_9c} :catch_ce .catch Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException; {:try_start_41 .. :try_end_9c} :catch_cb .catch Ljava/io/IOException; {:try_start_41 .. :try_end_9c} :catch_a7 .catch Ljava/lang/OutOfMemoryError; {:try_start_41 .. :try_end_9c} :catch_a2 .catchall {:try_start_41 .. :try_end_9c} :catchall_9d goto :goto_d3 :catchall_9d move-exception v0 move-object v6, v1 move-object v1, v0 move-object v0, v6 goto :goto_ad :catch_a2 move-exception v0 move-object v6, v1 move-object v1, v0 move-object v0, v6 goto :goto_b7 :catch_a7 move-exception v0 move-object v6, v1 move-object v1, v0 move-object v0, v6 goto :goto_c1 :catchall_ac move-exception v1 .line 255 :goto_ad invoke-static {v1}, Lcom/nostra13/universalimageloader/utils/L;->e(Ljava/lang/Throwable;)V .line 256 sget-object v2, Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType;->UNKNOWN:Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType; invoke-direct {p0, v2, v1}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->fireFailEvent(Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType;Ljava/lang/Throwable;)V goto :goto_c9 :catch_b6 move-exception v1 .line 252 :goto_b7 invoke-static {v1}, Lcom/nostra13/universalimageloader/utils/L;->e(Ljava/lang/Throwable;)V .line 253 sget-object v2, Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType;->OUT_OF_MEMORY:Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType; invoke-direct {p0, v2, v1}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->fireFailEvent(Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType;Ljava/lang/Throwable;)V goto :goto_c9 :catch_c0 move-exception v1 .line 249 :goto_c1 invoke-static {v1}, Lcom/nostra13/universalimageloader/utils/L;->e(Ljava/lang/Throwable;)V .line 250 sget-object v2, Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType;->IO_ERROR:Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType; invoke-direct {p0, v2, v1}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->fireFailEvent(Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType;Ljava/lang/Throwable;)V :goto_c9 move-object v1, v0 goto :goto_d3 :catch_cb move-exception v0 .line 247 throw v0 :catch_cd move-object v1, v0 .line 245 :catch_ce sget-object v2, Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType;->NETWORK_DENIED:Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType; invoke-direct {p0, v2, v0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->fireFailEvent(Lcom/nostra13/universalimageloader/core/assist/FailReason$FailType;Ljava/lang/Throwable;)V :cond_d3 :goto_d3 return-object v1 .end method .method private waitIfPaused()Z .registers 4 .line 181 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->engine:Lcom/nostra13/universalimageloader/core/ImageLoaderEngine; invoke-virtual {v0}, Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;->getPause()Ljava/util/concurrent/atomic/AtomicBoolean; move-result-object v0 .line 182 invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z move-result v1 if-eqz v1, :cond_4c .line 183 iget-object v1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->engine:Lcom/nostra13/universalimageloader/core/ImageLoaderEngine; invoke-virtual {v1}, Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;->getPauseLock()Ljava/lang/Object; move-result-object v1 monitor-enter v1 .line 184 :try_start_13 invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z move-result v0 if-eqz v0, :cond_47 .line 185 const-string v0, "ImageLoader is paused. Waiting... [%s]" iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v2}, [Ljava/lang/Object; move-result-object v2 invoke-static {v0, v2}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V :try_end_24 .catchall {:try_start_13 .. :try_end_24} :catchall_49 .line 187 :try_start_24 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->engine:Lcom/nostra13/universalimageloader/core/ImageLoaderEngine; invoke-virtual {v0}, Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;->getPauseLock()Ljava/lang/Object; move-result-object v0 invoke-virtual {v0}, Ljava/lang/Object;->wait()V :try_end_2d .catch Ljava/lang/InterruptedException; {:try_start_24 .. :try_end_2d} :catch_39 .catchall {:try_start_24 .. :try_end_2d} :catchall_49 .line 192 :try_start_2d const-string v0, ".. Resume loading [%s]" iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v2}, [Ljava/lang/Object; move-result-object v2 invoke-static {v0, v2}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_47 .line 189 :catch_39 const-string v0, "Task was interrupted [%s]" iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v2}, [Ljava/lang/Object; move-result-object v2 invoke-static {v0, v2}, Lcom/nostra13/universalimageloader/utils/L;->e(Ljava/lang/String;[Ljava/lang/Object;)V .line 190 monitor-exit v1 const/4 v0, 0x1 return v0 .line 194 :cond_47 :goto_47 monitor-exit v1 goto :goto_4c :catchall_49 move-exception v0 monitor-exit v1 :try_end_4b .catchall {:try_start_2d .. :try_end_4b} :catchall_49 throw v0 .line 196 :cond_4c :goto_4c invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->isTaskNotActual()Z move-result v0 return v0 .end method # virtual methods .method getLoadingUri()Ljava/lang/String; .registers 2 .line 460 iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->uri:Ljava/lang/String; return-object v0 .end method .method public onBytesCopied(II)Z .registers 4 .line 334 iget-boolean v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->syncLoading:Z if-nez v0, :cond_d invoke-direct {p0, p1, p2}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->fireProgressEvent(II)Z move-result p1 if-eqz p1, :cond_b goto :goto_d :cond_b const/4 p1, 0x0 goto :goto_e :cond_d :goto_d const/4 p1, 0x1 :goto_e return p1 .end method .method public run()V .registers 6 .line 120 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->waitIfPaused()Z move-result v0 if-eqz v0, :cond_7 return-void .line 121 :cond_7 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->delayIfNeed()Z move-result v0 if-eqz v0, :cond_e return-void .line 123 :cond_e iget-object v0, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->imageLoadingInfo:Lcom/nostra13/universalimageloader/core/ImageLoadingInfo; iget-object v0, v0, Lcom/nostra13/universalimageloader/core/ImageLoadingInfo;->loadFromUriLock:Ljava/util/concurrent/locks/ReentrantLock; .line 124 iget-object v1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v1}, [Ljava/lang/Object; move-result-object v1 const-string v2, "Start display image task [%s]" invoke-static {v2, v1}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V .line 125 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->isLocked()Z move-result v1 if-eqz v1, :cond_2e .line 126 iget-object v1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v1}, [Ljava/lang/Object; move-result-object v1 const-string v2, "Image already is loading. Waiting... [%s]" invoke-static {v2, v1}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V .line 129 :cond_2e invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V .line 132 :try_start_31 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->checkTaskNotActual()V .line 134 iget-object v1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; iget-object v1, v1, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->memoryCache:Lcom/nostra13/universalimageloader/cache/memory/MemoryCache; iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; invoke-interface {v1, v2}, Lcom/nostra13/universalimageloader/cache/memory/MemoryCache;->get(Ljava/lang/String;)Landroid/graphics/Bitmap; move-result-object v1 if-eqz v1, :cond_57 .line 135 invoke-virtual {v1}, Landroid/graphics/Bitmap;->isRecycled()Z move-result v2 if-eqz v2, :cond_47 goto :goto_57 .line 155 :cond_47 sget-object v2, Lcom/nostra13/universalimageloader/core/assist/LoadedFrom;->MEMORY_CACHE:Lcom/nostra13/universalimageloader/core/assist/LoadedFrom; iput-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->loadedFrom:Lcom/nostra13/universalimageloader/core/assist/LoadedFrom; .line 156 const-string v2, "...Get cached bitmap from memory after waiting. [%s]" iget-object v3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v3}, [Ljava/lang/Object; move-result-object v3 invoke-static {v2, v3}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_af .line 136 :cond_57 :goto_57 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->tryLoadBitmap()Landroid/graphics/Bitmap; move-result-object v1 :try_end_5b .catch Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException; {:try_start_31 .. :try_end_5b} :catch_fb .catchall {:try_start_31 .. :try_end_5b} :catchall_f9 if-nez v1, :cond_61 .line 172 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V return-void .line 139 :cond_61 :try_start_61 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->checkTaskNotActual()V .line 140 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->checkTaskInterrupted()V .line 142 iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; invoke-virtual {v2}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions;->shouldPreProcess()Z move-result v2 if-eqz v2, :cond_91 .line 143 const-string v2, "PreProcess image before caching in memory [%s]" iget-object v3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v3}, [Ljava/lang/Object; move-result-object v3 invoke-static {v2, v3}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V .line 144 iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; invoke-virtual {v2}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions;->getPreProcessor()Lcom/nostra13/universalimageloader/core/process/BitmapProcessor; move-result-object v2 invoke-interface {v2, v1}, Lcom/nostra13/universalimageloader/core/process/BitmapProcessor;->process(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap; move-result-object v1 if-nez v1, :cond_91 .line 146 const-string v2, "Pre-processor returned null [%s]" iget-object v3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v3}, [Ljava/lang/Object; move-result-object v3 invoke-static {v2, v3}, Lcom/nostra13/universalimageloader/utils/L;->e(Ljava/lang/String;[Ljava/lang/Object;)V :cond_91 if-eqz v1, :cond_af .line 150 iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; invoke-virtual {v2}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions;->isCacheInMemory()Z move-result v2 if-eqz v2, :cond_af .line 151 const-string v2, "Cache image in memory [%s]" iget-object v3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v3}, [Ljava/lang/Object; move-result-object v3 invoke-static {v2, v3}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V .line 152 iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->configuration:Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration; iget-object v2, v2, Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration;->memoryCache:Lcom/nostra13/universalimageloader/cache/memory/MemoryCache; iget-object v3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; invoke-interface {v2, v3, v1}, Lcom/nostra13/universalimageloader/cache/memory/MemoryCache;->put(Ljava/lang/String;Landroid/graphics/Bitmap;)Z :cond_af :goto_af if-eqz v1, :cond_db .line 159 iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; invoke-virtual {v2}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions;->shouldPostProcess()Z move-result v2 if-eqz v2, :cond_db .line 160 const-string v2, "PostProcess image before displaying [%s]" iget-object v3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v3}, [Ljava/lang/Object; move-result-object v3 invoke-static {v2, v3}, Lcom/nostra13/universalimageloader/utils/L;->d(Ljava/lang/String;[Ljava/lang/Object;)V .line 161 iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->options:Lcom/nostra13/universalimageloader/core/DisplayImageOptions; invoke-virtual {v2}, Lcom/nostra13/universalimageloader/core/DisplayImageOptions;->getPostProcessor()Lcom/nostra13/universalimageloader/core/process/BitmapProcessor; move-result-object v2 invoke-interface {v2, v1}, Lcom/nostra13/universalimageloader/core/process/BitmapProcessor;->process(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap; move-result-object v1 if-nez v1, :cond_db .line 163 const-string v2, "Post-processor returned null [%s]" iget-object v3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->memoryCacheKey:Ljava/lang/String; filled-new-array {v3}, [Ljava/lang/Object; move-result-object v3 invoke-static {v2, v3}, Lcom/nostra13/universalimageloader/utils/L;->e(Ljava/lang/String;[Ljava/lang/Object;)V .line 166 :cond_db invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->checkTaskNotActual()V .line 167 invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->checkTaskInterrupted()V :try_end_e1 .catch Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask$TaskCancelledException; {:try_start_61 .. :try_end_e1} :catch_fb .catchall {:try_start_61 .. :try_end_e1} :catchall_f9 .line 172 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V .line 175 new-instance v0, Lcom/nostra13/universalimageloader/core/DisplayBitmapTask; iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->imageLoadingInfo:Lcom/nostra13/universalimageloader/core/ImageLoadingInfo; iget-object v3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->engine:Lcom/nostra13/universalimageloader/core/ImageLoaderEngine; iget-object v4, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->loadedFrom:Lcom/nostra13/universalimageloader/core/assist/LoadedFrom; invoke-direct {v0, v1, v2, v3, v4}, Lcom/nostra13/universalimageloader/core/DisplayBitmapTask;->(Landroid/graphics/Bitmap;Lcom/nostra13/universalimageloader/core/ImageLoadingInfo;Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;Lcom/nostra13/universalimageloader/core/assist/LoadedFrom;)V .line 176 iget-boolean v1, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->syncLoading:Z iget-object v2, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->handler:Landroid/os/Handler; iget-object v3, p0, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->engine:Lcom/nostra13/universalimageloader/core/ImageLoaderEngine; invoke-static {v0, v1, v2, v3}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->runTask(Ljava/lang/Runnable;ZLandroid/os/Handler;Lcom/nostra13/universalimageloader/core/ImageLoaderEngine;)V return-void :catchall_f9 move-exception v1 goto :goto_102 .line 169 :catch_fb :try_start_fb invoke-direct {p0}, Lcom/nostra13/universalimageloader/core/LoadAndDisplayImageTask;->fireCancelEvent()V :try_end_fe .catchall {:try_start_fb .. :try_end_fe} :catchall_f9 .line 172 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V return-void :goto_102 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V throw v1 .end method