merge heads

This commit is contained in:
Jimmy Shih
2011-11-10 14:52:02 -08:00
22 changed files with 96 additions and 139 deletions
@@ -22,6 +22,7 @@ import com.google.android.apps.mytracks.content.Track;
import com.google.android.apps.mytracks.io.docs.DocsHelper;
import com.google.android.apps.mytracks.io.gdata.GDataClientFactory;
import com.google.android.apps.mytracks.io.gdata.GDataWrapper;
import com.google.android.apps.mytracks.io.sendtogoogle.SendType;
import com.google.android.common.gdata.AndroidXmlParserFactory;
import com.google.android.maps.mytracks.R;
import com.google.wireless.gdata.client.GDataClient;
@@ -115,13 +116,11 @@ public class SendToDocs {
Log.d(Constants.TAG, "SendToDocs: Uploading to spreadsheet");
success = uploadToDocs(track);
if (success) {
if (createdNewSpreadSheet) {
statusMessage = activity.getString(
R.string.sending_to_docs_success_new_doc);
} else {
statusMessage = activity.getString(
R.string.sending_to_docs_success_existing_doc);
}
String format = createdNewSpreadSheet
? activity.getString(R.string.send_google_docs_new_doc_success)
: activity.getString(R.string.send_google_docs_existing_doc_success);
String url = activity.getString(SendType.DOCS.getServiceUrl());
statusMessage = String.format(format, url);
} else {
statusMessage = activity.getString(R.string.error_sending_to_docs);
}
@@ -24,6 +24,7 @@ import com.google.android.apps.mytracks.content.Track;
import com.google.android.apps.mytracks.content.Waypoint;
import com.google.android.apps.mytracks.io.gdata.GDataWrapper;
import com.google.android.apps.mytracks.io.gdata.GDataWrapper.QueryFunction;
import com.google.android.apps.mytracks.io.sendtogoogle.SendType;
import com.google.android.apps.mytracks.stats.DoubleBuffer;
import com.google.android.apps.mytracks.stats.TripStatistics;
import com.google.android.apps.mytracks.util.ApiFeatures;
@@ -71,7 +72,7 @@ public class SendToFusionTables implements Runnable {
* Listener invoked when sending to fusion tables completes.
*/
public interface OnSendCompletedListener {
void onSendCompleted(String tableId, boolean success, int statusMessage);
void onSendCompleted(String tableId, boolean success, String statusMessage);
}
/** The GData service id for Fusion Tables. */
@@ -168,7 +169,7 @@ public class SendToFusionTables implements Runnable {
}
private void doUpload() {
int statusMessageId = R.string.error_sending_to_fusion_tables;
String statusMessage = context.getString(R.string.error_sending_to_fusion_tables);
boolean success = true;
try {
progressIndicator.setProgressValue(PROGRESS_INITIALIZATION);
@@ -205,17 +206,18 @@ public class SendToFusionTables implements Runnable {
return;
}
statusMessageId = R.string.sending_to_fusion_tables_success;
String format = context.getString(R.string.send_google_fusion_tables_success);
String url = context.getString(SendType.FUSION_TABLES.getServiceUrl());
statusMessage = String.format(format, url);
Log.d(Constants.TAG, "SendToFusionTables: Done: " + success);
progressIndicator.setProgressValue(PROGRESS_COMPLETE);
} finally {
final boolean finalSuccess = success;
final int finalStatusMessageId = statusMessageId;
final String finalStatusMessage = statusMessage;
context.runOnUiThread(new Runnable() {
public void run() {
if (onCompletion != null) {
onCompletion.onSendCompleted(
tableId, finalSuccess, finalStatusMessageId);
onCompletion.onSendCompleted(tableId, finalSuccess, finalStatusMessage);
}
}
});
@@ -23,6 +23,7 @@ import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
import com.google.android.apps.mytracks.content.Track;
import com.google.android.apps.mytracks.content.Waypoint;
import com.google.android.apps.mytracks.io.mymaps.MapsFacade;
import com.google.android.apps.mytracks.io.sendtogoogle.SendType;
import com.google.android.apps.mytracks.stats.DoubleBuffer;
import com.google.android.apps.mytracks.stats.TripStatistics;
import com.google.android.apps.mytracks.util.LocationUtils;
@@ -75,7 +76,7 @@ public class SendToMyMaps implements Runnable {
private int totalSegmentsUploaded;
public interface OnSendCompletedListener {
void onSendCompleted(String mapId, boolean success, int statusMessage);
void onSendCompleted(String mapId, boolean success, String statusMessage);
}
public SendToMyMaps(Activity context, String mapId, AuthManager auth,
@@ -98,7 +99,7 @@ public class SendToMyMaps implements Runnable {
}
private void doUpload() {
int statusMessageId = R.string.error_sending_to_my_maps;
String statusMessage = context.getString(R.string.error_sending_to_my_maps);
boolean success = true;
try {
progressIndicator.setProgressMessage(
@@ -173,9 +174,11 @@ public class SendToMyMaps implements Runnable {
}
if (success) {
statusMessageId = isNewMap
? R.string.sending_to_my_maps_success_new_map
: R.string.sending_to_my_maps_success_existing_map;
String format = isNewMap
? context.getString(R.string.send_google_my_maps_new_map_success)
: context.getString(R.string.send_google_my_maps_existing_map_success);
String url = context.getString(SendType.MYMAPS.getServiceUrl());
statusMessage = String.format(format, url);
}
Log.d(TAG, "SendToMyMaps: Done: " + success);
progressIndicator.setProgressValue(100);
@@ -185,12 +188,11 @@ public class SendToMyMaps implements Runnable {
}
final boolean finalSuccess = success;
final int finalStatusMessageId = statusMessageId;
final String finalStatusMessage = statusMessage;
context.runOnUiThread(new Runnable() {
public void run() {
if (onCompletion != null) {
onCompletion.onSendCompleted(
mapId, finalSuccess, finalStatusMessageId);
onCompletion.onSendCompleted(mapId, finalSuccess, finalStatusMessage);
}
}
});
@@ -3,6 +3,7 @@ package com.google.android.apps.mytracks.io.mymaps;
import com.google.android.apps.mytracks.content.Waypoint;
import com.google.android.apps.mytracks.io.AuthManager;
import com.google.android.apps.mytracks.util.StringUtils;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.mytracks.R;
import com.google.wireless.gdata.client.HttpException;
@@ -119,7 +120,7 @@ public class MapsFacade {
MyMapsMapMetadata metaData = new MyMapsMapMetadata();
metaData.setTitle(title);
metaData.setDescription(description + " - "
+ category + " - " + context.getString(R.string.send_to_google_by_mytracks));
+ category + " - " + StringUtils.getCreatedByMyTracks(context, false));
metaData.setSearchable(isPublic);
Entry entry = MyMapsGDataConverter.getMapEntryForMetadata(metaData);
Log.d(MyMapsConstants.TAG, "Title: " + entry.getTitle());
@@ -429,9 +429,9 @@ public class SendActivity extends Activity implements ProgressIndicator {
SendToMyMaps.OnSendCompletedListener onCompletion = new SendToMyMaps.OnSendCompletedListener() {
@Override
public void onSendCompleted(String mapId, boolean success, int statusMessage) {
public void onSendCompleted(String mapId, boolean success, String statusMessage) {
// TODO: Use this message
sendToMyMapsMessage = getString(statusMessage);
sendToMyMapsMessage = statusMessage;
sendToMyMapsSuccess = success;
if (sendToMyMapsSuccess) {
sendToMyMapsMapId = mapId;
@@ -491,10 +491,9 @@ public class SendActivity extends Activity implements ProgressIndicator {
OnSendCompletedListener onCompletion = new OnSendCompletedListener() {
@Override
public void onSendCompleted(String tableId, boolean success,
int statusMessage) {
public void onSendCompleted(String tableId, boolean success, String statusMessage) {
// TODO: Use this message
sendToFusionTablesMessage = getString(statusMessage);
sendToFusionTablesMessage = statusMessage;
sendToFusionTablesSuccess = success;
if (sendToFusionTablesSuccess) {
sendToFusionTablesTableId = tableId;
@@ -24,11 +24,11 @@ import com.google.android.maps.mytracks.R;
*/
public enum SendType {
MYMAPS(R.string.sendtogoogle_google_mymaps,
R.string.sendtogoogle_google_mymaps_url),
R.string.send_google_my_maps_url),
FUSION_TABLES(R.string.sendtogoogle_google_fusiontables,
R.string.sendtogoogle_google_fusiontables_url),
R.string.send_google_fusion_tables_url),
DOCS(R.string.sendtogoogle_google_docs,
R.string.sendtogoogle_google_docs_url);
R.string.send_google_docs_url);
private int serviceName;
private int serviceUrl;
@@ -303,7 +303,7 @@ public class StringUtils implements DescriptionGenerator {
+ "<img border=\"0\" src=\"%s\"/>",
// Line 1
context.getString(R.string.send_to_google_by_mytracks),
getCreatedByMyTracks(context, true),
// Line 2
context.getString(R.string.total_distance_label),
@@ -353,6 +353,22 @@ public class StringUtils implements DescriptionGenerator {
ChartURLGenerator.getChartUrl(distances, elevations, track, context));
}
/**
* Returns the 'Created by My Tracks on Android' string.
*
* @param context the context
* @param addLink true to add a link to the My Tracks web site
*/
public static String getCreatedByMyTracks(Context context, boolean addLink) {
String format = context.getString(R.string.send_google_by_my_tracks);
if (addLink) {
String url = context.getString(R.string.my_tracks_web_url);
return String.format(format, "<a href='http://" + url + "'>", "</a>");
} else {
return String.format(format, "", "");
}
}
private String getSpeedString(double speed, int speedLabel, int paceLabel,
boolean displaySpeed) {
double speedInKph = speed * 3.6;