Android Open Source - pyneo-wirelesslocation Satellite






From Project

Back to project page pyneo-wirelesslocation.

License

The source code is released under:

GNU General Public License

If you think the Android project pyneo-wirelesslocation listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package org.pyneo.android.wirelessid;
/*from  ww w  .  j  a v a2s  . com*/
import android.annotation.TargetApi;
import android.content.Context;
import android.location.Location;
import android.location.LocationManager;
import android.os.Build;
import android.os.SystemClock;
import android.util.Log;

import org.pyneo.android.TheDictionary;

import java.util.Iterator;

public class Satellite implements Iterator<TheDictionary>, Iterable<TheDictionary> {
  private static final String TAG = Satellite.class.getName();
  private static boolean DEBUG = false;
  static { DEBUG = Log.isLoggable("org.pyneo.proprorep", Log.DEBUG); }

  private Location location;

  public Satellite(Location location) {
    this.location = location;
  }

  ///////////////////////// enumerator stuff
  @Override
  public Iterator<TheDictionary> iterator() {
    return this;
  }

  @Override
  public boolean hasNext() {
    return location != null;
  }

  @Override
  public TheDictionary next() {
    TheDictionary map = new TheDictionary();
    try {
      fill(map, location);
    }
    catch (Exception e) {
      throw new RuntimeException(e);
    }
    location = null;
    return map;
  }

  @Override
  public void remove() {
    throw new UnsupportedOperationException();
  }

  /////////////////////
  public static void fill(TheDictionary map, Location value) throws Exception {
    if (value != null) {
      map.put("type", "g");
      map.put("latitude", value.getLatitude());
      map.put("longitude", value.getLongitude());
      if (value.hasAccuracy()) {
        map.put("accuracy", (double)value.getAccuracy());
      }
      if (value.hasAltitude()) {
        map.put("altitude", (double)value.getAltitude());
      }
      map.put("time", value.getTime());
      if (value.hasBearing()) {
        map.put("bearing", value.getBearing());
      }
      try {
        map.put("age_nanos", SystemClock.elapsedRealtimeNanos() - value.getElapsedRealtimeNanos());
      }
      catch (java.lang.NoSuchMethodError e) {
        map.put("age_nanos", -1l);
      }
      map.put("provider", value.getProvider());
      if (value.hasSpeed()) {
        map.put("speed", (double)value.getSpeed());
      }
      try {
        map.put("fromMockProvider", value.isFromMockProvider());
      }
      catch (java.lang.NoSuchMethodError e) {
        // I/dalvikvm(12043): Could not find method
        // android.location.Location.isFromMockProvider, referenced from
        // method com.vodafone.proprorep.Engine.toMap
        map.put("fromMockProvider", false);
      }
    }
  }

  ///////////////////// test
  @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
  public static String test(Context context) {
    int a = 0;
    int b = 0;
    int c = 0;
    //if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
    for (TheDictionary o: new Satellite(((LocationManager)context.getSystemService(Context.LOCATION_SERVICE)).getLastKnownLocation(LocationManager.GPS_PROVIDER))) {
      a++;
      if (DEBUG) Log.d(TAG, "got: " + o);
    }
    return "counts: " + a + '/' + b + '/' + c;
  }
}




Java Source Code List

android.location.GeocoderParams.java
android.location.LocationRequest.java
android.net.NetworkInfo.java
android.os.WorkSource.java
com.android.internal.location.ProviderProperties.java
com.android.internal.location.ProviderRequest.java
com.google.android.location.NetworkLocationService.java
com.google.android.location.geocode.GeocodeService.java
com.google.android.location.internal.server.GoogleLocationService.java
com.google.android.location.internal.server.NetworkLocationService.java
com.google.android.location.network.NetworkLocationService.java
internal.com.android.location.provider.GeocodeProvider.java
internal.com.android.location.provider.LocationProviderBase.java
internal.com.android.location.provider.LocationProvider.java
internal.com.android.location.provider.LocationRequestUnbundled.java
internal.com.android.location.provider.ProviderPropertiesUnbundled.java
internal.com.android.location.provider.ProviderRequestUnbundled.java
org.pyneo.android.TheDictionary.java
org.pyneo.android.TheList.java
org.pyneo.android.cellapi.CellAPI2.java
org.pyneo.android.wirelessid.CellIdPre17API.java
org.pyneo.android.wirelessid.CellId.java
org.pyneo.android.wirelessid.Meta.java
org.pyneo.android.wirelessid.Satellite.java
org.pyneo.android.wirelessid.WifiId.java
org.pyneo.wirelesslocation.GeocodeProvider.java
org.pyneo.wirelesslocation.MainService.java
org.pyneo.wirelesslocation.NetworkLocationProviderV1.java
org.pyneo.wirelesslocation.NetworkLocationProviderV2.java
org.pyneo.wirelesslocation.NetworkLocationProvider.java
org.pyneo.wirelesslocation.WirelessEnvListener.java