package com.splunk.mint;

import android.annotation.SuppressLint;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.content.pm.PackageManager;
import android.location.LocationManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.NetworkInfo.State;
import android.os.Build.VERSION;
import android.telephony.TelephonyManager;
import android.view.Display;
import android.view.WindowManager;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.TimeZone;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.regex.Pattern;

class Utils
{
  protected static final String CONNECTION = "connection";
  private static final int Debug = 20;
  private static final int Error = 60;
  private static final int Info = 30;
  protected static final String LASTPINGTIME = "LASTPINGTIME";
  protected static final String STATE = "state";
  private static final int Verbose = 10;
  private static final int Warning = 50;
  private static ExecutorService executor = null;
  private static final String forceSendPingFile = ".setForceSendPingOnNextStart";

  protected static String MD5(String paramString)
    throws Exception
  {
    MessageDigest localMessageDigest = MessageDigest.getInstance("MD5");
    localMessageDigest.update(paramString.getBytes(), 0, paramString.length());
    return new BigInteger(1, localMessageDigest.digest()).toString(16);
  }

  protected static boolean allowedToSendData()
  {
    if (!Properties.flushOnlyOverWiFi);
    while (Properties.CONNECTION.equals("WIFI"))
      return true;
    return false;
  }

  protected static boolean checkForRoot()
  {
    String[] arrayOfString = { "/sbin/", "/system/bin/", "/system/xbin/", "/data/local/xbin/", "/data/local/bin/", "/system/sd/xbin/", "/system/bin/failsafe/", "/data/local/" };
    int i = arrayOfString.length;
    for (int j = 0; ; j++)
    {
      boolean bool = false;
      if (j < i)
      {
        String str = arrayOfString[j];
        if (new File(str + "su").exists())
          bool = true;
      }
      else
      {
        return bool;
      }
    }
  }

  protected static void clearLastPingSentTime(Context paramContext)
  {
    Thread localThread = new LowPriorityThreadFactory().newThread(new Runnable()
    {
      public void run()
      {
        if (this.val$ctx != null)
        {
          SharedPreferences localSharedPreferences = this.val$ctx.getSharedPreferences("Mint", 0);
          if (localSharedPreferences != null)
            localSharedPreferences.edit().putLong("LASTPINGTIME", 0L).commit();
        }
      }
    });
    ExecutorService localExecutorService = getExecutor();
    if ((localThread != null) && (localExecutorService != null))
      localExecutorService.submit(localThread);
  }

  protected static int convertLoggingLevelToInt(MintLogLevel paramMintLogLevel)
  {
    int i = 10;
    if (paramMintLogLevel.equals(MintLogLevel.Debug))
      i = 20;
    do
    {
      return i;
      if (paramMintLogLevel.equals(MintLogLevel.Error))
        return 60;
      if (paramMintLogLevel.equals(MintLogLevel.Info))
        return 30;
    }
    while ((paramMintLogLevel.equals(MintLogLevel.Verbose)) || (!paramMintLogLevel.equals(MintLogLevel.Warning)));
    return 50;
  }

  public static int getBatteryLevel(Context paramContext)
  {
    Intent localIntent = paramContext.registerReceiver(null, new IntentFilter("android.intent.action.BATTERY_CHANGED"));
    int i = localIntent.getIntExtra("level", -1);
    int j = localIntent.getIntExtra("scale", -1);
    if ((i == -1) || (j == -1))
      return 50;
    return Math.round(100.0F * (i / j));
  }

  protected static final String getCarrier(Context paramContext)
  {
    TelephonyManager localTelephonyManager = (TelephonyManager)paramContext.getSystemService("phone");
    if (localTelephonyManager != null)
    {
      int i = localTelephonyManager.getSimState();
      String str = null;
      if (i == 5)
        str = localTelephonyManager.getSimOperatorName();
      if ((str == null) || (str.length() == 0))
        str = localTelephonyManager.getNetworkOperatorName();
      if ((str == null) || (str.length() == 0))
        str = "NA";
      return str;
    }
    return "NA";
  }

  protected static HashMap<String, String> getConnectionInfo(Context paramContext)
  {
    HashMap localHashMap = new HashMap(2);
    localHashMap.put("connection", "NA");
    localHashMap.put("state", "NA");
    if (paramContext == null)
      if (Mint.DEBUG)
        Logger.logError("Context in getConnection is null!");
    PackageManager localPackageManager;
    do
    {
      do
      {
        return localHashMap;
        localPackageManager = paramContext.getPackageManager();
        if (localPackageManager != null)
          break;
      }
      while (!Mint.DEBUG);
      Logger.logError("PackageManager in CheckNetworkConnection is null!");
      return localHashMap;
    }
    while (localPackageManager.checkPermission("android.permission.ACCESS_NETWORK_STATE", Properties.APP_PACKAGE) != 0);
    NetworkInfo localNetworkInfo = ((ConnectivityManager)paramContext.getSystemService("connectivity")).getActiveNetworkInfo();
    if (localNetworkInfo != null)
    {
      if ((localNetworkInfo.getSubtypeName() == null) || (localNetworkInfo.getSubtypeName().length() == 0))
        localHashMap.put("connection", localNetworkInfo.getTypeName());
      while (true)
      {
        localHashMap.put("state", localNetworkInfo.getState().toString());
        return localHashMap;
        localHashMap.put("connection", localNetworkInfo.getSubtypeName());
      }
    }
    localHashMap.put("connection", "No Connection");
    return localHashMap;
  }

  private static ExecutorService getExecutor()
  {
    if (executor == null)
      executor = Executors.newFixedThreadPool(1);
    return executor;
  }

  protected static final HashMap<String, String> getMemoryInfo()
  {
    HashMap localHashMap = new HashMap(2);
    int i = 0;
    int j = 0;
    while (true)
    {
      int m;
      try
      {
        InputStream localInputStream = new ProcessBuilder(new String[] { "/system/bin/cat", "/proc/meminfo" }).start().getInputStream();
        StringBuilder localStringBuilder = new StringBuilder();
        byte[] arrayOfByte = new byte[1024];
        if (localInputStream.read(arrayOfByte) != -1)
        {
          String str1 = new String(arrayOfByte);
          localStringBuilder.append(str1);
          String[] arrayOfString = localStringBuilder.toString().split("kB");
          if (arrayOfString.length < 2)
            continue;
          DecimalFormat localDecimalFormat = new DecimalFormat("#.##");
          int k = arrayOfString.length;
          m = 0;
          if (m < k)
          {
            String str2 = arrayOfString[m];
            if ((i == 0) && (str2.contains("MemTotal:")))
            {
              localHashMap.put("memTotal", String.valueOf(localDecimalFormat.format(Float.valueOf(str2.substring(str2.indexOf(" "), str2.lastIndexOf(" ")).trim()).floatValue() / 1024.0F)));
              i = 1;
            }
            if ((j != 0) || (!str2.contains("MemFree:")))
              break label297;
            localHashMap.put("memFree", String.valueOf(localDecimalFormat.format(Float.valueOf(str2.substring(str2.indexOf(" "), str2.lastIndexOf(" ")).trim()).floatValue() / 1024.0F)));
            j = 1;
            break label297;
          }
        }
        localInputStream.close();
        return localHashMap;
      }
      catch (IOException localIOException)
      {
        localIOException.printStackTrace();
        return localHashMap;
      }
      label297: m++;
    }
  }

  protected static final Long getMilisFromStart()
  {
    return Long.valueOf(System.currentTimeMillis() - Properties.TIMESTAMP);
  }

  protected static String getRandomSessionNumber()
  {
    String str = String.valueOf(System.currentTimeMillis());
    return str.substring(-8 + str.length(), str.length());
  }

  protected static String getScreenOrientation(Context paramContext)
  {
    switch (((WindowManager)paramContext.getSystemService("window")).getDefaultDisplay().getOrientation())
    {
    default:
      return "NA";
    case 0:
      return "Portrait";
    case 2:
      return "PortraitUpsideDown";
    case 3:
      return "LandscapeLeft";
    case 1:
    }
    return "LandscapeRight";
  }

  protected static final String getTime()
  {
    String str1 = String.valueOf(System.currentTimeMillis());
    try
    {
      String str2 = String.valueOf(Calendar.getInstance(TimeZone.getTimeZone("UTC")).getTimeInMillis() / 1000L);
      return str2;
    }
    catch (Exception localException)
    {
    }
    return str1;
  }

  @SuppressLint({"NewApi"})
  protected static String isFSEncrypted(Context paramContext)
  {
    DevicePolicyManager localDevicePolicyManager = (DevicePolicyManager)paramContext.getSystemService("device_policy");
    if (Build.VERSION.SDK_INT > 11)
    {
      if (3 == localDevicePolicyManager.getStorageEncryptionStatus())
        return "true";
      return "false";
    }
    return "NA";
  }

  protected static EnumStateStatus isGPSOn(Context paramContext)
  {
    EnumStateStatus localEnumStateStatus = EnumStateStatus.ON;
    if (paramContext.getPackageManager().checkPermission("android.permission.ACCESS_FINE_LOCATION", Properties.APP_PACKAGE) == 0)
    {
      if (!((LocationManager)paramContext.getSystemService("location")).isProviderEnabled("gps"))
        localEnumStateStatus = EnumStateStatus.OFF;
      return localEnumStateStatus;
    }
    return EnumStateStatus.NA;
  }

  protected static final boolean isKitKat()
  {
    return Build.VERSION.SDK_INT == 19;
  }

  // ERROR //
  protected static String readFile(String paramString)
    throws Exception
  {
    // Byte code:
    //   0: aload_0
    //   1: ifnonnull +14 -> 15
    //   4: new 493	java/lang/IllegalArgumentException
    //   7: dup
    //   8: ldc_w 495
    //   11: invokespecial 496	java/lang/IllegalArgumentException:<init>	(Ljava/lang/String;)V
    //   14: athrow
    //   15: new 110	java/lang/StringBuilder
    //   18: dup
    //   19: invokespecial 111	java/lang/StringBuilder:<init>	()V
    //   22: astore_1
    //   23: aconst_null
    //   24: astore_2
    //   25: new 498	java/io/BufferedReader
    //   28: dup
    //   29: new 500	java/io/FileReader
    //   32: dup
    //   33: aload_0
    //   34: invokespecial 501	java/io/FileReader:<init>	(Ljava/lang/String;)V
    //   37: invokespecial 504	java/io/BufferedReader:<init>	(Ljava/io/Reader;)V
    //   40: astore_3
    //   41: aload_3
    //   42: invokevirtual 507	java/io/BufferedReader:readLine	()Ljava/lang/String;
    //   45: astore 7
    //   47: aload 7
    //   49: ifnull +33 -> 82
    //   52: aload_1
    //   53: aload 7
    //   55: invokevirtual 115	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   58: pop
    //   59: goto -18 -> 41
    //   62: astore 6
    //   64: aload_3
    //   65: astore_2
    //   66: aload 6
    //   68: athrow
    //   69: astore 4
    //   71: aload_2
    //   72: ifnull +7 -> 79
    //   75: aload_2
    //   76: invokevirtual 508	java/io/BufferedReader:close	()V
    //   79: aload 4
    //   81: athrow
    //   82: aload_3
    //   83: ifnull +7 -> 90
    //   86: aload_3
    //   87: invokevirtual 508	java/io/BufferedReader:close	()V
    //   90: aload_1
    //   91: invokevirtual 120	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   94: areturn
    //   95: astore 9
    //   97: aload 9
    //   99: athrow
    //   100: astore 5
    //   102: aload 5
    //   104: athrow
    //   105: astore 4
    //   107: aload_3
    //   108: astore_2
    //   109: goto -38 -> 71
    //   112: astore 6
    //   114: aconst_null
    //   115: astore_2
    //   116: goto -50 -> 66
    //
    // Exception table:
    //   from	to	target	type
    //   41	47	62	java/lang/Exception
    //   52	59	62	java/lang/Exception
    //   25	41	69	finally
    //   66	69	69	finally
    //   86	90	95	java/io/IOException
    //   75	79	100	java/io/IOException
    //   41	47	105	finally
    //   52	59	105	finally
    //   25	41	112	java/lang/Exception
  }

  protected static final String readLogs()
  {
    int i = Properties.LOG_LINES;
    if (i < 0)
      i = 100;
    String str1 = Properties.LOG_FILTER;
    StringBuilder localStringBuilder = new StringBuilder();
    ArrayList localArrayList;
    try
    {
      BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec("logcat -d " + str1).getInputStream()));
      localArrayList = new ArrayList();
      while (true)
      {
        String str2 = localBufferedReader.readLine();
        if (str2 == null)
          break;
        localArrayList.add(str2);
      }
    }
    catch (Exception localException)
    {
      Logger.logError("Error reading logcat output!");
      return localException.getMessage();
    }
    if (localArrayList.size() == 0)
      return "You must add the android.permission.READ_LOGS permission to your manifest file!";
    int j = localArrayList.size() - i;
    if (j < 0)
      j = 0;
    while (true)
    {
      int k;
      if (k < localArrayList.size())
      {
        localStringBuilder.append((String)localArrayList.get(k) + "\n");
        k++;
      }
      else
      {
        String str3 = localStringBuilder.toString().replaceAll(Pattern.quote("}{^"), "}{ ^");
        return str3;
        k = j;
      }
    }
  }

  protected static void setForceSendPingOnNextStart()
  {
    Thread localThread = new LowPriorityThreadFactory().newThread(new Runnable()
    {
      public void run()
      {
        File localFile = new File(Properties.FILES_PATH + "/" + ".setForceSendPingOnNextStart");
        if ((localFile != null) && (!localFile.exists()));
        try
        {
          localFile.createNewFile();
          return;
        }
        catch (IOException localIOException)
        {
          localIOException.printStackTrace();
        }
      }
    });
    ExecutorService localExecutorService = getExecutor();
    if ((localThread != null) && (localExecutorService != null))
      localExecutorService.submit(localThread);
  }

  protected static void setLastPingSentTime(Context paramContext)
  {
    Thread localThread = new LowPriorityThreadFactory().newThread(new Runnable()
    {
      public void run()
      {
        if (this.val$ctx != null)
        {
          SharedPreferences localSharedPreferences = this.val$ctx.getSharedPreferences("Mint", 0);
          if (localSharedPreferences != null)
            localSharedPreferences.edit().putLong("LASTPINGTIME", System.currentTimeMillis()).commit();
        }
      }
    });
    ExecutorService localExecutorService = getExecutor();
    if ((localThread != null) && (localExecutorService != null))
      localExecutorService.submit(localThread);
  }

  protected static boolean shouldSendPing(Context paramContext)
  {
    while (true)
    {
      try
      {
        File localFile = new File(Properties.FILES_PATH + "/" + ".setForceSendPingOnNextStart");
        if ((localFile != null) && (localFile.exists()))
        {
          localFile.delete();
          bool = true;
          return bool;
        }
        bool = true;
        if (paramContext == null)
          continue;
        SharedPreferences localSharedPreferences = paramContext.getSharedPreferences("Mint", 0);
        if (localSharedPreferences == null)
          continue;
        long l1 = localSharedPreferences.getLong("LASTPINGTIME", 0L);
        long l2 = System.currentTimeMillis();
        long l3 = 1000 * Properties.RemoteSettingsProps.sessionTime.intValue();
        if (l2 - l1 > l3)
        {
          bool = true;
          if (!bool)
            continue;
          setLastPingSentTime(paramContext);
          continue;
        }
      }
      finally
      {
      }
      boolean bool = false;
    }
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.splunk.mint.Utils
 * JD-Core Version:    0.6.2
 */