diff --git a/app/src/main/java/fr/chteufleur/mytrackingdog/MainActivity.java b/app/src/main/java/fr/chteufleur/mytrackingdog/MainActivity.java
index c630991..04c557b 100644
--- a/app/src/main/java/fr/chteufleur/mytrackingdog/MainActivity.java
+++ b/app/src/main/java/fr/chteufleur/mytrackingdog/MainActivity.java
@@ -8,6 +8,7 @@ import android.content.pm.PackageManager;
import android.graphics.Color;
import android.hardware.GeomagneticField;
import android.location.LocationManager;
+import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
@@ -380,9 +381,23 @@ public class MainActivity extends AppCompatActivity implements IOrientationConsu
//noinspection SimplifiableIfStatement
if (id == R.id.action_import_gpx) {
Intent intent = new Intent(this, FilePicker.class);
- intent.putExtra(FilePicker.EXTRA_FILE_PATH, Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+appName);
+ intent.putExtra(FilePicker.EXTRA_FILE_PATH, Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + appName);
startActivityForResult(intent, REQUEST_PICK_FILE);
return true;
+
+ } else if (id == R.id.action_send_gpx_trail) {
+ File trailFile = serviceGps.getLastExportedTrailFile();
+ if (trailFile != null) {
+ Intent shareIntent = new Intent();
+ shareIntent.setAction(Intent.ACTION_SEND);
+ shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(trailFile));
+ shareIntent.setType("*/*");
+ shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.action_send_to)));
+ } else {
+ Toast.makeText(ctx, "Aucune trace enregistré.", Toast.LENGTH_LONG).show();
+ }
+ return true;
}
return super.onOptionsItemSelected(item);
diff --git a/app/src/main/java/fr/chteufleur/mytrackingdog/services/ServiceGps.java b/app/src/main/java/fr/chteufleur/mytrackingdog/services/ServiceGps.java
index 5403cea..2bcdc2c 100644
--- a/app/src/main/java/fr/chteufleur/mytrackingdog/services/ServiceGps.java
+++ b/app/src/main/java/fr/chteufleur/mytrackingdog/services/ServiceGps.java
@@ -32,6 +32,8 @@ public class ServiceGps extends Observable implements IServiceGps, LocationListe
private static final String TAG = ServiceGps.class.getName();
public static final String NOTIF_NEW_LOCATION = "fr.chteufleur.mytrackingdog.services.servicegps.newlocation";
+ private File lastExportedTrailFile = null;
+
private LocationManager locationManager;
private MyLocation currentLocation = null;
private String appName = "";
@@ -217,14 +219,22 @@ public class ServiceGps extends Observable implements IServiceGps, LocationListe
ExportGpx exportGpx = new ExportGpx(file, Gpx.TRAIL_TRACE_NAME);
exportGpx.setObjects(traces.getListPointObjectsTrail());
exportGpx.setTrace(traces.getListPointTraceur());
+ lastExportedTrailFile = file;
return exportGpx.export();
}
+ public File getLastExportedTrailFile() {
+ return lastExportedTrailFile;
+ }
+
public void importGpxTrace(File file) {
ImportGpx importGpx = new ImportGpx(file);
try {
List list = importGpx.parse();
String traceName = importGpx.getTraceName();
+ if (traceName.equals(Gpx.TRAIL_TRACE_NAME)) {
+ lastExportedTrailFile = file;
+ }
for (int i=0; i
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ed26564..5d19a25 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,10 +1,13 @@
MyTrackingDog
- Import GPX
Départ traceur
Stop
Dépose objet
Départ chien
Stop
Objet trouvé
+
+ Import GPX
+ Envoyer trace du traceur
+ Envoyer par