diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/DistanceSeekBar.java b/app/src/main/java/de/apps4ics/mountainnavigation/DistanceSeekBar.java
new file mode 100644
index 0000000..d1b0ae3
--- /dev/null
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/DistanceSeekBar.java
@@ -0,0 +1,98 @@
+/**
+ * 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;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.util.AttributeSet;
+import android.view.Gravity;
+import android.widget.LinearLayout;
+import android.widget.SeekBar;
+import android.widget.TextView;
+
+public class DistanceSeekBar extends LinearLayout implements SeekBar.OnSeekBarChangeListener {
+ protected Context context;
+ protected int maxValue;
+ protected int minValue;
+ protected int step;
+ protected int defaultStart;
+ protected String text;
+
+ protected TextView infoText;
+ protected SeekBar seekbar;
+
+ protected final static int DEFAULT_MAX_VALUE = 100;
+ protected final static int DEFAULT_MIN_VALUE = 0;
+ protected final static int DEFAULT_STEP_VALUE = 1;
+
+ public DistanceSeekBar(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ this.context = context;
+ init(attrs);
+ this.defaultStart = DEFAULT_MIN_VALUE;
+ infoText = new TextView(context);
+ infoText.setText(getInfoText(defaultStart));
+ infoText.setTextSize(16);
+ infoText.setGravity(Gravity.CENTER_HORIZONTAL);
+ addView(infoText);
+ seekbar = new SeekBar(context);
+ seekbar.setOnSeekBarChangeListener(this);
+ seekbar.setProgress(defaultStart);
+ seekbar.setMax(maxValue);
+ addView(seekbar);
+ }
+
+ protected void init(AttributeSet attrs) {
+ TypedArray ta = getContext().obtainStyledAttributes(attrs, R.styleable.MinSeekBar);
+ this.text = ta.getString(R.styleable.MinSeekBar_android_text);
+ this.maxValue = ta.getInt(R.styleable.MinSeekBar_android_max, DEFAULT_MAX_VALUE);
+ this.minValue = ta.getInt(R.styleable.MinSeekBar_min, DEFAULT_MIN_VALUE);
+ this.step = ta.getInt(R.styleable.MinSeekBar_step, DEFAULT_STEP_VALUE);
+ this.maxValue = (maxValue-minValue)/step;
+ ta.recycle();
+ }
+
+ protected String getInfoText(int value) {
+ return String.format(text, getSize(value));
+ }
+
+ @Override
+ public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+ infoText.setText(getInfoText(progress));
+ }
+
+ @Override
+ public void onStartTrackingTouch(SeekBar seekBar) {
+ }
+
+ @Override
+ public void onStopTrackingTouch(SeekBar seekBar) {
+ }
+
+ public int getSize() {
+ return getSize(seekbar.getProgress());
+ }
+
+ private int getSize(int value) {
+ return (value*step) + minValue;
+ }
+}
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddBiotaDialog.java b/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddBiotaDialog.java
index 2428328..a3a73b3 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddBiotaDialog.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/pois/AddBiotaDialog.java
@@ -42,6 +42,7 @@
import java.util.ArrayList;
import java.util.List;
+import de.apps4ics.mountainnavigation.DistanceSeekBar;
import de.apps4ics.mountainnavigation.MainActivity;
import de.apps4ics.mountainnavigation.R;
import de.apps4ics.mountainnavigation.adapters.EndangeredListAdapter;
@@ -55,6 +56,7 @@
private EditText addElementInput;
private Button addElementButton;
private Button addBiota;
+ private DistanceSeekBar distanceLayout;
public AddBiotaDialog() {
this.poiHandler = MainActivity.getPoiHandler();
@@ -69,6 +71,7 @@
listAdapter = new EndangeredListAdapter(getActivity(), listItems);
addElementInput = (EditText) view.findViewById(R.id.endangered_name);
addElementButton = (Button) view.findViewById(R.id.endangered_add);
+ distanceLayout = (DistanceSeekBar) view.findViewById(R.id.endangered_distance_seekbar);
ListView elementList = (ListView) view.findViewById(R.id.endangered_list);
builder.setTitle(R.string.biota_dialog_title)
.setView(view)
@@ -76,7 +79,7 @@
@Override
public void onClick(DialogInterface dialog, int which) {
DatabaseHandler dbHandler = MainActivity.getDbHandler();
- Biota biota = new Biota(250.0f); //radius in m
+ Biota biota = new Biota(distanceLayout.getSize()); //radius in m
long biotaId = dbHandler.addPoi(biota);
biota.setId(biotaId);
Location l = MainActivity.getLocation();
diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/pois/Biota.java b/app/src/main/java/de/apps4ics/mountainnavigation/pois/Biota.java
index 23f3aa3..c7443e9 100644
--- a/app/src/main/java/de/apps4ics/mountainnavigation/pois/Biota.java
+++ b/app/src/main/java/de/apps4ics/mountainnavigation/pois/Biota.java
@@ -24,9 +24,6 @@
public class Biota extends Poi {
private float radius;
- public Biota(long _id) {
- super(_id, Types.BIOTA);
- }
public Biota() {
super(Types.BIOTA);
}
diff --git a/app/src/main/res/layout/biota_dialog.xml b/app/src/main/res/layout/biota_dialog.xml
index f48eb27..cee9f04 100644
--- a/app/src/main/res/layout/biota_dialog.xml
+++ b/app/src/main/res/layout/biota_dialog.xml
@@ -20,7 +20,9 @@
* Vinzenz Rosenkranz
-->
-
-
+
+
+
+
+
Gib den Namen der gefährdeten Tierart oder Pflanze ein
Gefährdete Flora & Fauna
Tier oder Pflanze
+ Lege die Größe des Naturschutzgebiets fest
de
H:m
@@ -132,6 +133,7 @@
%1$.01f\u2103
%1$s\u2109
%1$.01f\u2109
+ %1$dm
© OpenStreetMap-Mitwirkende
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index 06ed9a9..1eb0f10 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -25,6 +25,7 @@
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9a7a07e..cae3470 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -99,6 +99,7 @@
Enter the name of the endangered animal or plant
Endangered biota
Animal or plant
+ Set the size of the nature reserve
en
h:m a
@@ -135,6 +136,7 @@
%1$.01f\u2103
%1$s\u2109
%1$.01f\u2109
+ %1$dm
© OpenStreetMap contributors