AirRequestAdapter.java 12.9 KB
package com.snapchat.soju.shared.android.air;

import com.google.common.base.Supplier;
import com.google.common.base.Suppliers;
import com.google.gson.Gson;
import com.google.gson.TypeAdapter;
import com.google.gson.reflect.TypeToken;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonToken;
import com.google.gson.stream.JsonWriter;
import com.snapchat.soju.shared.android.TypeAdapterSupplier;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public final class AirRequestAdapter
  extends TypeAdapter<AirRequest>
{
  private final Gson a;
  private final Supplier<TypeAdapter<ReportOption>> b;
  
  public AirRequestAdapter(Gson paramGson)
  {
    this.a = paramGson;
    this.b = Suppliers.memoize(new TypeAdapterSupplier(this.a, TypeToken.get(ReportOption.class)));
  }
  
  public final AirRequest read(JsonReader paramJsonReader)
    throws IOException
  {
    if (paramJsonReader.peek() == JsonToken.NULL)
    {
      paramJsonReader.nextNull();
      return null;
    }
    AirRequestNative localAirRequestNative = new AirRequestNative();
    paramJsonReader.setLenient(true);
    paramJsonReader.beginObject();
    label34:
    while (paramJsonReader.hasNext())
    {
      Object localObject = paramJsonReader.nextName();
      int i = -1;
      switch (((String)localObject).hashCode())
      {
      }
      for (;;)
      {
        switch (i)
        {
        default: 
          paramJsonReader.skipValue();
          break label34;
          if (((String)localObject).equals("id"))
          {
            i = 0;
            continue;
            if (((String)localObject).equals("report_type"))
            {
              i = 1;
              continue;
              if (((String)localObject).equals("description"))
              {
                i = 2;
                continue;
                if (((String)localObject).equals("feature"))
                {
                  i = 3;
                  continue;
                  if (((String)localObject).equals("sub_feature"))
                  {
                    i = 4;
                    continue;
                    if (((String)localObject).equals("connection_type"))
                    {
                      i = 5;
                      continue;
                      if (((String)localObject).equals("bandwidth"))
                      {
                        i = 6;
                        continue;
                        if (((String)localObject).equals("shake_sensitivity"))
                        {
                          i = 7;
                          continue;
                          if (((String)localObject).equals("device_score"))
                          {
                            i = 8;
                            continue;
                            if (((String)localObject).equals("other_info"))
                            {
                              i = 9;
                              continue;
                              if (((String)localObject).equals("report_option"))
                              {
                                i = 10;
                                continue;
                                if (((String)localObject).equals("notification_emails")) {
                                  i = 11;
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
          break;
        }
      }
      localObject = paramJsonReader.peek();
      if (localObject == JsonToken.NULL)
      {
        paramJsonReader.nextNull();
      }
      else
      {
        if (localObject == JsonToken.BOOLEAN) {}
        for (localObject = Boolean.toString(paramJsonReader.nextBoolean());; localObject = paramJsonReader.nextString())
        {
          localAirRequestNative.setId((String)localObject);
          break;
        }
        localObject = paramJsonReader.peek();
        if (localObject == JsonToken.NULL)
        {
          paramJsonReader.nextNull();
        }
        else
        {
          if (localObject == JsonToken.BOOLEAN) {}
          for (localObject = Boolean.toString(paramJsonReader.nextBoolean());; localObject = paramJsonReader.nextString())
          {
            localAirRequestNative.setReportType((String)localObject);
            break;
          }
          localObject = paramJsonReader.peek();
          if (localObject == JsonToken.NULL)
          {
            paramJsonReader.nextNull();
          }
          else
          {
            if (localObject == JsonToken.BOOLEAN) {}
            for (localObject = Boolean.toString(paramJsonReader.nextBoolean());; localObject = paramJsonReader.nextString())
            {
              localAirRequestNative.setDescription((String)localObject);
              break;
            }
            localObject = paramJsonReader.peek();
            if (localObject == JsonToken.NULL)
            {
              paramJsonReader.nextNull();
            }
            else
            {
              if (localObject == JsonToken.BOOLEAN) {}
              for (localObject = Boolean.toString(paramJsonReader.nextBoolean());; localObject = paramJsonReader.nextString())
              {
                localAirRequestNative.setFeature((String)localObject);
                break;
              }
              localObject = paramJsonReader.peek();
              if (localObject == JsonToken.NULL)
              {
                paramJsonReader.nextNull();
              }
              else
              {
                if (localObject == JsonToken.BOOLEAN) {}
                for (localObject = Boolean.toString(paramJsonReader.nextBoolean());; localObject = paramJsonReader.nextString())
                {
                  localAirRequestNative.setSubFeature((String)localObject);
                  break;
                }
                localObject = paramJsonReader.peek();
                if (localObject == JsonToken.NULL)
                {
                  paramJsonReader.nextNull();
                }
                else
                {
                  if (localObject == JsonToken.BOOLEAN) {}
                  for (localObject = Boolean.toString(paramJsonReader.nextBoolean());; localObject = paramJsonReader.nextString())
                  {
                    localAirRequestNative.setConnectionType((String)localObject);
                    break;
                  }
                  if (paramJsonReader.peek() == JsonToken.NULL)
                  {
                    paramJsonReader.nextNull();
                  }
                  else
                  {
                    localAirRequestNative.setBandwidth(Long.valueOf(paramJsonReader.nextLong()));
                    continue;
                    localObject = paramJsonReader.peek();
                    if (localObject == JsonToken.NULL)
                    {
                      paramJsonReader.nextNull();
                    }
                    else
                    {
                      if (localObject == JsonToken.BOOLEAN) {}
                      for (localObject = Boolean.toString(paramJsonReader.nextBoolean());; localObject = paramJsonReader.nextString())
                      {
                        localAirRequestNative.setShakeSensitivity((String)localObject);
                        break;
                      }
                      if (paramJsonReader.peek() == JsonToken.NULL)
                      {
                        paramJsonReader.nextNull();
                      }
                      else
                      {
                        localAirRequestNative.setDeviceScore(Double.valueOf(paramJsonReader.nextDouble()));
                        continue;
                        localObject = paramJsonReader.peek();
                        if (localObject == JsonToken.NULL)
                        {
                          paramJsonReader.nextNull();
                        }
                        else
                        {
                          if (localObject == JsonToken.BOOLEAN) {}
                          for (localObject = Boolean.toString(paramJsonReader.nextBoolean());; localObject = paramJsonReader.nextString())
                          {
                            localAirRequestNative.setOtherInfo((String)localObject);
                            break;
                          }
                          if (paramJsonReader.peek() == JsonToken.NULL)
                          {
                            paramJsonReader.nextNull();
                          }
                          else
                          {
                            localAirRequestNative.setReportOption((ReportOption)((TypeAdapter)this.b.get()).read(paramJsonReader));
                            continue;
                            JsonToken localJsonToken = paramJsonReader.peek();
                            if (localJsonToken == JsonToken.NULL)
                            {
                              paramJsonReader.nextNull();
                            }
                            else if (localJsonToken == JsonToken.BEGIN_ARRAY)
                            {
                              paramJsonReader.beginArray();
                              ArrayList localArrayList = new ArrayList();
                              if (paramJsonReader.hasNext())
                              {
                                if (localJsonToken == JsonToken.BOOLEAN) {}
                                for (localObject = Boolean.toString(paramJsonReader.nextBoolean());; localObject = paramJsonReader.nextString())
                                {
                                  localArrayList.add(localObject);
                                  break;
                                }
                              }
                              paramJsonReader.endArray();
                              localAirRequestNative.setNotificationEmails(localArrayList);
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    paramJsonReader.endObject();
    return localAirRequestNative;
  }
  
  public final void write(JsonWriter paramJsonWriter, AirRequest paramAirRequest)
    throws IOException
  {
    if (paramAirRequest == null)
    {
      paramJsonWriter.nullValue();
      return;
    }
    paramJsonWriter.setLenient(true);
    paramJsonWriter.beginObject();
    if (paramAirRequest.getId() != null)
    {
      paramJsonWriter.name("id");
      paramJsonWriter.value(paramAirRequest.getId());
    }
    if (paramAirRequest.getReportType() != null)
    {
      paramJsonWriter.name("report_type");
      paramJsonWriter.value(paramAirRequest.getReportType());
    }
    if (paramAirRequest.getDescription() != null)
    {
      paramJsonWriter.name("description");
      paramJsonWriter.value(paramAirRequest.getDescription());
    }
    if (paramAirRequest.getFeature() != null)
    {
      paramJsonWriter.name("feature");
      paramJsonWriter.value(paramAirRequest.getFeature());
    }
    if (paramAirRequest.getSubFeature() != null)
    {
      paramJsonWriter.name("sub_feature");
      paramJsonWriter.value(paramAirRequest.getSubFeature());
    }
    if (paramAirRequest.getConnectionType() != null)
    {
      paramJsonWriter.name("connection_type");
      paramJsonWriter.value(paramAirRequest.getConnectionType());
    }
    if (paramAirRequest.getBandwidth() != null)
    {
      paramJsonWriter.name("bandwidth");
      paramJsonWriter.value(paramAirRequest.getBandwidth());
    }
    if (paramAirRequest.getShakeSensitivity() != null)
    {
      paramJsonWriter.name("shake_sensitivity");
      paramJsonWriter.value(paramAirRequest.getShakeSensitivity());
    }
    if (paramAirRequest.getDeviceScore() != null)
    {
      paramJsonWriter.name("device_score");
      paramJsonWriter.value(paramAirRequest.getDeviceScore());
    }
    if (paramAirRequest.getOtherInfo() != null)
    {
      paramJsonWriter.name("other_info");
      paramJsonWriter.value(paramAirRequest.getOtherInfo());
    }
    if (paramAirRequest.getReportOption() != null)
    {
      paramJsonWriter.name("report_option");
      ((TypeAdapter)this.b.get()).write(paramJsonWriter, paramAirRequest.getReportOption());
    }
    if (paramAirRequest.getNotificationEmails() != null)
    {
      paramJsonWriter.name("notification_emails");
      paramJsonWriter.beginArray();
      paramAirRequest = paramAirRequest.getNotificationEmails().iterator();
      while (paramAirRequest.hasNext()) {
        paramJsonWriter.value((String)paramAirRequest.next());
      }
      paramJsonWriter.endArray();
    }
    paramJsonWriter.endObject();
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/com/snapchat/soju/shared/android/air/AirRequestAdapter.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */