diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java
index 99d6004..4f2738e 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/DownloadActivity.java
@@ -105,8 +105,11 @@
if(addresses.size() == 0) {
customLocationFound = false;
customLocation = null;
- InformDialog informDialog = new InformDialog(String.format(res.getString(R.string.inform_gps_pos_not_found_title), input),
- res.getString(R.string.inform_gps_pos_not_found_msg));
+ InformDialog informDialog = new InformDialog();
+ Bundle args = new Bundle();
+ args.putString("title", String.format(res.getString(R.string.inform_gps_pos_not_found_title), input));
+ args.putString("msg", res.getString(R.string.inform_gps_pos_not_found_msg));
+ informDialog.setArguments(args);
informDialog.show(getFragmentManager(), "Inform Dialog");
} else {
Address address = addresses.get(0);
@@ -145,14 +148,21 @@
if(customLocationInput.getText().length() == 0) {
l = MainActivity.getLocation();
if(l == null) {
- InformDialog informDialog = new InformDialog(getString(R.string.inform_title), getString(R.string.inform_gps_pos_not_found));
+ InformDialog informDialog = new InformDialog();
+ Bundle args = new Bundle();
+ args.putString("title", getString(R.string.inform_title));
+ args.putString("msg", getString(R.string.inform_gps_pos_not_found));
+ informDialog.setArguments(args);
informDialog.show(getFragmentManager(), "Inform Dialog");
return;
}
} else if(!customLocationFound) {
Resources res = MainActivity.getRes();
- InformDialog informDialog = new InformDialog(res.getString(R.string.inform_gps_custom_not_found_title),
- res.getString(R.string.inform_gps_custom_not_found_msg));
+ InformDialog informDialog = new InformDialog();
+ Bundle args = new Bundle();
+ args.putString("title", res.getString(R.string.inform_gps_custom_not_found_title));
+ args.putString("msg", res.getString(R.string.inform_gps_custom_not_found_msg));
+ informDialog.setArguments(args);
informDialog.show(getFragmentManager(), "Inform Dialog");
return;
} else {
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/InformDialog.java b/app/src/main/java/de/apps4ics/mountainnavigation/InformDialog.java
index f220909..7d4a9c4 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/InformDialog.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/InformDialog.java
@@ -30,9 +30,14 @@
private String title;
private String msg;
- public InformDialog(String title, String msg){
- this.title = title;
- this.msg = msg;
+ public InformDialog() {
+ }
+
+ @Override
+ public void setArguments(Bundle args) {
+ super.setArguments(args);
+ this.title = args.getString("title");
+ this.msg = args.getString("msg");
}
@Override
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/InformListDialog.java b/app/src/main/java/de/apps4ics/mountainnavigation/InformListDialog.java
index 96426a0..a8778f0 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/InformListDialog.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/InformListDialog.java
@@ -32,8 +32,16 @@
private String title;
private ListAdapter adapter;
- public InformListDialog(String title, ListAdapter adapter){
- this.title = title;
+ public InformListDialog() {
+ }
+
+ @Override
+ public void setArguments(Bundle args) {
+ super.setArguments(args);
+ this.title = args.getString("title");
+ }
+
+ public void setAdapter(ListAdapter adapter) {
this.adapter = adapter;
}
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java
index c0561e1..c514122 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java
@@ -70,6 +70,7 @@
import de.apps4ics.mountainnavigation.handlers.DatabaseHandler;
import de.apps4ics.mountainnavigation.handlers.PoiHandler;
import de.apps4ics.mountainnavigation.handlers.WeatherHandler;
+import de.apps4ics.mountainnavigation.pois.AddPoiDialog;
import de.apps4ics.mountainnavigation.pois.DbGeoPoint;
import de.apps4ics.mountainnavigation.pois.Fountain;
import de.apps4ics.mountainnavigation.pois.Poi;
@@ -107,7 +108,7 @@
private FloatingActionButton fab;
private DatabaseHandler dbHandler;
- private PoiHandler poiHandler;
+ private static PoiHandler poiHandler;
private static WeatherHandler weatherHandler;
private long lastWeatherInformation;
@@ -186,11 +187,15 @@
@Override
public void onClick(View v) {
if(mLocation == null){
- InformDialog informDialog = new InformDialog(getString(R.string.inform_title), getString(R.string.inform_gps_pos_not_found));
+ InformDialog informDialog = new InformDialog();
+ Bundle args = new Bundle();
+ args.putString("title", getString(R.string.inform_title));
+ args.putString("msg", getString(R.string.inform_gps_pos_not_found));
+ informDialog.setArguments(args);
informDialog.show(getFragmentManager(), "Inform Dialog");
return;
}
- PoiHandler.AddPoiDialog addPoiDialog = poiHandler.createAddPoiDialog();
+ AddPoiDialog addPoiDialog = poiHandler.createAddPoiDialog();
addPoiDialog.show(getFragmentManager(), "Add POI Dialog");
}
});
@@ -575,6 +580,8 @@
return drawerToggle.onOptionsItemSelected(item) || super.onOptionsItemSelected(item);
}
+ public static PoiHandler getPoiHandler() { return poiHandler; }
+
public static WeatherHandler getWeatherHandler() { return weatherHandler; }
public static NetworkInfo getActiveNetwork() {
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/PoiHandler.java b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/PoiHandler.java
index 3531cd7..d1f5211 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/PoiHandler.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/PoiHandler.java
@@ -88,6 +88,7 @@
import de.apps4ics.mountainnavigation.pois.AddHutDialog;
import de.apps4ics.mountainnavigation.pois.AddPathDialog;
import de.apps4ics.mountainnavigation.pois.AddPeakDialog;
+import de.apps4ics.mountainnavigation.pois.AddPoiDialog;
import de.apps4ics.mountainnavigation.pois.CellReception;
import de.apps4ics.mountainnavigation.pois.DbGeoPoint;
import de.apps4ics.mountainnavigation.pois.Fountain;
@@ -188,6 +189,8 @@
return context;
}
+ public Activity getActivity() { return activity; }
+
public static String[] getFountainSizes() {
return fountainSizes;
}
@@ -307,71 +310,23 @@
return new AddPoiDialog();
}
- public class AddPoiDialog extends DialogFragment {
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
- builder.setTitle(R.string.add_poi_dialog_title)
- //.setIcon(res.getDrawable(R.mipmap.ic_add_poi))
- .setAdapter(new ImageListAdapter(activity, PoiHandler.getEntries(), PoiHandler.getEntryImgs(), true), new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- int type = MainActivity.getType(which);
- switch (type) {
- case Types.FOUNTAIN:
- addFountain();
- break;
- case Types.PATH:
- addPathMap();
- break;
- case Types.HUT:
- addHut();
- break;
- case Types.PEAK:
- addPeak();
- break;
- case Types.BREAK_POINT:
- addBreakpoint();
- break;
- case Types.TRASH_BIN:
- addPoi(new TrashBin());
- break;
- case Types.PIC:
- addImageMap();
- break;
- case Types.CELL_RECEPTION:
- addCellReceptionPoi();
- break;
- case Types.WIFI:
- addWifiPoi();
- break;
- case Types.LIFT:
- addLiftMap();
- break;
- }
- }
- });
- return builder.create();
- }
- }
-
public void addFountain(){
- AddFountainDialog addFountainDialog = new AddFountainDialog(this);
+ AddFountainDialog addFountainDialog = new AddFountainDialog();
addFountainDialog.show(fragmentManager, "Add fountain POI Dialog");
}
public void addBreakpoint(){
- AddBreakpointDialog addBreakpointDialog = new AddBreakpointDialog(this);
+ AddBreakpointDialog addBreakpointDialog = new AddBreakpointDialog();
addBreakpointDialog.show(fragmentManager, "Add Break point POI Dialog");
}
public void addHut(){
- AddHutDialog addHutDialog = new AddHutDialog(this);
+ AddHutDialog addHutDialog = new AddHutDialog();
addHutDialog.show(fragmentManager, "Add Hut POI Dialog");
}
public void addPeak(){
- AddPeakDialog addPeakDialog = new AddPeakDialog(this);
+ AddPeakDialog addPeakDialog = new AddPeakDialog();
addPeakDialog.show(fragmentManager, "Add Peak POI Dialog");
}
@@ -417,7 +372,7 @@
.setPositiveButton(R.string.continue_button, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
- AddPathDialog addPathDialog = new AddPathDialog(PoiHandler.this);
+ AddPathDialog addPathDialog = new AddPathDialog();
addPathDialog.show(fragmentManager, "Add Path POI Dialog");
}
})
@@ -617,7 +572,7 @@
popupMapView.getOverlays().add(overlay);
}
- private void addCellReceptionPoi(){
+ public void addCellReceptionPoi(){
if(MainActivity.hasInternet()){
TelephonyManager tm = MainActivity.getTelephonyManager();
int networkStrength = MainActivity.getNetworkStrength();
@@ -636,7 +591,7 @@
}
}
- private void addWifiPoi(){
+ public void addWifiPoi(){
if(!MainActivity.getWifiManager().isWifiEnabled()){
AlertDialog.Builder wifiIntentDialogBuilder = new AlertDialog.Builder(context);
wifiIntentDialogBuilder
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 fa8640e..04bfbba 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/WeatherHandler.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/WeatherHandler.java
@@ -26,6 +26,7 @@
import android.content.Context;
import android.content.res.Resources;
import android.location.Location;
+import android.os.Bundle;
import android.util.Log;
import com.survivingwithandroid.weather.lib.WeatherClient;
@@ -352,7 +353,11 @@
descArr = descs.toArray(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);
+ InformListDialog weatherHintDialog = new InformListDialog();
+ Bundle args = new Bundle();
+ args.putString("title", MainActivity.getRes().getString(R.string.hint_dialog_title));
+ weatherHintDialog.setArguments(args);
+ weatherHintDialog.setAdapter(warningAdapter);
weatherHintDialog.show(fragmentManager, "Warning Hint Dialog");
}
}
@@ -362,7 +367,11 @@
if (weather.isSevereWeather(weather.getWeatherCode())) {
Resources res = context.getResources();
String warnMsg = String.format(res.getString(R.string.weather_warning_dialog_msg), weather.getCity(), weather.getWeatherCode());
- InformDialog informAlertDialog = new InformDialog(res.getString(R.string.weather_warning_dialog_title), warnMsg);
+ InformDialog informAlertDialog = new InformDialog();
+ Bundle args = new Bundle();
+ args.putString("title", res.getString(R.string.weather_warning_dialog_title));
+ args.putString("msg", warnMsg);
+ informAlertDialog.setArguments(args);
informAlertDialog.show(fragmentManager, "Inform Dialog - Weather Warning");
}
}
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddBreakpointDialog.java b/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddBreakpointDialog.java
index af38ca1..56ab541 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddBreakpointDialog.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddBreakpointDialog.java
@@ -36,8 +36,8 @@
public class AddBreakpointDialog extends DialogFragment {
PoiHandler poiHandler;
- public AddBreakpointDialog(PoiHandler poiHandler){
- this.poiHandler = poiHandler;
+ public AddBreakpointDialog() {
+ this.poiHandler = MainActivity.getPoiHandler();
}
@Override
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddFountainDialog.java b/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddFountainDialog.java
index f8c957d..fd16296 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddFountainDialog.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddFountainDialog.java
@@ -37,8 +37,9 @@
public class AddFountainDialog extends DialogFragment {
PoiHandler poiHandler;
- public AddFountainDialog(PoiHandler poiHandler){
- this.poiHandler = poiHandler;
+
+ public AddFountainDialog() {
+ this.poiHandler = MainActivity.getPoiHandler();
}
@Override
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddHutDialog.java b/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddHutDialog.java
index d33adb0..12fc984 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddHutDialog.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddHutDialog.java
@@ -40,8 +40,8 @@
public class AddHutDialog extends DialogFragment {
PoiHandler poiHandler;
- public AddHutDialog(PoiHandler poiHandler){
- this.poiHandler = poiHandler;
+ public AddHutDialog() {
+ this.poiHandler = MainActivity.getPoiHandler();
}
@Override
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddPathDialog.java b/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddPathDialog.java
index bd50e86..d2edfb8 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddPathDialog.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddPathDialog.java
@@ -46,8 +46,8 @@
public class AddPathDialog extends DialogFragment {
PoiHandler poiHandler;
- public AddPathDialog(PoiHandler poiHandler){
- this.poiHandler = poiHandler;
+ public AddPathDialog() {
+ this.poiHandler = MainActivity.getPoiHandler();
}
@Override
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddPeakDialog.java b/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddPeakDialog.java
index 9966e2d..f622d2d 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddPeakDialog.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddPeakDialog.java
@@ -35,8 +35,8 @@
public class AddPeakDialog extends DialogFragment {
PoiHandler poiHandler;
- public AddPeakDialog(PoiHandler poiHandler){
- this.poiHandler = poiHandler;
+ public AddPeakDialog() {
+ this.poiHandler = MainActivity.getPoiHandler();
}
@Override
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddPoiDialog.java b/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddPoiDialog.java
new file mode 100644
index 0000000..afdcdab
--- /dev/null
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddPoiDialog.java
@@ -0,0 +1,88 @@
+/**
+ * This file is part of MountainNavigation.
+ *
+ * MountainNavigation is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * MountainNavigation is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with MountainNavigation. If not, see .
+ *
+ * @copyright Copyright (c) 2016 Vinzenz Rosenkanz
+ *
+ * @author Vinzenz Rosenkranz
+ */
+
+package de.apps4ics.mountainnavigation.pois;
+
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.DialogInterface;
+import android.os.Bundle;
+
+import de.apps4ics.mountainnavigation.MainActivity;
+import de.apps4ics.mountainnavigation.R;
+import de.apps4ics.mountainnavigation.adapters.ImageListAdapter;
+import de.apps4ics.mountainnavigation.handlers.PoiHandler;
+
+public class AddPoiDialog extends DialogFragment {
+ private PoiHandler poiHandler;
+
+ public AddPoiDialog() {
+ this.poiHandler = MainActivity.getPoiHandler();
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ builder.setTitle(R.string.add_poi_dialog_title)
+ //.setIcon(res.getDrawable(R.mipmap.ic_add_poi))
+ .setAdapter(new ImageListAdapter(poiHandler.getActivity(), PoiHandler.getEntries(), PoiHandler.getEntryImgs(), true), new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ int type = MainActivity.getType(which);
+ switch (type) {
+ case Types.FOUNTAIN:
+ poiHandler.addFountain();
+ break;
+ case Types.PATH:
+ poiHandler.addPathMap();
+ break;
+ case Types.HUT:
+ poiHandler.addHut();
+ break;
+ case Types.PEAK:
+ poiHandler.addPeak();
+ break;
+ case Types.BREAK_POINT:
+ poiHandler.addBreakpoint();
+ break;
+ case Types.TRASH_BIN:
+ poiHandler.addPoi(new TrashBin());
+ break;
+ case Types.PIC:
+ poiHandler.addImageMap();
+ break;
+ case Types.CELL_RECEPTION:
+ poiHandler.addCellReceptionPoi();
+ break;
+ case Types.WIFI:
+ poiHandler.addWifiPoi();
+ break;
+ case Types.LIFT:
+ poiHandler.addLiftMap();
+ break;
+ }
+ }
+ });
+ return builder.create();
+ }
+}