mirror of
https://github.com/SimpleMobileTools/Simple-Camera.git
synced 2025-02-02 08:16:44 +01:00
add some checks to avoid saving to sd card without permission
This commit is contained in:
parent
d77c236362
commit
2cacf76d92
@ -2,6 +2,7 @@ package com.simplemobiletools.camera
|
||||
|
||||
import android.net.Uri
|
||||
import android.os.AsyncTask
|
||||
import android.os.Environment
|
||||
import android.util.Log
|
||||
import com.simplemobiletools.camera.activities.MainActivity
|
||||
import com.simplemobiletools.camera.extensions.getFileDocument
|
||||
@ -35,6 +36,14 @@ class PhotoProcessor(val activity: MainActivity, val uri: Uri?) : AsyncTask<Byte
|
||||
|
||||
val photoFile = File(path)
|
||||
if (activity.needsStupidWritePermissions(path)) {
|
||||
val config = Config.newInstance(activity)
|
||||
if (config.treeUri.isEmpty()) {
|
||||
activity.runOnUiThread {
|
||||
Utils.showToast(activity, R.string.save_error_internal_storage)
|
||||
}
|
||||
config.savePhotosFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString()
|
||||
return ""
|
||||
}
|
||||
var document = activity.getFileDocument(path)
|
||||
document = document.createFile("", path.substring(path.lastIndexOf('/') + 1))
|
||||
fos = activity.contentResolver.openOutputStream(document.uri)
|
||||
|
@ -10,6 +10,7 @@ import android.media.MediaPlayer;
|
||||
import android.media.MediaRecorder;
|
||||
import android.media.MediaScannerConnection;
|
||||
import android.net.Uri;
|
||||
import android.os.Environment;
|
||||
import android.os.Handler;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
import android.support.v4.provider.DocumentFile;
|
||||
@ -664,6 +665,13 @@ public class Preview extends ViewGroup
|
||||
mRecorder.setProfile(cpHigh);
|
||||
|
||||
if (Utils.Companion.needsStupidWritePermissions(getContext(), mCurrVideoPath)) {
|
||||
final Config config = Config.newInstance(getContext());
|
||||
if (config.getTreeUri().isEmpty()) {
|
||||
Utils.Companion.showToast(mContext, R.string.save_error_internal_storage);
|
||||
config.setSavePhotosFolder(Environment.getExternalStorageDirectory().toString());
|
||||
releaseCamera();
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
DocumentFile document = Utils.Companion.getFileDocument(getContext(), mCurrVideoPath);
|
||||
document = document.createFile("", mCurrVideoPath.substring(mCurrVideoPath.lastIndexOf('/') + 1));
|
||||
|
@ -7,6 +7,7 @@
|
||||
<string name="video_saving_error">Beim Speichern des Videos ist ein Fehler aufgetreten</string>
|
||||
<string name="video_setup_error">Beim Starten der Aufnahme ist ein Fehler aufgetreten</string>
|
||||
<string name="video_mode_error">Beim Umschalten zum Videomodus ist ein Fehler aufgetreten</string>
|
||||
<string name="save_error_internal_storage">An error occurred, save folder changed to internal storage</string>
|
||||
<string name="camera_switch_error">Kamerawechsel fehlgeschlagen</string>
|
||||
<string name="no_permissions">Ohne Zugriff auf Kamera und Speicher ist hier nicht viel zu tun</string>
|
||||
<string name="no_audio_permissions">Wir benötigen Zugriff auf das Mirkofon um Videos aufnehmen zu können</string>
|
||||
|
@ -7,6 +7,7 @@
|
||||
<string name="video_saving_error">Errore nel salvataggio del file video</string>
|
||||
<string name="video_setup_error">Errore nella preparazione del registratore video</string>
|
||||
<string name="video_mode_error">Passaggio alla modalità video fallita</string>
|
||||
<string name="save_error_internal_storage">An error occurred, save folder changed to internal storage</string>
|
||||
<string name="camera_switch_error">Cambio fotocamera fallito</string>
|
||||
<string name="no_permissions">Non c\'è molto da fare senza l\'accesso alla fotocamera e all\'archiviazione</string>
|
||||
<string name="no_audio_permissions">È necessario l\'accesso al microfono per registrare i video</string>
|
||||
|
@ -7,6 +7,7 @@
|
||||
<string name="video_saving_error">ビデオファイルの保存時にエラーが発生しました</string>
|
||||
<string name="video_setup_error">レコーダーのセットアップ時にエラーが発生しました</string>
|
||||
<string name="video_mode_error">ビデオモードへの切り替えに失敗しました</string>
|
||||
<string name="save_error_internal_storage">An error occurred, save folder changed to internal storage</string>
|
||||
<string name="camera_switch_error">カメラの切り替えに失敗しました</string>
|
||||
<string name="no_permissions">お使いのカメラやストレージにアクセスしないと、ほとんど行うことはありません</string>
|
||||
<string name="no_audio_permissions">ビデオを記録するためにオーディオのアクセス許可が必要です</string>
|
||||
|
@ -7,6 +7,7 @@
|
||||
<string name="video_saving_error">Ocorreu um erro ao guardar o ficheiro de vídeo</string>
|
||||
<string name="video_setup_error">Ocorreu um erro ao configurar a gravação</string>
|
||||
<string name="video_mode_error">Falha ao mudar para o modo vídeo</string>
|
||||
<string name="save_error_internal_storage">An error occurred, save folder changed to internal storage</string>
|
||||
<string name="camera_switch_error">Falha ao mudar de câmara</string>
|
||||
<string name="no_permissions">É necessária a permissão para aceder à câmara e ao armazenamento</string>
|
||||
<string name="no_audio_permissions">A permissão de áudio é necessária para a gravação de vídeos</string>
|
||||
|
@ -7,6 +7,7 @@
|
||||
<string name="video_saving_error">Произошла ошибка записи видео файла</string>
|
||||
<string name="video_setup_error">Произошла ошибка настройки рекордера</string>
|
||||
<string name="video_mode_error">Переключение в режим видео не удалось</string>
|
||||
<string name="save_error_internal_storage">An error occurred, save folder changed to internal storage</string>
|
||||
<string name="camera_switch_error">Переключение камеры не удалось</string>
|
||||
<string name="no_permissions">Не так много можно сделать без доступа к камере и хранилищу</string>
|
||||
<string name="no_audio_permissions">Нам нужно аудио разрешение для записи видео</string>
|
||||
|
@ -7,6 +7,7 @@
|
||||
<string name="video_saving_error">Ett fel uppstod när videofilen skulle sparas</string>
|
||||
<string name="video_setup_error">Ett fel uppstod när inspelningen skulle starta</string>
|
||||
<string name="video_mode_error">Byte till videoläge misslyckades</string>
|
||||
<string name="save_error_internal_storage">An error occurred, save folder changed to internal storage</string>
|
||||
<string name="camera_switch_error">Byte av kamera misslyckades</string>
|
||||
<string name="no_permissions">Inte mycket att göra utan tillgång till din kamera och lagring</string>
|
||||
<string name="no_audio_permissions">För att spela in video krävs ljudrättigheter</string>
|
||||
|
@ -7,6 +7,7 @@
|
||||
<string name="video_saving_error">An error occurred saving the video file</string>
|
||||
<string name="video_setup_error">An error occurred setting up the recorder</string>
|
||||
<string name="video_mode_error">Switching to video mode failed</string>
|
||||
<string name="save_error_internal_storage">An error occurred, save folder changed to internal storage</string>
|
||||
<string name="camera_switch_error">Switching camera failed</string>
|
||||
<string name="no_permissions">Not much to do without accessing your camera and storage</string>
|
||||
<string name="no_audio_permissions">We need the audio permission for recording videos</string>
|
||||
|
Loading…
x
Reference in New Issue
Block a user