diff --git a/app/src/main/java/xdsopl/robot36/MainActivity.java b/app/src/main/java/xdsopl/robot36/MainActivity.java index 52b9c0d..8af776d 100644 --- a/app/src/main/java/xdsopl/robot36/MainActivity.java +++ b/app/src/main/java/xdsopl/robot36/MainActivity.java @@ -85,6 +85,7 @@ public class MainActivity extends AppCompatActivity { private int fgColor; private int thinColor; private int tintColor; + private boolean autoSave; private void setStatus(int id) { setTitle(id); @@ -198,7 +199,8 @@ public class MainActivity extends AppCompatActivity { if (imageBuffer.line < imageBuffer.height) return; imageBuffer.line = -1; - storeBitmap(Bitmap.createBitmap(imageBuffer.pixels, imageBuffer.width, imageBuffer.height, Bitmap.Config.ARGB_8888)); + if (autoSave) + storeBitmap(Bitmap.createBitmap(imageBuffer.pixels, imageBuffer.width, imageBuffer.height, Bitmap.Config.ARGB_8888)); } private void initAudioRecord() { @@ -302,6 +304,20 @@ public class MainActivity extends AppCompatActivity { initAudioRecord(); } + private void setAutoSave(boolean newAutoSave) { + if (autoSave == newAutoSave) + return; + autoSave = newAutoSave; + updateAutoSaveMenu(); + } + + private void updateAutoSaveMenu() { + if (autoSave) + menu.findItem(R.id.action_enable_auto_save).setChecked(true); + else + menu.findItem(R.id.action_disable_auto_save).setChecked(true); + } + private void updateRecordRateMenu() { switch (recordRate) { case 8000: @@ -385,6 +401,7 @@ public class MainActivity extends AppCompatActivity { state.putInt("recordChannel", recordChannel); state.putInt("audioSource", audioSource); state.putInt("audioFormat", audioFormat); + state.putBoolean("autoSave", autoSave); state.putString("language", language); super.onSaveInstanceState(state); } @@ -397,6 +414,7 @@ public class MainActivity extends AppCompatActivity { edit.putInt("recordChannel", recordChannel); edit.putInt("audioSource", audioSource); edit.putInt("audioFormat", audioFormat); + edit.putBoolean("autoSave", autoSave); edit.putString("language", language); edit.apply(); } @@ -407,6 +425,7 @@ public class MainActivity extends AppCompatActivity { final int defaultChannelSelect = 0; final int defaultAudioSource = MediaRecorder.AudioSource.MIC; final int defaultAudioFormat = AudioFormat.ENCODING_PCM_FLOAT; + final boolean defaultAutoSave = true; final String defaultLanguage = "system"; if (state == null) { SharedPreferences pref = getPreferences(Context.MODE_PRIVATE); @@ -415,6 +434,7 @@ public class MainActivity extends AppCompatActivity { recordChannel = pref.getInt("recordChannel", defaultChannelSelect); audioSource = pref.getInt("audioSource", defaultAudioSource); audioFormat = pref.getInt("audioFormat", defaultAudioFormat); + autoSave = pref.getBoolean("autoSave", defaultAutoSave); language = pref.getString("language", defaultLanguage); } else { AppCompatDelegate.setDefaultNightMode(state.getInt("nightMode", AppCompatDelegate.getDefaultNightMode())); @@ -422,6 +442,7 @@ public class MainActivity extends AppCompatActivity { recordChannel = state.getInt("recordChannel", defaultChannelSelect); audioSource = state.getInt("audioSource", defaultAudioSource); audioFormat = state.getInt("audioFormat", defaultAudioFormat); + autoSave = state.getBoolean("autoSave", defaultAutoSave); language = state.getString("language", defaultLanguage); } super.onCreate(state); @@ -469,6 +490,7 @@ public class MainActivity extends AppCompatActivity { updateRecordChannelMenu(); updateAudioSourceMenu(); updateAudioFormatMenu(); + updateAutoSaveMenu(); return true; } @@ -615,6 +637,14 @@ public class MainActivity extends AppCompatActivity { setAudioFormat(AudioFormat.ENCODING_PCM_16BIT); return true; } + if (id == R.id.action_enable_auto_save) { + setAutoSave(true); + return true; + } + if (id == R.id.action_disable_auto_save) { + setAutoSave(false); + return true; + } if (id == R.id.action_enable_night_mode) { AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); return true; diff --git a/app/src/main/res/drawable/outline_scan_delete_24.xml b/app/src/main/res/drawable/outline_scan_delete_24.xml new file mode 100644 index 0000000..bcee1cc --- /dev/null +++ b/app/src/main/res/drawable/outline_scan_delete_24.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 2f9610c..fad5c30 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -205,6 +205,25 @@ app:iconTint="@color/tint" /> + + + + + + + + Dekodiertes SSTV-Bild Frequenzdiagramm Spitzenpegel des Audiosignals + Automatisches Speichern Nachtmodus Aktivieren Deaktivieren diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 3193177..307eb92 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -36,6 +36,7 @@ Zdekodowano obraz SSTV Wykres częstotliwości Szczytowy poziom sygnału audio + Automatyczne zapisywanie Tryb nocny Włącz Wyłącz diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 2f0eace..10297fd 100755 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -36,6 +36,7 @@ Imagem SSTV decodificada Gráfico de frequência Nível de sinal de áudio máximo + Salvamento automático Modo noturno Habilitar Desabilitar diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 7c9c9b5..bbd89a4 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -36,6 +36,7 @@ Декодированное изображение SSTV График частот Пиковый уровень аудиосигнала + Автосохранение Ночной режим Включить Выключить diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index e111861..2b5811b 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -36,6 +36,7 @@ 解码的SSTV图像 频率图 音频峰值信号水平 + 自动保存 夜间模式 开启 禁用 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f8b465f..5883d8f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -68,6 +68,7 @@ Decoded SSTV picture Frequency plot Peak audio signal level + Auto Save Night Mode Enable Disable