package com.loopj.android.http;

import android.os.Message;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONTokener;

public class JsonHttpResponseHandler extends AsyncHttpResponseHandler
{
  protected static final int SUCCESS_JSON_MESSAGE = 100;

  protected void handleFailureMessage(Throwable paramThrowable, String paramString)
  {
    if (paramString != null)
    {
      try
      {
        Object localObject = parseResponse(paramString);
        if ((localObject instanceof JSONObject))
        {
          onFailure(paramThrowable, (JSONObject)localObject);
          return;
        }
        if ((localObject instanceof JSONArray))
        {
          onFailure(paramThrowable, (JSONArray)localObject);
          return;
        }
      }
      catch (JSONException localJSONException)
      {
        onFailure(paramThrowable, paramString);
        return;
      }
      onFailure(paramThrowable, paramString);
      return;
    }
    onFailure(paramThrowable, "");
  }

  protected void handleMessage(Message paramMessage)
  {
    switch (paramMessage.what)
    {
    default:
      super.handleMessage(paramMessage);
      return;
    case 100:
    }
    Object[] arrayOfObject = (Object[])paramMessage.obj;
    handleSuccessJsonMessage(((Integer)arrayOfObject[0]).intValue(), arrayOfObject[1]);
  }

  protected void handleSuccessJsonMessage(int paramInt, Object paramObject)
  {
    if ((paramObject instanceof JSONObject))
    {
      onSuccess(paramInt, (JSONObject)paramObject);
      return;
    }
    if ((paramObject instanceof JSONArray))
    {
      onSuccess(paramInt, (JSONArray)paramObject);
      return;
    }
    onFailure(new JSONException("Unexpected type " + paramObject.getClass().getName()), (JSONObject)null);
  }

  public void onFailure(Throwable paramThrowable, JSONArray paramJSONArray)
  {
  }

  public void onFailure(Throwable paramThrowable, JSONObject paramJSONObject)
  {
  }

  public void onSuccess(int paramInt, JSONArray paramJSONArray)
  {
    onSuccess(paramJSONArray);
  }

  public void onSuccess(int paramInt, JSONObject paramJSONObject)
  {
    onSuccess(paramJSONObject);
  }

  public void onSuccess(JSONArray paramJSONArray)
  {
  }

  public void onSuccess(JSONObject paramJSONObject)
  {
  }

  protected Object parseResponse(String paramString)
    throws JSONException
  {
    String str = paramString.trim();
    Object localObject;
    if (!str.startsWith("{"))
    {
      boolean bool = str.startsWith("[");
      localObject = null;
      if (!bool);
    }
    else
    {
      localObject = new JSONTokener(str).nextValue();
    }
    if (localObject == null)
      return str;
    return localObject;
  }

  protected void sendSuccessMessage(int paramInt, String paramString)
  {
    if (paramInt != 204)
      try
      {
        Object localObject = parseResponse(paramString);
        Object[] arrayOfObject2 = new Object[2];
        arrayOfObject2[0] = Integer.valueOf(paramInt);
        arrayOfObject2[1] = localObject;
        sendMessage(obtainMessage(100, arrayOfObject2));
        return;
      }
      catch (JSONException localJSONException)
      {
        sendFailureMessage(localJSONException, paramString);
        return;
      }
    Object[] arrayOfObject1 = new Object[2];
    arrayOfObject1[0] = Integer.valueOf(paramInt);
    arrayOfObject1[1] = new JSONObject();
    sendMessage(obtainMessage(100, arrayOfObject1));
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.loopj.android.http.JsonHttpResponseHandler
 * JD-Core Version:    0.6.2
 */