Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 37 additions & 14 deletions app/src/main/java/net/osmtracker/activity/TrackManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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,
Expand Down
29 changes: 24 additions & 5 deletions app/src/main/res/layout/trackmanager.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical" android:layout_height="fill_parent" android:layout_width="fill_parent">
<TextView android:layout_height="wrap_content" android:gravity="center_horizontal" android:layout_width="fill_parent" style="@android:style/TextAppearance.Large" android:text="@string/trackmgr_tracklist" android:paddingBottom="5dp"/>
<FrameLayout android:layout_weight="1" android:layout_width="fill_parent"
Expand All @@ -13,10 +14,28 @@
android:gravity="center" style="@android:style/TextAppearance.Large" />

</FrameLayout>

<TextView android:layout_height="wrap_content" android:layout_width="fill_parent"
android:id="@+id/trackmgr_hint"
android:text="@string/trackmgr_newtrack_hint"
android:gravity="bottom|center_horizontal" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<TextView
android:id="@+id/trackmgr_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center"
android:text="@string/trackmgr_newtrack_hint" />

<ImageButton
android:id="@+id/trackmgr_hint_icon"
android:layout_width="wrap_content"
android:layout_height="38dp"
android:layout_gravity="center"
android:background="#323232"
android:src="@android:drawable/ic_menu_add" />
</LinearLayout>


</LinearLayout>
2 changes: 1 addition & 1 deletion app/src/main/res/values-es/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@
<string name="trackmgr_waypoints_count">Puntos de ref.:</string>
<string name="trackmgr_trackpoints_count">P. de traza:</string>
<string name="trackmgr_empty">Usted no tiene ninguna traza.</string>
<string name="trackmgr_newtrack_hint">Para grabar una traza,\npresione el símbolo (+) </string>
<string name="trackmgr_newtrack_error">No se puede crear una nueva traza: {0}</string>
<string name="trackmgr_newtrack_hint">Para iniciar una traza, presione </string>
<string name="trackmgr_continuetrack_hint">En este momento está grabando la <b>traza #{0}</b>\nElíjalo en la lista para continuar</string>
<string name="trackmgr_contextmenu_stop">Detener el trazado</string>
<string name="trackmgr_contextmenu_resume">Reanudar el trazado</string>
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/values-v11/strings.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="trackmgr_newtrack_hint">To record a track,\npress <b>New track</b></string>
<string name="trackmgr_newtrack_hint">To record a track, press </string>
</resources>
2 changes: 1 addition & 1 deletion app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
<string name="trackmgr_waypoints_count">Waypoints: </string>
<string name="trackmgr_trackpoints_count">Trackpoints: </string>
<string name="trackmgr_empty">You don\'t have any tracks.</string>
<string name="trackmgr_newtrack_hint">To record a track,\npress <b>Menu</b> then <b>New track</b></string>
<string name="trackmgr_newtrack_hint">To record a track, press </string>
<string name="trackmgr_newtrack_error">Unable to create a new track: {0}</string>
<string name="trackmgr_continuetrack_hint">You are currently recording <b>track #{0}</b>\nChoose it in the list to continue</string>
<string name="trackmgr_contextmenu_stop">Stop tracking</string>
Expand Down