From 634a11feedcff5d96ba10ffda76e85477e31cbf6 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Mon, 29 May 2017 21:02:00 +0300 Subject: [PATCH] add recording name format --- app/build.gradle | 2 +- .../activities/RecordingActivity.java | 2 +- .../activities/SettingsActivity.java | 1 + .../axet/audiorecorder/app/Storage.java | 43 +++++++++++++++++++ app/src/main/res/values/strings.xml | 12 ++++++ app/src/main/res/xml-ru/pref_general.xml | 10 +++++ app/src/main/res/xml/pref_general.xml | 10 +++++ 7 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/github/axet/audiorecorder/app/Storage.java diff --git a/app/build.gradle b/app/build.gradle index e470c84..47f1cbb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -43,5 +43,5 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' - compile 'com.github.axet:android-audio-library:0.0.49' // compile project(':android-audio-library') + compile 'com.github.axet:android-audio-library:0.0.50' // 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 e205133..3750b97 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 @@ -37,7 +37,6 @@ import com.github.axet.androidlibrary.animations.MarginBottomAnimation; import com.github.axet.androidlibrary.sound.AudioTrack; import com.github.axet.audiolibrary.app.RawSamples; import com.github.axet.audiolibrary.app.Sound; -import com.github.axet.audiolibrary.app.Storage; import com.github.axet.audiolibrary.encoders.Encoder; import com.github.axet.audiolibrary.encoders.EncoderInfo; import com.github.axet.audiolibrary.encoders.Factory; @@ -45,6 +44,7 @@ import com.github.axet.audiolibrary.encoders.FileEncoder; import com.github.axet.audiolibrary.widgets.PitchView; import com.github.axet.audiorecorder.R; import com.github.axet.audiorecorder.app.MainApplication; +import com.github.axet.audiorecorder.app.Storage; import com.github.axet.audiorecorder.services.RecordingService; import java.io.File; diff --git a/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java b/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java index 87e8f61..97c524d 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java +++ b/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java @@ -142,6 +142,7 @@ public class SettingsActivity extends AppCompatActivity implements SharedPrefere bindPreferenceSummaryToValue(pm.findPreference(MainApplication.PREFERENCE_RATE)); bindPreferenceSummaryToValue(pm.findPreference(MainApplication.PREFERENCE_THEME)); bindPreferenceSummaryToValue(pm.findPreference(MainApplication.PREFERENCE_CHANNELS)); + bindPreferenceSummaryToValue(pm.findPreference(MainApplication.PREFERENCE_FORMAT)); } public static int getAppTheme(Context context) { 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 new file mode 100644 index 0000000..b376e3e --- /dev/null +++ b/app/src/main/java/com/github/axet/audiorecorder/app/Storage.java @@ -0,0 +1,43 @@ +package com.github.axet.audiorecorder.app; + +import android.content.Context; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; + +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.Date; + +public class Storage extends com.github.axet.audiolibrary.app.Storage { + + SimpleDateFormat SIMPLE = new SimpleDateFormat("yyyy-MM-dd HH.mm.ss"); + SimpleDateFormat ISO8601 = new SimpleDateFormat("yyyyMMdd'T'HHmmss"); + + public Storage(Context context) { + super(context); + } + + @Override + public File getNewFile() { + + SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(context); + String ext = shared.getString(MainApplication.PREFERENCE_ENCODING, ""); + + String format = "%s"; + + format = shared.getString(MainApplication.PREFERENCE_FORMAT, format); + + format = format.replaceAll("%s", SIMPLE.format(new Date())); + format = format.replaceAll("%I", ISO8601.format(new Date())); + format = format.replaceAll("%T", "" + System.currentTimeMillis() / 1000); + + File parent = getStoragePath(); + if (!parent.exists()) { + if (!parent.mkdirs()) + throw new RuntimeException("Unable to create: " + parent); + } + + return getNextFile(parent, format, ext); + } + +} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8017c1f..1449735 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -41,6 +41,18 @@ 2 + + 2017-02-01 09.08.01.wav + 1487926249.wav + 20170528T043902.wav + + + + %s + %T + %I + + Settings Not permitted No folder view application installed diff --git a/app/src/main/res/xml-ru/pref_general.xml b/app/src/main/res/xml-ru/pref_general.xml index 7ae2fe9..f24a8ad 100644 --- a/app/src/main/res/xml-ru/pref_general.xml +++ b/app/src/main/res/xml-ru/pref_general.xml @@ -36,6 +36,16 @@ android:summary="Режим записи" android:title="Режим" /> + + + +