From 657ec175595cabe68149507c7995709511f0827c Mon Sep 17 00:00:00 2001 From: Rodrigo Damazio Date: Thu, 18 Aug 2011 15:33:39 -0300 Subject: [PATCH 1/8] Fixing usage of Charset in java.lang.String, which is only supported in API level 9. --- .../google/android/apps/mytracks/io/SendToFusionTables.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/SendToFusionTables.java b/MyTracks/src/com/google/android/apps/mytracks/io/SendToFusionTables.java index c08269ffe..c43220f75 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/SendToFusionTables.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/SendToFusionTables.java @@ -16,6 +16,7 @@ package com.google.android.apps.mytracks.io; import static com.google.android.apps.mytracks.Constants.TAG; + import com.google.android.apps.mytracks.Constants; import com.google.android.apps.mytracks.ProgressIndicator; import com.google.android.apps.mytracks.content.MyTracksProviderUtils; @@ -50,7 +51,6 @@ import android.util.Log; import java.io.ByteArrayInputStream; import java.io.IOException; import java.net.URLEncoder; -import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import java.util.Locale; @@ -695,7 +695,7 @@ public class SendToFusionTables implements Runnable { if (success) { byte[] result = new byte[1024]; int read = response.getContent().read(result); - String s = new String(result, 0, read, Charset.forName("UTF8")); + String s = new String(result, 0, read, "UTF8"); String[] lines = s.split(Strings.LINE_SEPARATOR); if (lines[0].equals("tableid")) { tableId = lines[1]; From 496ad9c4e2c684e07787b1906e68683617b50b34 Mon Sep 17 00:00:00 2001 From: Rodrigo Damazio Date: Fri, 19 Aug 2011 01:33:46 -0300 Subject: [PATCH 2/8] Fixing menu items. The complicated bit that was missing was the delete action, which is now its own activity with proper intent handling. --- MyTracks/AndroidManifest.xml | 11 ++ MyTracks/res/values/strings.xml | 5 +- .../android/apps/mytracks/Constants.java | 61 +++------- .../android/apps/mytracks/DeleteTrack.java | 114 ++++++++++++++++++ .../android/apps/mytracks/MapActivity.java | 20 +++ .../android/apps/mytracks/MenuManager.java | 16 +-- .../android/apps/mytracks/MyTracks.java | 57 +-------- .../android/apps/mytracks/TrackList.java | 19 ++- .../android/apps/mytracks/WaypointsList.java | 18 +-- .../apps/mytracks/content/TrackDataHub.java | 7 +- 10 files changed, 203 insertions(+), 125 deletions(-) create mode 100644 MyTracks/src/com/google/android/apps/mytracks/DeleteTrack.java diff --git a/MyTracks/AndroidManifest.xml b/MyTracks/AndroidManifest.xml index 8834d5840..4dc2ea882 100755 --- a/MyTracks/AndroidManifest.xml +++ b/MyTracks/AndroidManifest.xml @@ -79,6 +79,17 @@ limitations under the License. + + + + + + + + diff --git a/MyTracks/res/values/strings.xml b/MyTracks/res/values/strings.xml index 019b7fe00..bbed6aa14 100644 --- a/MyTracks/res/values/strings.xml +++ b/MyTracks/res/values/strings.xml @@ -83,7 +83,8 @@ limitations under the License. Writing file to SD card. This may take a while. Updating track statistics... - + + Delete track Are you sure? All tracks and markers will be deleted from this phone. The track and its markers will be permanently deleted from this phone. @@ -508,5 +509,5 @@ limitations under the License. SRM ANT+ Bridge Polar Bluetooth Zephyr Bluetooth - + diff --git a/MyTracks/src/com/google/android/apps/mytracks/Constants.java b/MyTracks/src/com/google/android/apps/mytracks/Constants.java index 063bb6679..91defa8b2 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/Constants.java +++ b/MyTracks/src/com/google/android/apps/mytracks/Constants.java @@ -1,12 +1,12 @@ /* * Copyright 2008 Google Inc. - * + * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the @@ -26,7 +26,7 @@ public abstract class Constants { * Should be used by all log statements */ public static final String TAG = "MyTracks"; - + /** * Name of the top-level directory inside the SD card where our files will * be read from/written to. @@ -39,32 +39,21 @@ public abstract class Constants { public static final int GET_LOGIN = 0; public static final int GET_MAP = 1; - public static final int CREATE_MAP = 2; - public static final int SHOW_TRACK = 3; - public static final int ADD_LIST = 4; - public static final int FEATURE_DETAILS = 5; - public static final int START_RECORDING = 6; - public static final int STOP_RECORDING = 7; - public static final int AUTHENTICATE_TO_MY_MAPS = 8; - public static final int AUTHENTICATE_TO_FUSION_TABLES = 9; - public static final int AUTHENTICATE_TO_DOCLIST = 10; - public static final int AUTHENTICATE_TO_TRIX = 11; - public static final int DELETE_TRACK = 13; - public static final int SEND_TO_GOOGLE = 14; - public static final int SHARE_LINK = 15; - public static final int SHARE_GPX_FILE = 16; - public static final int SHARE_KML_FILE = 17; - public static final int SHARE_CSV_FILE = 18; - public static final int SHARE_TCX_FILE = 19; - public static final int EDIT_DETAILS = 20; - public static final int SAVE_GPX_FILE = 21; - public static final int SAVE_KML_FILE = 22; - public static final int SAVE_CSV_FILE = 23; - public static final int SAVE_TCX_FILE = 24; - public static final int CLEAR_MAP = 25; - public static final int SHOW_WAYPOINT = 26; - public static final int EDIT_WAYPOINT = 27; - public static final int WELCOME = 28; + public static final int SHOW_TRACK = 2; + public static final int AUTHENTICATE_TO_MY_MAPS = 3; + public static final int AUTHENTICATE_TO_FUSION_TABLES = 4; + public static final int AUTHENTICATE_TO_DOCLIST = 5; + public static final int AUTHENTICATE_TO_TRIX = 6; + public static final int SHARE_GPX_FILE = 7; + public static final int SHARE_KML_FILE = 8; + public static final int SHARE_CSV_FILE = 9; + public static final int SHARE_TCX_FILE = 10; + public static final int SAVE_GPX_FILE = 11; + public static final int SAVE_KML_FILE = 12; + public static final int SAVE_CSV_FILE = 13; + public static final int SAVE_TCX_FILE = 14; + public static final int SHOW_WAYPOINT = 15; + public static final int WELCOME = 16; /* * Menu ids: @@ -179,7 +168,7 @@ public abstract class Constants { * The type of account that we can use for gdata uploads. */ public static final String ACCOUNT_TYPE = "com.google"; - + /** * The name of extra intent property to indicate whether we want to resume * a previously recorded track. @@ -189,14 +178,6 @@ public abstract class Constants { public static int getActionFromMenuId(int menuId) { switch (menuId) { - case Constants.MENU_SEND_TO_GOOGLE: - return Constants.SEND_TO_GOOGLE; - case Constants.MENU_EDIT: - return Constants.EDIT_DETAILS; - case Constants.MENU_DELETE: - return Constants.DELETE_TRACK; - case Constants.MENU_SHARE_LINK: - return Constants.SHARE_LINK; case Constants.MENU_SHARE_KML_FILE: return Constants.SHARE_KML_FILE; case Constants.MENU_SHARE_GPX_FILE: @@ -213,8 +194,6 @@ public abstract class Constants { return Constants.SAVE_CSV_FILE; case Constants.MENU_SAVE_TCX_FILE: return Constants.SAVE_TCX_FILE; - case Constants.MENU_CLEAR_MAP: - return Constants.CLEAR_MAP; default: return -1; } diff --git a/MyTracks/src/com/google/android/apps/mytracks/DeleteTrack.java b/MyTracks/src/com/google/android/apps/mytracks/DeleteTrack.java new file mode 100644 index 000000000..1b73e8f68 --- /dev/null +++ b/MyTracks/src/com/google/android/apps/mytracks/DeleteTrack.java @@ -0,0 +1,114 @@ +/* + * Copyright 2011 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.android.apps.mytracks; + +import static com.google.android.apps.mytracks.Constants.TAG; + +import com.google.android.apps.mytracks.content.MyTracksProviderUtils; +import com.google.android.apps.mytracks.content.TracksColumns; +import com.google.android.apps.mytracks.util.ApiFeatures; +import com.google.android.apps.mytracks.util.UriUtils; +import com.google.android.maps.mytracks.R; + +import android.app.Activity; +import android.app.AlertDialog; +import android.app.Dialog; +import android.content.ContentUris; +import android.content.DialogInterface; +import android.content.DialogInterface.OnCancelListener; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; +import android.net.Uri; +import android.os.Bundle; +import android.util.Log; + +/** + * Activity used to delete a track. + * + * @author Rodrigo Damazio + */ +public class DeleteTrack extends Activity + implements DialogInterface.OnClickListener, OnCancelListener { + private static final int CONFIRM_DIALOG = 1; + + private MyTracksProviderUtils providerUtils; + + private long deleteTrackId; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + providerUtils = MyTracksProviderUtils.Factory.get(this); + + Intent intent = getIntent(); + String action = intent.getAction(); + Uri data = intent.getData(); + if (!Intent.ACTION_DELETE.equals(action) || + !UriUtils.matchesContentUri(data, TracksColumns.CONTENT_URI)) { + Log.e(TAG, "Got bad delete intent: " + intent); + finish(); + } + + deleteTrackId = ContentUris.parseId(data); + + showDialog(CONFIRM_DIALOG); + } + + @Override + protected Dialog onCreateDialog(int id) { + if (id != CONFIRM_DIALOG) { + Log.e(TAG, "Unknown dialog " + id); + return null; + } + + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setMessage(getString(R.string.track_will_be_permanently_deleted)); + builder.setTitle(getString(R.string.are_you_sure_question)); + builder.setIcon(android.R.drawable.ic_dialog_alert); + builder.setPositiveButton(getString(R.string.yes), this); + builder.setNegativeButton(getString(R.string.no), this); + builder.setOnCancelListener(this); + return builder.create(); + } + + @Override + public void onClick(DialogInterface dialogInterface, int which) { + dialogInterface.dismiss(); + if (which == DialogInterface.BUTTON_POSITIVE) { + deleteTrack(); + } + finish(); + } + + @Override + public void onCancel(DialogInterface dialog) { + onClick(dialog, DialogInterface.BUTTON_NEGATIVE); + } + + private void deleteTrack() { + providerUtils.deleteTrack(deleteTrackId); + + // If the track we just deleted was selected, unselect it. + String selectedKey = getString(R.string.selected_track_key); + SharedPreferences preferences = getSharedPreferences(Constants.SETTINGS_NAME, 0); + if (preferences.getLong(selectedKey, -1) == deleteTrackId) { + Editor editor = preferences.edit().putLong(selectedKey, -1); + ApiFeatures.getInstance().getApiPlatformAdapter().applyPreferenceChanges(editor); + } + } +} diff --git a/MyTracks/src/com/google/android/apps/mytracks/MapActivity.java b/MyTracks/src/com/google/android/apps/mytracks/MapActivity.java index d7391a211..f168b3bc7 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/MapActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/MapActivity.java @@ -22,6 +22,7 @@ import com.google.android.apps.mytracks.content.Track; import com.google.android.apps.mytracks.content.TrackDataHub; import com.google.android.apps.mytracks.content.TrackDataHub.ListenerDataType; import com.google.android.apps.mytracks.content.TrackDataListener; +import com.google.android.apps.mytracks.content.TracksColumns; import com.google.android.apps.mytracks.content.Waypoint; import com.google.android.apps.mytracks.io.file.SaveActivity; import com.google.android.apps.mytracks.io.sendtogoogle.SendActivity; @@ -35,8 +36,10 @@ import com.google.android.maps.MapController; import com.google.android.maps.MapView; import com.google.android.maps.mytracks.R; +import android.content.ContentUris; import android.content.Intent; import android.location.Location; +import android.net.Uri; import android.os.Bundle; import android.provider.Settings; import android.util.Log; @@ -412,6 +415,23 @@ public class MapActivity extends com.google.android.maps.MapActivity SaveActivity.handleExportTrackAction(this, dataHub.getSelectedTrackId(), Constants.getActionFromMenuId(item.getItemId())); return true; + case Constants.MENU_EDIT: { + Intent intent = new Intent(this, TrackDetails.class); + // TODO: Pass in a content URI + intent.putExtra("trackid", dataHub.getSelectedTrackId()); + startActivity(intent); + return true; + } + case Constants.MENU_DELETE: { + Uri uri = ContentUris.withAppendedId( + TracksColumns.CONTENT_URI, dataHub.getSelectedTrackId()); + Intent intent = new Intent(Intent.ACTION_DELETE, uri); + startActivity(intent); + return true; + } + case Constants.MENU_CLEAR_MAP: + dataHub.unloadCurrentTrack(); + return true; default: return super.onMenuItemSelected(featureId, item); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/MenuManager.java b/MyTracks/src/com/google/android/apps/mytracks/MenuManager.java index 97ef2adae..58f9d1f63 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/MenuManager.java +++ b/MyTracks/src/com/google/android/apps/mytracks/MenuManager.java @@ -1,12 +1,12 @@ /* * Copyright 2010 Google Inc. - * + * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the @@ -24,7 +24,7 @@ import android.view.MenuItem; /** * Manage the application menus. - * + * * @author Sandor Dornbush */ class MenuManager { @@ -34,7 +34,7 @@ class MenuManager { public MenuManager(MyTracks activity) { this.activity = activity; } - + public boolean onCreateOptionsMenu(Menu menu) { activity.getMenuInflater().inflate(R.menu.main, menu); return true; @@ -52,7 +52,7 @@ class MenuManager { .setEnabled(isRecording) .setVisible(isRecording); } - + public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_start_recording: { @@ -86,10 +86,6 @@ class MenuManager { case R.id.menu_help: { return startActivity(WelcomeActivity.class); } - case Constants.MENU_CLEAR_MAP: { - activity.clearSelectedTrack(); - return true; - } } return false; } diff --git a/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java b/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java index 2a72052cb..8a9555a8e 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java +++ b/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java @@ -33,10 +33,8 @@ import com.google.android.apps.mytracks.util.UriUtils; import com.google.android.maps.mytracks.R; import android.app.Activity; -import android.app.AlertDialog; import android.app.TabActivity; import android.content.ContentUris; -import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.content.res.Resources; @@ -61,6 +59,7 @@ import android.widget.Toast; * @author Leif Hendrik Wilden * @author Rodrigo Damazio */ +@SuppressWarnings("deprecation") public class MyTracks extends TabActivity implements OnTouchListener { private TrackDataHub dataHub; @@ -314,7 +313,7 @@ public class MyTracks extends TabActivity implements OnTouchListener { dataHub.loadTrack(trackId); // The track list passed the requested action as result code. Hand - // it off to the onAcitivtyResult for further processing: + // it off to the onActivityResult for further processing: if (resultCode != Constants.SHOW_TRACK) { onActivityResult(resultCode, Activity.RESULT_OK, results); } @@ -336,24 +335,6 @@ public class MyTracks extends TabActivity implements OnTouchListener { } break; } - case Constants.DELETE_TRACK: { - if (results != null && resultCode == RESULT_OK) { - deleteTrack(trackId); - } - break; - } - case Constants.EDIT_DETAILS: { - if (results != null && resultCode == RESULT_OK) { - Intent intent = new Intent(this, TrackDetails.class); - intent.putExtra("trackid", trackId); - startActivity(intent); - } - break; - } - case Constants.CLEAR_MAP: { - dataHub.unloadCurrentTrack(); - break; - } case Constants.WELCOME: { CheckUnits.check(this); break; @@ -373,36 +354,6 @@ public class MyTracks extends TabActivity implements OnTouchListener { return false; } - /** - * Deletes the track with the given id. - * Prompts the user if he want to really delete the track first. - * If the selected track is deleted, the selection will be removed. - */ - public void deleteTrack(final long trackId) { - AlertDialog dialog = null; - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setMessage(getString(R.string.track_will_be_permanently_deleted)); - builder.setTitle(getString(R.string.are_you_sure_question)); - builder.setIcon(android.R.drawable.ic_dialog_alert); - builder.setPositiveButton(getString(R.string.yes), - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialogInterface, int i) { - dialogInterface.dismiss(); - providerUtils.deleteTrack(trackId); - if (trackId == dataHub.getSelectedTrackId()) { - dataHub.unloadCurrentTrack(); - } - }}); - builder.setNegativeButton(getString(R.string.no), - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialogInterface, int i) { - dialogInterface.dismiss(); - } - }); - dialog = builder.create(); - dialog.show(); - } - /** * Inserts a waypoint marker. * @@ -493,10 +444,6 @@ public class MyTracks extends TabActivity implements OnTouchListener { } } - void clearSelectedTrack() { - dataHub.unloadCurrentTrack(); - } - long getSelectedTrackId() { return dataHub.getSelectedTrackId(); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackList.java b/MyTracks/src/com/google/android/apps/mytracks/TrackList.java index 17e927f28..cf0defa44 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackList.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackList.java @@ -15,6 +15,8 @@ */ package com.google.android.apps.mytracks; +import static com.google.android.apps.mytracks.Constants.TAG; + import com.google.android.apps.mytracks.content.TracksColumns; import com.google.android.apps.mytracks.io.file.SaveActivity; import com.google.android.apps.mytracks.io.sendtogoogle.SendActivity; @@ -25,11 +27,14 @@ import com.google.android.apps.mytracks.util.UnitConversions; import com.google.android.maps.mytracks.R; import android.app.ListActivity; +import android.content.ContentUris; import android.content.Intent; import android.content.SharedPreferences; import android.database.Cursor; +import android.net.Uri; import android.os.Bundle; import android.os.Handler; +import android.util.Log; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.MenuItem; @@ -182,14 +187,16 @@ public class TrackList extends ListActivity SaveActivity.handleExportTrackAction(this, trackId, Constants.getActionFromMenuId(item.getItemId())); return true; - default: { - Intent result = new Intent(); - result.putExtra("trackid", trackId); - setResult( - Constants.getActionFromMenuId(item.getItemId()), result); - finish(); + case Constants.MENU_DELETE: { + Intent intent = new Intent(Intent.ACTION_DELETE); + Uri uri = ContentUris.withAppendedId(TracksColumns.CONTENT_URI, trackId); + intent.setDataAndType(uri, TracksColumns.CONTENT_ITEMTYPE); + startActivity(intent); return true; } + default: + Log.w(TAG, "Unknown menu item: " + item.getItemId() + "(" + item.getTitle() + ")"); + return super.onMenuItemSelected(featureId, item); } } diff --git a/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java b/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java index f3f713902..303e871b5 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java +++ b/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java @@ -96,11 +96,7 @@ public class WaypointsList extends ListActivity @Override protected void onListItemClick(ListView l, View v, int position, long id) { - Intent result = new Intent(); - result.putExtra("trackid", trackId); - result.putExtra(WaypointDetails.WAYPOINT_ID_EXTRA, id); - setResult(Constants.EDIT_WAYPOINT, result); - finish(); + editWaypoint(id); } @Override @@ -112,10 +108,7 @@ public class WaypointsList extends ListActivity return true; } case Constants.MENU_EDIT: { - Intent intent = new Intent(this, WaypointDetails.class); - intent.putExtra("trackid", trackId); - intent.putExtra(WaypointDetails.WAYPOINT_ID_EXTRA, selectedWaypointId); - startActivity(intent); + editWaypoint(selectedWaypointId); return true; } case Constants.MENU_DELETE: { @@ -126,6 +119,13 @@ public class WaypointsList extends ListActivity return false; } + private void editWaypoint(long waypointId) { + Intent intent = new Intent(this, WaypointDetails.class); + intent.putExtra("trackid", trackId); + intent.putExtra(WaypointDetails.WAYPOINT_ID_EXTRA, waypointId); + startActivity(intent); + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java b/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java index 26995fd09..d5e53c109 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java +++ b/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java @@ -412,10 +412,10 @@ public class TrackDataHub { return; } - // Save the selection to memory and flash. + // Save the selection to memory and flush. + selectedTrackId = trackId; ApiFeatures.getInstance().getApiPlatformAdapter().applyPreferenceChanges( preferences.edit().putLong(SELECTED_TRACK_KEY, trackId)); - selectedTrackId = trackId; // Force it to reload data from the beginning. Log.d(TAG, "Loading track"); @@ -642,6 +642,9 @@ public class TrackDataHub { } else if (SPEED_REPORTING_KEY.equals(key)) { reportSpeed = preferences.getBoolean(SPEED_REPORTING_KEY, true); notifySpeedReportingChanged(); + } else if (SELECTED_TRACK_KEY.equals(key)) { + long trackId = preferences.getLong(SELECTED_TRACK_KEY, -1); + loadTrack(trackId); } } From cf6ac06f731f6ce30c84bbd482aec56d2f12a085 Mon Sep 17 00:00:00 2001 From: Rodrigo Damazio Date: Fri, 19 Aug 2011 01:40:15 -0300 Subject: [PATCH 3/8] Fixing the display of waypoints. --- .../src/com/google/android/apps/mytracks/WaypointsList.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java b/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java index 303e871b5..ecfe1b733 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java +++ b/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java @@ -104,7 +104,11 @@ public class WaypointsList extends ListActivity if (!super.onMenuItemSelected(featureId, item)) { switch (item.getItemId()) { case Constants.MENU_SHOW: { - onListItemClick(null, null, 0, selectedWaypointId); + Intent result = new Intent(); + result.putExtra("trackid", trackId); + result.putExtra(WaypointDetails.WAYPOINT_ID_EXTRA, selectedWaypointId); + setResult(RESULT_OK, result); + finish(); return true; } case Constants.MENU_EDIT: { From d2b8f656122509ff87edf013e7a1e9add19ace44 Mon Sep 17 00:00:00 2001 From: Rodrigo Damazio Date: Fri, 19 Aug 2011 13:19:22 -0300 Subject: [PATCH 4/8] Added tag v1.1.8 for changeset d4623f208a4a From c7da9a45ee6b9841517b0ffc4e3ad12413fe4bbf Mon Sep 17 00:00:00 2001 From: Rodrigo Damazio Date: Tue, 23 Aug 2011 22:37:48 -0300 Subject: [PATCH 5/8] Releasing v1.1.9. --- MyTracks/AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MyTracks/AndroidManifest.xml b/MyTracks/AndroidManifest.xml index 4dc2ea882..d085d37e9 100755 --- a/MyTracks/AndroidManifest.xml +++ b/MyTracks/AndroidManifest.xml @@ -17,8 +17,8 @@ limitations under the License. + android:versionCode="32" + android:versionName="1.1.9"> From e51de2bfcebff62ebd06943e987df273086bfec1 Mon Sep 17 00:00:00 2001 From: Rodrigo Damazio Date: Tue, 23 Aug 2011 22:38:08 -0300 Subject: [PATCH 6/8] Added tag v1.1.9 for changeset 2df0fdeea8c1 From c212217f676f9d0091845bad9db181973d2c7928 Mon Sep 17 00:00:00 2001 From: buff3r Date: Thu, 1 Sep 2011 16:52:31 -0700 Subject: [PATCH 7/8] adding ability to delete a statistics marker if it is the first marker in the list --- .../src/com/google/android/apps/mytracks/WaypointsList.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java b/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java index ecfe1b733..1121d8359 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java +++ b/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java @@ -36,11 +36,11 @@ import android.os.Bundle; import android.os.RemoteException; import android.util.Log; import android.view.ContextMenu; -import android.view.ContextMenu.ContextMenuInfo; import android.view.MenuItem; import android.view.View; -import android.view.View.OnCreateContextMenuListener; import android.view.Window; +import android.view.ContextMenu.ContextMenuInfo; +import android.view.View.OnCreateContextMenuListener; import android.widget.AdapterView; import android.widget.Button; import android.widget.ImageView; @@ -88,7 +88,7 @@ public class WaypointsList extends ListActivity R.string.waypointslist_edit_waypoint); menu.add(0, Constants.MENU_DELETE, 0, R.string.waypointslist_delete_waypoint).setEnabled( - recordingTrackId < 0 || type == Waypoint.TYPE_WAYPOINT || + recordingTrackId < 0 || type == Waypoint.TYPE_WAYPOINT || type == Waypoint.TYPE_STATISTICS || info.id != providerUtils.getLastWaypointId(recordingTrackId)); } } From 7bcc4281787e7f5c5c424bca619747cb90189d4e Mon Sep 17 00:00:00 2001 From: buff3r Date: Thu, 1 Sep 2011 17:03:38 -0700 Subject: [PATCH 8/8] adding ability to delete a statistics marker if it is the first marker in the list --- .../src/com/google/android/apps/mytracks/WaypointsList.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java b/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java index 1121d8359..a7b5673a7 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java +++ b/MyTracks/src/com/google/android/apps/mytracks/WaypointsList.java @@ -36,11 +36,11 @@ import android.os.Bundle; import android.os.RemoteException; import android.util.Log; import android.view.ContextMenu; +import android.view.ContextMenu.ContextMenuInfo; import android.view.MenuItem; import android.view.View; -import android.view.Window; -import android.view.ContextMenu.ContextMenuInfo; import android.view.View.OnCreateContextMenuListener; +import android.view.Window; import android.widget.AdapterView; import android.widget.Button; import android.widget.ImageView;