package com.loopj.android.http;

import android.os.Message;
import java.io.IOException;
import org.apache.http.Header;
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 BinaryHttpResponseHandler extends AsyncHttpResponseHandler
{
  private static String[] mAllowedContentTypes = { "image/jpeg", "image/png" };

  public BinaryHttpResponseHandler()
  {
  }

  public BinaryHttpResponseHandler(String[] paramArrayOfString)
  {
    this();
    mAllowedContentTypes = paramArrayOfString;
  }

  protected void handleFailureMessage(Throwable paramThrowable, byte[] paramArrayOfByte)
  {
    onFailure(paramThrowable, paramArrayOfByte);
  }

  protected void handleMessage(Message paramMessage)
  {
    switch (paramMessage.what)
    {
    default:
      super.handleMessage(paramMessage);
      return;
    case 0:
      Object[] arrayOfObject2 = (Object[])paramMessage.obj;
      handleSuccessMessage(((Integer)arrayOfObject2[0]).intValue(), (byte[])arrayOfObject2[1]);
      return;
    case 1:
    }
    Object[] arrayOfObject1 = (Object[])paramMessage.obj;
    handleFailureMessage((Throwable)arrayOfObject1[0], (byte[])arrayOfObject1[1]);
  }

  protected void handleSuccessMessage(int paramInt, byte[] paramArrayOfByte)
  {
    onSuccess(paramInt, paramArrayOfByte);
  }

  public void onFailure(Throwable paramThrowable, byte[] paramArrayOfByte)
  {
    onFailure(paramThrowable);
  }

  public void onSuccess(int paramInt, byte[] paramArrayOfByte)
  {
    onSuccess(paramArrayOfByte);
  }

  public void onSuccess(byte[] paramArrayOfByte)
  {
  }

  protected void sendFailureMessage(Throwable paramThrowable, byte[] paramArrayOfByte)
  {
    sendMessage(obtainMessage(1, new Object[] { paramThrowable, paramArrayOfByte }));
  }

  void sendResponseMessage(HttpResponse paramHttpResponse)
  {
    int i = 0;
    StatusLine localStatusLine = paramHttpResponse.getStatusLine();
    Header[] arrayOfHeader = paramHttpResponse.getHeaders("Content-Type");
    if (arrayOfHeader.length != 1)
    {
      sendFailureMessage(new HttpResponseException(localStatusLine.getStatusCode(), "None, or more than one, Content-Type Header found!"), null);
      return;
    }
    Header localHeader = arrayOfHeader[0];
    String[] arrayOfString = mAllowedContentTypes;
    int j = arrayOfString.length;
    for (int k = 0; k < j; k++)
      if (arrayOfString[k].equals(localHeader.getValue()))
        i = 1;
    if (i == 0)
    {
      sendFailureMessage(new HttpResponseException(localStatusLine.getStatusCode(), "Content-Type not allowed!"), null);
      return;
    }
    while (true)
    {
      try
      {
        HttpEntity localHttpEntity = paramHttpResponse.getEntity();
        if (localHttpEntity != null)
        {
          localBufferedHttpEntity = new BufferedHttpEntity(localHttpEntity);
          byte[] arrayOfByte2 = EntityUtils.toByteArray(localBufferedHttpEntity);
          arrayOfByte1 = arrayOfByte2;
          if (localStatusLine.getStatusCode() >= 300)
          {
            sendFailureMessage(new HttpResponseException(localStatusLine.getStatusCode(), localStatusLine.getReasonPhrase()), arrayOfByte1);
            return;
          }
        }
      }
      catch (IOException localIOException)
      {
        sendFailureMessage(localIOException, (byte[])null);
        byte[] arrayOfByte1 = null;
        continue;
        sendSuccessMessage(localStatusLine.getStatusCode(), arrayOfByte1);
        return;
      }
      BufferedHttpEntity localBufferedHttpEntity = null;
    }
  }

  protected void sendSuccessMessage(int paramInt, byte[] paramArrayOfByte)
  {
    Object[] arrayOfObject = new Object[2];
    arrayOfObject[0] = Integer.valueOf(paramInt);
    arrayOfObject[1] = paramArrayOfByte;
    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.BinaryHttpResponseHandler
 * JD-Core Version:    0.6.2
 */