package com.metaio.cloud.plugin.data;

import android.annotation.TargetApi;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.BitmapFactory.Options;
import android.os.AsyncTask;
import android.os.Build.VERSION;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v4.util.LruCache;
import com.metaio.cloud.plugin.MetaioCloudPlugin;
import com.metaio.cloud.plugin.MetaioCloudPlugin.Settings;
import com.metaio.cloud.plugin.util.MetaioCloudUtils;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

public final class RemoteAssetsManager
{
  private static final int TIMEOUT_CONNECTION = 30000;
  private static final int TIMEOUT_READ_ASSET = 240000;
  private static final int TIMEOUT_READ_IMAGE = 60000;
  private static LruCache<String, Bitmap> imageCache;
  private static HashMap<String, String> mCachedFiles;
  private Lock mLock;

  public RemoteAssetsManager(int paramInt)
  {
    if (mCachedFiles == null)
    {
      mCachedFiles = new HashMap();
      loadHashMaps();
    }
    if (imageCache == null)
      imageCache = new LruCache(paramInt)
      {
        @TargetApi(12)
        protected int sizeOf(String paramAnonymousString, Bitmap paramAnonymousBitmap)
        {
          if (Build.VERSION.SDK_INT >= 12)
            return paramAnonymousBitmap.getByteCount() / 1024;
          return paramAnonymousBitmap.getRowBytes() * paramAnonymousBitmap.getHeight() / 1024;
        }
      };
    this.mLock = new ReentrantLock();
  }

  private boolean loadHashMaps()
  {
    try
    {
      File localFile = new File(MetaioCloudPlugin.mCacheDir, "index.dat");
      if (localFile.exists())
      {
        FileInputStream localFileInputStream = new FileInputStream(localFile);
        ObjectInputStream localObjectInputStream = new ObjectInputStream(localFileInputStream);
        mCachedFiles = (HashMap)localObjectInputStream.readObject();
        localObjectInputStream.close();
        localFileInputStream.close();
        MetaioCloudPlugin.log("Cache index loaded from " + localFile.getPath());
      }
      while (true)
      {
        bool = true;
        return bool;
        MetaioCloudPlugin.log(5, "Cache index not found");
      }
    }
    catch (Exception localException)
    {
      while (true)
      {
        MetaioCloudPlugin.log(6, "Failed to load cache index " + localException.getMessage());
        boolean bool = false;
      }
    }
    finally
    {
    }
  }

  private Bitmap reduceBitmap(FlushedInputStream paramFlushedInputStream)
  {
    int i = 1;
    BitmapFactory.Options localOptions1 = new BitmapFactory.Options();
    localOptions1.inJustDecodeBounds = i;
    BitmapFactory.decodeStream(paramFlushedInputStream, null, localOptions1);
    while ((localOptions1.outWidth / i / 2 >= 96) && (localOptions1.outHeight / i / 2 >= 96))
      i *= 2;
    BitmapFactory.Options localOptions2 = new BitmapFactory.Options();
    localOptions2.inSampleSize = i;
    return BitmapFactory.decodeStream(paramFlushedInputStream, null, localOptions2);
  }

  public void autoClearCache(long paramLong)
  {
    ArrayList localArrayList;
    while (true)
    {
      String str1;
      try
      {
        this.mLock.lock();
        Iterator localIterator1 = mCachedFiles.keySet().iterator();
        localArrayList = new ArrayList();
        if (!localIterator1.hasNext())
          break;
        str1 = (String)localIterator1.next();
        String str2 = (String)mCachedFiles.get(str1);
        File localFile = new File(str2);
        if (localFile.exists())
        {
          long l = localFile.lastModified();
          if (Math.abs(System.currentTimeMillis() - l) <= 1000L * (3600L * paramLong))
            continue;
          MetaioCloudPlugin.log("Auto deleting cached file: " + str2);
          if (!localFile.delete())
            continue;
          localArrayList.add(str1);
          continue;
        }
      }
      finally
      {
      }
      MetaioCloudPlugin.log("Removing entry, file not found: " + str1);
      localArrayList.add(str1);
    }
    Iterator localIterator2 = localArrayList.iterator();
    while (localIterator2.hasNext())
      mCachedFiles.remove(localIterator2.next());
    if (localArrayList.size() > 0)
      saveHashMaps();
    this.mLock.unlock();
    MetaioCloudUtils.removeDirectory(new File(MetaioCloudPlugin.mCacheDir), paramLong);
  }

  @Deprecated
  public void clearCache()
  {
    try
    {
      this.mLock.lock();
      try
      {
        mCachedFiles.clear();
        MetaioCloudUtils.removeDirectory(new File(MetaioCloudPlugin.mCacheDir), 0L);
        MetaioCloudPlugin.mCookiesFile.delete();
        this.mLock.unlock();
        return;
      }
      catch (Exception localException)
      {
        while (true)
          MetaioCloudPlugin.log("clearCache: " + localException.getMessage());
      }
    }
    finally
    {
    }
  }

  public void clearCache(Context paramContext)
  {
    try
    {
      clearCache();
      if (paramContext != null)
      {
        Intent localIntent = new Intent(paramContext.getPackageName() + ".CLEAR_AREL_CACHE");
        LocalBroadcastManager.getInstance(paramContext).sendBroadcast(localIntent);
      }
      return;
    }
    finally
    {
    }
  }

  // ERROR //
  public boolean downloadAsset(AsyncTask<?, ?, ?> paramAsyncTask, String paramString)
  {
    // Byte code:
    //   0: aload_0
    //   1: monitorenter
    //   2: getstatic 266	com/metaio/cloud/plugin/MetaioCloudPlugin$Settings:disableCache	Z
    //   5: ifne +40 -> 45
    //   8: getstatic 26	com/metaio/cloud/plugin/data/RemoteAssetsManager:mCachedFiles	Ljava/util/HashMap;
    //   11: aload_2
    //   12: invokevirtual 169	java/util/HashMap:get	(Ljava/lang/Object;)Ljava/lang/Object;
    //   15: astore 20
    //   17: aload 20
    //   19: astore 4
    //   21: aload 4
    //   23: ifnonnull +515 -> 538
    //   26: aload_1
    //   27: invokevirtual 271	android/os/AsyncTask:isCancelled	()Z
    //   30: istore 10
    //   32: iconst_0
    //   33: istore 5
    //   35: iload 10
    //   37: ifeq +38 -> 75
    //   40: aload_0
    //   41: monitorexit
    //   42: iload 5
    //   44: ireturn
    //   45: iconst_5
    //   46: new 83	java/lang/StringBuilder
    //   49: dup
    //   50: invokespecial 84	java/lang/StringBuilder:<init>	()V
    //   53: ldc_w 273
    //   56: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   59: aload_2
    //   60: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   63: invokevirtual 97	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   66: invokestatic 106	com/metaio/cloud/plugin/MetaioCloudPlugin:log	(ILjava/lang/String;)V
    //   69: aconst_null
    //   70: astore 4
    //   72: goto -51 -> 21
    //   75: new 83	java/lang/StringBuilder
    //   78: dup
    //   79: invokespecial 84	java/lang/StringBuilder:<init>	()V
    //   82: ldc_w 275
    //   85: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   88: aload_2
    //   89: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   92: invokevirtual 97	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   95: invokestatic 101	com/metaio/cloud/plugin/MetaioCloudPlugin:log	(Ljava/lang/String;)V
    //   98: new 277	java/net/URL
    //   101: dup
    //   102: aload_2
    //   103: invokespecial 278	java/net/URL:<init>	(Ljava/lang/String;)V
    //   106: astore 11
    //   108: aconst_null
    //   109: invokestatic 284	android/net/http/AndroidHttpClient:newInstance	(Ljava/lang/String;)Landroid/net/http/AndroidHttpClient;
    //   112: astore 12
    //   114: aload 12
    //   116: invokevirtual 288	android/net/http/AndroidHttpClient:getParams	()Lorg/apache/http/params/HttpParams;
    //   119: sipush 30000
    //   122: invokestatic 294	org/apache/http/params/HttpConnectionParams:setConnectionTimeout	(Lorg/apache/http/params/HttpParams;I)V
    //   125: aload 12
    //   127: invokevirtual 288	android/net/http/AndroidHttpClient:getParams	()Lorg/apache/http/params/HttpParams;
    //   130: ldc 9
    //   132: invokestatic 297	org/apache/http/params/HttpConnectionParams:setSoTimeout	(Lorg/apache/http/params/HttpParams;I)V
    //   135: aload 12
    //   137: new 299	org/apache/http/client/methods/HttpGet
    //   140: dup
    //   141: aload_2
    //   142: invokespecial 300	org/apache/http/client/methods/HttpGet:<init>	(Ljava/lang/String;)V
    //   145: invokevirtual 304	android/net/http/AndroidHttpClient:execute	(Lorg/apache/http/client/methods/HttpUriRequest;)Lorg/apache/http/HttpResponse;
    //   148: invokeinterface 310 1 0
    //   153: invokeinterface 316 1 0
    //   158: astore 13
    //   160: aload_1
    //   161: invokevirtual 271	android/os/AsyncTask:isCancelled	()Z
    //   164: ifeq +84 -> 248
    //   167: aload 13
    //   169: invokevirtual 319	java/io/InputStream:close	()V
    //   172: iconst_0
    //   173: istore 5
    //   175: goto -135 -> 40
    //   178: astore 9
    //   180: bipush 6
    //   182: new 83	java/lang/StringBuilder
    //   185: dup
    //   186: invokespecial 84	java/lang/StringBuilder:<init>	()V
    //   189: ldc_w 321
    //   192: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   195: aload_2
    //   196: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   199: ldc_w 323
    //   202: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   205: aload 9
    //   207: invokevirtual 324	org/apache/http/conn/ConnectTimeoutException:getMessage	()Ljava/lang/String;
    //   210: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   213: invokevirtual 97	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   216: aload 9
    //   218: invokestatic 327	com/metaio/cloud/plugin/MetaioCloudPlugin:log	(ILjava/lang/String;Ljava/lang/Throwable;)V
    //   221: getstatic 26	com/metaio/cloud/plugin/data/RemoteAssetsManager:mCachedFiles	Ljava/util/HashMap;
    //   224: aload_2
    //   225: invokevirtual 169	java/util/HashMap:get	(Ljava/lang/Object;)Ljava/lang/Object;
    //   228: astore 7
    //   230: aload 7
    //   232: astore 4
    //   234: iconst_0
    //   235: istore 5
    //   237: aload 4
    //   239: ifnull -199 -> 40
    //   242: iconst_1
    //   243: istore 5
    //   245: goto -205 -> 40
    //   248: getstatic 26	com/metaio/cloud/plugin/data/RemoteAssetsManager:mCachedFiles	Ljava/util/HashMap;
    //   251: ifnull +154 -> 405
    //   254: new 83	java/lang/StringBuilder
    //   257: dup
    //   258: invokespecial 84	java/lang/StringBuilder:<init>	()V
    //   261: aload 11
    //   263: invokevirtual 330	java/net/URL:getHost	()Ljava/lang/String;
    //   266: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   269: aload 11
    //   271: invokevirtual 333	java/net/URL:getFile	()Ljava/lang/String;
    //   274: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   277: invokevirtual 97	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   280: astore 14
    //   282: aload 14
    //   284: bipush 47
    //   286: invokevirtual 337	java/lang/String:lastIndexOf	(I)I
    //   289: istore 15
    //   291: new 83	java/lang/StringBuilder
    //   294: dup
    //   295: invokespecial 84	java/lang/StringBuilder:<init>	()V
    //   298: getstatic 55	com/metaio/cloud/plugin/MetaioCloudPlugin:mCacheDir	Ljava/lang/String;
    //   301: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   304: ldc_w 339
    //   307: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   310: aload 14
    //   312: iconst_0
    //   313: iload 15
    //   315: invokevirtual 343	java/lang/String:substring	(II)Ljava/lang/String;
    //   318: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   321: invokevirtual 97	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   324: astore 16
    //   326: aload_2
    //   327: invokestatic 347	com/metaio/cloud/plugin/util/MetaioCloudUtils:getFileName	(Ljava/lang/String;)Ljava/lang/String;
    //   330: astore 17
    //   332: aload 13
    //   334: aload 16
    //   336: aload 17
    //   338: invokestatic 351	com/metaio/cloud/plugin/util/MetaioCloudUtils:writeToFile	(Ljava/io/InputStream;Ljava/lang/String;Ljava/lang/String;)Z
    //   341: ifeq +224 -> 565
    //   344: new 83	java/lang/StringBuilder
    //   347: dup
    //   348: invokespecial 84	java/lang/StringBuilder:<init>	()V
    //   351: aload 16
    //   353: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   356: ldc_w 339
    //   359: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   362: aload 17
    //   364: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   367: invokevirtual 97	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   370: astore 18
    //   372: aload 18
    //   374: ifnull +90 -> 464
    //   377: aload_0
    //   378: getfield 45	com/metaio/cloud/plugin/data/RemoteAssetsManager:mLock	Ljava/util/concurrent/locks/Lock;
    //   381: invokeinterface 142 1 0
    //   386: getstatic 26	com/metaio/cloud/plugin/data/RemoteAssetsManager:mCachedFiles	Ljava/util/HashMap;
    //   389: aload_2
    //   390: aload 18
    //   392: invokevirtual 355	java/util/HashMap:put	(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    //   395: pop
    //   396: aload_0
    //   397: getfield 45	com/metaio/cloud/plugin/data/RemoteAssetsManager:mLock	Ljava/util/concurrent/locks/Lock;
    //   400: invokeinterface 215 1 0
    //   405: aload 13
    //   407: invokevirtual 319	java/io/InputStream:close	()V
    //   410: goto -189 -> 221
    //   413: astore 8
    //   415: bipush 6
    //   417: new 83	java/lang/StringBuilder
    //   420: dup
    //   421: invokespecial 84	java/lang/StringBuilder:<init>	()V
    //   424: ldc_w 321
    //   427: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   430: aload_2
    //   431: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   434: ldc_w 323
    //   437: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   440: aload 8
    //   442: invokevirtual 356	java/net/SocketTimeoutException:getMessage	()Ljava/lang/String;
    //   445: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   448: invokevirtual 97	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   451: aload 8
    //   453: invokestatic 327	com/metaio/cloud/plugin/MetaioCloudPlugin:log	(ILjava/lang/String;Ljava/lang/Throwable;)V
    //   456: goto -235 -> 221
    //   459: astore_3
    //   460: aload_0
    //   461: monitorexit
    //   462: aload_3
    //   463: athrow
    //   464: bipush 6
    //   466: new 83	java/lang/StringBuilder
    //   469: dup
    //   470: invokespecial 84	java/lang/StringBuilder:<init>	()V
    //   473: ldc_w 358
    //   476: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   479: aload_2
    //   480: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   483: invokevirtual 97	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   486: invokestatic 106	com/metaio/cloud/plugin/MetaioCloudPlugin:log	(ILjava/lang/String;)V
    //   489: goto -84 -> 405
    //   492: astore 6
    //   494: bipush 6
    //   496: new 83	java/lang/StringBuilder
    //   499: dup
    //   500: invokespecial 84	java/lang/StringBuilder:<init>	()V
    //   503: ldc_w 321
    //   506: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   509: aload_2
    //   510: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   513: ldc_w 323
    //   516: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   519: aload 6
    //   521: invokevirtual 111	java/lang/Exception:getMessage	()Ljava/lang/String;
    //   524: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   527: invokevirtual 97	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   530: aload 6
    //   532: invokestatic 327	com/metaio/cloud/plugin/MetaioCloudPlugin:log	(ILjava/lang/String;Ljava/lang/Throwable;)V
    //   535: goto -314 -> 221
    //   538: iconst_5
    //   539: new 83	java/lang/StringBuilder
    //   542: dup
    //   543: invokespecial 84	java/lang/StringBuilder:<init>	()V
    //   546: ldc_w 360
    //   549: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   552: aload_2
    //   553: invokevirtual 90	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   556: invokevirtual 97	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   559: invokestatic 106	com/metaio/cloud/plugin/MetaioCloudPlugin:log	(ILjava/lang/String;)V
    //   562: goto -328 -> 234
    //   565: aconst_null
    //   566: astore 18
    //   568: goto -196 -> 372
    //
    // Exception table:
    //   from	to	target	type
    //   26	32	178	org/apache/http/conn/ConnectTimeoutException
    //   75	172	178	org/apache/http/conn/ConnectTimeoutException
    //   248	372	178	org/apache/http/conn/ConnectTimeoutException
    //   377	405	178	org/apache/http/conn/ConnectTimeoutException
    //   405	410	178	org/apache/http/conn/ConnectTimeoutException
    //   464	489	178	org/apache/http/conn/ConnectTimeoutException
    //   26	32	413	java/net/SocketTimeoutException
    //   75	172	413	java/net/SocketTimeoutException
    //   248	372	413	java/net/SocketTimeoutException
    //   377	405	413	java/net/SocketTimeoutException
    //   405	410	413	java/net/SocketTimeoutException
    //   464	489	413	java/net/SocketTimeoutException
    //   2	17	459	finally
    //   26	32	459	finally
    //   45	69	459	finally
    //   75	172	459	finally
    //   180	221	459	finally
    //   221	230	459	finally
    //   248	372	459	finally
    //   377	405	459	finally
    //   405	410	459	finally
    //   415	456	459	finally
    //   464	489	459	finally
    //   494	535	459	finally
    //   538	562	459	finally
    //   26	32	492	java/lang/Exception
    //   75	172	492	java/lang/Exception
    //   248	372	492	java/lang/Exception
    //   377	405	492	java/lang/Exception
    //   405	410	492	java/lang/Exception
    //   464	489	492	java/lang/Exception
  }

  public boolean downloadImage(AsyncTask<?, ?, ?> paramAsyncTask, String paramString1, String paramString2)
  {
    while (true)
    {
      try
      {
        if (!MetaioCloudPlugin.Settings.disableCache)
          synchronized (imageCache)
          {
            localBitmap1 = (Bitmap)imageCache.get(paramString1);
            if (localBitmap1 != null)
              break label369;
            if (paramString2 == null)
              break label399;
            str = paramString1 + paramString2;
            if (paramAsyncTask == null)
              break label148;
            boolean bool2 = paramAsyncTask.isCancelled();
            if (!bool2)
              break label148;
            return false;
          }
      }
      catch (Exception localException1)
      {
        MetaioCloudPlugin.log(6, "Error downloading image: " + paramString1, localException1);
        bool1 = false;
        return bool1;
      }
      MetaioCloudPlugin.log(5, "Cache disabled, downloading: " + paramString1);
      Bitmap localBitmap1 = null;
      continue;
      label148: MetaioCloudPlugin.log("RemoteAssetsManager.downloadImage: " + str);
      FlushedInputStream localFlushedInputStream = new FlushedInputStream(new DefaultHttpClient().execute(new HttpGet(str)).getEntity().getContent());
      if ((paramAsyncTask != null) && (paramAsyncTask.isCancelled()))
      {
        localFlushedInputStream.close();
        return false;
      }
      try
      {
        Bitmap localBitmap2 = BitmapFactory.decodeStream(localFlushedInputStream);
        if (localBitmap2 != null)
        {
          this.mLock.lock();
          imageCache.put(paramString1, localBitmap2);
          this.mLock.unlock();
        }
        for (bool1 = true; ; bool1 = false)
        {
          if (localFlushedInputStream != null)
            localFlushedInputStream.close();
          MetaioCloudPlugin.log("Closing stream");
          localFlushedInputStream.close();
          break;
          MetaioCloudPlugin.log("No se pudo cargar la imagen " + paramString1);
        }
      }
      catch (Exception localException2)
      {
        while (true)
        {
          if (localFlushedInputStream != null)
            localFlushedInputStream.close();
          MetaioCloudPlugin.log("Closing stream");
          bool1 = false;
        }
      }
      finally
      {
        if (localFlushedInputStream != null)
          localFlushedInputStream.close();
        MetaioCloudPlugin.log("Closing stream");
      }
      label369: MetaioCloudPlugin.log(5, "Image already downloaded and cached: " + paramString1);
      boolean bool1 = true;
      continue;
      label399: String str = paramString1;
    }
  }

  public String getAsset(String paramString)
  {
    try
    {
      String str = (String)mCachedFiles.get(paramString);
      return str;
    }
    finally
    {
      localObject = finally;
      throw localObject;
    }
  }

  public Bitmap getImage(String paramString)
  {
    synchronized (imageCache)
    {
      Bitmap localBitmap = (Bitmap)imageCache.get(paramString);
      return localBitmap;
    }
  }

  public boolean saveHashMaps()
  {
    try
    {
      new File(MetaioCloudPlugin.mCacheDir).mkdirs();
      File localFile = new File(MetaioCloudPlugin.mCacheDir, "index.dat");
      localFile.createNewFile();
      FileOutputStream localFileOutputStream = new FileOutputStream(localFile);
      ObjectOutputStream localObjectOutputStream = new ObjectOutputStream(localFileOutputStream);
      if (mCachedFiles != null)
        localObjectOutputStream.writeObject(mCachedFiles);
      while (true)
      {
        localObjectOutputStream.close();
        localFileOutputStream.close();
        MetaioCloudPlugin.log("Cache index saved at " + localFile.getPath());
        bool = true;
        return bool;
        MetaioCloudPlugin.log(5, "Cache is empty");
      }
    }
    catch (IOException localIOException)
    {
      while (true)
      {
        MetaioCloudPlugin.log(6, "Failed to save cache index " + MetaioCloudPlugin.mCacheDir + "/" + "index.dat" + " " + localIOException.getLocalizedMessage() + "");
        boolean bool = false;
      }
    }
    finally
    {
    }
  }

  static class FlushedInputStream extends FilterInputStream
  {
    public FlushedInputStream(InputStream paramInputStream)
    {
      super();
    }

    public long skip(long paramLong)
      throws IOException
    {
      long l2;
      for (long l1 = 0L; ; l1 = l2 + l1)
      {
        if (l1 < paramLong)
        {
          l2 = this.in.skip(paramLong - l1);
          if (l2 != 0L)
            continue;
          if (read() >= 0);
        }
        else
        {
          return l1;
        }
        l2 = 1L;
      }
    }
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.metaio.cloud.plugin.data.RemoteAssetsManager
 * JD-Core Version:    0.6.2
 */