diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java index e413753..04f71ed 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java @@ -1,6 +1,7 @@ package de.apps4ics.mountainnavigation; import android.app.Activity; +import android.location.Location; import android.os.Bundle; import android.util.Log; import android.view.View; @@ -31,8 +32,8 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_download); - weatherListCallback = new OnWeatherRetrievedCallback(); - weatherCallback = new OnSingleWeatherRetrievedCallback(MainActivity.getWeatherHandler()); + weatherListCallback = new OnWeatherRetrievedCallback(this); + weatherCallback = new OnSingleWeatherRetrievedCallback(MainActivity.getWeatherHandler(), this); dayLayout = (LinearLayout) findViewById(R.id.forecastNrOfDaysLayout); dayPicker = (SeekBar) findViewById(R.id.forecastNrOfDaysSeek); dayDisplay = (TextView) findViewById(R.id.forecastNrOfDays); @@ -59,10 +60,16 @@ @Override public void onClick(View v) { WeatherHandler weatherHandler = MainActivity.getWeatherHandler(); + Location l = MainActivity.getLocation(); + if(l == null) { + InformDialog informDialog = new InformDialog(getString(R.string.inform_title), getString(R.string.inform_gps_pos_not_found)); + informDialog.show(getFragmentManager(), "Inform Dialog"); + return; + } if(currentSelected.equals(getString(R.string.download_forecast_key))) { - weatherHandler.getForecast(nrOfForecastDays, weatherListCallback); + weatherHandler.getForecast(l, nrOfForecastDays, weatherListCallback); } else if(currentSelected.equals(getString(R.string.download_current_key))) { - weatherHandler.getCurrentWeather(weatherCallback); + weatherHandler.getCurrentWeather(l, weatherCallback); } else if(currentSelected.equals(getString(R.string.download_day_key))) { //TODO } diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java index 0612d16..0073268 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java @@ -145,7 +145,7 @@ dbHandler = new DatabaseHandler(this); poiHandler = new PoiHandler(this, res, mapView); weatherHandler = new WeatherHandler(this); - callback = new OnSingleWeatherRetrievedCallback(weatherHandler); + callback = new OnSingleWeatherRetrievedCallback(weatherHandler, this); lastWeatherInformation = lastPoiInformation = 0; diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/OnSingleWeatherRetrievedCallback.java b/app/src/main/java/de/apps4ics/mountainnavigation/OnSingleWeatherRetrievedCallback.java index 756644a..2353ec4 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/OnSingleWeatherRetrievedCallback.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/OnSingleWeatherRetrievedCallback.java @@ -1,5 +1,7 @@ package de.apps4ics.mountainnavigation; +import android.content.Context; + import de.apps4ics.mountainnavigation.handlers.WeatherHandler; /** @@ -7,9 +9,11 @@ */ public class OnSingleWeatherRetrievedCallback implements OnSingleWeatherRetrieved { WeatherHandler weatherHandler; + Context context; - public OnSingleWeatherRetrievedCallback(WeatherHandler weatherHandler) { + public OnSingleWeatherRetrievedCallback(WeatherHandler weatherHandler, Context context) { this.weatherHandler = weatherHandler; + this.context = context; } @Override diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/OnWeatherRetrievedCallback.java b/app/src/main/java/de/apps4ics/mountainnavigation/OnWeatherRetrievedCallback.java index 54e53a2..380fa6f 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/OnWeatherRetrievedCallback.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/OnWeatherRetrievedCallback.java @@ -1,5 +1,6 @@ package de.apps4ics.mountainnavigation; +import android.content.Context; import android.util.Log; import java.util.Date; @@ -9,8 +10,19 @@ * Created by Vinz on 18.03.2016. */ public class OnWeatherRetrievedCallback implements OnWeatherRetrieved { + Context context; + + public OnWeatherRetrievedCallback(Context context) { + this.context = context; + } + @Override public List postRetrieve(List weathers) { + if(weathers.size() == 0) { + MainActivity.Toaster("No forecasts found for this location!", context); + } else { + MainActivity.Toaster(weathers.size() + " forecasts found and added!", context); + } for(MyWeather mw : weathers) { Log.d(MainActivity.TAG, mw.getCity() + " (" + MainActivity.df_full.format(new Date(mw.getTimestamp()*1000)) + ")"); }