package com.worklight.nativeandroid.common;

import android.app.Activity;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Matrix;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Environment;
import android.os.StatFs;
import com.worklight.common.Logger;
import com.worklight.common.NoSuchResourceException;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.net.URL;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Formatter;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.zip.CRC32;
import java.util.zip.Checksum;
import java.util.zip.GZIPInputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class WLUtils
{
  public static final int ANDROID_BUFFER_8K = 8192;
  public static final String BUNDLE_BASENAME = "com.worklight.wlclient.messages";
  public static final String BUNDLE_RESOURCE = "/com/worklight/wlclient/messages";
  private static HashSet<String> LOADED_LIBS = new HashSet();
  public static final String LOG_CAT = "WL";
  public static final String WL_CHALLENGE_DATA = "WL-Challenge-Data";
  public static final String WL_CHALLENGE_RESPONSE_DATA = "WL-Challenge-Response-Data";
  public static final String WL_INSTANCE_AUTH_ID = "WL-Instance-Id";
  public static final String WL_PREFS = "WLPrefs";
  public static final String WWW = "www";
  private static ResourceBundle bundle;
  private static final Logger logger = Logger.getInstance(WLUtils.class.getName());

  public static final String byteArrayToHexString(byte[] paramArrayOfByte)
  {
    StringBuilder localStringBuilder = new StringBuilder(2 * paramArrayOfByte.length);
    Formatter localFormatter = new Formatter(localStringBuilder);
    int i = paramArrayOfByte.length;
    for (int j = 0; j < i; j++)
    {
      byte b = paramArrayOfByte[j];
      Object[] arrayOfObject = new Object[1];
      arrayOfObject[0] = Byte.valueOf(b);
      localFormatter.format("%02x", arrayOfObject);
    }
    localFormatter.close();
    return localStringBuilder.toString();
  }

  public static void calculateCheckSum(InputStream paramInputStream, Checksum paramChecksum)
  {
    byte[] arrayOfByte = new byte[8192];
    try
    {
      while (true)
      {
        int i = paramInputStream.read(arrayOfByte);
        if (i == -1)
          break;
        paramChecksum.update(arrayOfByte, 0, i);
      }
    }
    catch (IOException localIOException2)
    {
      logger.error("An error occurred while trying to read checksum from assets folder", localIOException2);
      throw new RuntimeException("An error occurred while trying to read checksum from assets folder");
    }
    finally
    {
      if (paramInputStream == null);
    }
    try
    {
      paramInputStream.close();
      throw localObject;
      if (paramInputStream != null);
      try
      {
        paramInputStream.close();
        return;
      }
      catch (IOException localIOException3)
      {
        logger.debug("Problem while trying to close InputStream", localIOException3);
        return;
      }
    }
    catch (IOException localIOException1)
    {
      while (true)
        logger.debug("Problem while trying to close InputStream", localIOException1);
    }
  }

  public static long computeChecksumOnExternal(String paramString)
  {
    List localList = getTree(new File(paramString));
    Collections.sort(localList);
    CRC32 localCRC32 = new CRC32();
    Iterator localIterator = localList.iterator();
    while (localIterator.hasNext())
    {
      File localFile = (File)localIterator.next();
      try
      {
        calculateCheckSum(new FileInputStream(localFile), localCRC32);
      }
      catch (IOException localIOException)
      {
        logger.error("Application failed to load, because checksum was not calculated for file " + localFile.getName() + " with " + localIOException.getMessage(), localIOException);
      }
    }
    return localCRC32.getValue();
  }

  public static String convertGZIPStreamToString(InputStream paramInputStream)
  {
    StringBuilder localStringBuilder = new StringBuilder();
    try
    {
      BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(new GZIPInputStream(paramInputStream), Charset.forName("UTF-8")));
      while (true)
      {
        String str = localBufferedReader.readLine();
        if (str == null)
          break;
        localStringBuilder.append(str + "\n");
      }
    }
    catch (IOException localIOException2)
    {
      localIOException2 = localIOException2;
      throw new RuntimeException("Error reding input stream (" + paramInputStream + ").", localIOException2);
    }
    finally
    {
    }
    try
    {
      paramInputStream.close();
      throw localObject;
      try
      {
        paramInputStream.close();
        return localStringBuilder.toString();
      }
      catch (IOException localIOException3)
      {
        while (true)
          logger.debug("Failed to close input stream because " + localIOException3.getMessage(), localIOException3);
      }
    }
    catch (IOException localIOException1)
    {
      while (true)
        logger.debug("Failed to close input stream because " + localIOException1.getMessage(), localIOException1);
    }
  }

  public static final List<String> convertJSONArrayToList(JSONArray paramJSONArray)
  {
    ArrayList localArrayList = new ArrayList();
    int i = 0;
    while (i < paramJSONArray.length())
      try
      {
        localArrayList.add((String)paramJSONArray.get(i));
        i++;
      }
      catch (JSONException localJSONException)
      {
        throw new RuntimeException(localJSONException);
      }
    return localArrayList;
  }

  public static String convertStreamToString(InputStream paramInputStream)
  {
    BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(paramInputStream));
    StringBuilder localStringBuilder = new StringBuilder();
    try
    {
      while (true)
      {
        String str = localBufferedReader.readLine();
        if (str == null)
          break;
        localStringBuilder.append(str + "\n");
      }
    }
    catch (IOException localIOException2)
    {
      localIOException2 = localIOException2;
      throw new RuntimeException("Error reding input stream (" + paramInputStream + ").", localIOException2);
    }
    finally
    {
    }
    try
    {
      paramInputStream.close();
      throw localObject;
      try
      {
        paramInputStream.close();
        return localStringBuilder.toString();
      }
      catch (IOException localIOException3)
      {
        while (true)
          logger.debug("Failed to close input stream because " + localIOException3.getMessage(), localIOException3);
      }
    }
    catch (IOException localIOException1)
    {
      while (true)
        logger.debug("Failed to close input stream because " + localIOException1.getMessage(), localIOException1);
    }
  }

  public static final JSONObject convertStringToJSON(String paramString)
    throws JSONException
  {
    int i = paramString.indexOf("{");
    int j = paramString.lastIndexOf("}");
    if ((i == -1) || (j == -1) || (i > j + 1))
    {
      String str = "Input string does not contain brackets, or input string is invalid. The string is: " + paramString;
      logger.debug(str);
      throw new JSONException(str);
    }
    return new JSONObject(paramString.substring(i, j + 1));
  }

  public static void copyFile(File paramFile1, File paramFile2)
    throws IOException
  {
    FileInputStream localFileInputStream = new FileInputStream(paramFile1);
    if (!paramFile2.exists())
    {
      if (!paramFile1.isDirectory())
        break label88;
      paramFile2.mkdirs();
    }
    FileOutputStream localFileOutputStream;
    while (true)
    {
      localFileOutputStream = new FileOutputStream(paramFile2);
      try
      {
        byte[] arrayOfByte = new byte[8192];
        while (true)
        {
          int i = localFileInputStream.read(arrayOfByte);
          if (i == -1)
            break;
          localFileOutputStream.write(arrayOfByte, 0, i);
        }
      }
      catch (IOException localIOException)
      {
        throw localIOException;
      }
      finally
      {
        localFileInputStream.close();
        localFileOutputStream.close();
      }
      label88: File localFile = new File(paramFile2.getParent());
      if (!localFile.exists())
        localFile.mkdirs();
      paramFile2.createNewFile();
    }
    localFileInputStream.close();
    localFileOutputStream.close();
  }

  public static void copyFile(InputStream paramInputStream, OutputStream paramOutputStream)
    throws IOException
  {
    byte[] arrayOfByte = new byte[8192];
    while (true)
    {
      int i = paramInputStream.read(arrayOfByte);
      if (i == -1)
        break;
      paramOutputStream.write(arrayOfByte, 0, i);
    }
    paramOutputStream.flush();
  }

  public static boolean deleteDirectory(File paramFile)
  {
    if (paramFile.isDirectory())
    {
      File[] arrayOfFile = paramFile.listFiles();
      int i = arrayOfFile.length;
      for (int j = 0; j < i; j++)
        deleteDirectory(arrayOfFile[j]);
    }
    return paramFile.delete();
  }

  private static ResourceBundle getBundle(String paramString1, String paramString2, boolean paramBoolean)
  {
    ResourceBundle localResourceBundle;
    if (paramString1 == null)
      localResourceBundle = ResourceBundle.getBundle("com.worklight.wlclient.messages", Locale.getDefault());
    label106: URL localURL1;
    do
    {
      URL localURL2;
      do
      {
        return localResourceBundle;
        if (paramString2 != null)
          break label106;
        if (!paramBoolean)
          break;
        if ("en".equals(paramString1))
          return ResourceBundle.getBundle("com.worklight.wlclient.messages", new Locale(""));
        localURL2 = WLUtils.class.getResource("/com/worklight/wlclient/messages_" + paramString1 + ".properties");
        localResourceBundle = null;
      }
      while (localURL2 == null);
      return ResourceBundle.getBundle("com.worklight.wlclient.messages", new Locale(paramString1));
      if (!paramBoolean)
        break;
      localURL1 = WLUtils.class.getResource("/com/worklight/wlclient/messages_" + paramString1 + "_" + paramString2 + ".properties");
      localResourceBundle = null;
    }
    while (localURL1 == null);
    return ResourceBundle.getBundle("com.worklight.wlclient.messages", new Locale(paramString1, paramString2));
  }

  public static long getFreeSpaceOnDevice()
  {
    StatFs localStatFs = new StatFs(Environment.getDataDirectory().getPath());
    return localStatFs.getBlockSize() * localStatFs.getAvailableBlocks();
  }

  public static String getFullAppName(Context paramContext)
  {
    return paramContext.getPackageName() + "." + paramContext.getString(getResourceId(paramContext, "string", "app_name"));
  }

  // ERROR //
  public static ResourceBundle getMessagesBundle()
  {
    // Byte code:
    //   0: ldc 2
    //   2: monitorenter
    //   3: getstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   6: ifnull +12 -> 18
    //   9: getstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   12: astore_2
    //   13: ldc 2
    //   15: monitorexit
    //   16: aload_2
    //   17: areturn
    //   18: invokestatic 407	com/worklight/common/WLConfig:getInstance	()Lcom/worklight/common/WLConfig;
    //   21: invokevirtual 410	com/worklight/common/WLConfig:getLanguagePreferences	()Ljava/lang/String;
    //   24: astore_1
    //   25: aload_1
    //   26: ifnull +354 -> 380
    //   29: aload_1
    //   30: invokevirtual 411	java/lang/String:length	()I
    //   33: ifle +347 -> 380
    //   36: invokestatic 330	java/util/Locale:getDefault	()Ljava/util/Locale;
    //   39: astore 4
    //   41: aload 4
    //   43: invokevirtual 414	java/util/Locale:getLanguage	()Ljava/lang/String;
    //   46: astore 5
    //   48: aload 4
    //   50: invokevirtual 417	java/util/Locale:getCountry	()Ljava/lang/String;
    //   53: astore 6
    //   55: aload 5
    //   57: invokevirtual 420	java/lang/String:isEmpty	()Z
    //   60: ifeq +21 -> 81
    //   63: ldc 11
    //   65: invokestatic 330	java/util/Locale:getDefault	()Ljava/util/Locale;
    //   68: invokestatic 335	java/util/ResourceBundle:getBundle	(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;
    //   71: putstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   74: getstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   77: astore_2
    //   78: goto -65 -> 13
    //   81: new 67	java/lang/StringBuilder
    //   84: dup
    //   85: invokespecial 168	java/lang/StringBuilder:<init>	()V
    //   88: aload 5
    //   90: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   93: astore 7
    //   95: aload 6
    //   97: invokevirtual 420	java/lang/String:isEmpty	()Z
    //   100: ifeq +59 -> 159
    //   103: ldc_w 342
    //   106: astore 8
    //   108: aload 7
    //   110: aload 8
    //   112: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   115: invokevirtual 93	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   118: astore 9
    //   120: aload_1
    //   121: ldc_w 422
    //   124: invokevirtual 426	java/lang/String:split	(Ljava/lang/String;)[Ljava/lang/String;
    //   127: astore 10
    //   129: iconst_0
    //   130: istore 11
    //   132: iload 11
    //   134: aload 10
    //   136: arraylength
    //   137: if_icmpge +48 -> 185
    //   140: aload 10
    //   142: iload 11
    //   144: aload 10
    //   146: iload 11
    //   148: aaload
    //   149: invokevirtual 429	java/lang/String:trim	()Ljava/lang/String;
    //   152: aastore
    //   153: iinc 11 1
    //   156: goto -24 -> 132
    //   159: new 67	java/lang/StringBuilder
    //   162: dup
    //   163: invokespecial 168	java/lang/StringBuilder:<init>	()V
    //   166: ldc_w 431
    //   169: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   172: aload 6
    //   174: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   177: invokevirtual 93	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   180: astore 8
    //   182: goto -74 -> 108
    //   185: aload 10
    //   187: arraylength
    //   188: istore 12
    //   190: iconst_0
    //   191: istore 13
    //   193: iload 13
    //   195: iload 12
    //   197: if_icmpge +40 -> 237
    //   200: aload 9
    //   202: aload 10
    //   204: iload 13
    //   206: aaload
    //   207: invokevirtual 340	java/lang/String:equals	(Ljava/lang/Object;)Z
    //   210: ifeq +202 -> 412
    //   213: aload 5
    //   215: aload 6
    //   217: iconst_1
    //   218: invokestatic 433	com/worklight/nativeandroid/common/WLUtils:getBundle	(Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/ResourceBundle;
    //   221: putstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   224: getstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   227: ifnull +185 -> 412
    //   230: getstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   233: astore_2
    //   234: goto -221 -> 13
    //   237: aload 6
    //   239: invokevirtual 420	java/lang/String:isEmpty	()Z
    //   242: ifne +54 -> 296
    //   245: aload 10
    //   247: arraylength
    //   248: istore 19
    //   250: iconst_0
    //   251: istore 20
    //   253: iload 20
    //   255: iload 19
    //   257: if_icmpge +39 -> 296
    //   260: aload 5
    //   262: aload 10
    //   264: iload 20
    //   266: aaload
    //   267: invokevirtual 340	java/lang/String:equals	(Ljava/lang/Object;)Z
    //   270: ifeq +148 -> 418
    //   273: aload 5
    //   275: aconst_null
    //   276: iconst_1
    //   277: invokestatic 433	com/worklight/nativeandroid/common/WLUtils:getBundle	(Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/ResourceBundle;
    //   280: putstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   283: getstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   286: ifnull +132 -> 418
    //   289: getstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   292: astore_2
    //   293: goto -280 -> 13
    //   296: aload 10
    //   298: arraylength
    //   299: istore 14
    //   301: iconst_0
    //   302: istore 15
    //   304: iload 15
    //   306: iload 14
    //   308: if_icmpge +61 -> 369
    //   311: aload 10
    //   313: iload 15
    //   315: aaload
    //   316: astore 16
    //   318: aload 16
    //   320: invokevirtual 411	java/lang/String:length	()I
    //   323: iconst_2
    //   324: if_icmple +100 -> 424
    //   327: aload 16
    //   329: iconst_0
    //   330: iconst_2
    //   331: invokevirtual 277	java/lang/String:substring	(II)Ljava/lang/String;
    //   334: astore 17
    //   336: aload 16
    //   338: iconst_3
    //   339: iconst_2
    //   340: invokevirtual 277	java/lang/String:substring	(II)Ljava/lang/String;
    //   343: astore 18
    //   345: aload 17
    //   347: aload 18
    //   349: iconst_1
    //   350: invokestatic 433	com/worklight/nativeandroid/common/WLUtils:getBundle	(Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/ResourceBundle;
    //   353: putstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   356: getstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   359: ifnull +75 -> 434
    //   362: getstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   365: astore_2
    //   366: goto -353 -> 13
    //   369: ldc_w 337
    //   372: aconst_null
    //   373: iconst_1
    //   374: invokestatic 433	com/worklight/nativeandroid/common/WLUtils:getBundle	(Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/ResourceBundle;
    //   377: putstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   380: getstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   383: ifnonnull +12 -> 395
    //   386: aconst_null
    //   387: aconst_null
    //   388: iconst_0
    //   389: invokestatic 433	com/worklight/nativeandroid/common/WLUtils:getBundle	(Ljava/lang/String;Ljava/lang/String;Z)Ljava/util/ResourceBundle;
    //   392: putstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   395: getstatic 402	com/worklight/nativeandroid/common/WLUtils:bundle	Ljava/util/ResourceBundle;
    //   398: astore_2
    //   399: goto -386 -> 13
    //   402: astore_0
    //   403: ldc 2
    //   405: monitorexit
    //   406: aload_0
    //   407: athrow
    //   408: astore_3
    //   409: goto -29 -> 380
    //   412: iinc 13 1
    //   415: goto -222 -> 193
    //   418: iinc 20 1
    //   421: goto -168 -> 253
    //   424: aload 16
    //   426: astore 17
    //   428: aconst_null
    //   429: astore 18
    //   431: goto -86 -> 345
    //   434: iinc 15 1
    //   437: goto -133 -> 304
    //
    // Exception table:
    //   from	to	target	type
    //   3	13	402	finally
    //   18	25	402	finally
    //   29	78	402	finally
    //   81	103	402	finally
    //   108	129	402	finally
    //   132	153	402	finally
    //   159	182	402	finally
    //   185	190	402	finally
    //   200	234	402	finally
    //   237	250	402	finally
    //   260	293	402	finally
    //   296	301	402	finally
    //   311	345	402	finally
    //   345	366	402	finally
    //   369	380	402	finally
    //   380	395	402	finally
    //   395	399	402	finally
    //   29	78	408	java/lang/Exception
    //   81	103	408	java/lang/Exception
    //   108	129	408	java/lang/Exception
    //   132	153	408	java/lang/Exception
    //   159	182	408	java/lang/Exception
    //   185	190	408	java/lang/Exception
    //   200	234	408	java/lang/Exception
    //   237	250	408	java/lang/Exception
    //   260	293	408	java/lang/Exception
    //   296	301	408	java/lang/Exception
    //   311	345	408	java/lang/Exception
    //   345	366	408	java/lang/Exception
    //   369	380	408	java/lang/Exception
  }

  public static int getResourceId(Context paramContext, String paramString1, String paramString2)
    throws NoSuchResourceException
  {
    int i = -1;
    try
    {
      Class[] arrayOfClass = Class.forName(paramContext.getPackageName() + ".R").getDeclaredClasses();
      for (int j = 0; ; j++)
        if (j < arrayOfClass.length)
        {
          if (arrayOfClass[j].getSimpleName().equals(paramString1))
          {
            int k = arrayOfClass[j].getField(paramString2).getInt(null);
            i = k;
          }
        }
        else
          return i;
    }
    catch (Exception localException)
    {
      throw new NoSuchResourceException("Failed to find resource R." + paramString1 + "." + paramString2, localException);
    }
  }

  public static String getResourceString(String paramString, Context paramContext)
  {
    return getResourceString(paramString, null, paramContext);
  }

  public static String getResourceString(String paramString1, String paramString2, Context paramContext)
  {
    Class localClass = null;
    if (0 == 0);
    try
    {
      localClass = Class.forName(paramContext.getPackageName() + ".R$string");
      Integer localInteger = (Integer)localClass.getDeclaredField(paramString1).get(null);
      if (paramString2 == null)
        return paramContext.getResources().getString(localInteger.intValue());
      String str = paramContext.getResources().getString(localInteger.intValue(), new Object[] { paramString2 });
      return str;
    }
    catch (Exception localException)
    {
      logger.error(localException.getMessage(), localException);
    }
    return "";
  }

  public static List<File> getTree(File paramFile)
  {
    return getTree(paramFile, new ArrayList());
  }

  private static List<File> getTree(File paramFile, List<File> paramList)
  {
    File[] arrayOfFile = paramFile.listFiles();
    int i = arrayOfFile.length;
    int j = 0;
    if (j < i)
    {
      File localFile = arrayOfFile[j];
      if (localFile.isDirectory())
        getTree(localFile, paramList);
      while (true)
      {
        j++;
        break;
        paramList.add(localFile);
      }
    }
    return paramList;
  }

  public static final byte[] hexStringToByteArray(String paramString)
  {
    int i = paramString.length();
    byte[] arrayOfByte = new byte[i / 2];
    for (int j = 0; j < i; j += 2)
      arrayOfByte[(j / 2)] = ((byte)((Character.digit(paramString.charAt(j), 16) << 4) + Character.digit(paramString.charAt(j + 1), 16)));
    return arrayOfByte;
  }

  public static final boolean isStringEmpty(String paramString)
  {
    return (paramString == null) || (paramString.length() == 0);
  }

  // ERROR //
  public static final void loadLib(Context paramContext, String paramString)
  {
    // Byte code:
    //   0: ldc 2
    //   2: monitorenter
    //   3: getstatic 62	com/worklight/nativeandroid/common/WLUtils:LOADED_LIBS	Ljava/util/HashSet;
    //   6: aload_1
    //   7: invokevirtual 513	java/util/HashSet:contains	(Ljava/lang/Object;)Z
    //   10: ifne +287 -> 297
    //   13: ldc_w 515
    //   16: invokestatic 521	java/lang/System:getProperty	(Ljava/lang/String;)Ljava/lang/String;
    //   19: astore_3
    //   20: aload_3
    //   21: ifnull +280 -> 301
    //   24: aload_3
    //   25: invokevirtual 524	java/lang/String:toLowerCase	()Ljava/lang/String;
    //   28: ldc_w 526
    //   31: invokevirtual 529	java/lang/String:startsWith	(Ljava/lang/String;)Z
    //   34: ifeq +267 -> 301
    //   37: ldc_w 531
    //   40: astore 4
    //   42: ldc_w 533
    //   45: astore 5
    //   47: new 67	java/lang/StringBuilder
    //   50: dup
    //   51: invokespecial 168	java/lang/StringBuilder:<init>	()V
    //   54: ldc_w 535
    //   57: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   60: getstatic 538	java/io/File:separator	Ljava/lang/String;
    //   63: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   66: aload 4
    //   68: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   71: getstatic 538	java/io/File:separator	Ljava/lang/String;
    //   74: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   77: aload_1
    //   78: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   81: invokevirtual 93	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   84: astore 6
    //   86: new 130	java/io/File
    //   89: dup
    //   90: aload_0
    //   91: invokevirtual 541	android/content/Context:getFilesDir	()Ljava/io/File;
    //   94: new 67	java/lang/StringBuilder
    //   97: dup
    //   98: invokespecial 168	java/lang/StringBuilder:<init>	()V
    //   101: aload 6
    //   103: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   106: ldc_w 543
    //   109: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   112: invokevirtual 93	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   115: invokespecial 546	java/io/File:<init>	(Ljava/io/File;Ljava/lang/String;)V
    //   118: astore 7
    //   120: new 130	java/io/File
    //   123: dup
    //   124: aload_0
    //   125: invokevirtual 541	android/content/Context:getFilesDir	()Ljava/io/File;
    //   128: new 67	java/lang/StringBuilder
    //   131: dup
    //   132: invokespecial 168	java/lang/StringBuilder:<init>	()V
    //   135: ldc_w 535
    //   138: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   141: getstatic 538	java/io/File:separator	Ljava/lang/String;
    //   144: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   147: aload 5
    //   149: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   152: invokevirtual 93	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   155: invokespecial 546	java/io/File:<init>	(Ljava/io/File;Ljava/lang/String;)V
    //   158: invokestatic 319	com/worklight/nativeandroid/common/WLUtils:deleteDirectory	(Ljava/io/File;)Z
    //   161: pop
    //   162: new 130	java/io/File
    //   165: dup
    //   166: aload_0
    //   167: invokevirtual 541	android/content/Context:getFilesDir	()Ljava/io/File;
    //   170: aload_1
    //   171: invokespecial 546	java/io/File:<init>	(Ljava/io/File;Ljava/lang/String;)V
    //   174: astore 9
    //   176: aload 9
    //   178: invokevirtual 322	java/io/File:delete	()Z
    //   181: pop
    //   182: getstatic 55	com/worklight/nativeandroid/common/WLUtils:logger	Lcom/worklight/common/Logger;
    //   185: new 67	java/lang/StringBuilder
    //   188: dup
    //   189: invokespecial 168	java/lang/StringBuilder:<init>	()V
    //   192: ldc_w 548
    //   195: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   198: aload 6
    //   200: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   203: invokevirtual 93	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   206: invokevirtual 270	com/worklight/common/Logger:debug	(Ljava/lang/String;)V
    //   209: aload_0
    //   210: invokevirtual 552	android/content/Context:getAssets	()Landroid/content/res/AssetManager;
    //   213: new 67	java/lang/StringBuilder
    //   216: dup
    //   217: invokespecial 168	java/lang/StringBuilder:<init>	()V
    //   220: aload 6
    //   222: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   225: ldc_w 543
    //   228: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   231: invokevirtual 93	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   234: invokevirtual 558	android/content/res/AssetManager:open	(Ljava/lang/String;)Ljava/io/InputStream;
    //   237: aload 9
    //   239: invokevirtual 561	java/io/File:getParentFile	()Ljava/io/File;
    //   242: invokestatic 565	com/worklight/nativeandroid/common/WLUtils:unpack	(Ljava/io/InputStream;Ljava/io/File;)V
    //   245: getstatic 55	com/worklight/nativeandroid/common/WLUtils:logger	Lcom/worklight/common/Logger;
    //   248: new 67	java/lang/StringBuilder
    //   251: dup
    //   252: invokespecial 168	java/lang/StringBuilder:<init>	()V
    //   255: ldc_w 567
    //   258: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   261: aload 9
    //   263: invokevirtual 570	java/io/File:getAbsolutePath	()Ljava/lang/String;
    //   266: invokevirtual 174	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   269: invokevirtual 93	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   272: invokevirtual 270	com/worklight/common/Logger:debug	(Ljava/lang/String;)V
    //   275: aload 7
    //   277: invokevirtual 322	java/io/File:delete	()Z
    //   280: pop
    //   281: aload 9
    //   283: invokevirtual 570	java/io/File:getAbsolutePath	()Ljava/lang/String;
    //   286: invokestatic 573	java/lang/System:load	(Ljava/lang/String;)V
    //   289: getstatic 62	com/worklight/nativeandroid/common/WLUtils:LOADED_LIBS	Ljava/util/HashSet;
    //   292: aload_1
    //   293: invokevirtual 574	java/util/HashSet:add	(Ljava/lang/Object;)Z
    //   296: pop
    //   297: ldc 2
    //   299: monitorexit
    //   300: return
    //   301: ldc_w 533
    //   304: astore 4
    //   306: ldc_w 531
    //   309: astore 5
    //   311: goto -264 -> 47
    //   314: astore_2
    //   315: ldc 2
    //   317: monitorexit
    //   318: aload_2
    //   319: athrow
    //   320: astore 11
    //   322: goto -77 -> 245
    //
    // Exception table:
    //   from	to	target	type
    //   3	20	314	finally
    //   24	37	314	finally
    //   47	209	314	finally
    //   209	245	314	finally
    //   245	297	314	finally
    //   209	245	320	java/io/IOException
  }

  // ERROR //
  public static byte[] read(File paramFile)
    throws IOException
  {
    // Byte code:
    //   0: aload_0
    //   1: invokevirtual 577	java/io/File:length	()J
    //   4: l2i
    //   5: newarray byte
    //   7: astore_1
    //   8: new 162	java/io/FileInputStream
    //   11: dup
    //   12: aload_0
    //   13: invokespecial 165	java/io/FileInputStream:<init>	(Ljava/io/File;)V
    //   16: astore_2
    //   17: aload_2
    //   18: aload_1
    //   19: invokevirtual 103	java/io/InputStream:read	([B)I
    //   22: iconst_m1
    //   23: if_icmpne +30 -> 53
    //   26: new 97	java/io/IOException
    //   29: dup
    //   30: ldc_w 579
    //   33: invokespecial 580	java/io/IOException:<init>	(Ljava/lang/String;)V
    //   36: athrow
    //   37: astore_3
    //   38: aload_2
    //   39: astore 4
    //   41: aload 4
    //   43: ifnull +8 -> 51
    //   46: aload 4
    //   48: invokevirtual 121	java/io/InputStream:close	()V
    //   51: aload_3
    //   52: athrow
    //   53: aload_2
    //   54: ifnull +7 -> 61
    //   57: aload_2
    //   58: invokevirtual 121	java/io/InputStream:close	()V
    //   61: aload_1
    //   62: areturn
    //   63: astore 6
    //   65: aload_1
    //   66: areturn
    //   67: astore 5
    //   69: goto -18 -> 51
    //   72: astore_3
    //   73: aconst_null
    //   74: astore 4
    //   76: goto -35 -> 41
    //
    // Exception table:
    //   from	to	target	type
    //   17	37	37	finally
    //   57	61	63	java/io/IOException
    //   46	51	67	java/io/IOException
    //   8	17	72	finally
  }

  public static Drawable scaleImage(Drawable paramDrawable, float paramFloat1, float paramFloat2)
  {
    BitmapDrawable localBitmapDrawable = null;
    if (paramDrawable != null)
    {
      Bitmap localBitmap = ((BitmapDrawable)paramDrawable).getBitmap();
      int i = localBitmap.getWidth();
      int j = localBitmap.getHeight();
      Matrix localMatrix = new Matrix();
      localMatrix.postScale(paramFloat1, paramFloat2);
      localBitmapDrawable = new BitmapDrawable(Bitmap.createBitmap(localBitmap, 0, 0, i, j, localMatrix, true));
    }
    return localBitmapDrawable;
  }

  public static void showDialog(Context paramContext, String paramString1, String paramString2, String paramString3)
  {
    showDialog(paramContext, paramString1, paramString2, paramString3, new DialogInterface.OnClickListener()
    {
      public void onClick(DialogInterface paramAnonymousDialogInterface, int paramAnonymousInt)
      {
        paramAnonymousDialogInterface.dismiss();
      }
    });
  }

  public static void showDialog(Context paramContext, final String paramString1, final String paramString2, final String paramString3, final DialogInterface.OnClickListener paramOnClickListener)
  {
    ((Activity)paramContext).runOnUiThread(new Runnable()
    {
      public void run()
      {
        AlertDialog.Builder localBuilder = new AlertDialog.Builder(this.val$context);
        localBuilder.setTitle(paramString1);
        localBuilder.setMessage(paramString2);
        localBuilder.setCancelable(false);
        localBuilder.setPositiveButton(paramString3, paramOnClickListener);
        localBuilder.create();
        localBuilder.show();
      }
    });
  }

  public static void unpack(InputStream paramInputStream, File paramFile)
    throws IOException
  {
    ZipInputStream localZipInputStream = new ZipInputStream(paramInputStream);
    while (true)
    {
      ZipEntry localZipEntry = localZipInputStream.getNextEntry();
      if (localZipEntry == null)
        break;
      String str = localZipEntry.getName();
      if ((str.startsWith("/")) || (str.startsWith("\\")))
        str = str.substring(1);
      File localFile1 = new File(paramFile.getPath() + File.separator + str);
      if (localZipEntry.isDirectory())
      {
        if (!localFile1.exists())
          localFile1.mkdirs();
      }
      else
      {
        File localFile2 = localFile1.getParentFile();
        if (!localFile2.exists())
          localFile2.mkdirs();
        FileOutputStream localFileOutputStream = new FileOutputStream(localFile1);
        copyFile(localZipInputStream, localFileOutputStream);
        localFileOutputStream.flush();
        localFileOutputStream.close();
      }
    }
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.worklight.nativeandroid.common.WLUtils
 * JD-Core Version:    0.6.2
 */