From f454824583352ef2fe6d1b25661ef8df33b10db7 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Tue, 14 May 2013 22:58:29 +1200 Subject: [PATCH] Use onStart for compatibility (fix #32) --- src/org/traccar/client/PositionProvider.java | 7 +++++-- src/org/traccar/client/TraccarService.java | 9 ++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/org/traccar/client/PositionProvider.java b/src/org/traccar/client/PositionProvider.java index 5bfb5e5..ce6b18e 100644 --- a/src/org/traccar/client/PositionProvider.java +++ b/src/org/traccar/client/PositionProvider.java @@ -34,6 +34,8 @@ public class PositionProvider { public interface PositionListener { public void onPositionUpdate(Location location); } + + private final Context context; private final Handler handler; private final LocationManager locationManager; @@ -44,7 +46,8 @@ public class PositionProvider { private boolean useCoarse; public PositionProvider(Context context, String type, long period, PositionListener listener) { - handler = new Handler(context.getMainLooper()); + this.context = context; + handler = new Handler(this.context.getMainLooper()); locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); this.period = period; this.listener = listener; @@ -80,7 +83,7 @@ public class PositionProvider { private boolean tryProvider(String provider) { Location location = locationManager.getLastKnownLocation(provider); - + if (location != null && new Date().getTime() - location.getTime() <= period + PERIOD_DELTA) { listener.onPositionUpdate(location); return true; diff --git a/src/org/traccar/client/TraccarService.java b/src/org/traccar/client/TraccarService.java index 368a785..2fe6377 100644 --- a/src/org/traccar/client/TraccarService.java +++ b/src/org/traccar/client/TraccarService.java @@ -45,9 +45,8 @@ public class TraccarService extends Service { public void onCreate() { StatusActivity.addMessage(getString(R.string.status_service_create)); } - - @Override - public int onStartCommand(Intent intent, int flags, int startId) { + + public void onStart(Intent intent, int startId) { StatusActivity.addMessage(getString(R.string.status_service_start)); sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); @@ -69,7 +68,11 @@ public class TraccarService extends Service { positionProvider.startUpdates(); sharedPreferences.registerOnSharedPreferenceChangeListener(preferenceChangeListener); + } + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + onStart(intent, startId); return START_STICKY; }