Commit 5e130253 authored by Joey's avatar Joey

Recorder: set minSdk to api 29 and cleanup

We are using MediaProvider now, which is unavailable
on api level < 29.
Moreover the aosp build env already sets the minSdk to
the current api level if unspecified.

Let's drop compatibility code and cleanup
Signed-off-by: default avatarJoey <joey@lineageos.org>
Change-Id: I13570f47d733a3f5be8c1d0c42ef60892f4971c9
parent a7fa15c7
......@@ -2,9 +2,10 @@ apply plugin: 'com.android.application'
android {
compileSdkVersion 29
defaultConfig {
applicationId "org.lineageos.recorder"
minSdkVersion 26
minSdkVersion 29
targetSdkVersion 29
versionCode 1
versionName "1.1"
......
......@@ -31,7 +31,8 @@
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
<activity
android:name=".RecorderActivity"
......@@ -83,16 +84,5 @@
<action android:name="org.lineageos.recorder.screen.ACTION_STOP_SCREENCAST" />
</intent-filter>
</receiver>
<!-- File provider -->
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="org.lineageos.recorder.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
</application>
</manifest>
......@@ -21,12 +21,6 @@ import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import androidx.annotation.LayoutRes;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
......@@ -36,6 +30,11 @@ import android.widget.LinearLayout;
import android.widget.Switch;
import android.widget.TextView;
import androidx.annotation.LayoutRes;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import org.lineageos.recorder.utils.LastRecordHelper;
import org.lineageos.recorder.utils.Utils;
......
......@@ -358,6 +358,7 @@ public class RecorderActivity extends AppCompatActivity implements
return hasAudioPermission() && hasPhoneReaderPermission();
}
@SuppressWarnings("SameReturnValue")
private boolean hasAllScreenRecorderPermissions() {
// None for now
return true;
......
......@@ -64,11 +64,11 @@ public class ScreencastService extends Service implements MediaProviderHelper.On
private static final String SCREENCAST_NOTIFICATION_CHANNEL =
"screencast_notification_channel";
public static final String EXTRA_RESULT_CODE = "extra_resultCode";
public static final String EXTRA_DATA = "extra_data";
public static final String EXTRA_USE_AUDIO = "extra_useAudio";
private static final String EXTRA_RESULT_CODE = "extra_resultCode";
private static final String EXTRA_DATA = "extra_data";
private static final String EXTRA_USE_AUDIO = "extra_useAudio";
public static final String ACTION_START_SCREENCAST =
private static final String ACTION_START_SCREENCAST =
"org.lineageos.recorder.screen.ACTION_START_SCREENCAST";
public static final String ACTION_STOP_SCREENCAST =
"org.lineageos.recorder.screen.ACTION_STOP_SCREENCAST";
......@@ -157,6 +157,9 @@ public class ScreencastService extends Service implements MediaProviderHelper.On
"ScreenRecords/ScreenRecord-" + videoDate + ".mp4");
File recordingDir = mPath.getParentFile();
if (recordingDir == null) {
throw new SecurityException("Cannot access scoped Movies/ScreenRecords directory");
}
//noinspection ResultOfMethodCallIgnored
recordingDir.mkdirs();
if (!(recordingDir.exists() && recordingDir.canWrite())) {
......@@ -284,7 +287,7 @@ public class ScreencastService extends Service implements MediaProviderHelper.On
}
private boolean hasNoAvailableSpace() {
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
StatFs stat = new StatFs(Environment.getDataDirectory().getPath());
long bytesAvailable = stat.getBlockSizeLong() * stat.getBlockCountLong();
long megAvailable = bytesAvailable / 1048576;
return megAvailable < 100;
......
......@@ -16,7 +16,6 @@
*/
package org.lineageos.recorder.screen;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
......
......@@ -41,7 +41,6 @@ class PcmConverter {
byte[] data = new byte[bufferSize];
try {
Log.d(TAG, inputPath);
input = new FileInputStream(inputPath.replace(WAV_EXTENSION, EXTENSION));
output = new FileOutputStream(inputPath);
long audioLength = input.getChannel().size();
......@@ -52,7 +51,7 @@ class PcmConverter {
output.write(data);
}
} catch (IOException e) {
Log.e(TAG, e.getMessage());
Log.e(TAG, "Failed to convert to wav", e);
} finally {
Utils.closeQuietly(input);
Utils.closeQuietly(output);
......
......@@ -28,15 +28,14 @@ import android.media.AudioFormat;
import android.media.AudioRecord;
import android.media.MediaRecorder;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.os.IBinder;
import android.text.format.DateUtils;
import android.util.Log;
import androidx.annotation.Nullable;
import androidx.core.app.NotificationCompat;
import androidx.core.content.ContextCompat;
import android.text.format.DateUtils;
import android.util.Log;
import org.lineageos.recorder.R;
import org.lineageos.recorder.RecorderActivity;
......@@ -117,9 +116,8 @@ public class SoundRecorderService extends Service implements MediaProviderHelper
mNotificationManager = getSystemService(NotificationManager.class);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O ||
mNotificationManager == null || mNotificationManager.getNotificationChannel(
SOUNDRECORDER_NOTIFICATION_CHANNEL) != null) {
if (mNotificationManager == null || mNotificationManager.getNotificationChannel(
SOUNDRECORDER_NOTIFICATION_CHANNEL) != null) {
return;
}
......@@ -226,7 +224,7 @@ public class SoundRecorderService extends Service implements MediaProviderHelper
File file = new File(getExternalFilesDir(Environment.DIRECTORY_MUSIC),
"SoundRecords/SoundRecord-" + dateFormat.format(new Date()) + EXTENSION);
File recordingDir = file.getParentFile();
if (!recordingDir.exists()) {
if (recordingDir != null && !recordingDir.exists()) {
//noinspection ResultOfMethodCallIgnored
recordingDir.mkdirs();
}
......@@ -250,7 +248,7 @@ public class SoundRecorderService extends Service implements MediaProviderHelper
}
} catch (IOException e) {
Log.e(TAG, e.getMessage());
Log.e(TAG, "Failed to write audio stream", e);
} finally {
Utils.closeQuietly(out);
}
......@@ -263,8 +261,8 @@ public class SoundRecorderService extends Service implements MediaProviderHelper
while (isRecording()) {
try {
Thread.sleep(150L);
} catch (InterruptedException e) {
Log.e(TAG, e.getMessage());
} catch (InterruptedException ignored) {
// Ignore
}
double val = 0d;
......@@ -318,7 +316,7 @@ public class SoundRecorderService extends Service implements MediaProviderHelper
return builder.build();
}
public void createShareNotification() {
private void createShareNotification() {
Uri outFileUri = Uri.parse(mOutFilePath);
Intent intent = new Intent(this, RecorderActivity.class);
PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);
......
......@@ -15,17 +15,16 @@
*/
package org.lineageos.recorder.ui;
import android.annotation.SuppressLint;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ImageButton;
import androidx.appcompat.widget.AppCompatImageButton;
/**
* Custom ImageButton implementation to avoid
* performClick() warnings
*/
@SuppressLint("AppCompatCustomView")
class DragView extends ImageButton {
class DragView extends AppCompatImageButton {
public DragView(Context context, AttributeSet attrs) {
super(context, attrs, 0);
......
......@@ -17,7 +17,6 @@ package org.lineageos.recorder.ui;
import android.content.Context;
import android.graphics.PixelFormat;
import android.os.Build;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
......@@ -45,9 +44,7 @@ public class OverlayLayer extends View {
mParams = new WindowManager.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ?
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY :
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY ,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
PixelFormat.TRANSLUCENT);
......
......@@ -18,7 +18,6 @@ package org.lineageos.recorder.ui;
import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.GradientDrawable;
import androidx.core.content.ContextCompat;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.View;
......@@ -27,6 +26,8 @@ import android.view.animation.AccelerateDecelerateInterpolator;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import androidx.core.content.ContextCompat;
import org.lineageos.recorder.R;
import org.lineageos.recorder.sounds.OnAudioLevelUpdatedListener;
import org.lineageos.recorder.utils.Utils;
......
......@@ -28,8 +28,6 @@ import org.lineageos.recorder.R;
import org.lineageos.recorder.screen.ScreencastService;
import org.lineageos.recorder.sounds.SoundRecorderService;
import java.io.File;
public class LastRecordHelper {
private static final String PREFS = "preferences";
private static final String KEY_LAST_SOUND = "sound_last_path";
......
......@@ -19,7 +19,6 @@ import android.content.ContentResolver;
import android.content.ContentValues;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
import android.os.ParcelFileDescriptor;
import android.provider.MediaStore;
import android.util.Log;
......@@ -43,7 +42,7 @@ public final class MediaProviderHelper {
@Nullable ContentResolver cr,
@Nullable File file,
@NonNull OnContentWritten listener) {
if (Build.VERSION.SDK_INT < 29 || cr == null || file == null) {
if (cr == null || file == null) {
return;
}
......@@ -71,7 +70,7 @@ public final class MediaProviderHelper {
@Nullable ContentResolver cr,
@Nullable File file,
@NonNull OnContentWritten listener) {
if (Build.VERSION.SDK_INT < 29 || cr == null || file == null) {
if (cr == null || file == null) {
return;
}
......@@ -98,15 +97,15 @@ public final class MediaProviderHelper {
}
@RequiresApi(29)
public static class WriterTask extends AsyncTask<Void, Void, String> {
static class WriterTask extends AsyncTask<Void, Void, String> {
@NonNull
private File file;
private final File file;
@NonNull
private Uri uri;
private final Uri uri;
@NonNull
private ContentResolver cr;
private final ContentResolver cr;
@NonNull
private OnContentWritten listener;
private final OnContentWritten listener;
/* synthetic */ WriterTask(@NonNull File file,
@NonNull Uri uri,
......
......@@ -36,6 +36,7 @@
android:id="@+id/main_sound_layout"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
......
......@@ -47,6 +47,7 @@
android:id="@+id/main_screen_layout"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"/>
......
......@@ -27,6 +27,7 @@
android:layout_width="48dp"
android:layout_height="48dp"
android:background="@drawable/background_screen_recorder_overlay_main"
android:contentDescription="@string/main_screen_action"
android:padding="12dp"
android:src="@drawable/ic_action_screen_record"
android:tint="@color/white" />
......
......@@ -22,7 +22,6 @@
<string name="delete">Verwyder</string>
<string name="delete_title">Verwyde opname</string>
<string name="delete_message">Is jy seker jy wil %1$s verwyder? Dit kan nie ongedaan gemaak word nie</string>
<string name="date_format">%3$s.%2$s.%1$s %4$s:%5$s</string>
<string name="sound_notification_title">Klankopnemer</string>
<string name="sound_notification_message">Oudio-lengte: %1$s</string>
<string name="sound_recording_title_working">Neem tans op</string>
......@@ -41,12 +40,8 @@
<string name="screen_overlay_notif_message">Druk die opneem-knoppie wanneer jy gereed is om te begin</string>
<string name="dialog_permissions_title">Toestemmings</string>
<string name="dialog_permissions_mic">Opnemer benodig mikrofoon toestemming om oudio op te neem</string>
<string name="dialog_permissions_storage">Opnemer benodig stoor toegang om opgeneemde lêers te stoor</string>
<string name="dialog_permissions_phone">Opnemer het foon status toegang nodig om te voorkom dat hierdie toep jou opneem terwyl jy bel</string>
<string name="dialog_permissions_mic_storage">Opnemer benodig mikrofoon toegang om oudio op te neem en stoor spasie toegang om opgeneemde lêers te stoor</string>
<string name="dialog_permissions_mic_phone">Opnemer benodig mikrofoon toegang om oudio op te neem en foon status toegang om te verhoed dat hierdie toep jou oproep opneem terwyl jy bel</string>
<string name="dialog_permissions_storage_phone">Opnemer benodig stoor spasie toegang om opgeneemde leërs te stoor en foon status toegang om te verhoed dat hierdie toep jou oproep opneem terwyl jy bel</string>
<string name="dialog_permissions_mic_storage_phone">Klankopnemer het mikrofoon toestemming nodig om oudio op te neem, stoor spasie nodig om leërs te stoor en foon status toegang om te verhoed dat hierdie toep jou oproep opneem terwyl jy bel</string>
<string name="dialog_permissions_ask">Vra weer</string>
<string name="dialog_permissions_dismiss">Maak toe</string>
<string name="dialog_permissions_overlay">Opnemer benodig \"Trek oor ander toepassings\" toestemming om jou skerm op te neem. Druk toelaat, aktiveer die toestemming in die instellings en kom terug na Opnemer</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">إلغاء</string>
<string name="delete_title">حذف التسجيل</string>
<string name="delete_message">هل أنت متأكد من أنك تريد حذف %1$s؟ لا يمكن التراجع عن هذا</string>
<string name="date_format">%4$s:%5$s %1$s-%2$s-%3$s</string>
<string name="sound_notification_title">مُسجل الصوت</string>
<string name="sound_notification_message">طول الصوت: %1$s</string>
<string name="sound_recording_title_working">يتم التسجيل</string>
......@@ -50,12 +49,8 @@
<string name="screen_channel_desc">إشعار دائم عند تسجيل الشاشة والإشعار بعد اكتماله</string>
<string name="dialog_permissions_title">الأذونات</string>
<string name="dialog_permissions_mic">المُسجل يحتاج إلى إذن وصول للميكروفون لتسجيل الصوت</string>
<string name="dialog_permissions_storage">المُسجل يحتاج إلى الوصول إلى مكان التخزين لحفظ الملفات المسجلة</string>
<string name="dialog_permissions_phone">المُسجل يحتاج إلى الوصول إلى حالة الهاتف لمنع هذا التطبيق من التسجيل أثناء قيامك بالاتصال</string>
<string name="dialog_permissions_mic_storage">المُسجل يحتاج إلى الوصول إلى الميكروفون لتسجيل الصوت والوصول إلى مكان التخزين لحفظ الملفات المسجلة</string>
<string name="dialog_permissions_mic_phone">المُسجل يحتاج إلى إذن وصول للميكروفون لتسجيل الصوت والوصول إلى حالة الهاتف لمنع هذا التطبيق من التسجيل أثناء قيامك بالاتصال</string>
<string name="dialog_permissions_storage_phone">المُسجل يحتاج إلى الوصول إلى مكان التخزين لحفظ الملفات المسجلة والوصول إلى حالة الهاتف لمنع هذا التطبيق من التسجيل أثناء قيامك بالاتصال</string>
<string name="dialog_permissions_mic_storage_phone">المُسجل يحتاج إلى إذن وصول للميكروفون لتسجيل الصوت والوصول إلى مكان التخزين لحفظ الملفات المسجلة والوصول إلى حالة الهاتف لمنع هذا التطبيق من التسجيل أثناء قيامك بالاتصال</string>
<string name="dialog_permissions_ask">السماح مرة أخرى</string>
<string name="dialog_permissions_dismiss">تجاهل</string>
<string name="dialog_permissions_overlay">المُسجل يحتاج إلى إذن \"الرسم فوق التطبيقات الأخرى\" لتسجيل شاشتك. برجاء السماح، وتفعيل الإذن في الإعدادات ثم عُد إلى المُسجل</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">Encaboxar</string>
<string name="delete_title">Desaniciando grabación</string>
<string name="delete_message">¿De xuru que quies desaniciar %1$s? Esto nun pue desfacese</string>
<string name="date_format">%1$s-%2$s-%3$s %4$s:%5$s</string>
<string name="sound_notification_title">Grabadora de soníu</string>
<string name="sound_notification_message">Duración d\'audiu: %1$s</string>
<string name="sound_recording_title_working">Grabando</string>
......@@ -50,12 +49,8 @@
<string name="screen_channel_desc">Notificación persistente na grabación de soníu y notificación cuando tea fecha</string>
<string name="dialog_permissions_title">Permisos</string>
<string name="dialog_permissions_mic">Grabadora precisa\'l permisu del micrófonu pa grabar audiu</string>
<string name="dialog_permissions_storage">Grabadora precisa\'l permisu d\'almacenamientu pa guardar ficheros grabaos</string>
<string name="dialog_permissions_phone">Grabadora precisa\'l permisu del estáu del teléfonu pa evitar qu\'esta aplicación grabe entrín teas llamando</string>
<string name="dialog_permissions_mic_storage">Grabadora precisa\'l permisu del micrófonu y del accesu al almacenamientu pa guardar audios grabaos</string>
<string name="dialog_permissions_mic_phone">Grabadora precisa\'l permisu\'l micrófonu pa grabar audiu y l\'accesu al estáu del teléfonu pa evitar qu\'esta aplicación grabe entrín teas llamando</string>
<string name="dialog_permissions_storage_phone">Grabadora precisa l\'accesu d\'almacenamientu pa guardar los ficheros grabaos y accesu al estáu\'l teléfonu pa evitar qu\'esta aplicación grabe entrín teas nun llamada</string>
<string name="dialog_permissions_mic_storage_phone">Grabadora precisa\'l permisu de grabar audiu, accesu al almacenamientu pa guardar ficheros grabaos y accesu al estáu\'l teléfonu pa evitar qu\'esta aplicación grabe entrín teas nuna llamada</string>
<string name="dialog_permissions_ask">Entrugar de nueves</string>
<string name="dialog_permissions_dismiss">Escartar</string>
<string name="dialog_permissions_overlay">La grabadora necesita permisu pa «Amosase penriba d\'otres aplicaciones» y grabar la to pantalla. Calca permitir, activa\'l permisu nos axustes y torna a la grabadora</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">İmtina</string>
<string name="delete_title">Səsyazma silinir</string>
<string name="delete_message">%1$s silmək istədiyinizə əminsiniz? Bu geri qaytarıla bilməyəcək</string>
<string name="date_format">%1$s-%2$s-%3$s %4$s:%5$s</string>
<string name="sound_notification_title">Səs Yazma</string>
<string name="sound_notification_message">Səs uzunluğu: %1$s</string>
<string name="sound_recording_title_working">Səs yazılır</string>
......@@ -50,12 +49,8 @@
<string name="screen_channel_desc">Ekran videosunu çəkəndə davamlı bildiriş göstər və tamamlandıqdan sonra bildiriş göstər</string>
<string name="dialog_permissions_title">İcazələr</string>
<string name="dialog_permissions_mic">Səsyazan-ın, səsi yazmaq üçün mikrofon icazəsinə ehtiyacı var</string>
<string name="dialog_permissions_storage">Səsyazan-ın, yazılmış faylları saxlamağı üçün anbara müraciətinə ehtiyacı var</string>
<string name="dialog_permissions_phone">Zəng əsnasında bu tətbiqin yazmasını əngəlləmək üçün \"Səsyazan\" telefon vəziyyətinə müraciət etməlidir.</string>
<string name="dialog_permissions_mic_storage">Səsyazan-ın, səs yazmaq üçün mikrofona və yazılmış faylları saxlamaq üçün anbara müraciətə ehtiyacı var</string>
<string name="dialog_permissions_mic_phone">Səsyazan-ın, zəng əsnasında yazmağı əngəlləmək üçün mikrofon icazəsinə və telefon vəziyyətinə müraciətə ehtiyacı yaranar</string>
<string name="dialog_permissions_storage_phone">Səsyazan-ın, faylları saxlamaq anbar müraciətinə və zəng əsnasında bu tətbiqin yazmasını əngəlləmək üçün telefon vəziyyətinə müraciətə ehtiyacı var</string>
<string name="dialog_permissions_mic_storage_phone">Səsyazan-ın, səs yazmaq üçün mikrofon icazəsinə, saxlanılmış faylları saxlamaq üçün anbar müraciətinə və zəng əsnasında bu tətbiqin səs yazmasını əngəlləmək üçün telefon vəziyətinə müraciətinə ehtiyacı var</string>
<string name="dialog_permissions_ask">Təkrar soruş</string>
<string name="dialog_permissions_dismiss">Rədd et</string>
<string name="dialog_permissions_overlay">Səsyazan-ın, ekranınızı yazması üçün \"Digər tətbiqlərin üzərində görüntülə\" icazəsinə ehtiyacı var. İcazə ver düyməsinə basın, tənzimləmələrin icazələrini fəallaşdırın və Səsyazan-a geri qayıdın</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">Отказ</string>
<string name="delete_title">Изтриване на записа</string>
<string name="delete_message">Наистина ли искате да изтриете %1$s? Това действе не може да бъде отменено</string>
<string name="date_format">%1$s-%2$s-%3$s %4$s:%5$s</string>
<string name="sound_notification_title">Записване на звук</string>
<string name="sound_notification_message">Продължителност на аудио запис: %1$s</string>
<string name="sound_recording_title_working">Записване</string>
......@@ -50,12 +49,8 @@
<string name="screen_channel_desc">Постоянно известяване при запис на екрана и известие, след завършване</string>
<string name="dialog_permissions_title">Разрешения</string>
<string name="dialog_permissions_mic">Приложението за запис се нуждае отдостъп до микрофона за запис на аудио</string>
<string name="dialog_permissions_storage">Приложението за запис се нуждае от достъп до място за съхранение за запазване на записаните файлове</string>
<string name="dialog_permissions_phone">Приложението за запис се нуждае от достъп до телефонен статус за да предотврати запис по време на разговор</string>
<string name="dialog_permissions_mic_storage">Приложението за запис се нуждае от достъп до микрофона за записване и достъп до хранилището за съхранение на записаните файлове</string>
<string name="dialog_permissions_mic_phone">Приложението за запис се нуждае от достъп до микрофона и телефонен статус за да предотврати запис по време на разговор</string>
<string name="dialog_permissions_storage_phone">Приложението за запис се нуждае от достъп до място за съхранение и телефонен статус за да предотврати запис по време на разговор</string>
<string name="dialog_permissions_mic_storage_phone">Приложението за запис се нуждае от достъп до микрофон и до място за съхранение и телефонен статус за да предотврати запис по време на разговор</string>
<string name="dialog_permissions_ask">Попитай отново</string>
<string name="dialog_permissions_dismiss">Отхвърли</string>
<string name="dialog_permissions_overlay">Записвачката изисква разрешение \"Изчертай върху другите приложения\" за да записвате вашия екран. Натиснете позволявам разрешението в настройките и се върнете отново към Записвачката</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">Cancel·la</string>
<string name="delete_title">S\'està eliminant el registre</string>
<string name="delete_message">Estàs segur que vols eliminar %1$s? Aquesta acció no podrà desfer-se</string>
<string name="date_format">%1$s-%2$s-%3$s %4$s:%5$s</string>
<string name="sound_notification_title">Gravadora de so</string>
<string name="sound_notification_message">Durada de l\'àudio: %1$s</string>
<string name="sound_recording_title_working">S\'està gravant</string>
......@@ -50,12 +49,8 @@
<string name="screen_channel_desc">Notificació persistent quan s\'està enregistrant la pantalla i notificació quan s\'hagi acabat</string>
<string name="dialog_permissions_title">Permisos</string>
<string name="dialog_permissions_mic">La gravadora necessita permís d\'accés al micròfon per enregistrar so</string>
<string name="dialog_permissions_storage">La gravadora de sons necessita accés a l\'emmagatzematge per desar els fitxers enregistrats</string>
<string name="dialog_permissions_phone">La gravadora necessita accedir a l\'estat del telèfon per evitar que aquesta aplicació enregistri mentre estàs trucant</string>
<string name="dialog_permissions_mic_storage">La gravadora de sons necessita accés al micròfon per enregistrar so i accés a l\'emmagatzematge per desar els fitxers enregistrats</string>
<string name="dialog_permissions_mic_phone">La gravadora de sons necessita permís d\'accés al micròfon per enregistrar so i d\'accés a l\'estat del telèfon per evitar que aquesta aplicació enregistri mentre estàs trucant</string>
<string name="dialog_permissions_storage_phone">La gravadora de sons necessita accés a l\'emmagatzematge per desar els fitxers enregistrats i accés a l\'estat del telèfon per evitar que aquesta aplicació enregistri mentre estàs trucant</string>
<string name="dialog_permissions_mic_storage_phone">La gravadora necessita permisos d\'accés al micròfon per enregistrar so, d\'accés a l\'emmagatzematge per desar els fitxers enregistrats i d\'accés a l\'estat del telèfon per evitar que aquesta aplicació enregistri mentre estàs trucant</string>
<string name="dialog_permissions_ask">Torna a preguntar</string>
<string name="dialog_permissions_dismiss">Descarta</string>
<string name="dialog_permissions_overlay">La gravadora necessita el permís «Dibuixar sobre altres aplicacions» per gravar la pantalla. Prem permetre per habilitar el permís a la configuració i torneu a la gravadora</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">Zrušit</string>
<string name="delete_title">Odstraňování záznamu</string>
<string name="delete_message">Opravdu chcete odstranit %1$s? Tato akce je nevratná</string>
<string name="date_format">%1$s-%2$s-%3$s %4$s:%5$s</string>
<string name="sound_notification_title">Záznam zvuku</string>
<string name="sound_notification_message">Délka zvukového záznamu: %1$s</string>
<string name="sound_recording_title_working">Nahrávání</string>
......@@ -50,12 +49,8 @@
<string name="screen_channel_desc">Trvalé oznámení při záznamu obrazovky a oznámení po dokončení</string>
<string name="dialog_permissions_title">Oprávnění</string>
<string name="dialog_permissions_mic">Pro nahrávání je vyžadováno oprávnění přístup k mikrofonu</string>
<string name="dialog_permissions_storage">Pro ukládání je vyžadováno oprávnění přístupu k úložišti</string>
<string name="dialog_permissions_phone">Je vyžadováno oprávnění přístupu ke stavu telefonu, aby bylo zabránění nahrávání při hovoru</string>
<string name="dialog_permissions_mic_storage">Záznam zvuku vyžaduje oprávnění přístupu k mikrofonu a oprávnění k přístupu na úložiště</string>
<string name="dialog_permissions_mic_phone">Záznam zvuku vyžaduje oprávnění přístupu k mikrofonu a oprávnění k přístupu ke stavu telefonu pro zamezení nahrávání při telefonování</string>
<string name="dialog_permissions_storage_phone">Záznam zvuku vyžaduje oprávnění přístupu k úložišti a oprávnění k přístupu ke stavu telefonu pro zamezení nahrávání při telefonování</string>
<string name="dialog_permissions_mic_storage_phone">Záznam zvuku vyžaduje oprávnění přístupu k mikrofonu, oprávnění k přístupu na úložiště a oprávnění k přístupu ke stavu telefonu pro zamezení nahrávání při telefonování</string>
<string name="dialog_permissions_ask">Vždy se ptát</string>
<string name="dialog_permissions_dismiss">Neukládat</string>
<string name="dialog_permissions_overlay">Aby mohl Rekordér nahrávat Vaší obrazovku, potřebuje oprávnění „Vykreslit okna navrchu“. Prosím, povolte toto oprávnění v nastavení a vraťte se do Rekordéru</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">Diddymu</string>
<string name="delete_title">Yn dileu\'r recordiad</string>
<string name="delete_message">Wyt ti\'n siŵr dy fod eisiau dileu %1$s? Ni ellir dadwneud hyn.</string>
<string name="date_format">%1$s-%2$s-%3$s %4$s:%5$s</string>
<string name="sound_notification_title">Recordydd Sain</string>
<string name="sound_notification_message">Hyd sain: %1$s</string>
<string name="sound_recording_title_working">Yn recordio</string>
......@@ -50,12 +49,8 @@
<string name="screen_channel_desc">Hysbysiad cyson wrth recordio\'r sgrin a hysbysiad ar ôl gorffen recordio</string>
<string name="dialog_permissions_title">Caniatâd</string>
<string name="dialog_permissions_mic">Mae ar Recordydd angen mynediad i\'r meicroffon i recordio sain.</string>
<string name="dialog_permissions_storage">Mae ar Recordydd angen mynediad i storfa er mwyn cadw ffeiliau a recordiwyd.</string>
<string name="dialog_permissions_phone">Mae ar Rcordydd angen mynediad i statws y ffôn er mwyn sicrhau nad yw\'r ap hwn yn recordio tra dy fod mewn galwad.</string>
<string name="dialog_permissions_mic_storage">Mae ar Recordydd angen mynediad i\'r meicroffon i fedru recordio sain a mynediad i\'r storfa i gadw ffeiliau recordiadau.</string>
<string name="dialog_permissions_mic_phone">Mae ar Recordydd angen mynediad i\'r meicroffon i fedru recordio sain, mynediad i statws y ffôn er mwyn sicrhau nad yw\'r ap hwn yn recordio tra dy fod mewn galwad.</string>
<string name="dialog_permissions_storage_phone">Mae ar Recordydd angen mynediad i\'r storfa i gadw ffeiliau recordiadau ac i statws y ffôn er mwyn sicrhau nad yw\'r ap hwn yn recordio tra dy fod mewn galwad.</string>
<string name="dialog_permissions_mic_storage_phone">Mae ar Recordydd angen mynediad i\'r meicroffon i fedru recordio sain, mynediad i\'r storfa i gadw ffeiliau recordiadau, ac i statws y ffôn er mwyn sicrhau nad yw\'r ap hwn yn recordio tra dy fod mewn galwad.</string>
<string name="dialog_permissions_ask">Gofyn eto</string>
<string name="dialog_permissions_dismiss">Diystyru</string>
<string name="dialog_permissions_overlay">Mae ar Recordydd angen caniatâd \"Llunio dros ben apiau eraill\" er mwyn recordio dy sgrin. Rho ganiatâd yn y gosodiadau a dod nôl i\'r Recordydd.</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">Afbryd</string>
<string name="delete_title">Sletter optagelse</string>
<string name="delete_message">Er du sikker på, at du ønsker at slette %1$s? Dette kan ikke fortrydes</string>
<string name="date_format">%3$s-%2$s-%1$s %4$s:%5$s</string>
<string name="sound_notification_title">Lydoptager</string>
<string name="sound_notification_message">Audiovarighed: %1$s</string>
<string name="sound_recording_title_working">Optager</string>
......@@ -44,12 +43,8 @@
<string name="screen_settings_title">Skærmoptager-indstillinger</string>
<string name="dialog_permissions_title">Tilladelser</string>
<string name="dialog_permissions_mic">Lydoptager skal have adgang til mikrofonen for at optage lyd</string>
<string name="dialog_permissions_storage">Lydoptager skal have lagringsadgang for at gemme optagelser</string>
<string name="dialog_permissions_phone">Optager behøver telefonstatus-adgang, for at forhindre denne app i at optage, imens du ringer</string>
<string name="dialog_permissions_mic_storage">Lydoptager skal bruge adgang til mikrofonen for at optage lyd og lagringsadgang for at gemme optagelser</string>
<string name="dialog_permissions_mic_phone">Optager behøver mikrofon-tilladelse, for at optage lyd og telefonstatus-adgang, for at forhindre denne app i at optage, imens du ringer</string>
<string name="dialog_permissions_storage_phone">Optager behøver lager-adgang, for at gemme optagede filer og telefonstatus-adgang, for at forhindre denne app i at optage, imens du ringer</string>
<string name="dialog_permissions_mic_storage_phone">Optager behøver mikrofon-tilladelse, for at optage lyd og lager-adgang, for at gemme optagede filer og telefonstatus-adgang, for at forhindre denne app i at optage, imens du ringer</string>
<string name="dialog_permissions_ask">Spørg igen</string>
<string name="dialog_permissions_dismiss">Afvis</string>
<string name="dialog_permissions_overlay">Lydoptager skal bruge tilladelsen \"Tegne over andre apps\" til at optage skærmen. Tryk på Tillad, aktivér tilladelsen i indstillingerne og vend tilbage til Lydoptager</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">Abbrechen</string>
<string name="delete_title">Aufnahme löschen</string>
<string name="delete_message">Sind Sie sicher, dass Sie %1$s löschen möchten? Dies kann nicht rückgängig gemacht werden</string>
<string name="date_format">%3$s.%2$s.%1$s %4$s:%5$s</string>
<string name="sound_notification_title">Soundrekorder</string>
<string name="sound_notification_message">Audiolänge: %1$s</string>
<string name="sound_recording_title_working">Wird aufgenommen</string>
......@@ -50,12 +49,8 @@
<string name="screen_channel_desc">Dauerhafte Benachrichtigung bei der Bildschirmaufnahme und Benachrichtigung nach Abschluss der Aufnahme</string>
<string name="dialog_permissions_title">Berechtigungen</string>
<string name="dialog_permissions_mic">Rekorder benötigt Zugriff auf das Mikrofon, um Ton aufzunehmen</string>
<string name="dialog_permissions_storage">Rekorder benötigt Zugriff auf den Speicher, um aufgezeichnete Dateien zu speichern</string>
<string name="dialog_permissions_phone">Rekorder benötigt Zugriff auf den Telefonstatus, um zu verhindern, dass diese App Ihre Anrufe aufzeichnet</string>
<string name="dialog_permissions_mic_storage">Rekorder benötigt Zugriff auf das Mikrofon, um Aufnahmen zu erstellen und Speicherzugriff, um aufgezeichnete Dateien zu sichern</string>
<string name="dialog_permissions_mic_phone">Rekorder benötigt Zugriff auf das Mikrofon, um Aufnahmen zu erstellen und Zugriff auf den Telefonstatus, um zu verhindern, dass diese App Aufzeichnungen erstellt, während Sie telefonieren</string>
<string name="dialog_permissions_storage_phone">Rekorder benötigt Zugriff auf den Speicher, um aufgezeichnete Dateien zu sichern und Zugriff auf den Telefonstatus, damit von dieser App keine Aufnahme erstellt wird, während Sie telefonieren</string>
<string name="dialog_permissions_mic_storage_phone">Rekorder benötigt Zugriff auf das Mikrofon, um Aufnahmen zu erstellen, Speicherzugriff, um aufgezeichnete Dateien zu speichern und Zugriff auf den Telefonstatus, damit von dieser App keine Aufnahme erstellt wird, während Sie telefonieren</string>
<string name="dialog_permissions_ask">Erneut nachfragen</string>
<string name="dialog_permissions_dismiss">Verwerfen</string>
<string name="dialog_permissions_overlay">Rekorder benötigt die Berechtigung \"Über anderen Apps einblenden\", um den Bildschirm aufzuzeichnen. Lassen Sie die Berechtigung in den Einstellungen zu und kehren zu Rekorder zurück</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">Ακύρωση</string>
<string name="delete_title">Διαγραφή εγγραφής</string>
<string name="delete_message">Είστε βέβαιοι ότι θέλετε να διαγράψετε το %1$s; Αυτό δεν μπορεί να αναιρεθεί</string>
<string name="date_format">%3$s-%2$s-%1$s-%4$s-%5$s</string>
<string name="sound_notification_title">Εγγραφή ήχου</string>
<string name="sound_notification_message">Μήκος ήχου: %1$s</string>
<string name="sound_recording_title_working">Γίνεται εγγραφή</string>
......@@ -50,12 +49,8 @@
<string name="screen_channel_desc">Συνεχής ειδοποίηση κατά την εγγραφή της οθόνης και ειδοποίηση αφού έχει ολοκληρωθεί</string>
<string name="dialog_permissions_title">Δικαιώματα</string>
<string name="dialog_permissions_mic">Η Εγγραφή χρειάζεται πρόσβαση στο μικρόφωνο για την εγγραφή ήχου</string>
<string name="dialog_permissions_storage">Η Εγγραφή χρειάζεται πρόσβαση στον αποθηκευτικό χώρο για την αποθήκευση εγγεγραμμένων αρχείων</string>
<string name="dialog_permissions_phone">Η Εγγραφή χρειάζεται πρόσβαση στην κατάσταση του τηλεφώνου προκειμένου να μην ηχογραφεί κατά την διάρκεια κλήσεων</string>
<string name="dialog_permissions_mic_storage">Η Εγγραφή χρειάζεται πρόσβαση στο μικρόφωνο για την εγγραφή ήχου και πρόσβαση στον αποθηκευτικό χώρο για την αποθήκευση των εγγεγραμμένων αρχείων</string>
<string name="dialog_permissions_mic_phone">Η Εγγραφή χρειάζεται πρόσβαση στο μικρόφωνο για την εγγραφή ήχου και πρόσβαση στην κατάσταση τηλεφώνου προκειμένου να μην ηχογραφεί κατά την διάρκεια κλήσεων</string>
<string name="dialog_permissions_storage_phone">Η Εγγραφή χρειάζεται πρόσβαση στον αποθηκευτικό χώρο για την αποθήκευση εγγεγραμμένων αρχείων και πρόσβαση στην κατάσταση τηλεφώνου προκειμένου να μην ηχογραφεί κατά την διάρκεια κλήσεων</string>
<string name="dialog_permissions_mic_storage_phone">Η Εγγραφή χρειάζεται πρόσβαση στο μικρόφωνο για την εγγραφή ήχου, πρόσβαση στον αποθηκευτικό χώρο για την αποθήκευση εγγεγραμμένων αρχείων και πρόσβαση στην κατάσταση τηλεφώνου προκειμένου να μην ηχογραφεί κατά την διάρκεια κλήσεων</string>
<string name="dialog_permissions_ask">Ερώτηση ξανά</string>
<string name="dialog_permissions_dismiss">Παράβλεψη</string>
<string name="dialog_permissions_overlay">Η Εγγραφή χρειάζεται την άδεια \"Σχεδίαση πάνω από άλλες εφαρμογές\" για να κάνει εγγραφή της οθόνης σας. Παρακαλούμε επιτρέψτε, ενεργοποιήστε αυτή την άδεια στις ρυθμίσεις και ελάτε πίσω στην Εγγραφή</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">Cancel</string>
<string name="delete_title">Deleting record</string>
<string name="delete_message">Are you sure you want to delete %1$s? This cannot be undone</string>
<string name="date_format">%1$s-%2$s-%3$s %4$s:%5$s</string>
<string name="sound_notification_title">Sound Recorder</string>
<string name="sound_notification_message">Audio length: %1$s</string>
<string name="sound_recording_title_working">Recording</string>
......@@ -50,12 +49,8 @@
<string name="screen_channel_desc">Persistent notification when recording the screen and notification after it is complete</string>
<string name="dialog_permissions_title">Permissions</string>
<string name="dialog_permissions_mic">Recorder needs microphone permission to record audio</string>
<string name="dialog_permissions_storage">Recorder needs storage access to save recorded files</string>
<string name="dialog_permissions_phone">Recorder needs phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_mic_storage">Recorder needs microphone permission to record audio and storage access to save recorded files</string>
<string name="dialog_permissions_mic_phone">Recorder needs microphone permission to record audio and phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_storage_phone">Recorder needs storage access to save recorded files and phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_mic_storage_phone">Recorder needs microphone permission to record audio, storage access to save recorded files and phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_ask">Ask again</string>
<string name="dialog_permissions_dismiss">Dismiss</string>
<string name="dialog_permissions_overlay">Recorder needs \"Draw over other apps\" permission to record your screen. Press allow, enable the permission in the settings and come back to Recorder</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">Cancel</string>
<string name="delete_title">Deleting record</string>
<string name="delete_message">Are you sure you want to delete %1$s? This cannot be undone</string>
<string name="date_format">%1$s-%2$s-%3$s %4$s:%5$s</string>
<string name="sound_notification_title">Sound Recorder</string>
<string name="sound_notification_message">Audio length: %1$s</string>
<string name="sound_recording_title_working">Recording</string>
......@@ -50,12 +49,8 @@
<string name="screen_channel_desc">Persistent notification when recording the screen and notification after it is complete</string>
<string name="dialog_permissions_title">Permissions</string>
<string name="dialog_permissions_mic">Recorder needs microphone permission to record audio</string>
<string name="dialog_permissions_storage">Recorder needs storage access to save recorded files</string>
<string name="dialog_permissions_phone">Recorder needs phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_mic_storage">Recorder needs microphone permission to record audio and storage access to save recorded files</string>
<string name="dialog_permissions_mic_phone">Recorder needs microphone permission to record audio and phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_storage_phone">Recorder needs storage access to save recorded files and phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_mic_storage_phone">Recorder needs microphone permission to record audio, storage access to save recorded files and phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_ask">Ask again</string>
<string name="dialog_permissions_dismiss">Dismiss</string>
<string name="dialog_permissions_overlay">Recorder needs \"Draw over other apps\" permission to record your screen. Press allow, enable the permission in the settings and come back to Recorder</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">Cancel</string>
<string name="delete_title">Deleting record</string>
<string name="delete_message">Are you sure you want to delete %1$s? This cannot be undone</string>
<string name="date_format">%1$s-%2$s-%3$s %4$s:%5$s</string>
<string name="sound_notification_title">Sound Recorder</string>
<string name="sound_notification_message">Audio length: %1$s</string>
<string name="sound_recording_title_working">Recording</string>
......@@ -50,12 +49,8 @@
<string name="screen_channel_desc">Persistent notification when recording the screen and notification after it is complete</string>
<string name="dialog_permissions_title">Permissions</string>
<string name="dialog_permissions_mic">Recorder needs microphone permission to record audio</string>
<string name="dialog_permissions_storage">Recorder needs storage access to save recorded files</string>
<string name="dialog_permissions_phone">Recorder needs phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_mic_storage">Recorder needs microphone permission to record audio and storage access to save recorded files</string>
<string name="dialog_permissions_mic_phone">Recorder needs microphone permission to record audio and phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_storage_phone">Recorder needs storage access to save recorded files and phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_mic_storage_phone">Recorder needs microphone permission to record audio, storage access to save recorded files and phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_ask">Ask again</string>
<string name="dialog_permissions_dismiss">Dismiss</string>
<string name="dialog_permissions_overlay">Recorder needs \"Draw over other apps\" permission to record your screen. Press allow, enable the permission in the settings and come back to Recorder</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">Cancel</string>
<string name="delete_title">Deleting record</string>
<string name="delete_message">Are you sure you want to delete %1$s? This cannot be undone</string>
<string name="date_format">%1$s-%2$s-%3$s %4$s:%5$s</string>
<string name="sound_notification_title">Sound Recorder</string>
<string name="sound_notification_message">Audio length: %1$s</string>
<string name="sound_recording_title_working">Recording</string>
......@@ -50,12 +49,8 @@
<string name="screen_channel_desc">Persistent notification when recording the screen and notification after it is complete</string>
<string name="dialog_permissions_title">Permissions</string>
<string name="dialog_permissions_mic">Recorder needs microphone permission to record audio</string>
<string name="dialog_permissions_storage">Recorder needs storage access to save recorded files</string>
<string name="dialog_permissions_phone">Recorder needs phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_mic_storage">Recorder needs microphone permission to record audio and storage access to save recorded files</string>
<string name="dialog_permissions_mic_phone">Recorder needs microphone permission to record audio and phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_storage_phone">Recorder needs storage access to save recorded files and phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_mic_storage_phone">Recorder needs microphone permission to record audio, storage access to save recorded files and phone status access to prevent this app from recording while you\'re calling</string>
<string name="dialog_permissions_ask">Ask again</string>
<string name="dialog_permissions_dismiss">Dismiss</string>
<string name="dialog_permissions_overlay">Recorder needs \"Draw over other apps\" permission to record your screen. Press allow, enable the permission in the settings and come back to Recorder</string>
......
......@@ -23,7 +23,6 @@
<string name="cancel">Cancelar</string>
<string name="delete_title">Borrando grabación</string>
<string name="delete_message">¿Quieres borrar %1$s? Esto no puede deshacerse</string>
<string name="date_format">%3$s/%2$s/%1$s %4$s:%5$s</string>
<string name="sound_notification_title">Grabadora de sonidos</string>
<string name="sound_notification_message">Duración del audio: %1$s</string>
<string name="sound_recording_title_working">Grabando</string>
......@@ -50,12 +49,8 @@