Этот коммит содержится в:
Anton Tananaev
2018-10-18 15:44:58 +13:00
родитель ac6d677ff4
Коммит 2e0e7ea453
2 изменённых файлов: 31 добавлений и 22 удалений
+8 -3
Просмотреть файл
@@ -27,6 +27,7 @@ import android.os.BatteryManager;
import android.os.Bundle; import android.os.Bundle;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
import android.util.Log; import android.util.Log;
import android.widget.Toast;
public class PositionProvider implements LocationListener { public class PositionProvider implements LocationListener {
@@ -67,9 +68,13 @@ public class PositionProvider implements LocationListener {
@SuppressLint("MissingPermission") @SuppressLint("MissingPermission")
public void startUpdates() { public void startUpdates() {
locationManager.requestLocationUpdates( try {
getProvider(preferences.getString(MainFragment.KEY_ACCURACY, "medium")), locationManager.requestLocationUpdates(
distance > 0 || angle > 0 ? MINIMUM_INTERVAL : interval, 0, this); getProvider(preferences.getString(MainFragment.KEY_ACCURACY, "medium")),
distance > 0 || angle > 0 ? MINIMUM_INTERVAL : interval, 0, this);
} catch (RuntimeException e) {
Toast.makeText(context, e.getMessage(), Toast.LENGTH_LONG).show();
}
} }
public static String getProvider(String accuracy) { public static String getProvider(String accuracy) {
+23 -19
Просмотреть файл
@@ -111,28 +111,32 @@ public class ShortcutActivity extends AppCompatActivity {
String provider = PositionProvider.getProvider( String provider = PositionProvider.getProvider(
preferences.getString(MainFragment.KEY_ACCURACY, "medium")); preferences.getString(MainFragment.KEY_ACCURACY, "medium"));
Location location = locationManager.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER); try {
if (location != null) { Location location = locationManager.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER);
sendAlarmLocation(location); if (location != null) {
} else { sendAlarmLocation(location);
locationManager.requestSingleUpdate(provider, new LocationListener() { } else {
@Override locationManager.requestSingleUpdate(provider, new LocationListener() {
public void onLocationChanged(Location location) { @Override
sendAlarmLocation(location); public void onLocationChanged(Location location) {
} sendAlarmLocation(location);
}
@Override @Override
public void onStatusChanged(String provider, int status, Bundle extras) { public void onStatusChanged(String provider, int status, Bundle extras) {
} }
@Override @Override
public void onProviderEnabled(String provider) { public void onProviderEnabled(String provider) {
} }
@Override @Override
public void onProviderDisabled(String provider) { public void onProviderDisabled(String provider) {
} }
}, Looper.myLooper()); }, Looper.myLooper());
}
} catch (RuntimeException e) {
Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
} }
} }