From d33fb1625bce560fc4fbd765846114288d994048 Mon Sep 17 00:00:00 2001 From: xtof Date: Fri, 9 May 2014 18:06:14 +0200 Subject: [PATCH 1/5] added the option to record unlimited audio message - press again to stop recording. Seems to work, but can definitely be improved: in particular, by letting the end-beep plays correctly when stoping --- res/values/values-preferences.xml | 1 + res/xml/preferences.xml | 2 +- .../osmtracker/view/VoiceRecDialog.java | 25 +++++++++++++------ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/res/values/values-preferences.xml b/res/values/values-preferences.xml index 8d1498370..47c3a6a71 100644 --- a/res/values/values-preferences.xml +++ b/res/values/values-preferences.xml @@ -14,6 +14,7 @@ + unlimited (press again to stop) 2 3 4 diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index 6d3e2a608..b4461d7a7 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -2,7 +2,7 @@ + android:defaultValue="unlimited (press again to stop)" android:entries="@array/prefs_voicerec_durations"> Date: Sun, 11 May 2014 17:43:11 +0200 Subject: [PATCH 2/5] test --- .../osmtracker/activity/WaypointList.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/me/guillaumin/android/osmtracker/activity/WaypointList.java b/src/me/guillaumin/android/osmtracker/activity/WaypointList.java index 7d7cda9ed..5f6270e6a 100644 --- a/src/me/guillaumin/android/osmtracker/activity/WaypointList.java +++ b/src/me/guillaumin/android/osmtracker/activity/WaypointList.java @@ -1,11 +1,19 @@ package me.guillaumin.android.osmtracker.activity; +import java.io.File; + import me.guillaumin.android.osmtracker.db.TrackContentProvider; import me.guillaumin.android.osmtracker.db.TrackContentProvider.Schema; import me.guillaumin.android.osmtracker.db.WaypointListAdapter; import android.app.ListActivity; +import android.content.ContentResolver; import android.database.Cursor; +import android.database.CursorWrapper; +import android.media.MediaPlayer; +import android.net.Uri; +import android.view.View; import android.widget.CursorAdapter; +import android.widget.ListView; /** * Activity that lists the previous waypoints tracked by the user. @@ -26,6 +34,35 @@ protected void onResume() { super.onResume(); } + + @Override + protected void onListItemClick(ListView lv, View v, int pos, long id) { + System.out.println("on list item click "); + + /* + * TODO: + * + WaypointListAdapter wpa = (WaypointListAdapter)getListAdapter(); + Cursor c = wpa.getCursor(); + + Object o = getListView().getItemAtPosition(pos); + System.out.println("debugitem "+o.getClass().getName()); + CursorWrapper g = (CursorWrapper)o; + + if (wpa != null) { + + String audioFile = getIntent().getExtras().getString(Schema.COL_LINK); + if (audioFile!=null && audioFile.endsWith(".3gpp")) { + Uri u = Uri.fromFile(new File(audioFile)); + MediaPlayer player = MediaPlayer.create(this, u); + if (player != null) { + player.setLooping(false); + player.start(); + } + } + } + */ + } @Override protected void onPause() { From b456648af1ddfbb402f57a029b45afa01c2ed1ea Mon Sep 17 00:00:00 2001 From: xtoff Date: Mon, 12 May 2014 12:04:45 +0200 Subject: [PATCH 3/5] go back to the default length of 2 seconds before requesting a merge, so that users are not surprised by a change in default behavior --- res/xml/preferences.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index b4461d7a7..6d3e2a608 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -2,7 +2,7 @@ + android:defaultValue="2" android:entries="@array/prefs_voicerec_durations"> Date: Fri, 21 Sep 2018 16:25:14 -0600 Subject: [PATCH 4/5] Change setButton method --- app/src/main/java/net/osmtracker/view/VoiceRecDialog.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/net/osmtracker/view/VoiceRecDialog.java b/app/src/main/java/net/osmtracker/view/VoiceRecDialog.java index 0e0e8d275..83d3d6506 100644 --- a/app/src/main/java/net/osmtracker/view/VoiceRecDialog.java +++ b/app/src/main/java/net/osmtracker/view/VoiceRecDialog.java @@ -102,7 +102,7 @@ public VoiceRecDialog(Context context, long trackId) { this.setTitle(context.getResources().getString(R.string.tracklogger_voicerec_title)); - this.setButton(1, context.getResources().getString(R.string.tracklogger_voicerec_stop), new DialogInterface.OnClickListener() { + this.setButton(DialogInterface.BUTTON_POSITIVE, context.getResources().getString(R.string.tracklogger_voicerec_stop), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // redundant with the safeClose that is triggered when the dialog closes @@ -125,7 +125,7 @@ public void onStart() { if (!isRecording) { String recLen = preferences.getString(OSMTracker.Preferences.KEY_VOICEREC_DURATION, OSMTracker.Preferences.VAL_VOICEREC_DURATION); - if (recLen.startsWith("unlimited")) recordingDuration=UNLIMITED_REC_LENGTH; + if (recLen.startsWith("Unlimited")) recordingDuration = UNLIMITED_REC_LENGTH; else recordingDuration = Integer.parseInt(recLen); } else { if (recordingDuration <= 0) From d0d407901e396f0c7362e9743eb69ef9df6b2991 Mon Sep 17 00:00:00 2001 From: xsaco07 Date: Fri, 19 Oct 2018 18:09:30 -0600 Subject: [PATCH 5/5] Minor fix - indicates duration of the recording --- .../net/osmtracker/view/VoiceRecDialog.java | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/net/osmtracker/view/VoiceRecDialog.java b/app/src/main/java/net/osmtracker/view/VoiceRecDialog.java index 83d3d6506..e3e2282ce 100644 --- a/app/src/main/java/net/osmtracker/view/VoiceRecDialog.java +++ b/app/src/main/java/net/osmtracker/view/VoiceRecDialog.java @@ -25,7 +25,7 @@ import android.view.KeyEvent; import android.widget.Toast; -public class VoiceRecDialog extends AlertDialog implements OnInfoListener{ +public class VoiceRecDialog extends ProgressDialog implements OnInfoListener{ private final static String TAG = VoiceRecDialog.class.getSimpleName(); @@ -124,17 +124,29 @@ public void onStart() { SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); if (!isRecording) { + String recLen = preferences.getString(OSMTracker.Preferences.KEY_VOICEREC_DURATION, OSMTracker.Preferences.VAL_VOICEREC_DURATION); - if (recLen.startsWith("Unlimited")) recordingDuration = UNLIMITED_REC_LENGTH; - else recordingDuration = Integer.parseInt(recLen); - } else { + + if (recLen.equals(context.getResources().getString(R.string.unlimited_time_to_recording_option))){ + + this.setMessage(null); + recordingDuration = UNLIMITED_REC_LENGTH; + + } + else{ + + recordingDuration = Integer.parseInt(recLen); + + this.setMessage(context.getResources().getString(R.string.tracklogger_voicerec_text) + .replace("{0}", recLen)); + } + + } + else { + if (recordingDuration <= 0) recordingDuration = Integer.parseInt(OSMTracker.Preferences.VAL_VOICEREC_DURATION); } - - this.setMessage( - context.getResources().getString(R.string.tracklogger_voicerec_text) - .replace("{0}", String.valueOf(recordingDuration))); // we need to avoid screen orientation change during recording because this causes some strange behavior try{