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