diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f0ae23e..e119b00 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -37,6 +37,10 @@
android:name=".SettingsActivity"
android:label="@string/action_settings"
>
+
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java
new file mode 100644
index 0000000..e1d364d
--- /dev/null
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java
@@ -0,0 +1,89 @@
+package de.apps4ics.mountainnavigation;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+import android.widget.Button;
+import android.widget.LinearLayout;
+import android.widget.SeekBar;
+import android.widget.Spinner;
+import android.widget.TextView;
+
+import de.apps4ics.mountainnavigation.handlers.WeatherHandler;
+
+/**
+ * Created by Vinz on 18.03.2016.
+ */
+public class DownloadActivity extends Activity {
+ LinearLayout dayLayout;
+ SeekBar dayPicker;
+ TextView dayDisplay;
+ Button startDownload;
+ int nrOfForecastDays;
+ String currentSelected;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_download);
+ dayLayout = (LinearLayout) findViewById(R.id.forecastNrOfDaysLayout);
+ dayPicker = (SeekBar) findViewById(R.id.forecastNrOfDaysSeek);
+ dayDisplay = (TextView) findViewById(R.id.forecastNrOfDays);
+ dayPicker.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
+ @Override
+ public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+ nrOfForecastDays = progress;
+ dayDisplay.setText(String.valueOf(nrOfForecastDays));
+ }
+
+ @Override
+ public void onStartTrackingTouch(SeekBar seekBar) {
+
+ }
+
+ @Override
+ public void onStopTrackingTouch(SeekBar seekBar) {
+
+ }
+ });
+
+ startDownload = (Button) findViewById(R.id.download_start);
+ startDownload.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ WeatherHandler weatherHandler = MainActivity.getWeatherHandler();
+ if(currentSelected.equals(getString(R.string.download_forecast_key))) {
+ weatherHandler.getForecast(nrOfForecastDays);
+ } else if(currentSelected.equals(getString(R.string.download_current_key))) {
+ weatherHandler.getCurrentWeather();
+ } else if(currentSelected.equals(getString(R.string.download_day_key))) {
+ //TODO
+ }
+ }
+ });
+
+ Spinner dlCategory = (Spinner) findViewById(R.id.downloadCategory);
+ ArrayAdapter adapter = ArrayAdapter.createFromResource(this,
+ R.array.download_categories, android.R.layout.simple_spinner_item);
+ adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ dlCategory.setAdapter(adapter);
+ dlCategory.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
+ @Override
+ public void onItemSelected(AdapterView> parent, View view, int position, long id) {
+ String key = currentSelected = getResources().getStringArray(R.array.download_categories_keys)[position];
+ Log.d(MainActivity.TAG, parent.getItemAtPosition(position)+"");
+ if(key.equals(getString(R.string.download_forecast_key))) {
+ dayLayout.setVisibility(View.VISIBLE);
+ } else {
+ dayLayout.setVisibility(View.INVISIBLE);
+ }
+ }
+ @Override
+ public void onNothingSelected(AdapterView> parent) {
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java
index 2e4055c..bdcdd76 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java
@@ -87,7 +87,7 @@
private DatabaseHandler dbHandler;
private PoiHandler poiHandler;
- private WeatherHandler weatherHandler;
+ private static WeatherHandler weatherHandler;
private long lastWeatherInformation;
private long lastPoiInformation;
@@ -199,6 +199,9 @@
} else if(key.equals(getString(R.string.menu_title_settings_key))) {
Intent settings = new Intent(MainActivity.this, SettingsActivity.class);
startActivity(settings);
+ } else if(key.equals(getString(R.string.menu_title_download_key))) {
+ Intent download = new Intent(MainActivity.this, DownloadActivity.class);
+ startActivity(download);
}
}
});
@@ -469,7 +472,7 @@
if(currentTime - lastWeatherInformation >= MIN_WEATHER_RELOAD_TIME || distance >= MIN_WEATHER_RELOAD_DIST) {
lastWeatherInformation = currentTime;
- weatherHandler.getForecast(location.getLatitude(), location.getLongitude());
+ weatherHandler.getCurrentWeather(location);
}
if(currentTime - lastPoiInformation >= MIN_POI_RELOAD_TIME || distance >= MIN_POI_RELOAD_DIST) { //5 minutes
lastPoiInformation = currentTime;
@@ -505,6 +508,8 @@
Log.d(TAG, "onProviderDisabled: " + provider);
}
+ public static WeatherHandler getWeatherHandler() { return weatherHandler; }
+
public static NetworkInfo getActiveNetwork() {
return activeNetwork;
}
diff --git a/app/src/main/res/layout/activity_download.xml b/app/src/main/res/layout/activity_download.xml
new file mode 100644
index 0000000..3ad808f
--- /dev/null
+++ b/app/src/main/res/layout/activity_download.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml
index 4524ed2..3945a40 100644
--- a/app/src/main/res/values-de-rDE/strings.xml
+++ b/app/src/main/res/values-de-rDE/strings.xml
@@ -54,6 +54,7 @@
Example action
Einstellungen
Über
+ Herunterladen
Hinweise
Oberfläche
Wetter
@@ -63,10 +64,11 @@
Maximale \'Kalt\'-Temperatur
Definiert die maximale Temeratur bei der Hinweise zu kaltem Wetter angezeigt werden sollen
Tage für Vorhersage
- Gibt die Anzahl der Tage an für die sie die Vorhersage wollen
+ Gibt die Anzahl der Tage an für die du die Vorhersage willst
Verwende moderne Marker
Benutzername
Passwort
+ Download starten
© OpenStreetMap-Mitwirkende
@@ -75,6 +77,8 @@
Mitwirkende
Diese Software wäre ohne die großartige Arbeit anderer nicht möglich. Sie baut auf den folgenden Bibliotheken auf:
+ Welche Wetterart möchtest du herunterladen?
+
- Quelle
- Weg
@@ -88,6 +92,7 @@
- Lifte
+ - Herunterladen
- Einstellungen
- Über
@@ -119,4 +124,9 @@
- Bank & Tisch
- überdacht
+
+ - Vorhersage
+ - Aktuell
+ - Heute
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1e78568..e82c84d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -55,6 +55,7 @@
Example action
Settings
About
+ Download
Hints
UI
Weather
@@ -69,6 +70,7 @@
Use modern markers
Username
Password
+ Start download
© OpenStreetMap contributors
@@ -77,8 +79,11 @@
Contribution
This software would not exist without the great work of others. It relies on the following libraries:
+ What kind of weather do you want to download?
+
about
settings
+ download
hints
dispHints
maxHotTemp
@@ -87,6 +92,9 @@
daysOfForecast
username
password
+ forecast
+ current
+ day
- Fountain
@@ -101,10 +109,12 @@
- Lift
+ - Download
- Settings
- About
+ - @string/menu_title_download_key
- @string/menu_title_settings_key
- @string/menu_title_about_key
@@ -144,4 +154,14 @@
- Bench & table
- Roofed
+
+ - Forecast
+ - Current
+ - Today
+
+
+ - @string/download_forecast_key
+ - @string/download_current_key
+ - @string/download_day_key
+