Back to project page rcdroid.
The source code is released under:
Copyright (c) 2013, Jamie Furness (jamie@jamierf.co.uk) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following...
If you think the Android project rcdroid listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.jamierf.rcdroid.input.sensor; /* w w w.j av a 2 s. c o m*/ import android.hardware.SensorManager; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.location.LocationProvider; import android.os.Bundle; import com.google.common.base.Optional; public class LocationSensor extends AbstractSensor<Location> { private Location location; private boolean available; public LocationSensor(LocationManager manager) { location = null; available = false; accuracy = SensorManager.SENSOR_STATUS_ACCURACY_HIGH; manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new LocationListener() { @Override public void onLocationChanged(Location location) { LocationSensor.this.location = location; setValueChanged(location.getTime()); } @Override public void onStatusChanged(String provider, int status, Bundle extras) { available = (status == LocationProvider.AVAILABLE); } @Override public void onProviderEnabled(String provider) { } @Override public void onProviderDisabled(String provider) { } }); } @Override public Optional<Location> getValue() { if (!available) return Optional.absent(); return Optional.fromNullable(location); } }