From 1c3dd62d28a30328805393efc982132ef6c193b6 Mon Sep 17 00:00:00 2001 From: Jimmy Shih Date: Mon, 19 Mar 2012 18:34:00 -0700 Subject: [PATCH] With targetSdkVersion=15, can no longer perform UI operation like closing network connection on the UI thread. Thus move operations in onPostExecute to doInBackground. In SendFusionTablesAsyncTask, close the content after reading the content. In MapsGDataConverter, don't write the entire kml file to the log. --- .../SendFusionTablesAsyncTask.java | 22 ++++++++++++------ .../io/gdata/maps/MapsGDataConverter.java | 1 - .../mytracks/io/maps/ChooseMapAsyncTask.java | 23 ++++++------------- .../sendtogoogle/AbstractSendAsyncTask.java | 18 +++++++-------- 4 files changed, 30 insertions(+), 34 deletions(-) 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 b8600dcdd..6f18ea71e 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 @@ -425,18 +425,26 @@ public class SendFusionTablesAsyncTask extends AbstractSendAsyncTask { } boolean isSuccess = response.isSuccessStatusCode(); if (isSuccess) { - InputStream content; + InputStream content = null; try { content = response.getContent(); + if (setTableId) { + tableId = SendFusionTablesUtils.getTableId(content); + if (tableId == null) { + Log.d(TAG, "tableId is null"); + return false; + } + } } catch (IOException e) { Log.d(TAG, "Unable to get response", e); return false; - } - if (setTableId) { - tableId = SendFusionTablesUtils.getTableId(content); - if (tableId == null) { - Log.d(TAG, "tableId is null"); - return false; + } finally { + if (content != null) { + try { + content.close(); + } catch (IOException e) { + Log.d(TAG, "Unable to close content", e); + } } } } else { diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/gdata/maps/MapsGDataConverter.java b/MyTracks/src/com/google/android/apps/mytracks/io/gdata/maps/MapsGDataConverter.java index 0d22af712..fdbfa87c2 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/gdata/maps/MapsGDataConverter.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/gdata/maps/MapsGDataConverter.java @@ -169,7 +169,6 @@ public class MapsGDataConverter { xmlSerializer.endTag(null, "Placemark"); xmlSerializer.flush(); entry.setContent(writer.toString()); - Log.d("My Google Maps", "Generated kml:\n" + entry.getContent()); Log.d("My Google Maps", "Edit URI: " + entry.getEditUri()); } catch (IOException e) { e.printStackTrace(); diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/maps/ChooseMapAsyncTask.java b/MyTracks/src/com/google/android/apps/mytracks/io/maps/ChooseMapAsyncTask.java index 768de75e5..621448099 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/maps/ChooseMapAsyncTask.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/maps/ChooseMapAsyncTask.java @@ -118,17 +118,17 @@ public class ChooseMapAsyncTask extends AsyncTask { @Override protected Boolean doInBackground(Void... params) { - return getMaps(); - } - - @Override - protected void onCancelled() { - closeClient(); + try { + return getMaps(); + } finally { + if (gDataClient != null) { + gDataClient.close(); + } + } } @Override protected void onPostExecute(Boolean result) { - closeClient(); success = result; completed = true; if (activity != null) { @@ -136,15 +136,6 @@ public class ChooseMapAsyncTask extends AsyncTask { } } - /** - * Closes the gdata client. - */ - private void closeClient() { - if (gDataClient != null) { - gDataClient.close(); - } - } - /** * Gets all the maps from Google Maps. * diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/AbstractSendAsyncTask.java b/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/AbstractSendAsyncTask.java index 3959c5b86..710d21c6d 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/AbstractSendAsyncTask.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/sendtogoogle/AbstractSendAsyncTask.java @@ -76,7 +76,14 @@ public abstract class AbstractSendAsyncTask extends AsyncTask