aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-11-23 14:27:57 +0100
committerSamuel Tardieu <sam@rfc1149.net>2014-11-23 14:27:57 +0100
commit4c5f4a1991c129ec03aa8978bf107c34ebbbee73 (patch)
treef7e1de84ae8d6f4440af3068cefc3e4bd53846b6
parentb21333aee698cd535cf9ac3edb7d8c2a52a559be (diff)
downloadcgeo-4c5f4a1991c129ec03aa8978bf107c34ebbbee73.zip
cgeo-4c5f4a1991c129ec03aa8978bf107c34ebbbee73.tar.gz
cgeo-4c5f4a1991c129ec03aa8978bf107c34ebbbee73.tar.bz2
Remove used-once interface IGeoData
IGeoData was only implemented by the GeoData class. We can as well use it directly.
-rw-r--r--main/src/cgeo/geocaching/AbstractDialogFragment.java6
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java4
-rw-r--r--main/src/cgeo/geocaching/CacheListActivity.java4
-rw-r--r--main/src/cgeo/geocaching/CgeoApplication.java15
-rw-r--r--main/src/cgeo/geocaching/CompassActivity.java8
-rw-r--r--main/src/cgeo/geocaching/EditWaypointActivity.java4
-rw-r--r--main/src/cgeo/geocaching/MainActivity.java4
-rw-r--r--main/src/cgeo/geocaching/NavigateAnyPointActivity.java4
-rw-r--r--main/src/cgeo/geocaching/SearchActivity.java4
-rw-r--r--main/src/cgeo/geocaching/WaypointPopupFragment.java4
-rw-r--r--main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java4
-rw-r--r--main/src/cgeo/geocaching/filter/DistanceFilter.java4
-rw-r--r--main/src/cgeo/geocaching/maps/CGeoMap.java6
-rw-r--r--main/src/cgeo/geocaching/playservices/LocationProvider.java29
-rw-r--r--main/src/cgeo/geocaching/sensors/GeoData.java15
-rw-r--r--main/src/cgeo/geocaching/sensors/GeoDataProvider.java8
-rw-r--r--main/src/cgeo/geocaching/sensors/GeoDirHandler.java22
-rw-r--r--main/src/cgeo/geocaching/sensors/IGeoData.java18
-rw-r--r--main/src/cgeo/geocaching/speech/SpeechService.java4
-rw-r--r--main/src/cgeo/geocaching/ui/CacheListAdapter.java4
-rw-r--r--main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java4
21 files changed, 77 insertions, 98 deletions
diff --git a/main/src/cgeo/geocaching/AbstractDialogFragment.java b/main/src/cgeo/geocaching/AbstractDialogFragment.java
index d680a41..0f0ea2f 100644
--- a/main/src/cgeo/geocaching/AbstractDialogFragment.java
+++ b/main/src/cgeo/geocaching/AbstractDialogFragment.java
@@ -9,8 +9,8 @@ import cgeo.geocaching.gcvote.GCVote;
import cgeo.geocaching.gcvote.GCVoteRating;
import cgeo.geocaching.location.Geopoint;
import cgeo.geocaching.location.Units;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.sensors.GeoDirHandler;
-import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.ui.CacheDetailsCreator;
import cgeo.geocaching.ui.LoggingUI;
@@ -254,7 +254,7 @@ public abstract class AbstractDialogFragment extends DialogFragment implements C
private final GeoDirHandler geoUpdate = new GeoDirHandler() {
@Override
- public void updateGeoData(final IGeoData geo) {
+ public void updateGeoData(final GeoData geo) {
try {
if (cache != null && cache.getCoords() != null) {
cacheDistance.setText(Units.getDistanceFromKilometers(geo.getCoords().distanceTo(cache.getCoords())));
@@ -271,7 +271,7 @@ public abstract class AbstractDialogFragment extends DialogFragment implements C
* @param geo
* location
*/
- protected void onUpdateGeoData(final IGeoData geo) {
+ protected void onUpdateGeoData(final GeoData geo) {
// do nothing by default
}
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index 3fe33a3..169238b 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -25,8 +25,8 @@ import cgeo.geocaching.list.StoredList;
import cgeo.geocaching.location.Units;
import cgeo.geocaching.network.HtmlImage;
import cgeo.geocaching.network.Network;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.sensors.GeoDirHandler;
-import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.ui.AbstractCachingPageViewCreator;
import cgeo.geocaching.ui.AnchorAwareLinkMovementMethod;
@@ -546,7 +546,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
}
@Override
- public void updateGeoData(final IGeoData geo) {
+ public void updateGeoData(final GeoData geo) {
final CacheDetailActivity activity = activityRef.get();
if (activity == null) {
return;
diff --git a/main/src/cgeo/geocaching/CacheListActivity.java b/main/src/cgeo/geocaching/CacheListActivity.java
index 4a654bd..a95cba6 100644
--- a/main/src/cgeo/geocaching/CacheListActivity.java
+++ b/main/src/cgeo/geocaching/CacheListActivity.java
@@ -42,8 +42,8 @@ import cgeo.geocaching.network.Cookies;
import cgeo.geocaching.network.DownloadProgress;
import cgeo.geocaching.network.Network;
import cgeo.geocaching.network.Send2CgeoDownloader;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.sensors.GeoDirHandler;
-import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.settings.SettingsActivity;
import cgeo.geocaching.sorting.CacheComparator;
@@ -144,7 +144,7 @@ public class CacheListActivity extends AbstractListActivity implements FilteredA
}
@Override
- public void updateGeoData(final IGeoData geoData) {
+ public void updateGeoData(final GeoData geoData) {
adapter.setActualCoordinates(geoData.getCoords());
}
diff --git a/main/src/cgeo/geocaching/CgeoApplication.java b/main/src/cgeo/geocaching/CgeoApplication.java
index 2366f58..4cf61ee 100644
--- a/main/src/cgeo/geocaching/CgeoApplication.java
+++ b/main/src/cgeo/geocaching/CgeoApplication.java
@@ -5,7 +5,6 @@ import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.sensors.GeoDataProvider;
import cgeo.geocaching.sensors.GpsStatusProvider;
import cgeo.geocaching.sensors.GpsStatusProvider.Status;
-import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.sensors.OrientationProvider;
import cgeo.geocaching.sensors.RotationProvider;
import cgeo.geocaching.settings.Settings;
@@ -33,17 +32,17 @@ public class CgeoApplication extends Application {
public boolean showLoginToast = true; //login toast shown just once.
private boolean liveMapHintShownInThisSession = false; // livemap hint has been shown
private static CgeoApplication instance;
- private Observable<IGeoData> geoDataObservable;
- private Observable<IGeoData> geoDataObservableLowPower;
+ private Observable<GeoData> geoDataObservable;
+ private Observable<GeoData> geoDataObservableLowPower;
private Observable<Float> directionObservable;
private Observable<Status> gpsStatusObservable;
- @NonNull private volatile IGeoData currentGeo = GeoData.DUMMY_LOCATION;
+ @NonNull private volatile GeoData currentGeo = GeoData.DUMMY_LOCATION;
private volatile boolean hasValidLocation = false;
private volatile float currentDirection = 0.0f;
private boolean isGooglePlayServicesAvailable = false;
- private final Action1<IGeoData> rememberGeodataAction = new Action1<IGeoData>() {
+ private final Action1<GeoData> rememberGeodataAction = new Action1<GeoData>() {
@Override
- public void call(final IGeoData geoData) {
+ public void call(final GeoData geoData) {
currentGeo = geoData;
hasValidLocation = true;
}
@@ -144,7 +143,7 @@ public class CgeoApplication extends Application {
DataStore.removeAllFromCache();
}
- public Observable<IGeoData> geoDataObservable(final boolean lowPower) {
+ public Observable<GeoData> geoDataObservable(final boolean lowPower) {
return lowPower ? geoDataObservableLowPower : geoDataObservable;
}
@@ -160,7 +159,7 @@ public class CgeoApplication extends Application {
}
@NonNull
- public IGeoData currentGeo() {
+ public GeoData currentGeo() {
return currentGeo;
}
diff --git a/main/src/cgeo/geocaching/CompassActivity.java b/main/src/cgeo/geocaching/CompassActivity.java
index 273b3c4..1a1bad2 100644
--- a/main/src/cgeo/geocaching/CompassActivity.java
+++ b/main/src/cgeo/geocaching/CompassActivity.java
@@ -8,9 +8,9 @@ import cgeo.geocaching.enumerations.LoadFlags;
import cgeo.geocaching.location.Geopoint;
import cgeo.geocaching.location.Units;
import cgeo.geocaching.maps.CGeoMap;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.sensors.GeoDirHandler;
import cgeo.geocaching.sensors.GpsStatusProvider.Status;
-import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.speech.SpeechService;
import cgeo.geocaching.ui.CompassView;
@@ -140,7 +140,7 @@ public class CompassActivity extends AbstractActionBarActivity {
private void forceRefresh() {
// Force a refresh of location and direction when data is available.
final CgeoApplication app = CgeoApplication.getInstance();
- final IGeoData geo = app.currentGeo();
+ final GeoData geo = app.currentGeo();
geoDirHandler.updateGeoDir(geo, app.currentDirection());
}
@@ -261,7 +261,7 @@ public class CompassActivity extends AbstractActionBarActivity {
cacheInfoView.setText(description);
}
- private void updateDistanceInfo(final IGeoData geo) {
+ private void updateDistanceInfo(final GeoData geo) {
if (dstCoords == null) {
return;
}
@@ -284,7 +284,7 @@ public class CompassActivity extends AbstractActionBarActivity {
private final GeoDirHandler geoDirHandler = new GeoDirHandler() {
@Override
- public void updateGeoDir(final IGeoData geo, final float dir) {
+ public void updateGeoDir(final GeoData geo, final float dir) {
try {
navType.setText(res.getString(geo.getLocationProvider().resourceId));
diff --git a/main/src/cgeo/geocaching/EditWaypointActivity.java b/main/src/cgeo/geocaching/EditWaypointActivity.java
index 81d4db5..7cfb9f9 100644
--- a/main/src/cgeo/geocaching/EditWaypointActivity.java
+++ b/main/src/cgeo/geocaching/EditWaypointActivity.java
@@ -10,8 +10,8 @@ import cgeo.geocaching.enumerations.WaypointType;
import cgeo.geocaching.location.DistanceParser;
import cgeo.geocaching.location.Geopoint;
import cgeo.geocaching.location.GeopointFormatter;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.sensors.GeoDirHandler;
-import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.ui.dialog.CoordinatesInputDialog;
import cgeo.geocaching.ui.dialog.Dialogs;
@@ -265,7 +265,7 @@ public class EditWaypointActivity extends AbstractActionBarActivity implements C
final private GeoDirHandler geoDirHandler = new GeoDirHandler() {
@Override
- public void updateGeoData(final IGeoData geo) {
+ public void updateGeoData(final GeoData geo) {
try {
buttonLat.setHint(geo.getCoords().format(GeopointFormatter.Format.LAT_DECMINUTE_RAW));
buttonLon.setHint(geo.getCoords().format(GeopointFormatter.Format.LON_DECMINUTE_RAW));
diff --git a/main/src/cgeo/geocaching/MainActivity.java b/main/src/cgeo/geocaching/MainActivity.java
index 8dd210f..321eaca 100644
--- a/main/src/cgeo/geocaching/MainActivity.java
+++ b/main/src/cgeo/geocaching/MainActivity.java
@@ -15,10 +15,10 @@ import cgeo.geocaching.location.Geopoint;
import cgeo.geocaching.location.Units;
import cgeo.geocaching.maps.CGeoMap;
import cgeo.geocaching.network.Network;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.sensors.GeoDirHandler;
import cgeo.geocaching.sensors.GpsStatusProvider;
import cgeo.geocaching.sensors.GpsStatusProvider.Status;
-import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.settings.SettingsActivity;
import cgeo.geocaching.ui.dialog.Dialogs;
@@ -552,7 +552,7 @@ public class MainActivity extends AbstractActionBarActivity {
private class UpdateLocation extends GeoDirHandler {
@Override
- public void updateGeoData(final IGeoData geo) {
+ public void updateGeoData(final GeoData geo) {
if (!nearestView.isClickable()) {
nearestView.setFocusable(true);
nearestView.setClickable(true);
diff --git a/main/src/cgeo/geocaching/NavigateAnyPointActivity.java b/main/src/cgeo/geocaching/NavigateAnyPointActivity.java
index f8ae06d..9535004 100644
--- a/main/src/cgeo/geocaching/NavigateAnyPointActivity.java
+++ b/main/src/cgeo/geocaching/NavigateAnyPointActivity.java
@@ -10,8 +10,8 @@ import cgeo.geocaching.apps.cache.navi.NavigationAppFactory;
import cgeo.geocaching.location.DistanceParser;
import cgeo.geocaching.location.Geopoint;
import cgeo.geocaching.location.GeopointFormatter;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.sensors.GeoDirHandler;
-import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.ui.AbstractViewHolder;
import cgeo.geocaching.ui.NavigationActionProvider;
@@ -458,7 +458,7 @@ public class NavigateAnyPointActivity extends AbstractActionBarActivity implemen
private final GeoDirHandler geoDirHandler = new GeoDirHandler() {
@Override
- public void updateGeoData(final IGeoData geo) {
+ public void updateGeoData(final GeoData geo) {
try {
latButton.setHint(geo.getCoords().format(GeopointFormatter.Format.LAT_DECMINUTE_RAW));
lonButton.setHint(geo.getCoords().format(GeopointFormatter.Format.LON_DECMINUTE_RAW));
diff --git a/main/src/cgeo/geocaching/SearchActivity.java b/main/src/cgeo/geocaching/SearchActivity.java
index 64dd4d9..2789486 100644
--- a/main/src/cgeo/geocaching/SearchActivity.java
+++ b/main/src/cgeo/geocaching/SearchActivity.java
@@ -12,7 +12,7 @@ import cgeo.geocaching.connector.trackable.TrackableConnector;
import cgeo.geocaching.location.Geopoint;
import cgeo.geocaching.location.GeopointFormatter;
import cgeo.geocaching.search.AutoCompleteAdapter;
-import cgeo.geocaching.sensors.IGeoData;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.ui.dialog.CoordinatesInputDialog;
import cgeo.geocaching.ui.dialog.Dialogs;
@@ -309,7 +309,7 @@ public class SearchActivity extends AbstractActionBarActivity implements Coordin
final String lonText = StringUtils.trim(buttonLongitude.getText().toString());
if (StringUtils.isEmpty(latText) || StringUtils.isEmpty(lonText)) {
- final IGeoData geo = app.currentGeo();
+ final GeoData geo = app.currentGeo();
buttonLatitude.setText(geo.getCoords().format(GeopointFormatter.Format.LAT_DECMINUTE));
buttonLongitude.setText(geo.getCoords().format(GeopointFormatter.Format.LON_DECMINUTE));
} else {
diff --git a/main/src/cgeo/geocaching/WaypointPopupFragment.java b/main/src/cgeo/geocaching/WaypointPopupFragment.java
index a86d7ce..83dad09 100644
--- a/main/src/cgeo/geocaching/WaypointPopupFragment.java
+++ b/main/src/cgeo/geocaching/WaypointPopupFragment.java
@@ -6,7 +6,7 @@ import butterknife.InjectView;
import cgeo.geocaching.apps.cache.navi.NavigationAppFactory;
import cgeo.geocaching.location.Geopoint;
import cgeo.geocaching.location.Units;
-import cgeo.geocaching.sensors.IGeoData;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.ui.CacheDetailsCreator;
import cgeo.geocaching.utils.Log;
@@ -48,7 +48,7 @@ public class WaypointPopupFragment extends AbstractDialogFragment {
}
@Override
- protected void onUpdateGeoData(IGeoData geo) {
+ protected void onUpdateGeoData(GeoData geo) {
if (waypoint != null && waypoint.getCoords() != null) {
waypointDistance.setText(Units.getDistanceFromKilometers(geo.getCoords().distanceTo(waypoint.getCoords())));
waypointDistance.bringToFront();
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java b/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java
index 62cb67f..1b5aa87 100644
--- a/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java
+++ b/main/src/cgeo/geocaching/apps/cache/navi/GoogleMapsDirectionApp.java
@@ -4,7 +4,7 @@ import cgeo.geocaching.CgeoApplication;
import cgeo.geocaching.R;
import cgeo.geocaching.location.Geopoint;
import cgeo.geocaching.maps.MapProviderFactory;
-import cgeo.geocaching.sensors.IGeoData;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.utils.Log;
import android.app.Activity;
@@ -25,7 +25,7 @@ public class GoogleMapsDirectionApp extends AbstractPointNavigationApp {
@Override
public void navigate(final Activity activity, final Geopoint coords) {
try {
- final IGeoData geo = CgeoApplication.getInstance().currentGeo();
+ final GeoData geo = CgeoApplication.getInstance().currentGeo();
activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri
.parse("http://maps.google.com/maps?f=d&saddr="
+ geo.getCoords().getLatitude() + "," + geo.getCoords().getLongitude() + "&daddr="
diff --git a/main/src/cgeo/geocaching/filter/DistanceFilter.java b/main/src/cgeo/geocaching/filter/DistanceFilter.java
index 923f46a..ae96c67 100644
--- a/main/src/cgeo/geocaching/filter/DistanceFilter.java
+++ b/main/src/cgeo/geocaching/filter/DistanceFilter.java
@@ -2,7 +2,7 @@ package cgeo.geocaching.filter;
import cgeo.geocaching.CgeoApplication;
import cgeo.geocaching.Geocache;
-import cgeo.geocaching.sensors.IGeoData;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.R;
import cgeo.geocaching.location.Geopoint;
@@ -10,7 +10,7 @@ import java.util.ArrayList;
import java.util.List;
class DistanceFilter extends AbstractFilter {
- private final IGeoData geo;
+ private final GeoData geo;
private final int minDistance;
private final int maxDistance;
diff --git a/main/src/cgeo/geocaching/maps/CGeoMap.java b/main/src/cgeo/geocaching/maps/CGeoMap.java
index ea3ceec..233f0e6 100644
--- a/main/src/cgeo/geocaching/maps/CGeoMap.java
+++ b/main/src/cgeo/geocaching/maps/CGeoMap.java
@@ -32,8 +32,8 @@ import cgeo.geocaching.maps.interfaces.MapProvider;
import cgeo.geocaching.maps.interfaces.MapSource;
import cgeo.geocaching.maps.interfaces.MapViewImpl;
import cgeo.geocaching.maps.interfaces.OnMapDragListener;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.sensors.GeoDirHandler;
-import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.ui.dialog.LiveMapInfoDialogBuilder;
import cgeo.geocaching.utils.AngleUtils;
@@ -896,7 +896,7 @@ public class CGeoMap extends AbstractMap implements ViewFactory {
}
// Set center of map to my location if appropriate.
- private void myLocationInMiddle(final IGeoData geo) {
+ private void myLocationInMiddle(final GeoData geo) {
if (followMyLocation) {
centerMap(geo.getCoords());
}
@@ -927,7 +927,7 @@ public class CGeoMap extends AbstractMap implements ViewFactory {
}
@Override
- public void updateGeoDir(final IGeoData geo, final float dir) {
+ public void updateGeoDir(final GeoData geo, final float dir) {
currentLocation = geo.getLocation();
currentHeading = AngleUtils.getDirectionNow(dir);
repaintPositionOverlay();
diff --git a/main/src/cgeo/geocaching/playservices/LocationProvider.java b/main/src/cgeo/geocaching/playservices/LocationProvider.java
index 43ca2c1..7bf7850 100644
--- a/main/src/cgeo/geocaching/playservices/LocationProvider.java
+++ b/main/src/cgeo/geocaching/playservices/LocationProvider.java
@@ -1,7 +1,6 @@
package cgeo.geocaching.playservices;
import cgeo.geocaching.sensors.GeoData;
-import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.utils.Log;
import cgeo.geocaching.utils.RxUtils;
@@ -38,7 +37,7 @@ public class LocationProvider implements ConnectionCallbacks, OnConnectionFailed
private static final AtomicInteger mostPreciseCount = new AtomicInteger(0);
private static final AtomicInteger lowPowerCount = new AtomicInteger(0);
private static LocationProvider instance = null;
- private static ReplaySubject<IGeoData> subject = ReplaySubject.createWithSize(1);
+ private static ReplaySubject<GeoData> subject = ReplaySubject.createWithSize(1);
private final LocationClient locationClient;
private static synchronized LocationProvider getInstance(final Context context) {
@@ -63,11 +62,11 @@ public class LocationProvider implements ConnectionCallbacks, OnConnectionFailed
}
}
- private static Observable<IGeoData> get(final Context context, final AtomicInteger reference) {
+ private static Observable<GeoData> get(final Context context, final AtomicInteger reference) {
final LocationProvider instance = getInstance(context);
- return Observable.create(new OnSubscribe<IGeoData>() {
+ return Observable.create(new OnSubscribe<GeoData>() {
@Override
- public void call(final Subscriber<? super IGeoData> subscriber) {
+ public void call(final Subscriber<? super GeoData> subscriber) {
if (reference.incrementAndGet() == 1) {
instance.updateRequest();
}
@@ -84,9 +83,9 @@ public class LocationProvider implements ConnectionCallbacks, OnConnectionFailed
}, 2500, TimeUnit.MILLISECONDS);
}
}));
- subscriber.add(subject.subscribe(new Action1<IGeoData>() {
+ subscriber.add(subject.subscribe(new Action1<GeoData>() {
@Override
- public void call(final IGeoData geoData) {
+ public void call(final GeoData geoData) {
subscriber.onNext(geoData);
}
}));
@@ -94,24 +93,24 @@ public class LocationProvider implements ConnectionCallbacks, OnConnectionFailed
});
}
- public static Observable<IGeoData> getMostPrecise(final Context context) {
+ public static Observable<GeoData> getMostPrecise(final Context context) {
return get(context, mostPreciseCount);
}
- public static Observable<IGeoData> getLowPower(final Context context) {
+ public static Observable<GeoData> getLowPower(final Context context) {
// Low-power location without the last stored location
- final Observable<IGeoData> lowPowerObservable = get(context, lowPowerCount).skip(1);
+ final Observable<GeoData> lowPowerObservable = get(context, lowPowerCount).skip(1);
// High-power location without the last stored location
- final Observable<IGeoData> highPowerObservable = get(context, mostPreciseCount).skip(1);
+ final Observable<GeoData> highPowerObservable = get(context, mostPreciseCount).skip(1);
// Use either low-power (with a 6 seconds head start) or high-power observables to obtain a location
// no less precise than 20 meters.
- final Observable<IGeoData> untilPreciseEnoughObservable =
+ final Observable<GeoData> untilPreciseEnoughObservable =
lowPowerObservable.mergeWith(highPowerObservable.delaySubscription(6, TimeUnit.SECONDS))
- .lift(RxUtils.operatorTakeUntil(new Func1<IGeoData, Boolean>() {
+ .lift(RxUtils.operatorTakeUntil(new Func1<GeoData, Boolean>() {
@Override
- public Boolean call(final IGeoData geoData) {
+ public Boolean call(final GeoData geoData) {
return geoData.getAccuracy() <= 20;
}
}));
@@ -131,7 +130,7 @@ public class LocationProvider implements ConnectionCallbacks, OnConnectionFailed
* @param context the context used to retrieve the system services
*/
private LocationProvider(final Context context) {
- final IGeoData initialLocation = GeoData.getInitialLocation(context);
+ final GeoData initialLocation = GeoData.getInitialLocation(context);
subject.onNext(initialLocation != null ? initialLocation : GeoData.DUMMY_LOCATION);
locationClient = new LocationClient(context, this, this);
locationClient.connect();
diff --git a/main/src/cgeo/geocaching/sensors/GeoData.java b/main/src/cgeo/geocaching/sensors/GeoData.java
index 2db3f07..d0e6389 100644
--- a/main/src/cgeo/geocaching/sensors/GeoData.java
+++ b/main/src/cgeo/geocaching/sensors/GeoData.java
@@ -3,13 +3,14 @@ package cgeo.geocaching.sensors;
import cgeo.geocaching.location.Geopoint;
import cgeo.geocaching.utils.Log;
+import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import android.content.Context;
import android.location.Location;
import android.location.LocationManager;
-public class GeoData extends Location implements IGeoData {
+public class GeoData extends Location {
public static final String INITIAL_PROVIDER = "initial";
public static final String FUSED_PROVIDER = "fused";
@@ -19,6 +20,7 @@ public class GeoData extends Location implements IGeoData {
// rather than waiting forever for a position update which might never come, we emulate it by placing
// the user arbitrarly at Paris Notre-Dame, one of the most visited free tourist attractions in the world.
final public static GeoData DUMMY_LOCATION = new GeoData(new Location(INITIAL_PROVIDER));
+
static {
DUMMY_LOCATION.setLatitude(48.85308);
DUMMY_LOCATION.setLongitude(2.34962);
@@ -39,7 +41,6 @@ public class GeoData extends Location implements IGeoData {
return gpsLocation.getTime() >= netLocation.getTime() ? gpsLocation : netLocation;
}
- @Override
public Location getLocation() {
return this;
}
@@ -61,17 +62,17 @@ public class GeoData extends Location implements IGeoData {
return LocationProviderType.LAST;
}
- @Override
public LocationProviderType getLocationProvider() {
return getLocationProviderType(getProvider());
}
- @Override
+ @NonNull
public Geopoint getCoords() {
return new Geopoint(this);
}
- @Nullable public static GeoData getInitialLocation(final Context context) {
+ @Nullable
+ public static GeoData getInitialLocation(final Context context) {
final LocationManager geoManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
if (geoManager == null) {
Log.w("No LocationManager available");
@@ -96,10 +97,8 @@ public class GeoData extends Location implements IGeoData {
}
}
-
-
public static boolean isRecent(@Nullable final Location location) {
return location != null && System.currentTimeMillis() <= location.getTime() + 30000;
}
-}
+} \ No newline at end of file
diff --git a/main/src/cgeo/geocaching/sensors/GeoDataProvider.java b/main/src/cgeo/geocaching/sensors/GeoDataProvider.java
index 837a17a..b3680fb 100644
--- a/main/src/cgeo/geocaching/sensors/GeoDataProvider.java
+++ b/main/src/cgeo/geocaching/sensors/GeoDataProvider.java
@@ -15,7 +15,7 @@ import android.os.Bundle;
import java.util.concurrent.TimeUnit;
-public class GeoDataProvider extends LooperCallbacks<IGeoData> {
+public class GeoDataProvider extends LooperCallbacks<GeoData> {
private final Context context;
private final LocationManager geoManager;
@@ -37,13 +37,13 @@ public class GeoDataProvider extends LooperCallbacks<IGeoData> {
geoManager = (LocationManager) this.context.getSystemService(Context.LOCATION_SERVICE);
}
- public static Observable<IGeoData> create(final Context context) {
+ public static Observable<GeoData> create(final Context context) {
return Observable.create(new GeoDataProvider(context));
}
@Override
public void onStart() {
- final IGeoData initialLocation = GeoData.getInitialLocation(context);
+ final GeoData initialLocation = GeoData.getInitialLocation(context);
if (initialLocation != null) {
subject.onNext(initialLocation);
}
@@ -97,7 +97,7 @@ public class GeoDataProvider extends LooperCallbacks<IGeoData> {
private void assign(final Location location) {
// We do not necessarily get signalled when satellites go to 0/0.
- final IGeoData current = new GeoData(location);
+ final GeoData current = new GeoData(location);
subject.onNext(current);
}
diff --git a/main/src/cgeo/geocaching/sensors/GeoDirHandler.java b/main/src/cgeo/geocaching/sensors/GeoDirHandler.java
index d127784..9227206 100644
--- a/main/src/cgeo/geocaching/sensors/GeoDirHandler.java
+++ b/main/src/cgeo/geocaching/sensors/GeoDirHandler.java
@@ -17,7 +17,7 @@ import rx.subscriptions.CompositeSubscription;
/**
* GeoData and Direction handler.
* <p>
- * To use this class, override {@link #updateGeoDir(IGeoData, float)}. You need to start the handler using
+ * To use this class, override {@link #updateGeoDir(cgeo.geocaching.sensors.GeoData, float)}. You need to start the handler using
* {@link #start(int)}. A good place to do so might be the {@code onResume} method of the Activity. Stop the Handler
* accordingly in {@code onPause}.
*
@@ -40,7 +40,7 @@ public abstract class GeoDirHandler {
*
* @param geoData the new geographical data
*/
- public void updateGeoData(final IGeoData geoData) {
+ public void updateGeoData(final GeoData geoData) {
}
/**
@@ -62,21 +62,21 @@ public abstract class GeoDirHandler {
* If the device goes fast enough, or if the compass use is not enabled in the settings,
* the GPS direction information will be used instead of the compass one.
*/
- public void updateGeoDir(final IGeoData geoData, final float direction) {
+ public void updateGeoDir(final GeoData geoData, final float direction) {
}
private static Observable<Float> fixedDirection() {
return app.directionObservable().map(new Func1<Float, Float>() {
@Override
public Float call(final Float direction) {
- final IGeoData geoData = app.currentGeo();
+ final GeoData geoData = app.currentGeo();
return fixDirection(geoData, direction);
}
});
}
- private static float fixDirection(final IGeoData geoData, final float direction) {
+ private static float fixDirection(final GeoData geoData, final float direction) {
final boolean useGPSBearing = !Settings.isUseCompass() || geoData.getSpeed() > 5;
return useGPSBearing ? AngleUtils.reverseDirectionNow(geoData.getBearing()) : direction;
}
@@ -89,9 +89,9 @@ public abstract class GeoDirHandler {
final CompositeSubscription subscriptions = new CompositeSubscription();
final boolean lowPower = (flags & LOW_POWER) != 0;
if ((flags & UPDATE_GEODATA) != 0) {
- subscriptions.add(app.geoDataObservable(lowPower).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<IGeoData>() {
+ subscriptions.add(app.geoDataObservable(lowPower).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<GeoData>() {
@Override
- public void call(final IGeoData geoData) {
+ public void call(final GeoData geoData) {
updateGeoData(geoData);
}
}));
@@ -105,14 +105,14 @@ public abstract class GeoDirHandler {
}));
}
if ((flags & UPDATE_GEODIR) != 0) {
- subscriptions.add(Observable.combineLatest(app.geoDataObservable(lowPower), app.directionObservable(), new Func2<IGeoData, Float, ImmutablePair<IGeoData, Float>>() {
+ subscriptions.add(Observable.combineLatest(app.geoDataObservable(lowPower), app.directionObservable(), new Func2<GeoData, Float, ImmutablePair<GeoData, Float>>() {
@Override
- public ImmutablePair<IGeoData, Float> call(final IGeoData geoData, final Float direction) {
+ public ImmutablePair<GeoData, Float> call(final GeoData geoData, final Float direction) {
return ImmutablePair.of(geoData, fixDirection(geoData, direction));
}
- }).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<ImmutablePair<IGeoData, Float>>() {
+ }).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<ImmutablePair<GeoData, Float>>() {
@Override
- public void call(final ImmutablePair<IGeoData, Float> geoDir) {
+ public void call(final ImmutablePair<GeoData, Float> geoDir) {
updateGeoDir(geoDir.left, geoDir.right);
}
}));
diff --git a/main/src/cgeo/geocaching/sensors/IGeoData.java b/main/src/cgeo/geocaching/sensors/IGeoData.java
deleted file mode 100644
index 949203a..0000000
--- a/main/src/cgeo/geocaching/sensors/IGeoData.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package cgeo.geocaching.sensors;
-
-import cgeo.geocaching.location.Geopoint;
-
-import org.eclipse.jdt.annotation.NonNull;
-
-import android.location.Location;
-
-public interface IGeoData {
-
- public Location getLocation();
- public LocationProviderType getLocationProvider();
-
- @NonNull public Geopoint getCoords();
- public float getBearing();
- public float getSpeed();
- public float getAccuracy();
-}
diff --git a/main/src/cgeo/geocaching/speech/SpeechService.java b/main/src/cgeo/geocaching/speech/SpeechService.java
index b40cac5..b22e061 100644
--- a/main/src/cgeo/geocaching/speech/SpeechService.java
+++ b/main/src/cgeo/geocaching/speech/SpeechService.java
@@ -4,8 +4,8 @@ import cgeo.geocaching.Intents;
import cgeo.geocaching.R;
import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.location.Geopoint;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.sensors.GeoDirHandler;
-import cgeo.geocaching.sensors.IGeoData;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.utils.Log;
@@ -47,7 +47,7 @@ public class SpeechService extends Service implements OnInitListener {
final GeoDirHandler geoDirHandler = new GeoDirHandler() {
@Override
- public void updateGeoDir(final IGeoData newGeo, final float newDirection) {
+ public void updateGeoDir(final GeoData newGeo, final float newDirection) {
position = newGeo.getCoords();
direction = newDirection;
// avoid any calculation, if the delay since the last output is not long enough
diff --git a/main/src/cgeo/geocaching/ui/CacheListAdapter.java b/main/src/cgeo/geocaching/ui/CacheListAdapter.java
index ae449ec..f080761 100644
--- a/main/src/cgeo/geocaching/ui/CacheListAdapter.java
+++ b/main/src/cgeo/geocaching/ui/CacheListAdapter.java
@@ -10,7 +10,7 @@ import cgeo.geocaching.enumerations.CacheListType;
import cgeo.geocaching.enumerations.CacheType;
import cgeo.geocaching.filter.IFilter;
import cgeo.geocaching.location.Geopoint;
-import cgeo.geocaching.sensors.IGeoData;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.sorting.CacheComparator;
import cgeo.geocaching.sorting.DistanceComparator;
@@ -119,7 +119,7 @@ public class CacheListAdapter extends ArrayAdapter<Geocache> {
public CacheListAdapter(final Activity activity, final List<Geocache> list, final CacheListType cacheListType) {
super(activity, 0, list);
- final IGeoData currentGeo = CgeoApplication.getInstance().currentGeo();
+ final GeoData currentGeo = CgeoApplication.getInstance().currentGeo();
coords = currentGeo.getCoords();
this.res = activity.getResources();
this.list = list;
diff --git a/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java b/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
index 8b1406f..197d4a7 100644
--- a/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
+++ b/main/src/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java
@@ -9,7 +9,7 @@ import cgeo.geocaching.activity.Keyboard;
import cgeo.geocaching.location.Geopoint;
import cgeo.geocaching.location.Geopoint.ParseException;
import cgeo.geocaching.location.GeopointFormatter;
-import cgeo.geocaching.sensors.IGeoData;
+import cgeo.geocaching.sensors.GeoData;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.settings.Settings.CoordInputFormatEnum;
import cgeo.geocaching.utils.ClipboardUtils;
@@ -56,7 +56,7 @@ public class CoordinatesInputDialog extends DialogFragment {
private static final String CACHECOORDS_ARG = "CACHECOORDS";
- public static CoordinatesInputDialog getInstance(final Geocache cache, final Geopoint gp, final IGeoData geo) {
+ public static CoordinatesInputDialog getInstance(final Geocache cache, final Geopoint gp, final GeoData geo) {
final Bundle args = new Bundle();