From 20eec8d30ab68d2eee506d7e92999d9e3a2db04a Mon Sep 17 00:00:00 2001 From: Jimmy Shih Date: Fri, 27 Apr 2012 13:24:00 -0700 Subject: [PATCH] - Fix flag in My Tracks notification to update the previous notification. - move chart settings above settings - remove My Tracks Importer, thus just using My Tracks - rename to Save all to SD card... - rename to Import from SD card --- MyTracks/AndroidManifest.xml | 3 +- .../{menu_import_all.png => menu_import.png} | Bin ...{menu_export_all.png => menu_save_all.png} | Bin .../{menu_import_all.png => menu_import.png} | Bin ...{menu_export_all.png => menu_save_all.png} | Bin .../{menu_import_all.png => menu_import.png} | Bin ...{menu_export_all.png => menu_save_all.png} | Bin MyTracks/res/menu/track_detail.xml | 8 +-- MyTracks/res/menu/track_list.xml | 20 +++--- MyTracks/res/values/strings.xml | 64 +++++++----------- ...portActivity.java => SaveAllActivity.java} | 26 +++---- ...rtAsyncTask.java => SaveAllAsyncTask.java} | 50 +++++++------- .../apps/mytracks/TrackListActivity.java | 58 ++++++++-------- .../services/TrackRecordingService.java | 6 +- 14 files changed, 111 insertions(+), 124 deletions(-) rename MyTracks/res/drawable-hdpi/{menu_import_all.png => menu_import.png} (100%) rename MyTracks/res/drawable-hdpi/{menu_export_all.png => menu_save_all.png} (100%) rename MyTracks/res/drawable-mdpi/{menu_import_all.png => menu_import.png} (100%) rename MyTracks/res/drawable-mdpi/{menu_export_all.png => menu_save_all.png} (100%) rename MyTracks/res/drawable-xhdpi/{menu_import_all.png => menu_import.png} (100%) rename MyTracks/res/drawable-xhdpi/{menu_export_all.png => menu_save_all.png} (100%) rename MyTracks/src/com/google/android/apps/mytracks/{ExportActivity.java => SaveAllActivity.java} (81%) rename MyTracks/src/com/google/android/apps/mytracks/{ExportAsyncTask.java => SaveAllAsyncTask.java} (70%) diff --git a/MyTracks/AndroidManifest.xml b/MyTracks/AndroidManifest.xml index a9165cb83..f575a4318 100755 --- a/MyTracks/AndroidManifest.xml +++ b/MyTracks/AndroidManifest.xml @@ -138,12 +138,10 @@ limitations under the License. - @@ -168,6 +166,7 @@ limitations under the License. android:name="android.app.default_searchable" android:value="com.google.android.apps.mytracks.SearchListActivity" /> + diff --git a/MyTracks/res/drawable-hdpi/menu_import_all.png b/MyTracks/res/drawable-hdpi/menu_import.png similarity index 100% rename from MyTracks/res/drawable-hdpi/menu_import_all.png rename to MyTracks/res/drawable-hdpi/menu_import.png diff --git a/MyTracks/res/drawable-hdpi/menu_export_all.png b/MyTracks/res/drawable-hdpi/menu_save_all.png similarity index 100% rename from MyTracks/res/drawable-hdpi/menu_export_all.png rename to MyTracks/res/drawable-hdpi/menu_save_all.png diff --git a/MyTracks/res/drawable-mdpi/menu_import_all.png b/MyTracks/res/drawable-mdpi/menu_import.png similarity index 100% rename from MyTracks/res/drawable-mdpi/menu_import_all.png rename to MyTracks/res/drawable-mdpi/menu_import.png diff --git a/MyTracks/res/drawable-mdpi/menu_export_all.png b/MyTracks/res/drawable-mdpi/menu_save_all.png similarity index 100% rename from MyTracks/res/drawable-mdpi/menu_export_all.png rename to MyTracks/res/drawable-mdpi/menu_save_all.png diff --git a/MyTracks/res/drawable-xhdpi/menu_import_all.png b/MyTracks/res/drawable-xhdpi/menu_import.png similarity index 100% rename from MyTracks/res/drawable-xhdpi/menu_import_all.png rename to MyTracks/res/drawable-xhdpi/menu_import.png diff --git a/MyTracks/res/drawable-xhdpi/menu_export_all.png b/MyTracks/res/drawable-xhdpi/menu_save_all.png similarity index 100% rename from MyTracks/res/drawable-xhdpi/menu_export_all.png rename to MyTracks/res/drawable-xhdpi/menu_save_all.png diff --git a/MyTracks/res/menu/track_detail.xml b/MyTracks/res/menu/track_detail.xml index 6d020ed56..08e503f6e 100644 --- a/MyTracks/res/menu/track_detail.xml +++ b/MyTracks/res/menu/track_detail.xml @@ -84,14 +84,14 @@ limitations under the License. android:icon="@drawable/menu_satellite_mode" android:id="@+id/track_detail_satellite_mode" android:title="@string/menu_satellite_mode"/> - + + android:icon="@drawable/menu_import" + android:id="@+id/track_list_import" + android:title="@string/menu_import"/> + android:icon="@drawable/menu_save_all" + android:id="@+id/track_list_save_all" + android:title="@string/menu_save_all"> - - - - + + + + - - - Unable to export. - - - Exporting all tracks... - - - Export finished. - - @@ -1066,25 +1050,13 @@ limitations under the License. translation_description="In the menu, to edit a track or a marker."> Edit - - Export all... - - - Export as %1$s - Help - - Import all + + Import from SD card @@ -1119,12 +1091,17 @@ limitations under the License. submenu."> Save to SD card... + + Save all to SD card... + - As a %1$s file + Save as %1$s @@ -1191,11 +1168,6 @@ limitations under the License. translation_description="The My Tracks application name."> My Tracks - - My Tracks Importer - + Unable to save. + + + Saving all tracks... + + + Save finished. + + { +public class SaveAllAsyncTask extends AsyncTask { - private ExportActivity exportActivity; + private SaveAllActivity saveAllActivity; private final TrackFileFormat trackFileFormat; private final Context context; private final MyTracksProviderUtils myTracksProviderUtils; @@ -56,40 +56,40 @@ public class ExportAsyncTask extends AsyncTask { /** * Creates an AsyncTask. * - * @param exportActivity the activity currently associated with this AsyncTask + * @param saveAllActivity the activity currently associated with this AsyncTask * @param trackFileFormat the track file format */ - public ExportAsyncTask(ExportActivity exportActivity, TrackFileFormat trackFileFormat) { - this.exportActivity = exportActivity; + public SaveAllAsyncTask(SaveAllActivity saveAllActivity, TrackFileFormat trackFileFormat) { + this.saveAllActivity = saveAllActivity; this.trackFileFormat = trackFileFormat; - context = exportActivity.getApplicationContext(); - myTracksProviderUtils = MyTracksProviderUtils.Factory.get(exportActivity); + context = saveAllActivity.getApplicationContext(); + myTracksProviderUtils = MyTracksProviderUtils.Factory.get(saveAllActivity); // Get the wake lock if not recording - if (PreferencesUtils.getRecordingTrackId(exportActivity) == -1L) { - wakeLock = SystemUtils.acquireWakeLock(exportActivity, wakeLock); + if (PreferencesUtils.getRecordingTrackId(saveAllActivity) == -1L) { + wakeLock = SystemUtils.acquireWakeLock(saveAllActivity, wakeLock); } success = false; completed = false; - messageId = R.string.export_error; + messageId = R.string.save_all_error; } /** - * Sets the current {@link ExportActivity} associated with this AyncTask. + * Sets the current {@link SaveAllActivity} associated with this AyncTask. * - * @param exportActivity the current {@link ExportActivity}, can be null + * @param saveAllActivity the current {@link SaveAllActivity}, can be null */ - public void setActivity(ExportActivity exportActivity) { - this.exportActivity = exportActivity; - if (completed && exportActivity != null) { - exportActivity.onAsyncTaskCompleted(success, messageId); + public void setActivity(SaveAllActivity saveAllActivity) { + this.saveAllActivity = saveAllActivity; + if (completed && saveAllActivity != null) { + saveAllActivity.onAsyncTaskCompleted(success, messageId); } } @Override protected void onPreExecute() { - if (exportActivity != null) { - exportActivity.showProgressDialog(); + if (saveAllActivity != null) { + saveAllActivity.showProgressDialog(); } } @@ -99,7 +99,7 @@ public class ExportAsyncTask extends AsyncTask { try { cursor = myTracksProviderUtils.getTracksCursor(null, null, TracksColumns._ID); if (cursor == null) { - messageId = R.string.export_success; + messageId = R.string.save_all_success; return true; } int count = cursor.getCount(); @@ -123,7 +123,7 @@ public class ExportAsyncTask extends AsyncTask { } publishProgress(i + 1, count); } - messageId = R.string.export_success; + messageId = R.string.save_all_success; return true; } finally { if (cursor != null) { @@ -138,8 +138,8 @@ public class ExportAsyncTask extends AsyncTask { @Override protected void onProgressUpdate(Integer... values) { - if (exportActivity != null) { - exportActivity.setProgressDialogValue(values[0], values[1]); + if (saveAllActivity != null) { + saveAllActivity.setProgressDialogValue(values[0], values[1]); } } @@ -147,8 +147,8 @@ public class ExportAsyncTask extends AsyncTask { protected void onPostExecute(Boolean result) { success = result; completed = true; - if (exportActivity != null) { - exportActivity.onAsyncTaskCompleted(success, messageId); + if (saveAllActivity != null) { + saveAllActivity.onAsyncTaskCompleted(success, messageId); } } diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java index 7de81e6c9..7025094fc 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java @@ -159,8 +159,8 @@ public class TrackListActivity extends FragmentActivity { private MenuItem recordTrackMenuItem; private MenuItem stopRecordingMenuItem; private MenuItem searchMenuItem; - private MenuItem importAllMenuItem; - private MenuItem exportAllMenuItem; + private MenuItem importMenuItem; + private MenuItem saveAllMenuItem; private MenuItem deleteAllMenuItem; @Override @@ -319,20 +319,20 @@ public class TrackListActivity extends FragmentActivity { public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.track_list, menu); String fileTypes[] = getResources().getStringArray(R.array.file_types); - menu.findItem(R.id.track_list_export_gpx) - .setTitle(getString(R.string.menu_export_all_format, fileTypes[0])); - menu.findItem(R.id.track_list_export_kml) - .setTitle(getString(R.string.menu_export_all_format, fileTypes[1])); - menu.findItem(R.id.track_list_export_csv) - .setTitle(getString(R.string.menu_export_all_format, fileTypes[2])); - menu.findItem(R.id.track_list_export_tcx) - .setTitle(getString(R.string.menu_export_all_format, fileTypes[3])); + menu.findItem(R.id.track_list_save_all_gpx) + .setTitle(getString(R.string.menu_save_format, fileTypes[0])); + menu.findItem(R.id.track_list_save_all_kml) + .setTitle(getString(R.string.menu_save_format, fileTypes[1])); + menu.findItem(R.id.track_list_save_all_csv) + .setTitle(getString(R.string.menu_save_format, fileTypes[2])); + menu.findItem(R.id.track_list_save_all_tcx) + .setTitle(getString(R.string.menu_save_format, fileTypes[3])); recordTrackMenuItem = menu.findItem(R.id.track_list_record_track); stopRecordingMenuItem = menu.findItem(R.id.track_list_stop_recording); searchMenuItem = menu.findItem(R.id.track_list_search); - importAllMenuItem = menu.findItem(R.id.track_list_import_all); - exportAllMenuItem = menu.findItem(R.id.track_list_export_all); + importMenuItem = menu.findItem(R.id.track_list_import); + saveAllMenuItem = menu.findItem(R.id.track_list_save_all); deleteAllMenuItem = menu.findItem(R.id.track_list_delete_all); ApiAdapterFactory.getApiAdapter().configureSearchWidget(this, searchMenuItem); @@ -360,11 +360,11 @@ public class TrackListActivity extends FragmentActivity { if (stopRecordingMenuItem != null) { stopRecordingMenuItem.setVisible(isRecording); } - if (importAllMenuItem != null) { - importAllMenuItem.setVisible(!isRecording); + if (importMenuItem != null) { + importMenuItem.setVisible(!isRecording); } - if (exportAllMenuItem != null) { - exportAllMenuItem.setVisible(!isRecording); + if (saveAllMenuItem != null) { + saveAllMenuItem.setVisible(!isRecording); } if (deleteAllMenuItem != null) { deleteAllMenuItem.setVisible(!isRecording); @@ -385,29 +385,29 @@ public class TrackListActivity extends FragmentActivity { return true; case R.id.track_list_search: return ApiAdapterFactory.getApiAdapter().handleSearchMenuSelection(this); - case R.id.track_list_import_all: + case R.id.track_list_import: intent = IntentUtils.newIntent(this, ImportActivity.class) .putExtra(ImportActivity.EXTRA_IMPORT_ALL, true); startActivity(intent); return true; - case R.id.track_list_export_gpx: - intent = IntentUtils.newIntent(this, ExportActivity.class) - .putExtra(ExportActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) TrackFileFormat.GPX); + case R.id.track_list_save_all_gpx: + intent = IntentUtils.newIntent(this, SaveAllActivity.class) + .putExtra(SaveAllActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) TrackFileFormat.GPX); startActivity(intent); return true; - case R.id.track_list_export_kml: - intent = IntentUtils.newIntent(this, ExportActivity.class) - .putExtra(ExportActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) TrackFileFormat.KML); + case R.id.track_list_save_all_kml: + intent = IntentUtils.newIntent(this, SaveAllActivity.class) + .putExtra(SaveAllActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) TrackFileFormat.KML); startActivity(intent); return true; - case R.id.track_list_export_csv: - intent = IntentUtils.newIntent(this, ExportActivity.class) - .putExtra(ExportActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) TrackFileFormat.CSV); + case R.id.track_list_save_all_csv: + intent = IntentUtils.newIntent(this, SaveAllActivity.class) + .putExtra(SaveAllActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) TrackFileFormat.CSV); startActivity(intent); return true; - case R.id.track_list_export_tcx: - intent = IntentUtils.newIntent(this, ExportActivity.class) - .putExtra(ExportActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) TrackFileFormat.TCX); + case R.id.track_list_save_all_tcx: + intent = IntentUtils.newIntent(this, SaveAllActivity.class) + .putExtra(SaveAllActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) TrackFileFormat.TCX); startActivity(intent); return true; case R.id.track_list_delete_all: diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java b/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java index 609ec5bf1..87459a681 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java @@ -486,11 +486,11 @@ public class TrackRecordingService extends Service { private void showNotification() { if (isRecording) { Notification notification = new Notification( - R.drawable.my_tracks_notification_icon, null /* tickerText */, - System.currentTimeMillis()); + R.drawable.my_tracks_notification_icon, null, System.currentTimeMillis()); Intent intent = IntentUtils.newIntent(this, TrackDetailActivity.class) .putExtra(TrackDetailActivity.EXTRA_TRACK_ID, recordingTrackId); - PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0); + PendingIntent contentIntent = PendingIntent.getActivity( + this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); notification.setLatestEventInfo(this, getString(R.string.my_tracks_app_name), getString(R.string.track_record_notification), contentIntent); notification.flags += Notification.FLAG_NO_CLEAR;