diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackEditActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackEditActivity.java index 6e7b7a5f2..41e36c943 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackEditActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackEditActivity.java @@ -64,7 +64,7 @@ public class TrackEditActivity extends AbstractMyTracksActivity { myTracksProviderUtils = MyTracksProviderUtils.Factory.get(this); track = myTracksProviderUtils.getTrack(trackId); if (track == null) { - Log.e(TAG, "no track"); + Log.e(TAG, "No track for " + trackId); finish(); return; } diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/docs/SendDocsAsyncTask.java b/MyTracks/src/com/google/android/apps/mytracks/io/docs/SendDocsAsyncTask.java index dad8e3aea..042b3b09c 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/docs/SendDocsAsyncTask.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/docs/SendDocsAsyncTask.java @@ -119,7 +119,7 @@ public class SendDocsAsyncTask extends AbstractSendAsyncTask { Track track = myTracksProviderUtils.getTrack(trackId); if (track == null) { - Log.d(TAG, "Track is null"); + Log.d(TAG, "No track for " + trackId); return false; } diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/file/TrackWriterFactory.java b/MyTracks/src/com/google/android/apps/mytracks/io/file/TrackWriterFactory.java index 37ea46b96..91536b3e0 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/file/TrackWriterFactory.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/file/TrackWriterFactory.java @@ -118,7 +118,7 @@ public class TrackWriterFactory { long trackId, TrackFileFormat format) { Track track = providerUtils.getTrack(trackId); if (track == null) { - Log.w(TAG, "Trying to create a writer for an invalid track, id=" + trackId); + Log.d(TAG, "No track for " + trackId); return null; } diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/fusiontables/SendFusionTablesAsyncTask.java b/MyTracks/src/com/google/android/apps/mytracks/io/fusiontables/SendFusionTablesAsyncTask.java index 12eb3b4ef..7795fe3ee 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/fusiontables/SendFusionTablesAsyncTask.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/fusiontables/SendFusionTablesAsyncTask.java @@ -105,12 +105,12 @@ public class SendFusionTablesAsyncTask extends AbstractSendAsyncTask { @Override protected void saveResult() { Track track = myTracksProviderUtils.getTrack(trackId); - if (track != null) { - track.setTableId(tableId); - myTracksProviderUtils.updateTrack(track); - } else { - Log.d(TAG, "No track"); + if (track == null) { + Log.d(TAG, "No track for " + trackId); + return; } + track.setTableId(tableId); + myTracksProviderUtils.updateTrack(track); } @Override @@ -136,7 +136,7 @@ public class SendFusionTablesAsyncTask extends AbstractSendAsyncTask { Track track = myTracksProviderUtils.getTrack(trackId); if (track == null) { - Log.d(TAG, "Track is null"); + Log.d(TAG, "No track for " + trackId); return false; } diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/maps/SendMapsAsyncTask.java b/MyTracks/src/com/google/android/apps/mytracks/io/maps/SendMapsAsyncTask.java index 84719a86f..789e03491 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/maps/SendMapsAsyncTask.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/maps/SendMapsAsyncTask.java @@ -131,14 +131,14 @@ public class SendMapsAsyncTask extends AbstractSendAsyncTask { @Override protected void saveResult() { Track track = myTracksProviderUtils.getTrack(trackId); - if (track != null) { - track.setMapId(mapId); - myTracksProviderUtils.updateTrack(track); - } else { - Log.d(TAG, "No track"); + if (track == null) { + Log.d(TAG, "No track for " + trackId); + return; } + track.setMapId(mapId); + myTracksProviderUtils.updateTrack(track); } - + @Override protected boolean performTask() { // Reset the per upload states @@ -173,7 +173,7 @@ public class SendMapsAsyncTask extends AbstractSendAsyncTask { // Get the track Track track = myTracksProviderUtils.getTrack(trackId); if (track == null) { - Log.d(TAG, "Track is null"); + Log.d(TAG, "No track for " + trackId); return false; } diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/UploadResultActivity.java b/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/UploadResultActivity.java index 30f54e092..01369bb09 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/UploadResultActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/UploadResultActivity.java @@ -30,6 +30,7 @@ import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.FragmentActivity; +import android.util.Log; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; @@ -42,10 +43,10 @@ import android.widget.TextView; */ public class UploadResultActivity extends FragmentActivity { + private static final String TAG = UploadResultActivity.class.getSimpleName(); private static final int DIALOG_RESULT_ID = 0; private SendRequest sendRequest; - private Track track; private String shareUrl; private Dialog resultDialog; @@ -53,11 +54,17 @@ public class UploadResultActivity extends FragmentActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); sendRequest = getIntent().getParcelableExtra(SendRequest.SEND_REQUEST_KEY); - track = null; shareUrl = null; + Track track = MyTracksProviderUtils.Factory.get(this).getTrack(sendRequest.getTrackId()); + if (track == null) { + Log.d(TAG, "No track for " + sendRequest.getTrackId()); + finish(); + return; + } + if (sendRequest.isSendMaps() && sendRequest.isMapsSuccess()) { - shareUrl = SendMapsUtils.getMapUrl(getTrack()); + shareUrl = SendMapsUtils.getMapUrl(track); if (sendRequest.getSharingAppPackageName() != null) { Intent intent = IntentUtils.newShareUrlIntent(this, sendRequest.getTrackId(), shareUrl, sendRequest.getSharingAppPackageName(), sendRequest.getSharingAppClassName()); @@ -68,18 +75,11 @@ public class UploadResultActivity extends FragmentActivity { } if (shareUrl == null && sendRequest.isSendFusionTables() && sendRequest.isFusionTablesSuccess()) { - shareUrl = SendFusionTablesUtils.getMapUrl(getTrack()); + shareUrl = SendFusionTablesUtils.getMapUrl(track); } showDialog(DIALOG_RESULT_ID); } - private Track getTrack() { - if (track == null) { - track = MyTracksProviderUtils.Factory.get(this).getTrack(sendRequest.getTrackId()); - } - return track; - } - @Override protected Dialog onCreateDialog(int id) { if (id != DIALOG_RESULT_ID) { diff --git a/MyTracks/src/com/google/android/apps/mytracks/maps/DynamicSpeedTrackPathDescriptor.java b/MyTracks/src/com/google/android/apps/mytracks/maps/DynamicSpeedTrackPathDescriptor.java index 84a07d5d8..13520ee78 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/maps/DynamicSpeedTrackPathDescriptor.java +++ b/MyTracks/src/com/google/android/apps/mytracks/maps/DynamicSpeedTrackPathDescriptor.java @@ -93,6 +93,10 @@ public class DynamicSpeedTrackPathDescriptor implements TrackPathDescriptor, return false; } Track track = MyTracksProviderUtils.Factory.get(context).getTrack(selectedTrackId); + if (track == null) { + Log.d(TAG, "No track for " + selectedTrackId); + return false; + } TripStatistics stats = track.getStatistics(); double newAverageMovingSpeed = (int) Math.floor( stats.getAverageMovingSpeed() * UnitConversions.MS_TO_KMH); diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/IntentUtils.java b/MyTracks/src/com/google/android/apps/mytracks/util/IntentUtils.java index 6fa180706..cefec245d 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/IntentUtils.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/IntentUtils.java @@ -65,8 +65,8 @@ public class IntentUtils { public static final Intent newShareUrlIntent( Context context, long trackId, String trackUrl, String packageName, String className) { Track track = MyTracksProviderUtils.Factory.get(context).getTrack(trackId); - String trackDescription = new DescriptionGeneratorImpl(context).generateTrackDescription( - track, null, null, false); + String trackDescription = track == null ? "" + : new DescriptionGeneratorImpl(context).generateTrackDescription(track, null, null, false); return new Intent(Intent.ACTION_SEND) .addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT | Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP) @@ -89,8 +89,8 @@ public class IntentUtils { public static final Intent newShareFileIntent( Context context, long trackId, String filePath, TrackFileFormat trackFileFormat) { Track track = MyTracksProviderUtils.Factory.get(context).getTrack(trackId); - String trackDescription = new DescriptionGeneratorImpl(context).generateTrackDescription( - track, null, null, false); + String trackDescription = track == null ? "" + : new DescriptionGeneratorImpl(context).generateTrackDescription(track, null, null, false); return new Intent(Intent.ACTION_SEND) .putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(filePath)))