Merge from main repo

This commit is contained in:
Josh Kasten
2011-09-13 22:48:50 -05:00
parent 0b1c24e55c
commit 8cde2420e7
6 changed files with 39 additions and 24 deletions
@@ -200,7 +200,7 @@ public abstract class Constants {
} }
public static final String MAPSHOP_BASE_URL = public static final String MAPSHOP_BASE_URL =
"http://maps.google.com/maps/ms"; "https://maps.google.com/maps/ms";
/* /*
* Default values - keep in sync with those in preferences.xml. * Default values - keep in sync with those in preferences.xml.
@@ -95,6 +95,15 @@ public class ImportAllTracks {
Log.i(Constants.TAG, "ImportAllTracks: Releasing wake lock."); Log.i(Constants.TAG, "ImportAllTracks: Releasing wake lock.");
} }
activity.runOnUiThread(new Thread() {
@Override
public void run() {
showDoneDialog();
}
});
}
private void showDoneDialog() {
Log.i(Constants.TAG, "ImportAllTracks: Done"); Log.i(Constants.TAG, "ImportAllTracks: Done");
AlertDialog.Builder builder = new AlertDialog.Builder(activity); AlertDialog.Builder builder = new AlertDialog.Builder(activity);
if (gpxFileCount == 0) { if (gpxFileCount == 0) {
@@ -76,13 +76,13 @@ public class SendToFusionTables implements Runnable {
/** The path for viewing a map visualization of a table. */ /** The path for viewing a map visualization of a table. */
private static final String FUSIONTABLES_MAP = private static final String FUSIONTABLES_MAP =
"http://www.google.com/fusiontables/embedviz?" + "https://www.google.com/fusiontables/embedviz?" +
"viz=MAP&q=select+col0,+col1,+col2,+col3+from+%s+&h=false&" + "viz=MAP&q=select+col0,+col1,+col2,+col3+from+%s+&h=false&" +
"lat=%f&lng=%f&z=%d&t=1&l=col2"; "lat=%f&lng=%f&z=%d&t=1&l=col2";
/** Standard base feed url for Fusion Tables. */ /** Standard base feed url for Fusion Tables. */
private static final String FUSIONTABLES_BASE_FEED_URL = private static final String FUSIONTABLES_BASE_FEED_URL =
"http://www.google.com/fusiontables/api/query"; "https://www.google.com/fusiontables/api/query";
private static final int MAX_POINTS_PER_UPLOAD = 2048; private static final int MAX_POINTS_PER_UPLOAD = 2048;
@@ -44,6 +44,8 @@ import java.io.OutputStream;
import java.io.OutputStreamWriter; import java.io.OutputStreamWriter;
import java.net.URL; import java.net.URL;
import java.net.URLConnection; import java.net.URLConnection;
import java.text.DateFormat;
import java.util.Date;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
/** /**
@@ -55,15 +57,15 @@ import java.util.concurrent.atomic.AtomicReference;
*/ */
public class DocsHelper { public class DocsHelper {
private static final String DOCS_FEED_URL = private static final String DOCS_FEED_URL =
"http://docs.google.com/feeds/documents/private/full"; "https://docs.google.com/feeds/documents/private/full";
private static final String DOCS_SPREADSHEET_URL = private static final String DOCS_SPREADSHEET_URL =
"http://docs.google.com/feeds/documents/private/full/spreadsheet%3A"; "https://docs.google.com/feeds/documents/private/full/spreadsheet%3A";
private static final String DOCS_WORKSHEETS_URL_FORMAT = private static final String DOCS_WORKSHEETS_URL_FORMAT =
"http://spreadsheets.google.com/feeds/worksheets/%s/private/full"; "https://spreadsheets.google.com/feeds/worksheets/%s/private/full";
private static final String DOCS_MY_SPREADSHEETS_FEED_URL = private static final String DOCS_MY_SPREADSHEETS_FEED_URL =
"http://docs.google.com/feeds/documents/private/full?category=mine,spreadsheet"; "https://docs.google.com/feeds/documents/private/full?category=mine,spreadsheet";
private static final String DOCS_SPREADSHEET_URL_FORMAT = private static final String DOCS_SPREADSHEET_URL_FORMAT =
"http://spreadsheets.google.com/feeds/list/%s/%s/private/full"; "https://spreadsheets.google.com/feeds/list/%s/%s/private/full";
private static final String CONTENT_TYPE_PARAM = "Content-Type"; private static final String CONTENT_TYPE_PARAM = "Content-Type";
private static final String OPENDOCUMENT_SPREADSHEET_MIME_TYPE = private static final String OPENDOCUMENT_SPREADSHEET_MIME_TYPE =
@@ -285,11 +287,13 @@ public class DocsHelper {
String elevationUnit = context.getString(metricUnits ? String elevationUnit = context.getString(metricUnits ?
R.string.meter : R.string.feet); R.string.meter : R.string.feet);
DateFormat trackDateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
// Prepare the Post-Text we are going to send. // Prepare the Post-Text we are going to send.
DocsTagBuilder tagBuilder = new DocsTagBuilder(metricUnits) DocsTagBuilder tagBuilder = new DocsTagBuilder(metricUnits)
.append("name", track.getName()) .append("name", track.getName())
.append("description", track.getDescription()) .append("description", track.getDescription())
.append("date", String.format("%tc", stats.getStartTime())) .append("date", trackDateFormat.format(new Date(stats.getStartTime())))
.append("totaltime", StringUtils.formatTimeAlwaysShowingHours( .append("totaltime", StringUtils.formatTimeAlwaysShowingHours(
stats.getTotalTime())) stats.getTotalTime()))
.append("movingtime", StringUtils.formatTimeAlwaysShowingHours( .append("movingtime", StringUtils.formatTimeAlwaysShowingHours(
@@ -19,36 +19,38 @@ import com.google.android.apps.mytracks.util.StringUtils;
import com.google.android.apps.mytracks.util.UnitConversions; import com.google.android.apps.mytracks.util.UnitConversions;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.util.Locale;
/** /**
* <p>This class builds a string of XML tags used to talk to Docs using GData. * <p>This class builds a string of XML tags used to talk to Docs using GData.
* *
* <p>Sample Usage: * <p>Sample Usage:
* *
* <code> * <code>
* String tags = new DocsTagBuilder(false) * String tags = new DocsTagBuilder(false)
* .append("tagName", "tagValue") * .append("tagName", "tagValue")
* .appendLargeUnits("bigTagName", 1.0) * .appendLargeUnits("bigTagName", 1.0)
* .build(); * .build();
* </code> * </code>
* *
* <p>results in: * <p>results in:
* *
* <code> * <code>
* <gsx:tagName><![CDATA[tagValue]]></gsx:tagName> * <gsx:tagName><![CDATA[tagValue]]></gsx:tagName>
* <gsx:bigTagName><![CDATA[1.00]]></gsx:bigTagName> * <gsx:bigTagName><![CDATA[1.00]]></gsx:bigTagName>
* </code> * </code>
* *
* @author Matthew Simmons * @author Matthew Simmons
*/ */
class DocsTagBuilder { class DocsTagBuilder {
// TODO(simmonmt): These formats aren't I18N-compatible. Not everyone uses private static final DecimalFormatSymbols FORMAT_SYMBOLS =
// commas for thousands and dots for the decimal point. DecimalFormatSymbols.getInstance(Locale.ENGLISH);
private static final NumberFormat LARGE_UNIT_FORMAT = private static final NumberFormat LARGE_UNIT_FORMAT =
new DecimalFormat("#,###,###.00"); new DecimalFormat("#,###,###.00", FORMAT_SYMBOLS);
private static final NumberFormat SMALL_UNIT_FORMAT = private static final NumberFormat SMALL_UNIT_FORMAT =
new DecimalFormat("###,###"); new DecimalFormat("###,###", FORMAT_SYMBOLS);
protected final boolean metricUnits; protected final boolean metricUnits;
protected final StringBuilder stringBuilder; protected final StringBuilder stringBuilder;
@@ -59,7 +61,7 @@ class DocsTagBuilder {
*/ */
DocsTagBuilder(boolean metricUnits) { DocsTagBuilder(boolean metricUnits) {
this.metricUnits = metricUnits; this.metricUnits = metricUnits;
stringBuilder = new StringBuilder(); this.stringBuilder = new StringBuilder();
} }
/** Appends a tag containing a string value */ /** Appends a tag containing a string value */
@@ -68,13 +70,13 @@ class DocsTagBuilder {
return this; return this;
} }
/** /**
* Appends a tag containing a numeric value. The value will be formatted * Appends a tag containing a numeric value. The value will be formatted
* according to the large distance of the specified measurement system (i.e. * according to the large distance of the specified measurement system (i.e.
* kilometers or miles). * kilometers or miles).
* *
* @param name The tag name. * @param name The tag name.
* @param d The value to be formatted, in kilometers. * @param d The value to be formatted, in kilometers.
*/ */
DocsTagBuilder appendLargeUnits(String name, double d) { DocsTagBuilder appendLargeUnits(String name, double d) {
double value = metricUnits ? d : (d * UnitConversions.KM_TO_MI); double value = metricUnits ? d : (d * UnitConversions.KM_TO_MI);
@@ -86,7 +88,7 @@ class DocsTagBuilder {
* Appends a tag containing a numeric value. The value will be formatted * Appends a tag containing a numeric value. The value will be formatted
* according to the small distance of the specified measurement system (i.e. * according to the small distance of the specified measurement system (i.e.
* meters or feet). * meters or feet).
* *
* @param name The tag name. * @param name The tag name.
* @param d The value to be formatted, in meters. * @param d The value to be formatted, in meters.
*/ */
@@ -7,7 +7,7 @@ package com.google.android.apps.mytracks.io.mymaps;
public class MyMapsConstants { public class MyMapsConstants {
static final String TAG = "MapsApi"; static final String TAG = "MapsApi";
static final String MAPSHOP_BASE_URL = static final String MAPSHOP_BASE_URL =
"http://maps.google.com/maps/ms"; "https://maps.google.com/maps/ms";
public static final String SERVICE_NAME = "local"; public static final String SERVICE_NAME = "local";
/** /**