diff --git a/MyTracks/res/values/keys.xml b/MyTracks/res/values/keys.xml index 5f80fc37e..bada8ef81 100644 --- a/MyTracks/res/values/keys.xml +++ b/MyTracks/res/values/keys.xml @@ -35,7 +35,6 @@ limitations under the License. defaultActivity defaultMapPublic defaultTablePublic - driveSync googleAccount mapType maxRecordingDistance @@ -69,6 +68,7 @@ limitations under the License. autoResumeTrackCurrentRetry driveDeletedList driveLargestChangeId + driveSync recordingTrackId recordingTrackPaused selectedTrackId diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java index 38695ae55..8d3ed9d79 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java @@ -92,6 +92,7 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity // From intent private long trackId; private long markerId; + private Track track; // Preferences private long recordingTrackId = PreferencesUtils.RECORDING_TRACK_ID_DEFAULT; @@ -298,7 +299,6 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity menu.findItem(R.id.track_detail_save_tcx) .setTitle(getString(R.string.menu_save_format, fileTypes[3])); - Track track = myTracksProviderUtils.getTrack(trackId); menu.findItem(R.id.track_detail_edit).setVisible(!track.isSharedWithMe()); shareDriveMenuItem = menu.findItem(R.id.track_detail_share_drive); shareDriveMenuItem.setEnabled(!track.isSharedWithMe()); @@ -377,7 +377,6 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity return true; case R.id.track_detail_send_google: AnalyticsUtils.sendPageViews(this, "/action/send_google"); - Track track = myTracksProviderUtils.getTrack(trackId); ChooseUploadServiceDialogFragment.newInstance(track.isSharedWithMe()).show( getSupportFragmentManager(), ChooseUploadServiceDialogFragment.CHOOSE_UPLOAD_SERVICE_DIALOG_TAG); @@ -530,6 +529,11 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity finish(); return; } + track = myTracksProviderUtils.getTrack(trackId); + if (track == null) { + finish(); + return; + } } /** @@ -583,8 +587,7 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity if (isRecording) { title = getString(isPaused ? R.string.generic_paused : R.string.generic_recording); } else { - Track track = myTracksProviderUtils.getTrack(trackId); - title = track != null ? track.getName() : getString(R.string.my_tracks_app_name); + title = track.getName(); } setTitle(title); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelper.java b/MyTracks/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelper.java index f5d8be071..8be9c86ff 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelper.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelper.java @@ -47,6 +47,7 @@ public class PreferenceBackupHelper { doNotBackup.add(context.getString(R.string.auto_resume_track_current_retry_key)); doNotBackup.add(context.getString(R.string.drive_deleted_list_key)); doNotBackup.add(context.getString(R.string.drive_largest_change_id_key)); + doNotBackup.add(context.getString(R.string.drive_sync_key)); doNotBackup.add(context.getString(R.string.recording_track_id_key)); doNotBackup.add(context.getString(R.string.recording_track_paused_key)); doNotBackup.add(context.getString(R.string.selected_track_id_key)); diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/backup/RestoreAsyncTask.java b/MyTracks/src/com/google/android/apps/mytracks/io/backup/RestoreAsyncTask.java index 4464667bf..586937e37 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/backup/RestoreAsyncTask.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/backup/RestoreAsyncTask.java @@ -16,6 +16,8 @@ package com.google.android.apps.mytracks.io.backup; +import com.google.android.apps.mytracks.io.sync.SyncUtils; +import com.google.android.apps.mytracks.util.PreferencesUtils; import com.google.android.maps.mytracks.R; import android.os.AsyncTask; @@ -84,7 +86,11 @@ public class RestoreAsyncTask extends AsyncTask { @Override protected Boolean doInBackground(Void... params) { try { + PreferencesUtils.setBoolean( + restoreActivity, R.string.drive_sync_key, PreferencesUtils.DRIVE_SYNC_DEFAULT); + SyncUtils.disableSync(restoreActivity); externalFileBackup.restoreFromDate(date); + SyncUtils.clearSyncState(restoreActivity); messageId = R.string.settings_backup_restore_success; return true; } catch (IOException e) {