diff --git a/app/src/main/java/fr/chteufleur/mytrackingdog/MainActivity.java b/app/src/main/java/fr/chteufleur/mytrackingdog/MainActivity.java
index 0298fdc..e8ea1b0 100644
--- a/app/src/main/java/fr/chteufleur/mytrackingdog/MainActivity.java
+++ b/app/src/main/java/fr/chteufleur/mytrackingdog/MainActivity.java
@@ -330,6 +330,7 @@ public class MainActivity extends AppCompatActivity implements IOrientationConsu
_menu.findItem(R.id.action_active_vibration_object).setIcon(getResources().getDrawable(
serviceTrackingDog.isVibrationNearObjectEnabled() ? R.drawable.ic_check_box_checked : R.drawable.ic_check_box_unchecked));
_menu.findItem(R.id.action_active_vibration_object).setChecked(serviceTrackingDog.isVibrationNearObjectEnabled());
+ navigationView.getMenu().findItem(R.id.action_clear_dog).setEnabled(false);
updateSendTraceMenu();
return false;
//return super.onCreateOptionsMenu(menu);
@@ -340,6 +341,8 @@ public class MainActivity extends AppCompatActivity implements IOrientationConsu
boolean isXmppActive = serviceTrackingDog.isXmppEnabled();
navigationView.getMenu().findItem(R.id.action_send_gpx_trail).setEnabled(isTrailFileExist);
navigationView.getMenu().findItem(R.id.action_send_gpx_trail_by_xmpp).setEnabled(isXmppActive && isTrailFileExist);
+ navigationView.getMenu().findItem(R.id.action_clear_trail).setEnabled(isTrailFileExist);
+ navigationView.getMenu().findItem(R.id.action_clear_dog).setEnabled(lastDogPolyline != null);
}
@Override
@@ -363,6 +366,14 @@ public class MainActivity extends AppCompatActivity implements IOrientationConsu
startActivitySendGpxFile();
mDrawerLayout.closeDrawers();
return true;
+ } else if (id == R.id.action_clear_trail) {
+ clearTrail();
+ mDrawerLayout.closeDrawers();
+ return true;
+ } else if (id == R.id.action_clear_dog) {
+ clearDog();
+ mDrawerLayout.closeDrawers();
+ return true;
} else if (id == R.id.action_active_vibration_object) {
activeVibrationObject(item);
return true;
@@ -407,6 +418,30 @@ public class MainActivity extends AppCompatActivity implements IOrientationConsu
}
}
+ private void clearTrail() {
+ serviceTrackingDog.clearTrail();
+ updateSendTraceMenu();
+ if (lastTrailPolyline != null) {
+ map.getOverlayManager().remove(lastTrailPolyline);
+ lastTrailPolyline = null;
+ }
+ map.getOverlayManager().removeAll(listTrailObject);
+ listTrailObject.clear();
+ this.textViewCurrentLocation.setVisibility(View.GONE);
+ }
+
+ private void clearDog() {
+ serviceTrackingDog.clearDog();
+ navigationView.getMenu().findItem(R.id.action_clear_dog).setEnabled(false);
+ if (lastDogPolyline != null) {
+ map.getOverlayManager().remove(lastDogPolyline);
+ lastDogPolyline = null;
+ }
+ map.getOverlayManager().removeAll(listDogObject);
+ listDogObject.clear();
+ this.textViewCurrentLocation.setVisibility(View.GONE);
+ }
+
private void activeVibrationObject(MenuItem item) {
boolean checked = item.isChecked();
item.setChecked(!checked);
@@ -570,6 +605,11 @@ public class MainActivity extends AppCompatActivity implements IOrientationConsu
//
+ private Polyline lastDogPolyline = null;
+ private Polyline lastTrailPolyline = null;
+ private final List listTrailObject = new ArrayList<>();
+ private final List listDogObject = new ArrayList<>();
+
private void changeStatusTrace() {
serviceTrackingDog.toggleTraceurActivation();
if (serviceTrackingDog.isTraceurActivated()) {
@@ -599,6 +639,7 @@ public class MainActivity extends AppCompatActivity implements IOrientationConsu
this.start_stop_dog_trace.setText(R.string.dog_start);
this.add_object.setVisibility(View.GONE);
this.start_stop_trace.setVisibility(View.VISIBLE);
+ navigationView.getMenu().findItem(R.id.action_clear_dog).setEnabled(true);
}
}
@@ -625,6 +666,11 @@ public class MainActivity extends AppCompatActivity implements IOrientationConsu
}
});
map.getOverlays().add(marker);
+ if (isFound) {
+ listDogObject.add(marker);
+ } else {
+ listTrailObject.add(marker);
+ }
}
private void markAsFound() {
@@ -663,15 +709,18 @@ public class MainActivity extends AppCompatActivity implements IOrientationConsu
return ;
}
- Polyline line = new Polyline(map);
- line.setTitle("Chien");
- line.setSubDescription("Départ: "+listLoc.getFirstLocation().getDatePrint());
- line.setColor(Color.BLUE);
- line.setPoints(convertListLocation(listLoc));
- line.setWidth(LINE_WIDTH_BIG);
- line.setGeodesic(true);
- line.setInfoWindow(new BasicInfoWindow(R.layout.bonuspack_bubble, map));
- map.getOverlayManager().add(line);
+ if (lastDogPolyline != null) {
+ map.getOverlayManager().remove(lastDogPolyline);
+ }
+ lastDogPolyline = new Polyline(map);
+ lastDogPolyline.setTitle("Chien");
+ lastDogPolyline.setSubDescription("Départ: "+listLoc.getFirstLocation().getDatePrint());
+ lastDogPolyline.setColor(Color.BLUE);
+ lastDogPolyline.setPoints(convertListLocation(listLoc));
+ lastDogPolyline.setWidth(LINE_WIDTH_BIG);
+ lastDogPolyline.setGeodesic(true);
+ lastDogPolyline.setInfoWindow(new BasicInfoWindow(R.layout.bonuspack_bubble, map));
+ map.getOverlayManager().add(lastDogPolyline);
map.invalidate();
}
@@ -681,15 +730,18 @@ public class MainActivity extends AppCompatActivity implements IOrientationConsu
return ;
}
- Polyline line = new Polyline(map);
- line.setTitle("Traceur");
- line.setSubDescription("Départ: "+listLoc.getFirstLocation().getDatePrint());
- line.setColor(Color.RED);
- line.setPoints(convertListLocation(listLoc));
- line.setWidth(LINE_WIDTH_BIG);
- line.setGeodesic(true);
- line.setInfoWindow(new BasicInfoWindow(R.layout.bonuspack_bubble, map));
- map.getOverlayManager().add(line);
+ if (lastTrailPolyline != null) {
+ map.getOverlayManager().remove(lastTrailPolyline);
+ }
+ lastTrailPolyline = new Polyline(map);
+ lastTrailPolyline.setTitle("Traceur");
+ lastTrailPolyline.setSubDescription("Départ: "+listLoc.getFirstLocation().getDatePrint());
+ lastTrailPolyline.setColor(Color.RED);
+ lastTrailPolyline.setPoints(convertListLocation(listLoc));
+ lastTrailPolyline.setWidth(LINE_WIDTH_BIG);
+ lastTrailPolyline.setGeodesic(true);
+ lastTrailPolyline.setInfoWindow(new BasicInfoWindow(R.layout.bonuspack_bubble, map));
+ map.getOverlayManager().add(lastTrailPolyline);
map.invalidate();
}
diff --git a/app/src/main/java/fr/chteufleur/mytrackingdog/models/Traces.java b/app/src/main/java/fr/chteufleur/mytrackingdog/models/Traces.java
index a8e0578..b7e8f6c 100644
--- a/app/src/main/java/fr/chteufleur/mytrackingdog/models/Traces.java
+++ b/app/src/main/java/fr/chteufleur/mytrackingdog/models/Traces.java
@@ -92,4 +92,17 @@ public class Traces {
public boolean isDogActivated() {
return this.dogActivated;
}
+
+ public void clearListPointTraceur() {
+ listPointTraceur.clear();
+ }
+ public void clearListPointDog() {
+ listPointDog.clear();
+ }
+ public void clearListObjectsTrail() {
+ listPointObjectsTrail.clear();
+ }
+ public void clearListObjectDog() {
+ listPointObjectsDog.clear();
+ }
}
diff --git a/app/src/main/java/fr/chteufleur/mytrackingdog/services/ServiceTrackingDog.java b/app/src/main/java/fr/chteufleur/mytrackingdog/services/ServiceTrackingDog.java
index 7bc4e05..3516da0 100644
--- a/app/src/main/java/fr/chteufleur/mytrackingdog/services/ServiceTrackingDog.java
+++ b/app/src/main/java/fr/chteufleur/mytrackingdog/services/ServiceTrackingDog.java
@@ -230,6 +230,15 @@ public class ServiceTrackingDog implements Observer {
}
return distance;
}
+ public void clearTrail() {
+ traces.clearListObjectsTrail();
+ traces.clearListPointTraceur();
+ lastExportedTrailFile = null;
+ }
+ public void clearDog() {
+ traces.clearListObjectDog();
+ traces.clearListPointDog();
+ }
//
//
diff --git a/app/src/main/res/drawable/ic_clear_dog.xml b/app/src/main/res/drawable/ic_clear_dog.xml
new file mode 100644
index 0000000..39e64d6
--- /dev/null
+++ b/app/src/main/res/drawable/ic_clear_dog.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_clear_trail.xml b/app/src/main/res/drawable/ic_clear_trail.xml
new file mode 100644
index 0000000..39e64d6
--- /dev/null
+++ b/app/src/main/res/drawable/ic_clear_trail.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/menu/drawer_view.xml b/app/src/main/res/menu/drawer_view.xml
index 37d4cd8..e3fb7be 100644
--- a/app/src/main/res/menu/drawer_view.xml
+++ b/app/src/main/res/menu/drawer_view.xml
@@ -8,6 +8,14 @@
android:id="@+id/action_send_gpx_trail"
android:title="@string/action_send_gpx_trail"
android:icon="@drawable/ic_share" />
+
+
- Import GPX
Envoyer trace du traceur
Envoyer par
+ Supprimer données traceur
+ Supprimer données chien
Active vibration objets
Affiche identifiant
Lecture identifiant
XMPP
Active XMPP
- Envoyer trace du traceur par XMPP
+ Envoyer trace du traceur