diff --git a/app/build.gradle b/app/build.gradle
index d29ffec..05048a7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,8 +10,8 @@ android {
applicationId "com.github.axet.audiorecorder"
minSdkVersion 9
targetSdkVersion 23 // 24+ file:// unable to open
- versionCode 257
- versionName "3.2.0"
+ versionCode 258
+ versionName "3.2.1"
}
signingConfigs {
release {
@@ -55,5 +55,5 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
- compile 'com.github.axet:android-audio-library:1.0.94' // compile project(':android-audio-library')
+ compile 'com.github.axet:android-audio-library:1.0.96' // compile project(':android-audio-library')
}
diff --git a/app/src/main/java/com/github/axet/audiorecorder/activities/RecordingActivity.java b/app/src/main/java/com/github/axet/audiorecorder/activities/RecordingActivity.java
index 44d55f4..f76abf2 100644
--- a/app/src/main/java/com/github/axet/audiorecorder/activities/RecordingActivity.java
+++ b/app/src/main/java/com/github/axet/audiorecorder/activities/RecordingActivity.java
@@ -40,6 +40,7 @@ import android.widget.Toast;
import com.github.axet.androidlibrary.animations.MarginBottomAnimation;
import com.github.axet.androidlibrary.sound.AudioTrack;
import com.github.axet.androidlibrary.widgets.AppCompatThemeActivity;
+import com.github.axet.androidlibrary.widgets.OpenFileDialog;
import com.github.axet.audiolibrary.app.RawSamples;
import com.github.axet.audiolibrary.app.Sound;
import com.github.axet.audiolibrary.encoders.Encoder;
@@ -632,7 +633,7 @@ public class RecordingActivity extends AppCompatThemeActivity {
@Override
public void run() {
stopRecording();
- storage.delete(storage.getTempRecording());
+ Storage.delete(storage.getTempRecording());
finish();
}
}, null);
@@ -969,6 +970,7 @@ public class RecordingActivity extends AppCompatThemeActivity {
}
} catch (RuntimeException e) {
Error(e);
+ return;
}
}
@@ -1001,7 +1003,11 @@ public class RecordingActivity extends AppCompatThemeActivity {
if (shared.getBoolean(MainApplication.PREFERENCE_SKIP, false))
encoder.filters.add(new SkipSilenceFilter(getInfo()));
- RecordingService.startService(this, Storage.getDocumentName(targetUri), thread != null, encoder != null);
+ encoding(encoder, fly, last);
+ }
+
+ void encoding(final FileEncoder encoder, final OnFlyEncoding fly, final Runnable last) {
+ RecordingService.startService(this, Storage.getDocumentName(fly.targetUri), thread != null, encoder != null);
final ProgressDialog d = new ProgressDialog(this);
d.setTitle(R.string.encoding_title);
@@ -1020,7 +1026,7 @@ public class RecordingActivity extends AppCompatThemeActivity {
}, new Runnable() {
@Override
public void run() { // success
- Storage.delete(in); // delete raw recording
+ Storage.delete(encoder.in); // delete raw recording
last.run();
@@ -1087,6 +1093,29 @@ public class RecordingActivity extends AppCompatThemeActivity {
finish();
}
});
+ final File in = storage.getTempRecording();
+ if (in.length() > 0) {
+ builder.setNeutralButton(R.string.save_as_wav, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ final OpenFileDialog d = new OpenFileDialog(RecordingActivity.this, OpenFileDialog.DIALOG_TYPE.FOLDER_DIALOG);
+ d.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ OnFlyEncoding fly = new OnFlyEncoding(storage, storage.getNewFile(d.getCurrentPath(), "wav"), getInfo());
+ FileEncoder encoder = new FileEncoder(RecordingActivity.this, in, fly);
+ encoding(encoder, fly, new Runnable() {
+ @Override
+ public void run() {
+ finish();
+ }
+ });
+ }
+ });
+ d.show();
+ }
+ });
+ }
builder.show();
}
diff --git a/app/src/main/java/com/github/axet/audiorecorder/app/Storage.java b/app/src/main/java/com/github/axet/audiorecorder/app/Storage.java
index 26f32e3..127e29a 100644
--- a/app/src/main/java/com/github/axet/audiorecorder/app/Storage.java
+++ b/app/src/main/java/com/github/axet/audiorecorder/app/Storage.java
@@ -50,4 +50,20 @@ public class Storage extends com.github.axet.audiolibrary.app.Storage {
}
}
+ public File getNewFile(File path, String ext) {
+ SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(context);
+
+ String format = "%s";
+
+ format = shared.getString(MainApplication.PREFERENCE_FORMAT, format);
+
+ format = getFormatted(format, new Date());
+
+ File f = path;
+ if (!f.exists() && !f.mkdirs()) {
+ throw new RuntimeException("Unable to create: " + path);
+ }
+ return getNextFile(f, format, ext);
+ }
+
}
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 640eaf8..4c4fca8 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -65,4 +65,5 @@
Encoding on fly disable editing, and crash recovery
pause (bluetooth disconnected)
Search
+ Save as WAV
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 30db138..7188c1b 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -59,4 +59,5 @@
Η ενεργοποίηση της άμεσης κωδικοποίησης απενεργοποιεί την επεξεργασία και την ανάκτηση από κατάρευση
παύση (αποσύνδεση bluetooth)
Αναζήτηση
+ Save as WAV
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 699b5e4..4b0f94d 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -65,4 +65,5 @@
Encoding on fly disable editing, and crash recovery
pause (bluetooth disconnected)
Search
+ Save as WAV
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 2c98ba7..4a5c8ae 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -65,4 +65,5 @@
Encoding on fly disable editing, and crash recovery
pause (bluetooth disconnected)
Search
+ Save as WAV
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index b178785..4965e2b 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -65,4 +65,5 @@
Encoding on fly disable editing, and crash recovery
pause (bluetooth disconnected)
Search
+ Save as WAV
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index a817173..a335cb0 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -65,4 +65,5 @@
Encoding on fly disable editing, and crash recovery
pause (bluetooth disconnected)
Search
+ Save as WAV
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 61de50e..e3db2e5 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -65,4 +65,5 @@
Кодирование на лету
Кодирование на лету отключает редактирование и восстановление в случае ошибок
Поиск
+ Save as WAV
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index 845311d..f8278f7 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -65,4 +65,5 @@
Encoding on fly disable editing, and crash recovery
pause (bluetooth disconnected)
Search
+ Save as WAV
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 3534dc9..acfe787 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -102,4 +102,5 @@
Enabling encoding on fly disables editing, and crash recovery
pause (bluetooth disconnected)
Search
+ Save as WAV