package com.worklight.common.internal;

import android.content.Context;
import com.trusteer.tas.TAS_CLIENT_INFO;
import com.trusteer.tas.TAS_DRA_ITEM_INFO;
import com.trusteer.tas.TAS_INT_REF;
import com.trusteer.tas.TAS_LONG_REF;
import com.trusteer.tas.TAS_OBJECT;
import com.trusteer.tas.TAS_OBJECT_REF;
import com.trusteer.tas.TAS_STRING_REF;
import com.trusteer.tas.atas;
import com.trusteer.tas.tas;
import com.worklight.common.Logger;
import java.util.Date;
import java.util.Map;
import org.json.JSONException;
import org.json.JSONObject;

public final class WLTrusteerInternal
{
  private static final String TAS_GET_DEVICE_KEY_ERROR = "TasGetDeviceKey() failed.";
  private static final String TAS_GET_RISK_ERROR = "TasDraGetRiskAssessment() failed.";
  private static final String TAS_INIT_ERROR = "TasInitialize() failed. Invalid or missing license.";
  private static final String TAS_RECALC_ERROR = "TasDraRecalcRiskAssessment() failed.";
  private static final String TAS_RISK_TO_JSON_ERROR = "getRiskAssessmentAsJson() failed.";
  private static final Logger logger = Logger.getInstance(WLTrusteerInternal.class.getName());
  private String deviceKey;
  private Thread recalcTask = null;

  // ERROR //
  private Map<String, String> extractClientInformation(Context paramContext)
  {
    // Byte code:
    //   0: new 54	java/util/HashMap
    //   3: dup
    //   4: invokespecial 55	java/util/HashMap:<init>	()V
    //   7: astore_2
    //   8: aload_1
    //   9: invokevirtual 61	android/content/Context:getAssets	()Landroid/content/res/AssetManager;
    //   12: astore_3
    //   13: aconst_null
    //   14: astore 4
    //   16: new 63	java/io/BufferedReader
    //   19: dup
    //   20: new 65	java/io/InputStreamReader
    //   23: dup
    //   24: aload_3
    //   25: ldc 67
    //   27: invokevirtual 73	android/content/res/AssetManager:open	(Ljava/lang/String;)Ljava/io/InputStream;
    //   30: invokespecial 76	java/io/InputStreamReader:<init>	(Ljava/io/InputStream;)V
    //   33: invokespecial 79	java/io/BufferedReader:<init>	(Ljava/io/Reader;)V
    //   36: astore 5
    //   38: aload 5
    //   40: invokevirtual 82	java/io/BufferedReader:readLine	()Ljava/lang/String;
    //   43: astore 11
    //   45: aload 11
    //   47: ifnull +55 -> 102
    //   50: aload 11
    //   52: ldc 84
    //   54: invokestatic 90	android/text/TextUtils:split	(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
    //   57: astore 12
    //   59: aload 12
    //   61: arraylength
    //   62: iconst_2
    //   63: if_icmplt -25 -> 38
    //   66: aload_2
    //   67: aload 12
    //   69: iconst_0
    //   70: aaload
    //   71: aload 12
    //   73: iconst_1
    //   74: aaload
    //   75: invokeinterface 96 3 0
    //   80: pop
    //   81: goto -43 -> 38
    //   84: astore 8
    //   86: aload 5
    //   88: astore 9
    //   90: aload 9
    //   92: ifnull +8 -> 100
    //   95: aload 9
    //   97: invokevirtual 99	java/io/BufferedReader:close	()V
    //   100: aload_2
    //   101: areturn
    //   102: aload 5
    //   104: invokevirtual 82	java/io/BufferedReader:readLine	()Ljava/lang/String;
    //   107: pop
    //   108: aload 5
    //   110: ifnull +55 -> 165
    //   113: aload 5
    //   115: invokevirtual 99	java/io/BufferedReader:close	()V
    //   118: aload_2
    //   119: areturn
    //   120: astore 15
    //   122: aload_2
    //   123: areturn
    //   124: astore 6
    //   126: aload 4
    //   128: ifnull +8 -> 136
    //   131: aload 4
    //   133: invokevirtual 99	java/io/BufferedReader:close	()V
    //   136: aload 6
    //   138: athrow
    //   139: astore 10
    //   141: aload_2
    //   142: areturn
    //   143: astore 7
    //   145: goto -9 -> 136
    //   148: astore 6
    //   150: aload 5
    //   152: astore 4
    //   154: goto -28 -> 126
    //   157: astore 16
    //   159: aconst_null
    //   160: astore 9
    //   162: goto -72 -> 90
    //   165: aload_2
    //   166: areturn
    //
    // Exception table:
    //   from	to	target	type
    //   38	45	84	java/io/IOException
    //   50	81	84	java/io/IOException
    //   102	108	84	java/io/IOException
    //   113	118	120	java/io/IOException
    //   16	38	124	finally
    //   95	100	139	java/io/IOException
    //   131	136	143	java/io/IOException
    //   38	45	148	finally
    //   50	81	148	finally
    //   102	108	148	finally
    //   16	38	157	java/io/IOException
  }

  private void forceRiskAssessment()
  {
    this.recalcTask = new Thread(new RecalcTask(null));
    this.recalcTask.start();
  }

  private TAS_CLIENT_INFO getClientInfo(Context paramContext)
  {
    TAS_CLIENT_INFO localTAS_CLIENT_INFO = new TAS_CLIENT_INFO();
    Map localMap = extractClientInformation(paramContext);
    localTAS_CLIENT_INFO.setVendorId((String)localMap.get("vendorId"));
    localTAS_CLIENT_INFO.setClientId((String)localMap.get("clientId"));
    localTAS_CLIENT_INFO.setClientKey((String)localMap.get("clientKey"));
    return localTAS_CLIENT_INFO;
  }

  protected void finalize()
  {
    try
    {
      super.finalize();
      tas.TasFinalize();
      return;
    }
    catch (Throwable localThrowable)
    {
      logger.debug("TasFinalize failed with error " + localThrowable);
    }
  }

  public String getDeviceKey()
  {
    if (this.deviceKey == null)
    {
      TAS_STRING_REF localTAS_STRING_REF = new TAS_STRING_REF();
      TAS_LONG_REF localTAS_LONG_REF = new TAS_LONG_REF();
      tas.TasGetDeviceKey(null, localTAS_LONG_REF);
      if (tas.TasGetDeviceKey(localTAS_STRING_REF, localTAS_LONG_REF) != 0)
        break label50;
      this.deviceKey = localTAS_STRING_REF.get_value();
    }
    while (true)
    {
      return this.deviceKey;
      label50: logger.error("TasGetDeviceKey() failed.");
    }
  }

  public TAS_OBJECT getRiskAssessment()
  {
    TAS_OBJECT_REF localTAS_OBJECT_REF = new TAS_OBJECT_REF();
    if (tas.TasDraGetRiskAssessment(localTAS_OBJECT_REF) != 0)
    {
      logger.error("TasDraGetRiskAssessment() failed.");
      return null;
    }
    return localTAS_OBJECT_REF.get_value();
  }

  public JSONObject getRiskAssessmentAsJson()
  {
    JSONObject localJSONObject1 = new JSONObject();
    TAS_OBJECT localTAS_OBJECT = null;
    try
    {
      localJSONObject1.put("device_key", getDeviceKey());
      localTAS_OBJECT = getRiskAssessment();
      if (localTAS_OBJECT != null)
      {
        TAS_INT_REF localTAS_INT_REF = new TAS_INT_REF();
        if (tas.TasDraGetRiskItemCount(localTAS_OBJECT, localTAS_INT_REF) == 0)
          for (int i = 0; i < localTAS_INT_REF.get_value(); i++)
          {
            TAS_DRA_ITEM_INFO localTAS_DRA_ITEM_INFO = new TAS_DRA_ITEM_INFO();
            if (tas.TasDraGetRiskAssessmentItemByIndex(localTAS_OBJECT, i, localTAS_DRA_ITEM_INFO) == 0)
            {
              JSONObject localJSONObject2 = new JSONObject();
              localJSONObject2.put("value", localTAS_DRA_ITEM_INFO.getItemValue());
              localJSONObject2.put("lastCalculated", localTAS_DRA_ITEM_INFO.getLastCalculated().getTime());
              localJSONObject2.put("additionalData", localTAS_DRA_ITEM_INFO.getAdditionalData());
              localJSONObject2.put("name", localTAS_DRA_ITEM_INFO.getItemName());
              localJSONObject1.put(localTAS_DRA_ITEM_INFO.getItemName(), localJSONObject2);
            }
          }
      }
      return localJSONObject1;
    }
    catch (JSONException localJSONException)
    {
      logger.error("getRiskAssessmentAsJson() failed.");
      return localJSONObject1;
    }
    finally
    {
      if (localTAS_OBJECT != null)
        tas.TasDraReleaseRiskAssessment(localTAS_OBJECT);
    }
  }

  public boolean init(Context paramContext)
  {
    try
    {
      if (atas.TasInitialize(paramContext, getClientInfo(paramContext), 0) != 0)
      {
        logger.error("TasInitialize() failed. Invalid or missing license.");
        return false;
      }
      logger.info("Trusteer initialized successfully");
      forceRiskAssessment();
      return true;
    }
    catch (Throwable localThrowable)
    {
      logger.error("TasInitialize() failed. Invalid or missing license. " + localThrowable);
    }
    return false;
  }

  public boolean isRiskAssessmentAvailable()
  {
    return (this.recalcTask == null) || (!this.recalcTask.isAlive());
  }

  public void waitForRiskAssessment()
  {
    try
    {
      if ((this.recalcTask != null) && (this.recalcTask.isAlive()))
        this.recalcTask.join();
      return;
    }
    catch (Exception localException)
    {
    }
  }

  private class RecalcTask
    implements Runnable
  {
    private RecalcTask()
    {
    }

    public void run()
    {
      try
      {
        int i = tas.TasDraRecalcRiskAssessment(1);
        if (i != 0)
        {
          WLTrusteerInternal.logger.error("TasDraRecalcRiskAssessment() failed. " + i);
          return;
        }
        WLTrusteerInternal.logger.info("TasDraRecalcRiskAssessment() succeeded");
        return;
      }
      catch (Throwable localThrowable)
      {
        WLTrusteerInternal.logger.error("TasDraRecalcRiskAssessment() failed. " + localThrowable);
      }
    }
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.worklight.common.internal.WLTrusteerInternal
 * JD-Core Version:    0.6.2
 */