diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/BreakPoint.java b/app/src/main/java/de/apps4ics/mountainnavigation/BreakPoint.java new file mode 100644 index 0000000..afe61c4 --- /dev/null +++ b/app/src/main/java/de/apps4ics/mountainnavigation/BreakPoint.java @@ -0,0 +1,105 @@ +package de.apps4ics.mountainnavigation; + +import android.app.AlertDialog; +import android.app.Dialog; +import android.app.DialogFragment; +import android.content.DialogInterface; +import android.os.Bundle; + +/** + * Created by Vinz on 03.11.2015. + */ +public class BreakPoint extends Poi { + int stone; + int bench; + int table; + int roofed; + + public BreakPoint(long _id) { + super(_id, Types.BREAK_POINT); + } + public BreakPoint(){ + super(Types.BREAK_POINT); + } + public BreakPoint(long _id, int stone, int bench, int table, int roofed, DbGeoPoint gp){ + super(_id, Types.BREAK_POINT, gp); + this.stone = stone; + this.bench = bench; + this.table = table; + this.roofed = roofed; + } + + public int getStone() { + return stone; + } + + public int getBench() { + return bench; + } + + public int getTable() { + return table; + } + + public int getRoofed() { + return roofed; + } +} + +class AddBreakpointDialog extends DialogFragment { + MainActivity ma; + + AddBreakpointDialog(MainActivity ma){ + this.ma = ma; + } + + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + final CheckboxImageAdapter adapter = new CheckboxImageAdapter(getActivity(), ma.getBreakPointOptions(), null, ma.getBreakPointOptionsImgs()); + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); + builder.setTitle(R.string.break_point_dialog_title) + //.setIcon(res.getDrawable(R.drawable.break_point)) + .setPositiveButton(R.string.ok_button, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + int[] options = adapter.getCheckedItems(); + int stone = 0; + int bench = 0; + int table = 0; + int roofed = 0; + for(int i=0; i { + + private final Activity context; + private final String[] texts; + private final Integer[] imgs; + + public ImageListAdapter(Activity context, String[] texts, Integer[] imgs) { + super(context, R.layout.drawer_list_item, texts); + this.context = context; + this.texts = texts; + this.imgs = imgs; + } + + @Override + public View getView(int position, View view, ViewGroup parent) { + LayoutInflater inflater = context.getLayoutInflater(); + View rowView= inflater.inflate(R.layout.drawer_list_item, null, true); + TextView txtTitle = (TextView) rowView.findViewById(R.id.toggleEntryDesc); + + ImageView imageView = (ImageView) rowView.findViewById(R.id.toggleEntryImg); + txtTitle.setText(texts[position]); + + imageView.setImageResource(imgs[position]); + imageView.setColorFilter(context.getResources().getColor(R.color.icon_unselected_gray)); + return rowView; + } +} diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java index 6b3243d..a804624 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java @@ -614,6 +614,22 @@ else Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show(); } + public String[] getBreakPointOptions(){ + return breakPointOptions; + } + + public Integer[] getBreakPointOptionsImgs(){ + return breakPointOptionsImgs; + } + + public String[] getFountainSizes(){ + return fountainSizes; + } + + public Integer[] getFountainImgs(){ + return fountainImgs; + } + private void setActiveNetwork(){ activeNetwork = cm.getActiveNetworkInfo(); } @@ -906,126 +922,25 @@ } public void addFountain(){ - AddFountainDialog addFountainDialog = new AddFountainDialog(); + AddFountainDialog addFountainDialog = new AddFountainDialog(this); addFountainDialog.show(getFragmentManager(), "Add fountain POI Dialog"); } public void addBreakpoint(){ - AddBreakpointDialog addBreakpointDialog = new AddBreakpointDialog(); + AddBreakpointDialog addBreakpointDialog = new AddBreakpointDialog(this); addBreakpointDialog.show(getFragmentManager(), "Add Break point POI Dialog"); } public void addHut(){ - AddHutDialog addHutDialog = new AddHutDialog(); + AddHutDialog addHutDialog = new AddHutDialog(this); addHutDialog.show(getFragmentManager(), "Add Hut POI Dialog"); } public void addPeak(){ - AddPeakDialog addPeakDialog = new AddPeakDialog(); + AddPeakDialog addPeakDialog = new AddPeakDialog(this); addPeakDialog.show(getFragmentManager(), "Add Peak POI Dialog"); } - public class AddFountainDialog extends DialogFragment { - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - builder.setTitle(R.string.fountain_size_dialog_title) - //.setIcon(res.getDrawable(R.drawable.water)) - .setAdapter(new ImageListAdapter(MainActivity.this, fountainSizes, fountainImgs), new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - //Add POI to DB - int size = 0; - switch (which) { - case 0: - size = Features.FOUNTAIN_SMALL; - break; - case 1: - size = Features.FOUNTAIN_MEDIUM; - break; - case 2: - size = Features.FOUNTAIN_LARGE; - break; - default: - Log.e(TAG, "Wrong fountain size " + which); - } - addPoi(new Fountain(0, size, null)); - } - }); - return builder.create(); - } - } - - //TODO beautify - public class AddHutDialog extends DialogFragment { - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - LayoutInflater inflater = MainActivity.this.getLayoutInflater(); - View view = inflater.inflate(R.layout.hut_dialog, null, true); - final EditText input = (EditText) view.findViewById(R.id.hutName); - final Spinner types = (Spinner) view.findViewById(R.id.hutTypes); - final CheckBox cbWinterroom = (CheckBox) view.findViewById(R.id.hutWinterroom); - builder.setTitle(R.string.hut_dialog_title) - .setMessage(R.string.hut_dialog_msg) - .setView(view) - .setPositiveButton(R.string.ok_button, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - String name = input.getText().toString().trim(); - if(name != null && !name.equals("")) { - int type = types.getSelectedItemPosition(); - int winterroom = cbWinterroom.isChecked() ? 1 : 0; - switch (type){ - case 0: - type = Features.HUT_REFUGE; - break; - case 1: - type = Features.HUT_SUPPORT; - break; - case 2: - type = Features.HUT_CATERING; - break; - } - addPoi(new Hut(0, type, winterroom, name, null)); - } - } - }) - .setNegativeButton(R.string.cancel_button, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - } - }); - return builder.create(); - } - } - - public class AddPeakDialog extends DialogFragment { - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - final EditText input = new EditText(getApplicationContext()); - builder.setTitle(R.string.peak_dialog_title) - .setMessage(R.string.peak_dialog_msg) - .setView(input) - .setPositiveButton(R.string.ok_button, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - String name = input.getText().toString().trim(); - if (name != null && !name.equals("")) { - addPoi(new Peak(0, name, null)); - } - } - }) - .setNegativeButton(R.string.cancel_button, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - } - }); - return builder.create(); - } - } - public void addPathMap() { final MapView popupMapView = new MapView(getApplicationContext(), 256); popupMapView.setTileSource(TileSourceFactory.MAPNIK); @@ -1204,58 +1119,6 @@ } } - public class AddBreakpointDialog extends DialogFragment { - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - final CheckboxImageAdapter adapter = new CheckboxImageAdapter(MainActivity.this, breakPointOptions, null, breakPointOptionsImgs); - AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - builder.setTitle(R.string.break_point_dialog_title) - //.setIcon(res.getDrawable(R.drawable.break_point)) - .setPositiveButton(R.string.ok_button, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - int[] options = adapter.getCheckedItems(); - int stone = 0; - int bench = 0; - int table = 0; - int roofed = 0; - for(int i=0; i { - - private final Activity context; - private final String[] texts; - private final Integer[] imgs; - - public ImageListAdapter(Activity context, String[] texts, Integer[] imgs) { - super(context, R.layout.drawer_list_item, texts); - this.context = context; - this.texts = texts; - this.imgs = imgs; - } - - @Override - public View getView(int position, View view, ViewGroup parent) { - LayoutInflater inflater = context.getLayoutInflater(); - View rowView= inflater.inflate(R.layout.drawer_list_item, null, true); - TextView txtTitle = (TextView) rowView.findViewById(R.id.toggleEntryDesc); - - ImageView imageView = (ImageView) rowView.findViewById(R.id.toggleEntryImg); - txtTitle.setText(texts[position]); - - imageView.setImageResource(imgs[position]); - imageView.setColorFilter(context.getResources().getColor(R.color.icon_unselected_gray)); - return rowView; - } - } - private class WarningListAdapter extends ArrayAdapter { private final Activity context; diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/Peak.java b/app/src/main/java/de/apps4ics/mountainnavigation/Peak.java new file mode 100644 index 0000000..bc8326a --- /dev/null +++ b/app/src/main/java/de/apps4ics/mountainnavigation/Peak.java @@ -0,0 +1,62 @@ +package de.apps4ics.mountainnavigation; + +import android.app.AlertDialog; +import android.app.Dialog; +import android.app.DialogFragment; +import android.content.DialogInterface; +import android.os.Bundle; +import android.widget.EditText; + +/** + * Created by Vinz on 03.11.2015. + */ +public class Peak extends Poi { + String name; + + public Peak(long _id) { + super(_id, Types.PEAK); + } + public Peak(){ + super(Types.PEAK); + } + public Peak(long _id, String name, DbGeoPoint gp){ + super(_id, Types.PEAK, gp); + this.name = name; + } + + public String getName() { + return name; + } +} + +class AddPeakDialog extends DialogFragment { + MainActivity ma; + + public AddPeakDialog(MainActivity ma){ + this.ma = ma; + } + + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); + final EditText input = new EditText(ma.getApplicationContext()); + builder.setTitle(R.string.peak_dialog_title) + .setMessage(R.string.peak_dialog_msg) + .setView(input) + .setPositiveButton(R.string.ok_button, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + String name = input.getText().toString().trim(); + if (name != null && !name.equals("")) { + ma.addPoi(new Peak(0, name, null)); + } + } + }) + .setNegativeButton(R.string.cancel_button, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + } + }); + return builder.create(); + } +} \ No newline at end of file diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/Poi.java b/app/src/main/java/de/apps4ics/mountainnavigation/Poi.java index 6e1d966..ca906f8 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/Poi.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/Poi.java @@ -83,24 +83,6 @@ } -class Fountain extends Poi { - int size; - public Fountain(long _id){ - super(_id, Types.FOUNTAIN); - } - public Fountain(){ - super(Types.FOUNTAIN); - } - public Fountain(long _id, int size, DbGeoPoint gp){ - super(_id, Types.FOUNTAIN, gp); - this.size = size; - } - - public int getSize(){ - return size; - } -} - class Path extends Poi { long gp_e_id; long length; @@ -165,93 +147,6 @@ } } -class Hut extends Poi { - int huttype; - int winterroom; - String name; - - public Hut(long _id) { - super(_id, Types.HUT); - } - public Hut(){ - super(Types.HUT); - } - public Hut(long _id, int hut_type, int winterroom, String name, DbGeoPoint gp){ - super(_id, Types.HUT, gp); - this.huttype = hut_type; - this.winterroom = winterroom; - this.name = name; - } - - public int getHutType() { - return huttype; - } - - public int getWinterRoom() { - return winterroom; - } - - public String getName() { - return name; - } -} - -class Peak extends Poi { - String name; - - public Peak(long _id) { - super(_id, Types.PEAK); - } - public Peak(){ - super(Types.PEAK); - } - public Peak(long _id, String name, DbGeoPoint gp){ - super(_id, Types.PEAK, gp); - this.name = name; - } - - public String getName() { - return name; - } -} - -class BreakPoint extends Poi { - int stone; - int bench; - int table; - int roofed; - - public BreakPoint(long _id) { - super(_id, Types.BREAK_POINT); - } - public BreakPoint(){ - super(Types.BREAK_POINT); - } - public BreakPoint(long _id, int stone, int bench, int table, int roofed, DbGeoPoint gp){ - super(_id, Types.BREAK_POINT, gp); - this.stone = stone; - this.bench = bench; - this.table = table; - this.roofed = roofed; - } - - public int getStone() { - return stone; - } - - public int getBench() { - return bench; - } - - public int getTable() { - return table; - } - - public int getRoofed() { - return roofed; - } -} - class TrashBin extends Poi { public TrashBin(long _id) { super(_id, Types.TRASH_BIN);