package com.worklight.location.internal.nativeImpl;

import android.content.Context;
import com.worklight.common.WLConfig;
import com.worklight.location.internal.DeviceImpl;
import com.worklight.location.internal.PiggbackRegisterer;
import com.worklight.location.internal.RuntimeTriggerContainer;
import com.worklight.location.internal.events.EventTransmitter;
import com.worklight.location.internal.events.nativeImpl.FilePersistentStorageManager;
import com.worklight.location.internal.events.server.IWLRequestFactory;
import com.worklight.location.internal.geo.GeoAcquisitor;
import com.worklight.location.internal.geo.nativeImpl.AndroidLocationListenerFactory;
import com.worklight.location.internal.wifi.WifiAcquisitor;
import com.worklight.location.internal.wifi.nativeImpl.AndroidWifiScanner;
import com.worklight.wlclient.WLRequest;
import com.worklight.wlclient.WLRequestListener;
import com.worklight.wlclient.api.WLRequestOptions;
import java.io.File;

public class AndroidWLDevice extends DeviceImpl
{
  private static final String EVENTS_DIR_NAME = "__WL_EVENTS";

  public AndroidWLDevice(Context paramContext)
  {
    super(new WifiAcquisitor(new AndroidWifiScanner(paramContext)), new GeoAcquisitor(new AndroidLocationListenerFactory(paramContext)), new FilePersistentStorageManager(getEventsStorageFolder(paramContext), 9223372036854775807L), buildFactory(paramContext), new CallbackExecutor());
  }

  AndroidWLDevice(WifiAcquisitor paramWifiAcquisitor, GeoAcquisitor paramGeoAcquisitor, RuntimeTriggerContainer paramRuntimeTriggerContainer, EventTransmitter paramEventTransmitter, PiggbackRegisterer paramPiggbackRegisterer)
  {
    super(paramWifiAcquisitor, paramGeoAcquisitor, paramRuntimeTriggerContainer, paramEventTransmitter, paramPiggbackRegisterer, new CallbackExecutor(), null);
  }

  private static IWLRequestFactory buildFactory(Context paramContext)
  {
    return new IWLRequestFactory()
    {
      public WLRequest createWLRequest(WLRequestListener paramAnonymousWLRequestListener, WLRequestOptions paramAnonymousWLRequestOptions)
      {
        if (paramAnonymousWLRequestListener == null)
          throw new IllegalArgumentException("listener is null");
        if (paramAnonymousWLRequestOptions == null)
          throw new IllegalArgumentException("options is null");
        return new WLRequest(paramAnonymousWLRequestListener, paramAnonymousWLRequestOptions, WLConfig.getInstance(), this.val$context);
      }
    };
  }

  private static File getEventsStorageFolder(Context paramContext)
  {
    return paramContext.getDir("__WL_EVENTS", 0);
  }
}

/* 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.nativeImpl.AndroidWLDevice
 * JD-Core Version:    0.6.2
 */