diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index bd4202c..c2a73ef 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -5,7 +5,7 @@
-
+
+
+
+
+
+
+
diff --git a/app/app.iml b/app/app.iml
index 4ae59e2..31b0b0c 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -77,7 +77,10 @@
+
+
+
@@ -86,11 +89,19 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java
index a63d94f..98567c9 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java
@@ -62,8 +62,10 @@
private CharSequence mDrawerTitle;
private static final int GPS_MIN_TIME = 5000;
private static final int GPS_MIN_DIST = 5;
- private static final int MIN_WEATHER_RELOAD_TIME = 3600000;
- private static final int MIN_POI_RELOAD_TIME = 300000;
+ private static final int MIN_WEATHER_RELOAD_TIME = 3600000; //1hour, in ms
+ private static final int MIN_WEATHER_RELOAD_DIST = 5000; //5km, in m
+ private static final int MIN_POI_RELOAD_TIME = 300000; //5min, in ms
+ private static final int MIN_POI_RELOAD_DIST = 500; //0.5km, in m
private static int MAX_POIS_AROUND = 20;
private static int MAX_DAYS_FORECAST = 3;
public static final int MAX_WIFI_LEVELS = 5;
@@ -437,16 +439,20 @@
@Override
public void onLocationChanged(Location location) {
+ Location oldLocation = mLocation;
mLocation = location;
if(mLocation == null) return;
foundLocations.add(location);
long currentTime = System.currentTimeMillis();
- if(currentTime - lastWeatherInformation >= MIN_WEATHER_RELOAD_TIME) { //1 hour
+
+ float distance = mLocation.distanceTo(oldLocation);
+
+ if(currentTime - lastWeatherInformation >= MIN_WEATHER_RELOAD_TIME || distance >= MIN_WEATHER_RELOAD_DIST) {
lastWeatherInformation = currentTime;
weatherHandler.getForecast(location.getLatitude(), location.getLongitude(), MAX_DAYS_FORECAST);
}
- if(currentTime - lastPoiInformation >= MIN_POI_RELOAD_TIME) { //5 minutes
+ if(currentTime - lastPoiInformation >= MIN_POI_RELOAD_TIME || distance >= MIN_POI_RELOAD_DIST) { //5 minutes
lastPoiInformation = currentTime;
ArrayList pois = new ArrayList<>(poiHandler.getPoisAround(location.getLatitude(), location.getLongitude(), MAX_POIS_AROUND));
for(Poi p : pois) {
diff --git a/build.gradle b/build.gradle
index be515a8..9ba5972 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:1.3.0'
+ classpath 'com.android.tools.build:gradle:2.0.0-beta6'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index e84342b..5c4f9dc 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Tue Sep 29 21:34:33 CEST 2015
+#Tue Feb 09 00:51:22 CET 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip