package jp.adlantis.android.utils; import android.content.Context; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.util.Log; import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; import java.lang.ref.SoftReference; import java.net.MalformedURLException; import java.net.URL; import java.util.HashMap; public class AsyncImageLoader { private HashMap<String, SoftReference<Drawable>> imageCache = new HashMap(); protected static InputStream inputStreamForUrl(String paramString) throws IOException, MalformedURLException { return new URL(paramString).openStream(); } public static Drawable loadImageFromUrl(String paramString) { Object localObject = null; Log.d("AsyncImageLoader", "loadImageFromUrl=" + paramString); if (paramString == null) {} for (;;) { return localObject; try { InputStream localInputStream2 = inputStreamForUrl(paramString); localInputStream1 = localInputStream2; if (localInputStream1 == null) {} } catch (IOException localIOException) { for (;;) { try { Drawable localDrawable = Drawable.createFromStream(localInputStream1, "src"); localObject = localDrawable; } catch (OutOfMemoryError localOutOfMemoryError) { InputStream localInputStream1; Log.e("AsyncImageLoader", "exception calling Drawable.createFromStream() " + localOutOfMemoryError); } localIOException = localIOException; System.out.println(localIOException); localInputStream1 = null; } } } } public void clear() { this.imageCache.clear(); } public Drawable loadDrawable(Context paramContext, final String paramString, final ImageLoadedCallback paramImageLoadedCallback) { if (this.imageCache.containsKey(paramString)) { localObject1 = (Drawable)((SoftReference)this.imageCache.get(paramString)).get(); if (localObject1 == null) {} } for (;;) { return localObject1; if ((paramContext != null) && (ADLAssetUtils.isAssetUrl(paramString))) {} try { Drawable localDrawable = Drawable.createFromStream(ADLAssetUtils.inputStreamFromAssetUri(paramContext, Uri.parse(paramString)), paramString); localObject1 = localDrawable; try { putDrawableInCache(paramString, (Drawable)localObject1); } catch (IOException localIOException2) {} } catch (IOException localIOException1) { for (;;) { localObject1 = null; Object localObject2 = localIOException1; } } Log.e(getClass().getSimpleName(), "exception calling Drawable.createFromStream() " + localIOException2); continue; new Thread() { public void handleMessage(Message paramAnonymousMessage) { if (paramImageLoadedCallback != null) { paramImageLoadedCallback.imageLoaded((Drawable)paramAnonymousMessage.obj, paramString); } } } { public void run() { Drawable localDrawable = AsyncImageLoader.loadImageFromUrl(paramString); if (localDrawable != null) { AsyncImageLoader.this.putDrawableInCache(paramString, localDrawable); Message localMessage = this.val$handler.obtainMessage(0, localDrawable); this.val$handler.sendMessage(localMessage); } } }.start(); localObject1 = null; } } public void putDrawableInCache(String paramString, Drawable paramDrawable) { this.imageCache.put(paramString, new SoftReference(paramDrawable)); Log.d(getClass().getSimpleName(), "imageCache.size()=" + this.imageCache.size()); } public static abstract interface ImageLoadedCallback { public abstract void imageLoaded(Drawable paramDrawable, String paramString); } } /* Location: F:\neembuu\Research\android_apps\output_jar.jar * Qualified Name: jp.adlantis.android.utils.AsyncImageLoader * JD-Core Version: 0.7.0.1 */