package com.loopj.android.http;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.http.HttpEntity;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.message.BasicNameValuePair;

public class RequestParams
{
  private static String ENCODING = "UTF-8";
  protected ConcurrentHashMap<String, FileWrapper> fileParams;
  protected ConcurrentHashMap<String, String> urlParams;
  protected ConcurrentHashMap<String, ArrayList<String>> urlParamsWithArray;

  public RequestParams()
  {
    init();
  }

  public RequestParams(String paramString1, String paramString2)
  {
    init();
    put(paramString1, paramString2);
  }

  public RequestParams(Map<String, String> paramMap)
  {
    init();
    Iterator localIterator = paramMap.entrySet().iterator();
    while (localIterator.hasNext())
    {
      Map.Entry localEntry = (Map.Entry)localIterator.next();
      put((String)localEntry.getKey(), (String)localEntry.getValue());
    }
  }

  public RequestParams(Object[] paramArrayOfObject)
  {
    init();
    int i = paramArrayOfObject.length;
    if (i % 2 != 0)
      throw new IllegalArgumentException("Supplied arguments must be even");
    for (int j = 0; j < i; j += 2)
      put(String.valueOf(paramArrayOfObject[j]), String.valueOf(paramArrayOfObject[(j + 1)]));
  }

  private void init()
  {
    this.urlParams = new ConcurrentHashMap();
    this.fileParams = new ConcurrentHashMap();
    this.urlParamsWithArray = new ConcurrentHashMap();
  }

  public HttpEntity getEntity()
  {
    Object localObject;
    if (!this.fileParams.isEmpty())
    {
      localObject = new SimpleMultipartEntity();
      Iterator localIterator1 = this.urlParams.entrySet().iterator();
      while (localIterator1.hasNext())
      {
        Map.Entry localEntry3 = (Map.Entry)localIterator1.next();
        ((SimpleMultipartEntity)localObject).addPart((String)localEntry3.getKey(), (String)localEntry3.getValue());
      }
      int i = -1 + this.fileParams.entrySet().size();
      Iterator localIterator2 = this.fileParams.entrySet().iterator();
      int j = 0;
      if (localIterator2.hasNext())
      {
        Map.Entry localEntry2 = (Map.Entry)localIterator2.next();
        FileWrapper localFileWrapper = (FileWrapper)localEntry2.getValue();
        boolean bool;
        if (localFileWrapper.inputStream != null)
        {
          if (j != i)
            break label206;
          bool = true;
          label161: if (localFileWrapper.contentType == null)
            break label212;
          ((SimpleMultipartEntity)localObject).addPart((String)localEntry2.getKey(), localFileWrapper.getFileName(), localFileWrapper.inputStream, localFileWrapper.contentType, bool);
        }
        while (true)
        {
          j++;
          break;
          label206: bool = false;
          break label161;
          label212: ((SimpleMultipartEntity)localObject).addPart((String)localEntry2.getKey(), localFileWrapper.getFileName(), localFileWrapper.inputStream, bool);
        }
      }
      Iterator localIterator3 = this.urlParamsWithArray.entrySet().iterator();
      while (localIterator3.hasNext())
      {
        Map.Entry localEntry1 = (Map.Entry)localIterator3.next();
        Iterator localIterator4 = ((ArrayList)localEntry1.getValue()).iterator();
        while (localIterator4.hasNext())
        {
          String str = (String)localIterator4.next();
          ((SimpleMultipartEntity)localObject).addPart((String)localEntry1.getKey(), str);
        }
      }
    }
    try
    {
      localObject = new UrlEncodedFormEntity(getParamsList(), ENCODING);
      return localObject;
    }
    catch (UnsupportedEncodingException localUnsupportedEncodingException)
    {
      localUnsupportedEncodingException.printStackTrace();
    }
    return null;
  }

  protected String getParamString()
  {
    return URLEncodedUtils.format(getParamsList(), ENCODING);
  }

  protected List<BasicNameValuePair> getParamsList()
  {
    LinkedList localLinkedList = new LinkedList();
    Iterator localIterator1 = this.urlParams.entrySet().iterator();
    while (localIterator1.hasNext())
    {
      Map.Entry localEntry2 = (Map.Entry)localIterator1.next();
      localLinkedList.add(new BasicNameValuePair((String)localEntry2.getKey(), (String)localEntry2.getValue()));
    }
    Iterator localIterator2 = this.urlParamsWithArray.entrySet().iterator();
    while (localIterator2.hasNext())
    {
      Map.Entry localEntry1 = (Map.Entry)localIterator2.next();
      Iterator localIterator3 = ((ArrayList)localEntry1.getValue()).iterator();
      while (localIterator3.hasNext())
      {
        String str = (String)localIterator3.next();
        localLinkedList.add(new BasicNameValuePair((String)localEntry1.getKey(), str));
      }
    }
    return localLinkedList;
  }

  public void put(String paramString, File paramFile)
    throws FileNotFoundException
  {
    put(paramString, new FileInputStream(paramFile), paramFile.getName());
  }

  public void put(String paramString, InputStream paramInputStream)
  {
    put(paramString, paramInputStream, null);
  }

  public void put(String paramString1, InputStream paramInputStream, String paramString2)
  {
    put(paramString1, paramInputStream, paramString2, null);
  }

  public void put(String paramString1, InputStream paramInputStream, String paramString2, String paramString3)
  {
    if ((paramString1 != null) && (paramInputStream != null))
      this.fileParams.put(paramString1, new FileWrapper(paramInputStream, paramString2, paramString3));
  }

  public void put(String paramString1, String paramString2)
  {
    if ((paramString1 != null) && (paramString2 != null))
      this.urlParams.put(paramString1, paramString2);
  }

  public void put(String paramString, ArrayList<String> paramArrayList)
  {
    if ((paramString != null) && (paramArrayList != null))
      this.urlParamsWithArray.put(paramString, paramArrayList);
  }

  public void remove(String paramString)
  {
    this.urlParams.remove(paramString);
    this.fileParams.remove(paramString);
    this.urlParamsWithArray.remove(paramString);
  }

  public String toString()
  {
    StringBuilder localStringBuilder = new StringBuilder();
    Iterator localIterator1 = this.urlParams.entrySet().iterator();
    while (localIterator1.hasNext())
    {
      Map.Entry localEntry3 = (Map.Entry)localIterator1.next();
      if (localStringBuilder.length() > 0)
        localStringBuilder.append("&");
      localStringBuilder.append((String)localEntry3.getKey());
      localStringBuilder.append("=");
      localStringBuilder.append((String)localEntry3.getValue());
    }
    Iterator localIterator2 = this.fileParams.entrySet().iterator();
    while (localIterator2.hasNext())
    {
      Map.Entry localEntry2 = (Map.Entry)localIterator2.next();
      if (localStringBuilder.length() > 0)
        localStringBuilder.append("&");
      localStringBuilder.append((String)localEntry2.getKey());
      localStringBuilder.append("=");
      localStringBuilder.append("FILE");
    }
    Iterator localIterator3 = this.urlParamsWithArray.entrySet().iterator();
    while (localIterator3.hasNext())
    {
      Map.Entry localEntry1 = (Map.Entry)localIterator3.next();
      if (localStringBuilder.length() > 0)
        localStringBuilder.append("&");
      ArrayList localArrayList = (ArrayList)localEntry1.getValue();
      Iterator localIterator4 = localArrayList.iterator();
      while (localIterator4.hasNext())
      {
        String str = (String)localIterator4.next();
        if (localArrayList.indexOf(str) != 0)
          localStringBuilder.append("&");
        localStringBuilder.append((String)localEntry1.getKey());
        localStringBuilder.append("=");
        localStringBuilder.append(str);
      }
    }
    return localStringBuilder.toString();
  }

  private static class FileWrapper
  {
    public String contentType;
    public String fileName;
    public InputStream inputStream;

    public FileWrapper(InputStream paramInputStream, String paramString1, String paramString2)
    {
      this.inputStream = paramInputStream;
      this.fileName = paramString1;
      this.contentType = paramString2;
    }

    public String getFileName()
    {
      if (this.fileName != null)
        return this.fileName;
      return "nofilename";
    }
  }
}

/* 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.RequestParams
 * JD-Core Version:    0.6.2
 */