diff --git a/MyTracks/src/com/google/android/apps/mytracks/ExportAllTracks.java b/MyTracks/src/com/google/android/apps/mytracks/ExportAllTracks.java index 8aa9387da..e9aabc2e5 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/ExportAllTracks.java +++ b/MyTracks/src/com/google/android/apps/mytracks/ExportAllTracks.java @@ -29,8 +29,6 @@ import android.app.ProgressDialog; import android.content.DialogInterface; import android.content.SharedPreferences; import android.database.Cursor; -import android.os.Handler; -import android.os.HandlerThread; import android.os.PowerManager.WakeLock; import android.util.Log; import android.widget.Toast; @@ -91,12 +89,7 @@ public class ExportAllTracks { new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - HandlerThread handlerThread; - Handler handler; - handlerThread = new HandlerThread("SendToMyMaps"); - handlerThread.start(); - handler = new Handler(handlerThread.getLooper()); - handler.post(runner); + new Thread(runner, "SendToMyMaps").start(); } }; @@ -117,7 +110,7 @@ public class ExportAllTracks { long recordingTrackId = -1; if (prefs != null) { recordingTrackId = - prefs.getLong(activity.getString(R.string.recording_track_key), -1); + prefs.getLong(activity.getString(R.string.recording_track_key), -1); } if (recordingTrackId != -1) { wakeLock = SystemUtils.acquireWakeLock(activity, wakeLock); diff --git a/MyTracks/src/com/google/android/apps/mytracks/ImportAllTracks.java b/MyTracks/src/com/google/android/apps/mytracks/ImportAllTracks.java index 0e23f3d8a..39722a20b 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/ImportAllTracks.java +++ b/MyTracks/src/com/google/android/apps/mytracks/ImportAllTracks.java @@ -1,12 +1,12 @@ /* * Copyright 2011 Google Inc. - * + * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the @@ -25,8 +25,6 @@ import android.app.Activity; import android.app.AlertDialog; import android.app.ProgressDialog; import android.content.SharedPreferences; -import android.os.Handler; -import android.os.HandlerThread; import android.os.PowerManager.WakeLock; import android.util.Log; import android.widget.Toast; @@ -45,7 +43,7 @@ import org.xml.sax.SAXException; /** * A class that will import all GPX tracks in /sdcard/MyTracks/gpx/ - * + * * @author David Piggott */ public class ImportAllTracks { @@ -63,12 +61,8 @@ public class ImportAllTracks { Log.i(Constants.TAG, "ImportAllTracks: Starting"); fileUtils = new FileUtils(); gpxPath = fileUtils.buildExternalDirectoryPath("gpx"); - HandlerThread handlerThread; - Handler handler; - handlerThread = new HandlerThread("ImportAllTracks"); - handlerThread.start(); - handler = new Handler(handlerThread.getLooper()); - handler.post(runner); + + new Thread(runner).start(); } private final Runnable runner = new Runnable() { diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/SendToDocs.java b/MyTracks/src/com/google/android/apps/mytracks/io/SendToDocs.java index 1b0047740..f04a8a546 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/SendToDocs.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/SendToDocs.java @@ -32,8 +32,6 @@ import com.google.wireless.gdata.docs.XmlDocsGDataParserFactory; import android.app.Activity; import android.content.SharedPreferences; -import android.os.Handler; -import android.os.HandlerThread; import android.util.Log; import java.io.IOException; @@ -46,7 +44,7 @@ import java.io.IOException; public class SendToDocs { /** The GData service name for Google Spreadsheets (aka Trix) */ public static final String GDATA_SERVICE_NAME_TRIX = "wise"; - + /** The GData service name for the Google Docs Document List */ public static final String GDATA_SERVICE_NAME_DOCLIST = "writely"; @@ -55,8 +53,6 @@ public class SendToDocs { private final AuthManager docListAuth; private final ProgressIndicator progressIndicator; private final boolean metricUnits; - private final HandlerThread handlerThread; - private final Handler handler; private boolean createdNewSpreadSheet = false; @@ -81,21 +77,17 @@ public class SendToDocs { } else { metricUnits = true; } - - handlerThread = new HandlerThread("SendToGoogleDocs"); - handlerThread.start(); - handler = new Handler(handlerThread.getLooper()); } public void sendToDocs(final long trackId) { Log.d(Constants.TAG, "Sending to Google Docs: trackId = " + trackId); - handler.post(new Runnable() { + new Thread("SendToGoogleDocs") { @Override public void run() { doUpload(trackId); } - }); + }.start(); } private void doUpload(long trackId) { @@ -163,7 +155,7 @@ public class SendToDocs { GDataWrapper docListWrapper = new GDataWrapper(); docListWrapper.setAuthManager(docListAuth); docListWrapper.setRetryOnAuthFailure(true); - + GDataWrapper trixWrapper = new GDataWrapper(); trixWrapper.setAuthManager(trixAuth); trixWrapper.setRetryOnAuthFailure(true); @@ -191,7 +183,7 @@ public class SendToDocs { // First try to find the spreadsheet: String spreadsheetId = null; try { - spreadsheetId = docsHelper.requestSpreadsheetId(docListWrapper, + spreadsheetId = docsHelper.requestSpreadsheetId(docListWrapper, sheetTitle); } catch (IOException e) { Log.i(Constants.TAG, "Spreadsheet lookup failed.", e); @@ -207,16 +199,16 @@ public class SendToDocs { } catch (InterruptedException e) { Log.e(Constants.TAG, "Sleep interrupted", e); } - + try { - spreadsheetId = docsHelper.requestSpreadsheetId(docListWrapper, + spreadsheetId = docsHelper.requestSpreadsheetId(docListWrapper, sheetTitle); } catch (IOException e) { Log.i(Constants.TAG, "2nd spreadsheet lookup failed.", e); return false; } } - + // We were unable to find an existing spreadsheet, so create a new one. progressIndicator.setProgressValue(70); if (spreadsheetId == null) { @@ -248,7 +240,7 @@ public class SendToDocs { } try { - spreadsheetId = docsHelper.requestSpreadsheetId(docListWrapper, + spreadsheetId = docsHelper.requestSpreadsheetId(docListWrapper, sheetTitle); } catch (IOException e) { Log.i(Constants.TAG, "Failed create-failed lookup", e); @@ -263,9 +255,9 @@ public class SendToDocs { } catch (InterruptedException e) { Log.e(Constants.TAG, "Sleep interrupted", e); } - + try { - spreadsheetId = docsHelper.requestSpreadsheetId(docListWrapper, + spreadsheetId = docsHelper.requestSpreadsheetId(docListWrapper, sheetTitle); } catch (IOException e) { Log.i(Constants.TAG, "Failed create-failed relookup", e); @@ -293,7 +285,7 @@ public class SendToDocs { progressIndicator.setProgressValue(90); - docsHelper.addTrackRow(activity, trixAuth, spreadsheetId, worksheetId, + docsHelper.addTrackRow(activity, trixAuth, spreadsheetId, worksheetId, track, metricUnits); Log.i(Constants.TAG, "Done uploading to docs."); } catch (IOException e) { diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/SendActivity.java b/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/SendActivity.java index 46ea42802..e23a4e7d2 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/SendActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/SendActivity.java @@ -50,8 +50,6 @@ import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; -import android.os.Handler; -import android.os.HandlerThread; import android.util.Log; import java.util.ArrayList; @@ -426,11 +424,7 @@ public class SendActivity extends Activity implements ProgressIndicator { final SendToMyMaps sender = new SendToMyMaps(this, sendToMyMapsMapId, lastAuth, sendTrackId, this /*progressIndicator*/, onCompletion); - // TODO: We're leaking this thread! - HandlerThread handlerThread = new HandlerThread("SendToMyMaps"); - handlerThread.start(); - Handler handler = new Handler(handlerThread.getLooper()); - handler.post(sender); + new Thread(sender, "SendToMyMaps").start(); return SendState.NOT_READY; } @@ -485,14 +479,11 @@ public class SendActivity extends Activity implements ProgressIndicator { executeStateMachine(SendState.SEND_TO_FUSION_TABLES_DONE); } }; + final SendToFusionTables sender = new SendToFusionTables(this, lastAuth, sendTrackId, this /*progressIndicator*/, onCompletion); - // TODO: We're leaking this thread! - HandlerThread handlerThread = new HandlerThread("SendToFusionTables"); - handlerThread.start(); - Handler handler = new Handler(handlerThread.getLooper()); - handler.post(sender); + new Thread(sender, "SendToFusionTables").start(); return SendState.NOT_READY; }