Android Open Source - pyneo-wirelesslocation Wifi Id






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   w w  w .  j a v  a 2 s  . c  o  m*/
import android.annotation.TargetApi;
import android.content.Context;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.util.Log;

import org.pyneo.android.TheDictionary;

import java.util.Iterator;
import java.util.List;

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

  private List<ScanResult> scanResults;
  private int i;

  public WifiId(List<ScanResult> scanResults) {
    this.scanResults = scanResults;
    this.i = 0;
  }

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

  @Override
  public boolean hasNext() {
    return scanResults != null && i < scanResults.size();
  }

  @Override
  public TheDictionary next() {
    TheDictionary map = new TheDictionary();
    try {
      fill(map, scanResults.get(i));
    }
    catch (Exception e) {
      throw new RuntimeException(e);
    }
    i++;
    return map;
  }

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

  /////////////////////
  private String unify(String bssid) {
    return bssid;
  }

  @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
  private void fill_API17(TheDictionary map, ScanResult value) throws Exception {
    map.put("timestamp", value.timestamp);
  }

  private void fill(TheDictionary map, ScanResult value) throws Exception {
    map.put("type", "w");
    map.put("bssid", unify(value.BSSID));
    map.put("ssid", unify(value.SSID));
    map.put("capabilities", unify(value.capabilities));
    map.put("frequency", value.frequency);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
      fill_API17(map, value);
    }
    map.put("level", value.level);
  }

  ///////////////////// test
  static public String test(Context context) {
    WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
    int a = 0;
    int b = 0;
    int c = 0;
    for (TheDictionary o: new WifiId(wifiManager.getScanResults())) {
      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