diff --git a/app/build.gradle b/app/build.gradle index 4f036eb..14a404e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { applicationId "com.github.axet.audiorecorder" minSdkVersion 9 targetSdkVersion 30 - versionCode 359 - versionName "3.5.3" + versionCode 360 + versionName "3.5.4" } signingConfigs { release { @@ -53,7 +53,7 @@ android { dependencies { testImplementation 'junit:junit:4.12' - implementation ('com.github.axet:android-audio-library:1.1.5') // implementation project(':android-audio-library') + implementation ('com.github.axet:android-audio-library:1.1.6') // implementation project(':android-audio-library') implementation ('com.github.axet:wget:1.7.0') { exclude group: 'org.json', module: 'json' } assets('com.google.android.exoplayer:exoplayer:2.7.3') { exclude group: 'com.android.support' } } 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 ed454d5..c16c279 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 @@ -929,14 +929,14 @@ public class RecordingActivity extends AppCompatThemeActivity { boolean startRecording() { try { final SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(this); - String source = shared.getString(AudioApplication.PREFERENCE_SOURCE, getString(R.string.source_mic)); + String source = shared.getString(AudioApplication.PREFERENCE_SOURCE, AudioApplication.PREFERENCE_SOURCE_MIC); int user; - if (source.equals(getString(R.string.source_raw))) { + if (source.equals(AudioApplication.PREFERENCE_SOURCE_RAW)) { if (Sound.isUnprocessedSupported(this)) user = MediaRecorder.AudioSource.UNPROCESSED; else user = MediaRecorder.AudioSource.VOICE_RECOGNITION; - } else if (source.equals(this.getString(R.string.source_internal))) { + } else if (source.equals(AudioApplication.PREFERENCE_SOURCE_INTERNAL)) { user = Sound.SOURCE_INTERNAL_AUDIO; } else { user = MediaRecorder.AudioSource.MIC; 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 4252431..7548b3f 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 @@ -138,25 +138,6 @@ public class SettingsActivity extends AppCompatSettingsThemeActivity implements void initPrefs(PreferenceManager pm, PreferenceScreen screen) { final Context context = screen.getContext(); - ListPreference enc = (ListPreference) pm.findPreference(AudioApplication.PREFERENCE_ENCODING); - String v = enc.getValue(); - CharSequence[] ee = Factory.getEncodingTexts(context); - CharSequence[] vv = Factory.getEncodingValues(context); - if (ee.length > 1) { - enc.setEntries(ee); - enc.setEntryValues(vv); - - int i = enc.findIndexOfValue(v); - if (i == -1) { - enc.setValueIndex(0); - } else { - enc.setValueIndex(i); - } - - bindPreferenceSummaryToValue(enc); - } else { - screen.removePreference(enc); - } bindPreferenceSummaryToValue(pm.findPreference(AudioApplication.PREFERENCE_RATE)); bindPreferenceSummaryToValue(pm.findPreference(AudioApplication.PREFERENCE_THEME)); diff --git a/app/src/main/java/com/github/axet/audiorecorder/app/AudioApplication.java b/app/src/main/java/com/github/axet/audiorecorder/app/AudioApplication.java index f466a44..f4140d7 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/app/AudioApplication.java +++ b/app/src/main/java/com/github/axet/audiorecorder/app/AudioApplication.java @@ -11,6 +11,7 @@ import android.util.Log; import android.view.View; import com.github.axet.androidlibrary.app.NotificationManagerCompat; +import com.github.axet.androidlibrary.app.Prefs; import com.github.axet.androidlibrary.widgets.NotificationChannelCompat; import com.github.axet.androidlibrary.widgets.RemoteNotificationCompat; import com.github.axet.audiolibrary.encoders.FormatFLAC; @@ -26,6 +27,10 @@ public class AudioApplication extends com.github.axet.audiolibrary.app.MainAppli public static final String PREFERENCE_TARGET = "target"; public static final String PREFERENCE_FLY = "fly"; public static final String PREFERENCE_SOURCE = "bluetooth"; + public static final String PREFERENCE_SOURCE_MIC = Prefs.PrefString(R.string.source_mic); + public static final String PREFERENCE_SOURCE_BLUETOOTH = Prefs.PrefString(R.string.source_bluetooth); + public static final String PREFERENCE_SOURCE_RAW = Prefs.PrefString(R.string.source_raw); + public static final String PREFERENCE_SOURCE_INTERNAL = Prefs.PrefString(R.string.source_internal); public static final String PREFERENCE_VERSION = "version"; diff --git a/app/src/main/java/com/github/axet/audiorecorder/app/EncodingStorage.java b/app/src/main/java/com/github/axet/audiorecorder/app/EncodingStorage.java index 1cf7ac9..be72d8c 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/app/EncodingStorage.java +++ b/app/src/main/java/com/github/axet/audiorecorder/app/EncodingStorage.java @@ -84,7 +84,17 @@ public class EncodingStorage extends HashMap { public void load() { clear(); - File storage = this.storage.getTempRecording().getParentFile(); + load(storage.getTempEncoding().getParentFile()); + Context context = storage.getContext(); + load(context.getCacheDir()); + load(context.getExternalCacheDir()); + load(Storage.getFilesDir(context, Storage.RAW)); + load(context.getExternalFilesDir(Storage.RAW)); + } + + public void load(File storage) { + if (storage == null) + return; File[] ff = storage.listFiles(new FilenameFilter() { String start = Storage.getNameNoExt(Storage.TMP_ENC); String ext = "." + Storage.getExt(Storage.TMP_ENC); diff --git a/app/src/main/java/com/github/axet/audiorecorder/services/BluetoothReceiver.java b/app/src/main/java/com/github/axet/audiorecorder/services/BluetoothReceiver.java index ac4c380..c2e6b76 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/services/BluetoothReceiver.java +++ b/app/src/main/java/com/github/axet/audiorecorder/services/BluetoothReceiver.java @@ -139,7 +139,7 @@ public class BluetoothReceiver extends BroadcastReceiver { public boolean isRecordingReady() { final SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(context); - if (shared.getString(AudioApplication.PREFERENCE_SOURCE, context.getString(R.string.source_mic)).equals(context.getString(R.string.source_bluetooth))) { + if (shared.getString(AudioApplication.PREFERENCE_SOURCE, AudioApplication.PREFERENCE_SOURCE_MIC).equals(AudioApplication.PREFERENCE_SOURCE_BLUETOOTH)) { bluetoothSource = true; if (!startBluetooth()) return false; diff --git a/app/src/main/java/com/github/axet/audiorecorder/widgets/RecordingSourcePreferenceCompat.java b/app/src/main/java/com/github/axet/audiorecorder/widgets/RecordingSourcePreferenceCompat.java index 60c571c..998b0d3 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/widgets/RecordingSourcePreferenceCompat.java +++ b/app/src/main/java/com/github/axet/audiorecorder/widgets/RecordingSourcePreferenceCompat.java @@ -55,8 +55,8 @@ public class RecordingSourcePreferenceCompat extends ListPreference { CharSequence[] values = getEntryValues(); ArrayList tt = new ArrayList<>(); ArrayList vv = new ArrayList<>(); - String raw = getContext().getString(R.string.source_raw); - String internal = getContext().getString(R.string.source_internal); + String raw = AudioApplication.PREFERENCE_SOURCE_RAW; + String internal = AudioApplication.PREFERENCE_SOURCE_INTERNAL; for (int i = 0; i < values.length; i++) { String v = values[i].toString(); String t = text[i].toString(); diff --git a/app/src/main/res/xml/pref_general.xml b/app/src/main/res/xml/pref_general.xml index f1c7715..ea583b2 100644 --- a/app/src/main/res/xml/pref_general.xml +++ b/app/src/main/res/xml/pref_general.xml @@ -37,7 +37,7 @@ android:summary="44100" android:title="@string/pref_rate_title" /> -