Skip to content

Commit 395d3f5

Browse files
authored
Merge pull request #3 from Seishin/master
Adding small changes
2 parents 2b05e5e + 5ed734a commit 395d3f5

File tree

3 files changed

+39
-21
lines changed

3 files changed

+39
-21
lines changed

madlocationmanager/src/main/java/mad/location/manager/lib/Interfaces/LocationServiceStatusInterface.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package mad.location.manager.lib.Interfaces;
22

3+
import static mad.location.manager.lib.Services.KalmanLocationService.ServiceStatus;
4+
35
/**
46
* Created by lezh1k on 2/13/18.
57
*/
68

79
public interface LocationServiceStatusInterface {
8-
void serviceStatusChanged(int status);
10+
void serviceStatusChanged(ServiceStatus status);
911
void GPSStatusChanged(int activeSatellites);
1012
void GPSEnabledChanged(boolean enabled);
1113
void lastLocationAccuracyChanged(float accuracy);

madlocationmanager/src/main/java/mad/location/manager/lib/Services/KalmanLocationService.java

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@
2424
import android.support.v4.app.ActivityCompat;
2525
import android.util.Log;
2626

27+
import java.util.ArrayList;
28+
import java.util.List;
29+
import java.util.Queue;
30+
import java.util.concurrent.PriorityBlockingQueue;
31+
2732
import mad.location.manager.lib.Commons.Coordinates;
2833
import mad.location.manager.lib.Commons.GeoPoint;
2934
import mad.location.manager.lib.Commons.SensorGpsDataItem;
@@ -34,11 +39,6 @@
3439
import mad.location.manager.lib.Interfaces.LocationServiceStatusInterface;
3540
import mad.location.manager.lib.Loggers.GeohashRTFilter;
3641

37-
import java.util.ArrayList;
38-
import java.util.List;
39-
import java.util.Queue;
40-
import java.util.concurrent.PriorityBlockingQueue;
41-
4242
public class KalmanLocationService extends Service
4343
implements SensorEventListener, LocationListener, GpsStatus.Listener {
4444

@@ -80,19 +80,28 @@ public Settings(double accelerationDeviation,
8080

8181
protected Location m_lastLocation;
8282

83-
public static final int PermissionDenied = 0;
84-
public static final int ServiceStopped = 1;
85-
public static final int StartLocationUpdates = 2;
86-
public static final int HaveLocation = 3;
87-
public static final int ServicePaused = 4;
88-
protected int m_serviceStatus = ServiceStopped;
83+
protected ServiceStatus m_serviceStatus = ServiceStatus.SERVICE_STOPPED;
84+
85+
public enum ServiceStatus {
86+
PERMISSION_DENIED(0),
87+
SERVICE_STOPPED(1),
88+
SERVICE_STARTED(2),
89+
HAS_LOCATION(3),
90+
SERVICE_PAUSED(4);
91+
92+
int value;
93+
94+
ServiceStatus(int value) { this.value = value;}
95+
96+
public int getValue() { return value; }
97+
}
8998

9099
public boolean isSensorsEnabled() {
91100
return m_sensorsEnabled;
92101
}
93102

94103
public boolean IsRunning() {
95-
return m_serviceStatus != ServiceStopped && m_serviceStatus != ServicePaused && m_sensorsEnabled;
104+
return m_serviceStatus != ServiceStatus.SERVICE_STOPPED && m_serviceStatus != ServiceStatus.SERVICE_PAUSED && m_sensorsEnabled;
96105
}
97106

98107
public void addInterface(LocationServiceInterface locationServiceInterface) {
@@ -137,6 +146,10 @@ public void addStatusInterfaces(List<LocationServiceStatusInterface> locationSer
137146
}
138147
}
139148

149+
public Location getLastLocation() {
150+
return m_lastLocation;
151+
}
152+
140153
/*Service implementation*/
141154
public class LocalBinder extends Binder {
142155
public KalmanLocationService getService() {
@@ -322,7 +335,7 @@ void onLocationChangedImp(Location location) {
322335
return;
323336
}
324337

325-
m_serviceStatus = HaveLocation;
338+
m_serviceStatus = ServiceStatus.HAS_LOCATION;
326339
m_lastLocation = location;
327340
m_lastLocationAccuracy = location.getAccuracy();
328341

@@ -391,9 +404,9 @@ public void start() {
391404
m_wakeLock.acquire();
392405
m_sensorDataQueue.clear();
393406
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
394-
m_serviceStatus = PermissionDenied;
407+
m_serviceStatus = ServiceStatus.PERMISSION_DENIED;
395408
} else {
396-
m_serviceStatus = StartLocationUpdates;
409+
m_serviceStatus = ServiceStatus.SERVICE_STARTED;
397410
m_locationManager.removeGpsStatusListener(this);
398411
m_locationManager.addGpsStatusListener(this);
399412
m_locationManager.removeUpdates(this);
@@ -424,9 +437,9 @@ public void stop() {
424437
m_wakeLock.release();
425438

426439
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
427-
m_serviceStatus = ServiceStopped;
440+
m_serviceStatus = ServiceStatus.SERVICE_STOPPED;
428441
} else {
429-
m_serviceStatus = ServicePaused;
442+
m_serviceStatus = ServiceStatus.SERVICE_PAUSED;
430443
m_locationManager.removeGpsStatusListener(this);
431444
m_locationManager.removeUpdates(this);
432445
}

madlocationmanager/src/main/java/mad/location/manager/lib/Services/ServicesHelper.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
import android.content.ServiceConnection;
77
import android.os.IBinder;
88

9+
import java.util.ArrayList;
10+
import java.util.List;
11+
912
import mad.location.manager.lib.Interfaces.LocationServiceInterface;
1013
import mad.location.manager.lib.Interfaces.LocationServiceStatusInterface;
1114
import mad.location.manager.lib.Interfaces.SimpleTempCallback;
1215

13-
import java.util.ArrayList;
14-
import java.util.List;
15-
1616
/**
1717
* Created by lezh1k on 2/13/18.
1818
*/
@@ -107,4 +107,7 @@ public static void getLocationService(Context context, SimpleTempCallback<Kalman
107107
}
108108
}
109109

110+
public static KalmanLocationService getLocationService() {
111+
return instance.kalmanLocationService;
112+
}
110113
}

0 commit comments

Comments
 (0)