diff options
| author | Mike Beattie <mike@ethernal.org> | 2013-04-21 14:46:41 +1200 | 
|---|---|---|
| committer | Mike Beattie <mike@ethernal.org> | 2013-04-21 14:46:41 +1200 | 
| commit | cbf38c557a2046b6d6af3a9aebc0cef8e0dc5f11 (patch) | |
| tree | 9de4304f154660a91a8a230b181aefae0ce5ad8f /altosdroid/src | |
| parent | c5b31a14e1ceeb9a33e0016f345832344d24ced7 (diff) | |
altosdroid: Make the service class implement locationlistener
Signed-off-by: Mike Beattie <mike@ethernal.org>
Diffstat (limited to 'altosdroid/src')
| -rw-r--r-- | altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java | 57 | 
1 files changed, 19 insertions, 38 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java index bc3371f3..0236b537 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java @@ -44,28 +44,8 @@ import android.location.LocationListener;  import org.altusmetrum.altoslib_1.*; -class AltosLocationListener implements LocationListener { -	Handler handler; -	public void onLocationChanged(Location location) { -		handler.obtainMessage(TelemetryService.MSG_LOCATION, location).sendToTarget(); -	} - -	public void onStatusChanged(String provider, int status, Bundle extras) { -	} - -	public void onProviderEnabled(String provider) { -	} - -	public void onProviderDisabled(String provider) { -	} - -	public AltosLocationListener(Handler handler) { -		this.handler = handler; -	} -} - -public class TelemetryService extends Service { +public class TelemetryService extends Service implements LocationListener {  	private static final String TAG = "TelemetryService";  	private static final boolean D = true; @@ -78,8 +58,7 @@ public class TelemetryService extends Service {  	static final int MSG_DISCONNECTED      = 6;  	static final int MSG_TELEMETRY         = 7;  	static final int MSG_SETFREQUENCY      = 8; -	static final int MSG_LOCATION	       = 9; -	static final int MSG_CRC_ERROR	       = 10; +	static final int MSG_CRC_ERROR	       = 9;  	public static final int STATE_NONE       = 0;  	public static final int STATE_READY      = 1; @@ -108,10 +87,6 @@ public class TelemetryService extends Service {  	// internally track state of bluetooth connection  	private int state = STATE_NONE; -	// location listeners - -	private AltosLocationListener locationListener; -	  	// Last data seen; send to UI when it starts  	private AltosState last_state; @@ -171,11 +146,6 @@ public class TelemetryService extends Service {  				s.last_state = (AltosState) msg.obj;  				s.sendMessageToClients(Message.obtain(null, AltosDroid.MSG_TELEMETRY, msg.obj));  				break; -			case MSG_LOCATION: -				// forward location messages -				s.last_location = (Location) msg.obj; -				s.sendMessageToClients(Message.obtain(null, AltosDroid.MSG_LOCATION, msg.obj)); -				break;  			case MSG_CRC_ERROR:  				// forward crc error messages  				s.last_crc_errors = (Integer) msg.obj; @@ -308,12 +278,10 @@ public class TelemetryService extends Service {  		timer.scheduleAtFixedRate(new TimerTask(){ public void run() {onTimerTick();}}, 10000L, 10000L);  		// Listen for GPS and Network position updates -		locationListener = new AltosLocationListener(mHandler); -  		LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); -		locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener); -		locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener); +		locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); +		locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);  	}  	@Override @@ -347,8 +315,7 @@ public class TelemetryService extends Service {  	public void onDestroy() {  		// Stop listening for location updates -		LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); -		locationManager.removeUpdates(locationListener); +		((LocationManager) getSystemService(Context.LOCATION_SERVICE)).removeUpdates(this);  		// Stop the bluetooth Comms threads  		stopAltosBluetooth(); @@ -369,4 +336,18 @@ public class TelemetryService extends Service {  	} +	public void onLocationChanged(Location location) { +		last_location = location; +		sendMessageToClients(Message.obtain(null, AltosDroid.MSG_LOCATION, location)); +	} + +	public void onStatusChanged(String provider, int status, Bundle extras) { +	} + +	public void onProviderEnabled(String provider) { +	} + +	public void onProviderDisabled(String provider) { +	} +  }  | 
