diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/adapters/WarningListAdapter.java b/app/src/main/java/de/apps4ics/mountainnavigation/adapters/WarningListAdapter.java index 0e4c13f..f8cd4bd 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/adapters/WarningListAdapter.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/adapters/WarningListAdapter.java @@ -7,6 +7,7 @@ import android.widget.ArrayAdapter; import android.widget.TextView; +import de.apps4ics.mountainnavigation.MainActivity; import de.apps4ics.mountainnavigation.R; /** @@ -17,23 +18,32 @@ private final Activity context; private final String[] texts; private final String[] descs; + private final String[] infos; - public WarningListAdapter(Activity context, String[] texts, String[] descs) { + public WarningListAdapter(Activity context, String[] texts, String[] descs, String[] additionalInfos) { super(context, R.layout.warning_list_item, texts); this.context = context; this.texts = texts; this.descs = descs; + this.infos = additionalInfos; } @Override - public View getView(int position, View view, ViewGroup parent) { + public View getView(final int position, View view, ViewGroup parent) { LayoutInflater inflater = context.getLayoutInflater(); - View rowView= inflater.inflate(R.layout.warning_list_item, null, true); + View rowView = inflater.inflate(R.layout.warning_list_item, null, true); TextView txtTitle = (TextView) rowView.findViewById(R.id.warning_text_title); TextView txtDesc = (TextView) rowView.findViewById(R.id.warning_text_desc); txtTitle.setText(texts[position]); txtDesc.setText(descs[position]); + final String info = (infos[position] != null && !infos[position].equals("")) ? infos[position] : MainActivity.getRes().getString(R.string.hint_dialog_info_none); + txtDesc.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + MainActivity.Toaster(info, true, context); + } + }); return rowView; } } diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/WeatherHandler.java b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/WeatherHandler.java index 83680f7..32ee7ec 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/WeatherHandler.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/WeatherHandler.java @@ -88,6 +88,7 @@ public WeatherHandler(Context context) { weatherDb = new WeatherDatabase(context); + this.context = context; try { activity = (Activity) context; @@ -242,32 +243,40 @@ if (MainActivity.showWeatherHints()) { List titles = new ArrayList<>(); List descs = new ArrayList<>(); + List infos = new ArrayList<>(); if (isSunny()) { titles.add(res.getString(R.string.hint_dialog_titles_sunny)); - descs.add(res.getString(R.string.hints_dialog_msgs_sunny)); + descs.add(res.getString(R.string.hint_dialog_msgs_sunny)); + infos.add(""); } if (isHot()) { titles.add(res.getString(R.string.hint_dialog_titles_hot)); - descs.add(res.getString(R.string.hints_dialog_msgs_hot)); + descs.add(res.getString(R.string.hint_dialog_msgs_hot)); + infos.add(res.getString(R.string.hint_dialog_info_hot)); } if (isCold()) { titles.add(res.getString(R.string.hint_dialog_titles_cold)); - descs.add(res.getString(R.string.hints_dialog_msgs_cold)); + descs.add(res.getString(R.string.hint_dialog_msgs_cold)); + infos.add(""); } if (isWindy()) { titles.add(res.getString(R.string.hint_dialog_titles_windy)); - descs.add(res.getString(R.string.hints_dialog_msgs_windy)); + descs.add(res.getString(R.string.hint_dialog_msgs_windy)); + infos.add(""); } if (isAfterSunset()) { titles.add(res.getString(R.string.hint_dialog_titles_sunset)); - descs.add(res.getString(R.string.hints_dialog_msgs_sunset)); + descs.add(res.getString(R.string.hint_dialog_msgs_sunset)); + infos.add(""); } if (titles.size() > 0 && descs.size() > 0) { String[] titleArr = new String[titles.size()]; String[] descArr = new String[descs.size()]; + String[] infosArr = new String[infos.size()]; titleArr = titles.toArray(titleArr); descArr = descs.toArray(descArr); - WarningListAdapter warningAdapter = new WarningListAdapter(activity, titleArr, descArr); + infosArr = infos.toArray(infosArr); + WarningListAdapter warningAdapter = new WarningListAdapter(activity, titleArr, descArr, infosArr); InformListDialog weatherHintDialog = new InformListDialog(MainActivity.getRes().getString(R.string.hint_dialog_title), warningAdapter); weatherHintDialog.show(fragmentManager, "Warning Hint Dialog"); } @@ -277,7 +286,7 @@ private void displaySevereWeather() { if (isSevereWeather(todaysWeather.currentCondition.getWeatherCode().getCode())) { Log.d(MainActivity.TAG, "It is severe weather! :("); - Resources res = MainActivity.getRes(); + Resources res = context.getResources(); String warnMsg = String.format(res.getString(R.string.weather_warning_dialog_msg), todaysWeather.location.getCity(), todaysWeather.currentCondition.getWeatherCode().getLabel(context)); InformDialog informAlertDialog = new InformDialog(res.getString(R.string.weather_warning_dialog_title), warnMsg); informAlertDialog.show(fragmentManager, "Inform Dialog - Weather Warning"); diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index 5f4f9f0..8cbef8b 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -28,16 +28,18 @@ Dein Standort konnte nicht ermittelt werden!\nBitte versuche es nochmal, sobald dein Standort gefunden wurde. Dein POI wurde erfolgreich hinzugefügt! Hinweise + Keine weiteren Infos vorhanden + Etwa 0.5l alle 30 Minuten Sonnig Heiß Kalt Windig Sonnenuntergang - Es könnte sonnig werden. Du solltest Sonnencreme mitnehmen. - Es ist heiß draußen. Denk daran genug zu trinken mitzunehmen. - Es könnte kalt werden. Du solltest ein paar warme Klamotten mitnehmen. - Es könnte windig werden. Du solltest winddichte Klamotten mitnehmen. - Es ist schon nach Sonnenuntergang. Nimm am besten eine Stirnlampe mit. + Es könnte sonnig werden. Du solltest Sonnencreme mitnehmen. + Es ist heiß draußen. Denk daran genug zu trinken mitzunehmen. + Es könnte kalt werden. Du solltest ein paar warme Klamotten mitnehmen. + Es könnte windig werden. Du solltest winddichte Klamotten mitnehmen. + Es ist schon nach Sonnenuntergang. Nimm am besten eine Stirnlampe mit. Wetterwarnung! Das Wetter in deiner Umgebung in %1$s ist \'%2$s\'! Verstanden! diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 04427a1..13b6db8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -29,16 +29,18 @@ Couldn\'t find your location!\nPlease try again after your position has been found. Sucessfully added your POI! Hints + No additional info available + Around 17oz every 30 minutes Sunny Hot Cold Windy Sunset - It could be sunny. You should take some suncream with you. - It is hot outside. Remember to take enough to drink with you. - It could be could. You should take some warm clothes with you. - It could be windy. You should take windproof clothes with you. - It is already after sunset. Better take a headlamp with you. + It could be sunny. You should take some suncream with you. + It is hot outside. Remember to take enough to drink with you. + It could be could. You should take some warm clothes with you. + It could be windy. You should take windproof clothes with you. + It is already after sunset. Better take a headlamp with you. Weather Warning! The weather around you in %1$s is \'%2$s\'! Got it!