package com.loopj.android.http;

import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpResponseException;
import org.apache.http.entity.BufferedHttpEntity;
import org.apache.http.util.EntityUtils;

public class AsyncHttpResponseHandler
{
  protected static final int FAILURE_MESSAGE = 1;
  protected static final int FINISH_MESSAGE = 3;
  protected static final int START_MESSAGE = 2;
  protected static final int SUCCESS_MESSAGE;
  private Handler handler;

  public AsyncHttpResponseHandler()
  {
    if (Looper.myLooper() != null)
      this.handler = new Handler()
      {
        public void handleMessage(Message paramAnonymousMessage)
        {
          AsyncHttpResponseHandler.this.handleMessage(paramAnonymousMessage);
        }
      };
  }

  protected void handleFailureMessage(Throwable paramThrowable, String paramString)
  {
    onFailure(paramThrowable, paramString);
  }

  protected void handleMessage(Message paramMessage)
  {
    switch (paramMessage.what)
    {
    default:
      return;
    case 0:
      Object[] arrayOfObject2 = (Object[])paramMessage.obj;
      handleSuccessMessage(((Integer)arrayOfObject2[0]).intValue(), (String)arrayOfObject2[1]);
      return;
    case 1:
      Object[] arrayOfObject1 = (Object[])paramMessage.obj;
      handleFailureMessage((Throwable)arrayOfObject1[0], (String)arrayOfObject1[1]);
      return;
    case 2:
      onStart();
      return;
    case 3:
    }
    onFinish();
  }

  protected void handleSuccessMessage(int paramInt, String paramString)
  {
    onSuccess(paramInt, paramString);
  }

  protected Message obtainMessage(int paramInt, Object paramObject)
  {
    if (this.handler != null)
      return this.handler.obtainMessage(paramInt, paramObject);
    Message localMessage = new Message();
    localMessage.what = paramInt;
    localMessage.obj = paramObject;
    return localMessage;
  }

  public void onFailure(Throwable paramThrowable)
  {
  }

  public void onFailure(Throwable paramThrowable, String paramString)
  {
    onFailure(paramThrowable);
  }

  public void onFinish()
  {
  }

  public void onStart()
  {
  }

  public void onSuccess(int paramInt, String paramString)
  {
    onSuccess(paramString);
  }

  public void onSuccess(String paramString)
  {
  }

  protected void sendFailureMessage(Throwable paramThrowable, String paramString)
  {
    sendMessage(obtainMessage(1, new Object[] { paramThrowable, paramString }));
  }

  protected void sendFailureMessage(Throwable paramThrowable, byte[] paramArrayOfByte)
  {
    sendMessage(obtainMessage(1, new Object[] { paramThrowable, paramArrayOfByte }));
  }

  protected void sendFinishMessage()
  {
    sendMessage(obtainMessage(3, null));
  }

  protected void sendMessage(Message paramMessage)
  {
    if (this.handler != null)
    {
      this.handler.sendMessage(paramMessage);
      return;
    }
    handleMessage(paramMessage);
  }

  void sendResponseMessage(HttpResponse paramHttpResponse)
  {
    StatusLine localStatusLine = paramHttpResponse.getStatusLine();
    try
    {
      HttpEntity localHttpEntity = paramHttpResponse.getEntity();
      localObject = null;
      if (localHttpEntity != null)
      {
        String str = EntityUtils.toString(new BufferedHttpEntity(localHttpEntity), "UTF-8");
        localObject = str;
      }
      if (localStatusLine.getStatusCode() >= 300)
      {
        sendFailureMessage(new HttpResponseException(localStatusLine.getStatusCode(), localStatusLine.getReasonPhrase()), localObject);
        return;
      }
    }
    catch (IOException localIOException)
    {
      Object localObject;
      while (true)
      {
        sendFailureMessage(localIOException, (String)null);
        localObject = null;
      }
      sendSuccessMessage(localStatusLine.getStatusCode(), localObject);
    }
  }

  protected void sendStartMessage()
  {
    sendMessage(obtainMessage(2, null));
  }

  protected void sendSuccessMessage(int paramInt, String paramString)
  {
    Object[] arrayOfObject = new Object[2];
    arrayOfObject[0] = new Integer(paramInt);
    arrayOfObject[1] = paramString;
    sendMessage(obtainMessage(0, arrayOfObject));
  }
}

/* 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.AsyncHttpResponseHandler
 * JD-Core Version:    0.6.2
 */