package com.metaio.tools.io;

import android.content.Context;
import com.metaio.sdk.MetaioDebug;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Arrays;
import java.util.HashMap;

public final class AssetsManager
{
  private static String mAbsolutePath;
  private static HashMap<String, String> mAssets = new HashMap();
  private static final String mHashFile = "index.dat";

  public static void extractAllAssets(Context paramContext, String paramString, boolean paramBoolean)
    throws IOException
  {
    extractAllAssets(paramContext, paramString, new String[] { "webkit", "sounds", "images", "webkitsec" }, paramBoolean);
  }

  public static void extractAllAssets(Context paramContext, String paramString, String[] paramArrayOfString, boolean paramBoolean)
    throws IOException
  {
    boolean bool = false;
    if (!paramBoolean)
      bool = loadHashMaps(paramContext);
    if (!bool)
    {
      extractAssets(paramContext, paramString, Arrays.asList(paramArrayOfString), paramBoolean);
      saveHashMaps(paramContext);
    }
  }

  public static void extractAllAssets(Context paramContext, boolean paramBoolean)
    throws IOException
  {
    extractAllAssets(paramContext, "", paramBoolean);
  }

  // ERROR //
  private static void extractAssets(Context paramContext, String paramString, java.util.List<String> paramList, boolean paramBoolean)
    throws IOException
  {
    // Byte code:
    //   0: aload_0
    //   1: invokevirtual 71	android/content/Context:getFilesDir	()Ljava/io/File;
    //   4: invokevirtual 77	java/io/File:getAbsolutePath	()Ljava/lang/String;
    //   7: astore 4
    //   9: aload 4
    //   11: putstatic 79	com/metaio/tools/io/AssetsManager:mAbsolutePath	Ljava/lang/String;
    //   14: aload_0
    //   15: invokevirtual 83	android/content/Context:getAssets	()Landroid/content/res/AssetManager;
    //   18: astore 5
    //   20: aload_2
    //   21: ifnonnull +11 -> 32
    //   24: new 85	java/util/ArrayList
    //   27: dup
    //   28: invokespecial 86	java/util/ArrayList:<init>	()V
    //   31: astore_2
    //   32: aload 5
    //   34: aload_1
    //   35: invokevirtual 92	android/content/res/AssetManager:list	(Ljava/lang/String;)[Ljava/lang/String;
    //   38: astore 6
    //   40: aload 6
    //   42: arraylength
    //   43: istore 7
    //   45: iconst_0
    //   46: istore 8
    //   48: aconst_null
    //   49: astore 9
    //   51: iload 8
    //   53: iload 7
    //   55: if_icmpge +441 -> 496
    //   58: aload 6
    //   60: iload 8
    //   62: aaload
    //   63: astore 10
    //   65: new 94	java/lang/StringBuilder
    //   68: dup
    //   69: invokespecial 95	java/lang/StringBuilder:<init>	()V
    //   72: ldc 97
    //   74: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   77: aload 10
    //   79: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   82: invokevirtual 104	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   85: invokestatic 110	com/metaio/sdk/MetaioDebug:log	(Ljava/lang/String;)V
    //   88: aload 10
    //   90: invokevirtual 114	java/lang/String:length	()I
    //   93: ifeq +376 -> 469
    //   96: aload_2
    //   97: aload 10
    //   99: invokeinterface 120 2 0
    //   104: ifne +365 -> 469
    //   107: aconst_null
    //   108: astore 11
    //   110: aload_1
    //   111: invokevirtual 114	java/lang/String:length	()I
    //   114: istore 19
    //   116: aconst_null
    //   117: astore 11
    //   119: iload 19
    //   121: ifne +75 -> 196
    //   124: new 94	java/lang/StringBuilder
    //   127: dup
    //   128: invokespecial 95	java/lang/StringBuilder:<init>	()V
    //   131: aload 4
    //   133: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   136: ldc 122
    //   138: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   141: aload 10
    //   143: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   146: invokevirtual 104	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   149: astore 11
    //   151: aload 5
    //   153: aload 10
    //   155: iconst_3
    //   156: invokevirtual 126	android/content/res/AssetManager:open	(Ljava/lang/String;I)Ljava/io/InputStream;
    //   159: astore 9
    //   161: aload 9
    //   163: aload 11
    //   165: iload_3
    //   166: invokestatic 132	com/metaio/tools/io/FileWriter:writeFile	(Ljava/io/InputStream;Ljava/lang/String;Z)V
    //   169: getstatic 21	com/metaio/tools/io/AssetsManager:mAssets	Ljava/util/HashMap;
    //   172: aload 10
    //   174: aload 11
    //   176: invokevirtual 136	java/util/HashMap:put	(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    //   179: pop
    //   180: aload 9
    //   182: ifnull +8 -> 190
    //   185: aload 9
    //   187: invokevirtual 141	java/io/InputStream:close	()V
    //   190: iinc 8 1
    //   193: goto -142 -> 51
    //   196: new 94	java/lang/StringBuilder
    //   199: dup
    //   200: invokespecial 95	java/lang/StringBuilder:<init>	()V
    //   203: aload 4
    //   205: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   208: ldc 122
    //   210: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   213: aload_1
    //   214: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   217: ldc 122
    //   219: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   222: aload 10
    //   224: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   227: invokevirtual 104	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   230: astore 11
    //   232: new 94	java/lang/StringBuilder
    //   235: dup
    //   236: invokespecial 95	java/lang/StringBuilder:<init>	()V
    //   239: aload_1
    //   240: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   243: ldc 122
    //   245: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   248: aload 10
    //   250: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   253: invokevirtual 104	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   256: astore 21
    //   258: aload 21
    //   260: astore 10
    //   262: goto -111 -> 151
    //   265: astore 15
    //   267: new 73	java/io/File
    //   270: dup
    //   271: aload 11
    //   273: invokespecial 143	java/io/File:<init>	(Ljava/lang/String;)V
    //   276: astore 16
    //   278: aload 16
    //   280: invokevirtual 147	java/io/File:mkdirs	()Z
    //   283: pop
    //   284: new 94	java/lang/StringBuilder
    //   287: dup
    //   288: invokespecial 95	java/lang/StringBuilder:<init>	()V
    //   291: ldc 149
    //   293: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   296: aload 10
    //   298: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   301: invokevirtual 104	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   304: invokestatic 110	com/metaio/sdk/MetaioDebug:log	(Ljava/lang/String;)V
    //   307: aload 16
    //   309: invokevirtual 152	java/io/File:exists	()Z
    //   312: ifeq +61 -> 373
    //   315: getstatic 21	com/metaio/tools/io/AssetsManager:mAssets	Ljava/util/HashMap;
    //   318: aload 10
    //   320: aload 11
    //   322: invokevirtual 136	java/util/HashMap:put	(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    //   325: pop
    //   326: aload_0
    //   327: aload 10
    //   329: aload_2
    //   330: iload_3
    //   331: invokestatic 53	com/metaio/tools/io/AssetsManager:extractAssets	(Landroid/content/Context;Ljava/lang/String;Ljava/util/List;Z)V
    //   334: new 94	java/lang/StringBuilder
    //   337: dup
    //   338: invokespecial 95	java/lang/StringBuilder:<init>	()V
    //   341: ldc 154
    //   343: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   346: aload 16
    //   348: invokevirtual 157	java/io/File:getPath	()Ljava/lang/String;
    //   351: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   354: invokevirtual 104	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   357: invokestatic 110	com/metaio/sdk/MetaioDebug:log	(Ljava/lang/String;)V
    //   360: aload 9
    //   362: ifnull -172 -> 190
    //   365: aload 9
    //   367: invokevirtual 141	java/io/InputStream:close	()V
    //   370: goto -180 -> 190
    //   373: iconst_5
    //   374: new 94	java/lang/StringBuilder
    //   377: dup
    //   378: invokespecial 95	java/lang/StringBuilder:<init>	()V
    //   381: ldc 159
    //   383: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   386: aload 10
    //   388: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   391: invokevirtual 104	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   394: invokestatic 162	com/metaio/sdk/MetaioDebug:log	(ILjava/lang/String;)V
    //   397: goto -37 -> 360
    //   400: astore 13
    //   402: aload 9
    //   404: astore 14
    //   406: aload 14
    //   408: ifnull +8 -> 416
    //   411: aload 14
    //   413: invokevirtual 141	java/io/InputStream:close	()V
    //   416: aload 13
    //   418: athrow
    //   419: astore 12
    //   421: bipush 6
    //   423: new 94	java/lang/StringBuilder
    //   426: dup
    //   427: invokespecial 95	java/lang/StringBuilder:<init>	()V
    //   430: ldc 164
    //   432: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   435: aload 12
    //   437: invokevirtual 167	java/lang/Exception:getMessage	()Ljava/lang/String;
    //   440: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   443: invokevirtual 104	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   446: invokestatic 162	com/metaio/sdk/MetaioDebug:log	(ILjava/lang/String;)V
    //   449: bipush 6
    //   451: aload 12
    //   453: invokestatic 171	com/metaio/sdk/MetaioDebug:printStackTrace	(ILjava/lang/Exception;)V
    //   456: aload 9
    //   458: ifnull -268 -> 190
    //   461: aload 9
    //   463: invokevirtual 141	java/io/InputStream:close	()V
    //   466: goto -276 -> 190
    //   469: iconst_5
    //   470: new 94	java/lang/StringBuilder
    //   473: dup
    //   474: invokespecial 95	java/lang/StringBuilder:<init>	()V
    //   477: ldc 173
    //   479: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   482: aload 10
    //   484: invokevirtual 101	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   487: invokevirtual 104	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   490: invokestatic 162	com/metaio/sdk/MetaioDebug:log	(ILjava/lang/String;)V
    //   493: goto -303 -> 190
    //   496: return
    //
    // Exception table:
    //   from	to	target	type
    //   110	116	265	java/io/FileNotFoundException
    //   124	151	265	java/io/FileNotFoundException
    //   151	180	265	java/io/FileNotFoundException
    //   196	258	265	java/io/FileNotFoundException
    //   110	116	400	finally
    //   124	151	400	finally
    //   151	180	400	finally
    //   196	258	400	finally
    //   267	360	400	finally
    //   373	397	400	finally
    //   421	456	400	finally
    //   110	116	419	java/lang/Exception
    //   124	151	419	java/lang/Exception
    //   151	180	419	java/lang/Exception
    //   196	258	419	java/lang/Exception
  }

  public static String getAbsolutePath()
  {
    return mAbsolutePath;
  }

  public static String getAssetPath(Context paramContext, String paramString)
  {
    if (mAssets.isEmpty())
      loadHashMaps(paramContext);
    return (String)mAssets.get(paramString);
  }

  public static String getAssetPath(String paramString)
  {
    return (String)mAssets.get(paramString);
  }

  public static File getAssetPathAsFile(Context paramContext, String paramString)
  {
    String str = getAssetPath(paramContext, paramString);
    if (str == null)
      return null;
    return new File(str);
  }

  private static boolean loadHashMaps(Context paramContext)
  {
    try
    {
      mAbsolutePath = paramContext.getFilesDir().getAbsolutePath();
      File localFile = new File(mAbsolutePath, "index.dat");
      if (localFile.exists())
      {
        FileInputStream localFileInputStream = new FileInputStream(localFile);
        ObjectInputStream localObjectInputStream = new ObjectInputStream(localFileInputStream);
        mAssets = (HashMap)localObjectInputStream.readObject();
        localObjectInputStream.close();
        localFileInputStream.close();
        MetaioDebug.logPrivate(3, "Hashmap loaded from " + localFile.getPath());
        return true;
      }
      throw new Exception("Hashmap index file not found");
    }
    catch (Exception localException)
    {
      MetaioDebug.logPrivate(3, "Error reading hashmap file");
      MetaioDebug.printStackTracePrivate(3, localException);
    }
    return false;
  }

  private static boolean saveHashMaps(Context paramContext)
  {
    try
    {
      mAbsolutePath = paramContext.getFilesDir().getAbsolutePath();
      new File(mAbsolutePath).mkdirs();
      File localFile = new File(mAbsolutePath, "index.dat");
      localFile.createNewFile();
      FileOutputStream localFileOutputStream = new FileOutputStream(localFile);
      ObjectOutputStream localObjectOutputStream = new ObjectOutputStream(localFileOutputStream);
      if (mAssets != null)
        localObjectOutputStream.writeObject(mAssets);
      while (true)
      {
        localObjectOutputStream.close();
        localFileOutputStream.close();
        MetaioDebug.logPrivate(3, "Assets hashmap saved at " + localFile.getPath());
        return true;
        MetaioDebug.logPrivate(3, "Assets hashmap is null");
      }
    }
    catch (Exception localException)
    {
      MetaioDebug.logPrivate(3, "Failed to save the hashmap index");
      MetaioDebug.printStackTracePrivate(3, localException);
    }
    return false;
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.metaio.tools.io.AssetsManager
 * JD-Core Version:    0.6.2
 */