package com.worklight.location.internal;

import com.worklight.location.api.geo.WLCoordinate;
import com.worklight.location.api.geo.WLGeoPosition;
import com.worklight.location.api.wifi.WLWifiAccessPoint;
import com.worklight.location.api.wifi.WLWifiLocation;
import com.worklight.location.internal.geo.EmptyGeoPosition;
import com.worklight.location.internal.wifi.EmptyWifiPosition;
import java.util.Collection;
import java.util.Iterator;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

class DeviceContextJSONFactory
{
  private static JSONObject buildAccessPointJson(WLWifiAccessPoint paramWLWifiAccessPoint)
    throws JSONException
  {
    if (paramWLWifiAccessPoint == null)
      return null;
    return cleanNullValues(new JSONObject().put("SSID", paramWLWifiAccessPoint.getSSID()).put("MAC", paramWLWifiAccessPoint.getMAC()));
  }

  private static JSONArray buildAccessPointsJson(Collection<WLWifiAccessPoint> paramCollection)
    throws JSONException
  {
    JSONArray localJSONArray = new JSONArray();
    Iterator localIterator = paramCollection.iterator();
    while (localIterator.hasNext())
      localJSONArray.put(buildAccessPointJson((WLWifiAccessPoint)localIterator.next()));
    return localJSONArray;
  }

  private static JSONObject buildCoordJson(WLCoordinate paramWLCoordinate)
    throws JSONException
  {
    return cleanNullValues(new JSONObject().put("accuracy", paramWLCoordinate.getAccuracy()).put("longitude", paramWLCoordinate.getLongitude()).put("latitude", paramWLCoordinate.getLatitude()).put("altitude", paramWLCoordinate.getAltitude()).put("altitudeAccuracy", paramWLCoordinate.getAltitudeAccuracy()).put("speed", paramWLCoordinate.getSpeed()).put("heading", paramWLCoordinate.getHeading()));
  }

  private static JSONObject buildGeoJson(WLGeoPosition paramWLGeoPosition)
    throws JSONException
  {
    if (paramWLGeoPosition == null)
      return null;
    if ((paramWLGeoPosition instanceof EmptyGeoPosition))
      return new JSONObject();
    return cleanNullValues(new JSONObject().put("timestamp", paramWLGeoPosition.getTimestamp()).put("coords", buildCoordJson(paramWLGeoPosition.getCoordinate())));
  }

  private static JSONObject buildWifiJson(WLWifiLocation paramWLWifiLocation)
    throws JSONException
  {
    if (paramWLWifiLocation == null)
      return null;
    if ((paramWLWifiLocation instanceof EmptyWifiPosition))
      return new JSONObject();
    return cleanNullValues(new JSONObject().put("timestamp", paramWLWifiLocation.getTimestamp()).put("accessPoints", buildAccessPointsJson(paramWLWifiLocation.getAccessPoints())).put("connectedAccessPoint", buildAccessPointJson(paramWLWifiLocation.getConnectedAccessPoint())));
  }

  private static JSONObject cleanNullValues(JSONObject paramJSONObject)
    throws JSONException
  {
    JSONObject localJSONObject = new JSONObject();
    Iterator localIterator = paramJSONObject.keys();
    while (localIterator.hasNext())
    {
      String str = (String)localIterator.next();
      Object localObject = paramJSONObject.get(str);
      if (localObject != null)
        localJSONObject.put(str, localObject);
    }
    return localJSONObject;
  }

  public JSONObject buildJson(DeviceContextImpl paramDeviceContextImpl)
    throws JSONException
  {
    if ((paramDeviceContextImpl == null) || (paramDeviceContextImpl.isEmpty()))
      return null;
    WLGeoPosition localWLGeoPosition = paramDeviceContextImpl.getGeoPosition();
    WLWifiLocation localWLWifiLocation = paramDeviceContextImpl.getWifiLocation();
    Integer localInteger = paramDeviceContextImpl.getTimezoneOffset();
    Long localLong = paramDeviceContextImpl.getLastModified();
    return cleanNullValues(new JSONObject().put("lastModified", localLong).put("timezoneOffset", localInteger).put("Geo", buildGeoJson(localWLGeoPosition)).put("Wifi", buildWifiJson(localWLWifiLocation)));
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.worklight.location.internal.DeviceContextJSONFactory
 * JD-Core Version:    0.6.2
 */