From 05a0b6c6152551f84ee4321cf917d7e9cdcb0fed Mon Sep 17 00:00:00 2001 From: Rodrigo Damazio Date: Thu, 24 Feb 2011 14:46:24 -0300 Subject: [PATCH] Fixing app and uploading on Cupcake/Donut. --- .hgignore | 1 + .../android/apps/mytracks/MyTracks.java | 5 ++- .../mytracks/io/gdata/AndroidGDataClient.java | 1 + .../services/FroyoStatusAnnouncerTask.java | 37 +++++++++---------- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.hgignore b/.hgignore index 3bf9706a8..1bbe85f92 100644 --- a/.hgignore +++ b/.hgignore @@ -5,3 +5,4 @@ syntax:glob */proguard/** .metadata MyTracksTest/annotations.log +MyTracks/src/com/google/android/apps/mytracks/io/mymaps diff --git a/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java b/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java index 0390065af..83686849a 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java +++ b/MyTracks/src/com/google/android/apps/mytracks/MyTracks.java @@ -64,6 +64,7 @@ import android.os.Handler; import android.os.HandlerThread; import android.os.IBinder; import android.os.RemoteException; +import android.text.TextUtils; import android.util.Log; import android.view.Menu; import android.view.MenuItem; @@ -598,9 +599,9 @@ public class MyTracks extends TabActivity implements OnTouchListener, case MyTracksConstants.SHARE_LINK: { Track selectedTrack = providerUtils.getTrack(selectedTrackId); if (selectedTrack != null) { - if (!selectedTrack.getMapId().isEmpty()) { + if (!TextUtils.isEmpty(selectedTrack.getMapId())) { shareLinkToMap(MapsService.buildMapUrl(selectedTrack.getMapId())); - } else if (!selectedTrack.getTableId().isEmpty()) { + } else if (!TextUtils.isEmpty(selectedTrack.getTableId())) { shareLinkToMap(getFusionTablesUrl(selectedTrackId)); } else { shareRequested = true; diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/gdata/AndroidGDataClient.java b/MyTracks/src/com/google/android/apps/mytracks/io/gdata/AndroidGDataClient.java index 20c4498d7..7b037bb75 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/gdata/AndroidGDataClient.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/gdata/AndroidGDataClient.java @@ -187,6 +187,7 @@ public class AndroidGDataClient implements GDataClient { while (redirectsLeft > 0) { HttpUriRequest request = creator.createRequest(uri); + request.addHeader("User-Agent", "Android-GData"); request.addHeader("Accept-Encoding", "gzip"); // only add the auth token if not null (to allow for GData feeds that do diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/FroyoStatusAnnouncerTask.java b/MyTracks/src/com/google/android/apps/mytracks/services/FroyoStatusAnnouncerTask.java index c5a4c7afc..102cb2078 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/FroyoStatusAnnouncerTask.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/FroyoStatusAnnouncerTask.java @@ -20,7 +20,6 @@ import static com.google.android.apps.mytracks.MyTracksConstants.TAG; import android.content.Context; import android.media.AudioManager; -import android.media.AudioManager.OnAudioFocusChangeListener; import android.speech.tts.TextToSpeech; import android.speech.tts.TextToSpeech.OnUtteranceCompletedListener; import android.util.Log; @@ -33,16 +32,24 @@ import java.util.HashMap; * * @author Sandor Dornbush */ -public class FroyoStatusAnnouncerTask - extends StatusAnnouncerTask - implements OnUtteranceCompletedListener, OnAudioFocusChangeListener { - - private AudioManager audioManager; +public class FroyoStatusAnnouncerTask extends StatusAnnouncerTask { private final static HashMap SPEECH_PARAMS = new HashMap(); static { SPEECH_PARAMS.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "not_used"); } + private final AudioManager audioManager; + private final OnUtteranceCompletedListener utteranceListener = + new OnUtteranceCompletedListener() { + @Override + public void onUtteranceCompleted(String utteranceId) { + if (audioManager != null) { + Log.d(TAG, "FroyoStatusAnnouncerTask: Abandoning audio focus."); + audioManager.abandonAudioFocus(null); + } + } + }; + public FroyoStatusAnnouncerTask(Context context) { super(context); audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); @@ -52,14 +59,15 @@ public class FroyoStatusAnnouncerTask protected void onTtsInit(int status) { super.onTtsInit(status); if (status == TextToSpeech.SUCCESS) { - tts.setOnUtteranceCompletedListener(this); + tts.setOnUtteranceCompletedListener(utteranceListener); } } @Override protected void speakAnnouncment(String announcement) { - int result = audioManager.requestAudioFocus(this, - TextToSpeech.Engine.DEFAULT_STREAM, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK); + int result = audioManager.requestAudioFocus(null, + TextToSpeech.Engine.DEFAULT_STREAM, + AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK); if (result == AudioManager.AUDIOFOCUS_REQUEST_FAILED) { Log.w(TAG, "FroyoStatusAnnouncerTask: Request audio focus failed."); } @@ -67,15 +75,4 @@ public class FroyoStatusAnnouncerTask // It is supplied here to force onUtteranceCompleted to be called. tts.speak(announcement, TextToSpeech.QUEUE_FLUSH, SPEECH_PARAMS); } - - @Override - public void onUtteranceCompleted(String utteranceId) { - Log.d(TAG, "FroyoStatusAnnouncerTask: Abandoning audio focus."); - audioManager.abandonAudioFocus(this); - } - - @Override - public void onAudioFocusChange(int focusChange) { - // We don't care. - } }