diff --git a/app/src/main/java/net/osmtracker/activity/TrackManager.java b/app/src/main/java/net/osmtracker/activity/TrackManager.java
index 10d822e8d..11a3e7e29 100644
--- a/app/src/main/java/net/osmtracker/activity/TrackManager.java
+++ b/app/src/main/java/net/osmtracker/activity/TrackManager.java
@@ -35,6 +35,7 @@
import android.view.View;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.CursorAdapter;
+import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
@@ -69,15 +70,28 @@ public class TrackManager extends ListActivity {
/** Track Identifier to export after request for write permission **/
private long trackId = -1;
+ private ImageButton btnNewTrack;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.trackmanager);
+ setContentView(R.layout.trackmanager);
getListView().setEmptyView(findViewById(R.id.trackmgr_empty));
registerForContextMenu(getListView());
if (savedInstanceState != null) {
prevItemVisible = savedInstanceState.getInt(PREV_VISIBLE, -1);
}
+ //initialize the bottom start track
+ btnNewTrack = (ImageButton) findViewById(R.id.trackmgr_hint_icon);
+ //set a listener that makes the same functionality of (+) button in the main menu of this screen
+ btnNewTrack.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startTrackLogger();
+ //makes the button invisible when is an active track
+ btnNewTrack.setVisibility(View.INVISIBLE);
+ }
+ });
}
@Override
@@ -109,6 +123,8 @@ protected void onResume() {
}
}
} else {
+ //set the button to start a new track visible when there isn't an active track
+ btnNewTrack.setVisibility(View.VISIBLE);
((TextView) findViewById(R.id.trackmgr_hint)).setText(R.string.trackmgr_newtrack_hint);
// Scroll to the previous listview position,
@@ -188,19 +204,7 @@ public boolean onPrepareOptionsMenu(Menu menu) {
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.trackmgr_menu_newtrack:
- // Start track logger activity
- try {
- Intent i = new Intent(this, TrackLogger.class);
- // New track
- currentTrackId = createNewTrack();
- i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, currentTrackId);
- startActivity(i);
- } catch (CreateTrackException cte) {
- Toast.makeText(this,
- getResources().getString(R.string.trackmgr_newtrack_error).replace("{0}", cte.getMessage()),
- Toast.LENGTH_LONG)
- .show();
- }
+ startTrackLogger();
break;
case R.id.trackmgr_menu_continuetrack:
Intent i = new Intent(this, TrackLogger.class);
@@ -265,6 +269,25 @@ public void onClick(DialogInterface dialog, int which) {
return super.onOptionsItemSelected(item);
}
+ /**
+ * This method prepare the new track and set an id, then start a new TrackLogger with the new track id
+ */
+ private void startTrackLogger(){
+ // Start track logger activity
+ try {
+ Intent i = new Intent(this, TrackLogger.class);
+ // New track
+ currentTrackId = createNewTrack();
+ i.putExtra(TrackContentProvider.Schema.COL_TRACK_ID, currentTrackId);
+ startActivity(i);
+ } catch (CreateTrackException cte) {
+ Toast.makeText(this,
+ getResources().getString(R.string.trackmgr_newtrack_error).replace("{0}", cte.getMessage()),
+ Toast.LENGTH_LONG)
+ .show();
+ }
+ }
+
private void requestPermissionAndExport(int typeCode){
if (ContextCompat.checkSelfPermission(this,
diff --git a/app/src/main/res/layout/trackmanager.xml b/app/src/main/res/layout/trackmanager.xml
index fb14da310..35ee2a88b 100644
--- a/app/src/main/res/layout/trackmanager.xml
+++ b/app/src/main/res/layout/trackmanager.xml
@@ -1,5 +1,6 @@
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 7abd2f813..a6e1d910c 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -31,8 +31,8 @@
Puntos de ref.:
P. de traza:
Usted no tiene ninguna traza.
- Para grabar una traza,\npresione el símbolo (+)
No se puede crear una nueva traza: {0}
+ Para iniciar una traza, presione
En este momento está grabando la traza #{0}\nElíjalo en la lista para continuar
Detener el trazado
Reanudar el trazado
diff --git a/app/src/main/res/values-v11/strings.xml b/app/src/main/res/values-v11/strings.xml
index e27844d4c..a21951043 100644
--- a/app/src/main/res/values-v11/strings.xml
+++ b/app/src/main/res/values-v11/strings.xml
@@ -1,4 +1,4 @@
- To record a track,\npress New track
+ To record a track, press
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 74cb3aaaa..3f528daab 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -34,7 +34,7 @@
Waypoints:
Trackpoints:
You don\'t have any tracks.
- To record a track,\npress Menu then New track
+ To record a track, press
Unable to create a new track: {0}
You are currently recording track #{0}\nChoose it in the list to continue
Stop tracking