Don't use GPS when manual sharing has been choosen
This commit is contained in:
parent
4fd2795377
commit
0bf3d147f0
@ -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 {
|
||||||
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
|
if (PrefUtils.getLocationLevel(getApplicationContext()).equals(SharingLevel.MANUAL.toString())) {
|
||||||
getLocalizationFromListeners();
|
sendCoordinateToBackend(fakeLoc);
|
||||||
changeBackgroundMode();
|
} else {
|
||||||
|
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
|
||||||
|
getLocalizationFromListeners();
|
||||||
|
changeBackgroundMode();
|
||||||
|
}
|
||||||
} finally {
|
} finally {
|
||||||
mFusedLocationClient = null;
|
mFusedLocationClient = null;
|
||||||
destroyLocationListeners();
|
destroyLocationListeners();
|
||||||
@ -200,7 +210,7 @@ public class BackgroundLocalizationService extends Service {
|
|||||||
destroyLocationListeners();
|
destroyLocationListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void destroyLocationListeners(){
|
private void destroyLocationListeners() {
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -230,10 +240,9 @@ 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;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -277,7 +286,7 @@ public class BackgroundLocalizationService extends Service {
|
|||||||
@Override
|
@Override
|
||||||
public void onError(Throwable e) {
|
public void onError(Throwable e) {
|
||||||
|
|
||||||
Log.e(TAG,"onErr" + valueOf(e));
|
Log.e(TAG, "onErr" + valueOf(e));
|
||||||
|
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
Loading…
Reference in New Issue
Block a user