Add buttons for removing statuses/locations in sharing tab #122

Merged
s416204 merged 75 commits from addRemovingManuals into develop 2019-01-05 00:45:41 +01:00
Showing only changes of commit 0bf3d147f0 - Show all commits

View File

@ -65,11 +65,17 @@ public class BackgroundLocalizationService extends Service {
private Handler mHandler = new Handler(); private Handler mHandler = new Handler();
private Runnable mStatusChecker; private Runnable mStatusChecker;
private FusedLocationProviderClient mFusedLocationClient; private FusedLocationProviderClient mFusedLocationClient;
private Location fakeLoc = null;
public BackgroundLocalizationService() { public BackgroundLocalizationService() {
providers.add(LocationManager.GPS_PROVIDER); providers.add(LocationManager.GPS_PROVIDER);
providers.add(LocationManager.NETWORK_PROVIDER); providers.add(LocationManager.NETWORK_PROVIDER);
providers.add(LocationManager.PASSIVE_PROVIDER); providers.add(LocationManager.PASSIVE_PROVIDER);
fakeLoc = new Location("");
fakeLoc.setLatitude(0);
fakeLoc.setLongitude(0);
fakeLoc.setAltitude(0);
} }
@Override @Override
@ -112,9 +118,13 @@ public class BackgroundLocalizationService extends Service {
if (!stopService) { if (!stopService) {
mStatusChecker = () -> { mStatusChecker = () -> {
try { try {
if (PrefUtils.getLocationLevel(getApplicationContext()).equals(SharingLevel.MANUAL.toString())) {
sendCoordinateToBackend(fakeLoc);
} else {
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this); mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
getLocalizationFromListeners(); getLocalizationFromListeners();
changeBackgroundMode(); changeBackgroundMode();
}
} finally { } finally {
mFusedLocationClient = null; mFusedLocationClient = null;
destroyLocationListeners(); destroyLocationListeners();
@ -231,7 +241,6 @@ public class BackgroundLocalizationService extends Service {
String locationLevel = PrefUtils.getLocationLevel(getApplicationContext()); String locationLevel = PrefUtils.getLocationLevel(getApplicationContext());
String status = (PrefUtils.isStatusEnabled(getApplicationContext())) ? PrefUtils.getUserStatus(getApplicationContext()) : ""; String status = (PrefUtils.isStatusEnabled(getApplicationContext())) ? PrefUtils.getUserStatus(getApplicationContext()) : "";
if (locationLevel.equals(SharingLevel.PRESENCE.toString())) { if (locationLevel.equals(SharingLevel.PRESENCE.toString())) {
if (!MapUtils.checkIfCoordinateIsValid(latitude, longitude)) { if (!MapUtils.checkIfCoordinateIsValid(latitude, longitude)) {
return null; return null;