diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index 8ea74eba2..05c230403 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -116,6 +116,10 @@
android:exported="true"
android:theme="@style/TranslucentDialog" />
+
+
files = new ArrayList<>();
private final LayoutInflater inflater;
- private ActivityPreferences preferences;
private final TaskAttachmentDao taskAttachmentDao;
private final Fragment fragment;
- private final DeviceInfo deviceInfo;
- private final ActFmCameraModule actFmCameraModule;
private final DialogBuilder dialogBuilder;
private LinearLayout attachmentContainer;
private TextView addAttachment;
public FilesControlSet(ActivityPreferences preferences, TaskAttachmentDao taskAttachmentDao,
- Fragment fragment, DeviceInfo deviceInfo, ActFmCameraModule actFmCameraModule) {
+ Fragment fragment) {
super(fragment.getActivity(), R.layout.control_set_files);
- this.preferences = preferences;
this.taskAttachmentDao = taskAttachmentDao;
this.fragment = fragment;
- this.deviceInfo = deviceInfo;
- this.actFmCameraModule = actFmCameraModule;
this.dialogBuilder = new DialogBuilder(activity, preferences);
inflater = (LayoutInflater) activity.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
}
@@ -171,7 +162,7 @@ public class FilesControlSet extends TaskEditControlSetBase {
addAttachment.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
- startAttachFile();
+ fragment.startActivityForResult(new Intent(activity, AddAttachmentActivity.class), TaskEditFragment.REQUEST_ADD_ATTACHMENT);
}
});
}
@@ -248,79 +239,6 @@ public class FilesControlSet extends TaskEditControlSetBase {
}
}
- private void startAttachFile() {
- final List runnables = new ArrayList<>();
- List options = new ArrayList<>();
-
- if (deviceInfo.hasCamera() || deviceInfo.hasGallery()) {
- runnables.add(new Runnable() {
- @Override
- public void run() {
- actFmCameraModule.showPictureLauncher(null);
- }
- });
- options.add(activity.getString(R.string.file_add_picture));
- }
- runnables.add(new Runnable() {
- @Override
- public void run() {
- Intent attachFile = new Intent(activity, FileExplore.class);
- fragment.startActivityForResult(attachFile, TaskEditFragment.REQUEST_CODE_ATTACH_FILE);
- }
- });
- options.add(activity.getString(R.string.file_add_sdcard));
-
- ArrayAdapter adapter = new ArrayAdapter<>(
- activity,
- android.R.layout.simple_spinner_dropdown_item,
- options.toArray(new String[options.size()]));
-
- DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface d, int which) {
- runnables.get(which).run();
- }
- };
-
- // show a menu of available options
- dialogBuilder.newDialog()
- .setAdapter(adapter, listener)
- .show()
- .setOwnerActivity(activity);
- }
-
- public void attachFile(String file) {
- File src = new File(file);
- if (!src.exists()) {
- Toast.makeText(activity, R.string.file_err_copy, Toast.LENGTH_LONG).show();
- return;
- }
-
- File dst = new File(preferences.getAttachmentsDirectory() + File.separator + src.getName());
- try {
- AndroidUtilities.copyFile(src, dst);
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- Toast.makeText(activity, R.string.file_err_copy, Toast.LENGTH_LONG).show();
- return;
- }
-
- String path = dst.getAbsolutePath();
- String name = dst.getName();
- String extension = AndroidUtilities.getFileExtension(name);
-
- String type = TaskAttachment.FILE_TYPE_OTHER;
- if (!TextUtils.isEmpty(extension)) {
- MimeTypeMap map = MimeTypeMap.getSingleton();
- String guessedType = map.getMimeTypeFromExtension(extension);
- if (!TextUtils.isEmpty(guessedType)) {
- type = guessedType;
- }
- }
-
- createNewFileAttachment(path, name, type);
- }
-
public void createNewFileAttachment(String path, String fileName, String fileType) {
TaskAttachment attachment = TaskAttachment.createNewAttachment(model.getUuid(), path, fileName, fileType);
taskAttachmentDao.createNew(attachment);
diff --git a/src/main/java/org/tasks/activities/AddAttachmentActivity.java b/src/main/java/org/tasks/activities/AddAttachmentActivity.java
new file mode 100644
index 000000000..ff2d961ea
--- /dev/null
+++ b/src/main/java/org/tasks/activities/AddAttachmentActivity.java
@@ -0,0 +1,191 @@
+package org.tasks.activities;
+
+import android.content.ContentResolver;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.provider.MediaStore;
+import android.support.v4.app.FragmentManager;
+import android.text.TextUtils;
+import android.webkit.MimeTypeMap;
+import android.widget.Toast;
+
+import com.todoroo.andlib.utility.AndroidUtilities;
+import com.todoroo.astrid.data.TaskAttachment;
+import com.todoroo.astrid.files.FileExplore;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.tasks.R;
+import org.tasks.dialogs.AddAttachmentDialog;
+import org.tasks.injection.InjectingAppCompatActivity;
+import org.tasks.preferences.Preferences;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.concurrent.atomic.AtomicReference;
+
+import javax.inject.Inject;
+
+public class AddAttachmentActivity extends InjectingAppCompatActivity implements DialogInterface.OnCancelListener, AddAttachmentDialog.AddAttachmentCallback {
+
+ private static final Logger log = LoggerFactory.getLogger(AddAttachmentActivity.class);
+ private static final String FRAG_TAG_ATTACHMENT_DIALOG = "frag_tag_attachment_dialog";
+ private static final int REQUEST_CAMERA = 12120;
+ private static final int REQUEST_GALLERY = 12121;
+ private static final int REQUEST_STORAGE = 12122;
+
+ public static final String EXTRA_PATH = "extra_path";
+
+ @Deprecated private static File lastTempFile = null;
+
+ @Inject Preferences preferences;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ FragmentManager supportFragmentManager = getSupportFragmentManager();
+ AddAttachmentDialog dialog = (AddAttachmentDialog) supportFragmentManager.findFragmentByTag(FRAG_TAG_ATTACHMENT_DIALOG);
+ if (dialog == null) {
+ dialog = new AddAttachmentDialog();
+ dialog.show(supportFragmentManager, FRAG_TAG_ATTACHMENT_DIALOG);
+ }
+ dialog.setOnCancelListener(this);
+ dialog.setAddAttachmentCallback(this);
+ }
+
+ @Override
+ public void onCancel(DialogInterface dialog) {
+ finish();
+ }
+
+ @Override
+ public void takePicture() {
+ lastTempFile = getFilename(".jpeg");
+ if (lastTempFile == null) {
+ Toast.makeText(this, R.string.external_storage_unavailable, Toast.LENGTH_LONG).show();
+ } else {
+ startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE) {{
+ addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
+ addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(lastTempFile));
+ }}, REQUEST_CAMERA);
+ }
+ }
+
+ @Override
+ public void pickFromGallery() {
+ Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI) {{
+ setType("image/*");
+ }};
+ if (intent.resolveActivity(getPackageManager()) != null) {
+ startActivityForResult(intent, REQUEST_GALLERY);
+ }
+ }
+
+ @Override
+ public void pickFromStorage() {
+ startActivityForResult(new Intent(this, FileExplore.class), REQUEST_STORAGE);
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, final Intent data) {
+ if (requestCode == REQUEST_CAMERA) {
+ if (resultCode == RESULT_OK) {
+ if (lastTempFile != null) {
+ log.info("Saved {}", lastTempFile.getAbsolutePath());
+ setResult(RESULT_OK, new Intent() {{
+ putExtra(EXTRA_PATH, lastTempFile.getAbsolutePath());
+ }});
+ lastTempFile = null;
+ }
+ }
+ finish();
+ } else if (requestCode == REQUEST_GALLERY) {
+ if (resultCode == RESULT_OK) {
+ Uri uri = data.getData();
+ ContentResolver contentResolver = getContentResolver();
+ MimeTypeMap mime = MimeTypeMap.getSingleton();
+ String extension = mime.getExtensionFromMimeType(contentResolver.getType(uri));
+ final File tempFile = getFilename(extension);
+ log.info("Writing {} to {}", uri, tempFile);
+ try {
+ InputStream inputStream = contentResolver.openInputStream(uri);
+ copyFile(inputStream, tempFile.getPath());
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ setResult(RESULT_OK, new Intent() {{
+ putExtra(EXTRA_PATH, tempFile.getAbsolutePath());
+ }});
+ }
+ finish();
+ } else if (requestCode == REQUEST_STORAGE) {
+ if (resultCode == RESULT_OK) {
+ String path = data.getStringExtra(FileExplore.RESULT_FILE_SELECTED);
+ final String destination = copyToAttachmentDirectory(path);
+ if (destination != null) {
+ log.info("Copied {} to {}", path, destination);
+ setResult(RESULT_OK, new Intent() {{
+ putExtra(EXTRA_PATH, destination);
+ }});
+ }
+ }
+ finish();
+ } else {
+ super.onActivityResult(requestCode, resultCode, data);
+ }
+ }
+
+ private File getFilename(String extension) {
+ AtomicReference nameRef = new AtomicReference<>();
+ if (!extension.startsWith(".")) {
+ extension = "." + extension;
+ }
+ try {
+ String path = preferences.getNewAttachmentPath(extension, nameRef);
+ File file = new File(path);
+ file.getParentFile().mkdirs();
+ if (!file.createNewFile()) {
+ throw new RuntimeException("Failed to create " + file.getPath());
+ }
+ return file;
+ } catch (IOException e) {
+ log.error(e.getMessage(), e);
+ }
+ return null;
+ }
+
+ private void copyFile(InputStream inputStream, String to) throws IOException {
+ FileOutputStream fos = new FileOutputStream(to);
+ byte[] buf = new byte[1024];
+ int len;
+ while ((len = inputStream.read(buf)) != -1) {
+ fos.write(buf, 0, len);
+ }
+ fos.close();
+ }
+
+ private String copyToAttachmentDirectory(String file) {
+ File src = new File(file);
+ if (!src.exists()) {
+ Toast.makeText(this, R.string.file_err_copy, Toast.LENGTH_LONG).show();
+ return null;
+ }
+
+ File dst = new File(preferences.getAttachmentsDirectory() + File.separator + src.getName());
+ try {
+ AndroidUtilities.copyFile(src, dst);
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ Toast.makeText(this, R.string.file_err_copy, Toast.LENGTH_LONG).show();
+ return null;
+ }
+
+ return dst.getAbsolutePath();
+ }
+}
diff --git a/src/main/java/org/tasks/dialogs/AddAttachmentDialog.java b/src/main/java/org/tasks/dialogs/AddAttachmentDialog.java
new file mode 100644
index 000000000..13751e809
--- /dev/null
+++ b/src/main/java/org/tasks/dialogs/AddAttachmentDialog.java
@@ -0,0 +1,88 @@
+package org.tasks.dialogs;
+
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+
+import org.tasks.R;
+import org.tasks.injection.InjectingDialogFragment;
+import org.tasks.preferences.DeviceInfo;
+
+import java.util.List;
+
+import javax.inject.Inject;
+
+import static com.google.api.client.util.Lists.newArrayList;
+
+public class AddAttachmentDialog extends InjectingDialogFragment {
+
+ public interface AddAttachmentCallback {
+ void takePicture();
+
+ void pickFromGallery();
+
+ void pickFromStorage();
+ }
+
+ @Inject DialogBuilder dialogBuilder;
+ @Inject DeviceInfo deviceInfo;
+
+ private AddAttachmentCallback callback;
+ private DialogInterface.OnCancelListener onCancelListener;
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ List entries = newArrayList();
+ final List actions = newArrayList();
+ if (deviceInfo.hasCamera()) {
+ entries.add(getString(R.string.take_a_picture));
+ actions.add(new Runnable() {
+ @Override
+ public void run() {
+ callback.takePicture();
+ }
+ });
+ }
+ if (deviceInfo.hasGallery()) {
+ entries.add(getString(R.string.pick_from_gallery));
+ actions.add(new Runnable() {
+ @Override
+ public void run() {
+ callback.pickFromGallery();
+ }
+ });
+ }
+ entries.add(getString(R.string.pick_from_storage));
+ actions.add(new Runnable() {
+ @Override
+ public void run() {
+ callback.pickFromStorage();
+ }
+ });
+ return dialogBuilder.newDialog()
+ .setItems(entries.toArray(new String[entries.size()]), new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ actions.get(which).run();
+ }
+ })
+ .show();
+ }
+
+ @Override
+ public void onCancel(DialogInterface dialog) {
+ super.onCancel(dialog);
+
+ if (onCancelListener != null) {
+ onCancelListener.onCancel(dialog);
+ }
+ }
+
+ public void setAddAttachmentCallback(AddAttachmentCallback callback) {
+ this.callback = callback;
+ }
+
+ public void setOnCancelListener(DialogInterface.OnCancelListener onCancelListener) {
+ this.onCancelListener = onCancelListener;
+ }
+}
diff --git a/src/main/java/org/tasks/injection/ActivityModule.java b/src/main/java/org/tasks/injection/ActivityModule.java
index 48b33708c..23d05a507 100644
--- a/src/main/java/org/tasks/injection/ActivityModule.java
+++ b/src/main/java/org/tasks/injection/ActivityModule.java
@@ -22,6 +22,7 @@ import com.todoroo.astrid.reminders.ReminderPreferences;
import com.todoroo.astrid.service.UpgradeService;
import com.todoroo.astrid.widget.WidgetConfigActivity;
+import org.tasks.activities.AddAttachmentActivity;
import org.tasks.activities.CalendarSelectionActivity;
import org.tasks.activities.ClearAllDataActivity;
import org.tasks.activities.ClearGtaskDataActivity;
@@ -96,7 +97,8 @@ import dagger.Provides;
FileExplore.class,
DonationActivity.class,
UpgradeService.UpgradeActivity.class,
- CalendarSelectionActivity.class
+ CalendarSelectionActivity.class,
+ AddAttachmentActivity.class
})
public class ActivityModule {
diff --git a/src/main/java/org/tasks/injection/DialogFragmentModule.java b/src/main/java/org/tasks/injection/DialogFragmentModule.java
index 52b30a1e4..83ad99253 100644
--- a/src/main/java/org/tasks/injection/DialogFragmentModule.java
+++ b/src/main/java/org/tasks/injection/DialogFragmentModule.java
@@ -4,8 +4,10 @@ import android.app.Activity;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentActivity;
+import org.tasks.activities.AddAttachmentActivity;
import org.tasks.activities.CalendarSelectionDialog;
import org.tasks.dialogs.AccountSelectionDialog;
+import org.tasks.dialogs.AddAttachmentDialog;
import org.tasks.dialogs.LocationPickerDialog;
import org.tasks.reminders.MissedCallDialog;
import org.tasks.reminders.NotificationDialog;
@@ -21,7 +23,8 @@ import dagger.Provides;
SnoozeDialog.class,
MissedCallDialog.class,
CalendarSelectionDialog.class,
- AccountSelectionDialog.class
+ AccountSelectionDialog.class,
+ AddAttachmentDialog.class
},
library = true)
public class DialogFragmentModule {
diff --git a/src/main/res/values-ar/strings.xml b/src/main/res/values-ar/strings.xml
index 353b0c2ba..1b4ae875d 100644
--- a/src/main/res/values-ar/strings.xml
+++ b/src/main/res/values-ar/strings.xml
@@ -5,8 +5,6 @@
- التقط صورة
- اختار من المعرض
مسح الصورة
إضافة تعليق ...
النسخ الإحتياطي
@@ -139,8 +137,6 @@
توقف عن التسجيل
أختر ملف
أختار المسار
- ارفق صورة
- ارفق ملف من الذاكرة الخارجية
استخدم هذا المسار
إعادة إلى الافتراضي
diff --git a/src/main/res/values-bg-rBG/strings.xml b/src/main/res/values-bg-rBG/strings.xml
index 946706c2a..8dbe59060 100644
--- a/src/main/res/values-bg-rBG/strings.xml
+++ b/src/main/res/values-bg-rBG/strings.xml
@@ -5,8 +5,6 @@
- Направете снимка
- Изберете от Галерия
Изчисти Картинка
Добави коментар...
Име
@@ -241,8 +239,6 @@
Избери файл
Избери директория
Грешка в Разрешения! Моля, проверете дали не сте блокирани Tasks от достъп до SD картата.
- Прикачи снимка
- Прикачи файл от SD карта
Грешка при копиране на файла за прикачване
Използвай тази директория
Възстанови по подразбиране
diff --git a/src/main/res/values-ca/strings.xml b/src/main/res/values-ca/strings.xml
index b336a0932..710962033 100644
--- a/src/main/res/values-ca/strings.xml
+++ b/src/main/res/values-ca/strings.xml
@@ -5,8 +5,6 @@
- Fes una fotografia
- Tria una imatge de la galeria
Neteja la selecció d\'imatge
Afegiu un comentari...
Còpies de seguretat
diff --git a/src/main/res/values-cs/strings.xml b/src/main/res/values-cs/strings.xml
index e5a179c30..5390ae5aa 100644
--- a/src/main/res/values-cs/strings.xml
+++ b/src/main/res/values-cs/strings.xml
@@ -5,8 +5,6 @@
- Vyfoť obrázek
- Vybrat obrázek z galerie
Odebrat obrázek
Přidej comment...
Zálohy
@@ -211,8 +209,6 @@
Vybrat soubor
Vytvořit složku
Chyba oprávnění! Ujistěte se prosím, že jste Tasks nezabránil v přístupu k SD kartě.
- Připojit obrázek
- Připojit soubor z SD karty
Chyba při kopírování souboru jako přílohy
Použít tento adresář
Obnovit výchozí nastavení
diff --git a/src/main/res/values-da/strings.xml b/src/main/res/values-da/strings.xml
index 949ad8c05..cf3558185 100644
--- a/src/main/res/values-da/strings.xml
+++ b/src/main/res/values-da/strings.xml
@@ -5,8 +5,6 @@
- Tag et billede
- Vælg fra galleri
Ryd markering
Tilføj en kommentar
Backup
diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml
index 93f1d3e6b..ad7277b79 100644
--- a/src/main/res/values-de/strings.xml
+++ b/src/main/res/values-de/strings.xml
@@ -5,8 +5,6 @@
- Bild aufnehmen
- Aus Galerie wählen
Bild entfernen
Kommentar hinzufügen …
Schlagwort eingeben
@@ -222,8 +220,6 @@
Wählen Sie eine Datei
Wähle ein Verzeichnis
Konnte nicht auf die SD-Karte zugreifen. Bitte stellen Sie sicher, das sie den Zugriff auf sie SD Karte nicht eingeschränkt haben.
- Ein Bild anhängen
- Eine Datei von der SD-Karte anhängen
Fehler beim Kopieren der anzuhängenden Datei
Dieses Verzeichnis verwenden
Auf Standardeinstellungen zurücksetzen
diff --git a/src/main/res/values-el/strings.xml b/src/main/res/values-el/strings.xml
index 560dbae94..295eafef9 100644
--- a/src/main/res/values-el/strings.xml
+++ b/src/main/res/values-el/strings.xml
@@ -5,7 +5,6 @@
- Τράβα φωτογραφία
Καθαρή εικόνα
Προσθήκη σχόλιου...
Αντίγραφα ασφαλείας
@@ -213,8 +212,6 @@
Επιλογή αρχείου
Επιλογή φακέλου
Σφάλμα αδειών! Παρακαλώ σιγουρευτείτε ότι δεν έχετε μπλοκάρει την εφαρμογή από την πρόσβαση στην SD κάρτα σας.
- Επισύναψη εικόνας
- Επισύναψη αρχείου απο την SD κάρτα σας
Σφάλμα αντιγραφής αρχείου προς επισύναψη
Χρήση αυτού του φακέλου
Επαναφορά προεπιλογών
diff --git a/src/main/res/values-es/strings.xml b/src/main/res/values-es/strings.xml
index 42d957717..8eead7d8a 100644
--- a/src/main/res/values-es/strings.xml
+++ b/src/main/res/values-es/strings.xml
@@ -5,8 +5,6 @@
- Tomar una foto
- Elegir de la galería
Borrar imagen
Añadir un comentario...
Nombre
@@ -223,8 +221,6 @@
Elija un archivo
Elija un directorio
¡Permiso denegado! Por favor asegúrese permitir a Tasks el acceso a la tarjeta SD.
- Adjuntar una imagen
- Adjuntar un archivo desde su tarjeta SD
Error al copiar el archivo a adjuntar
Usar este directorio
Restaurar a valores por defecto
diff --git a/src/main/res/values-fa/strings.xml b/src/main/res/values-fa/strings.xml
index af874f3e4..0a849fe7d 100644
--- a/src/main/res/values-fa/strings.xml
+++ b/src/main/res/values-fa/strings.xml
@@ -5,8 +5,6 @@
- گرفتن عکس
- انتخاب از گالری
پاک کردن عکس
اضافه کردن نظر
نام
@@ -168,8 +166,6 @@
انتخاب یک فایل
یک پوشه انتخاب کنید
خطای دسترسی! لطفا مطمن شوید تسکس را از دسترسی به حافظه خارجی منع نکرده اید.
- الصاق یک تصویر
- الصاق یک فایل از حافظه خارجی
خطای کپی فایل برای ضمیمه
استفاده از این پوشه
بازگرداندن به پیش فرض
diff --git a/src/main/res/values-fr/strings.xml b/src/main/res/values-fr/strings.xml
index 2e5ed4bc6..14c49009a 100644
--- a/src/main/res/values-fr/strings.xml
+++ b/src/main/res/values-fr/strings.xml
@@ -5,8 +5,6 @@
- Prendre une photo
- Choisir depuis la galerie
Supprimer l\'image
Ajouter un commentaire
Nom
@@ -226,8 +224,6 @@
Choisissez un fichier
Choisissez un dossier
Erreur de permissions ! Assurez-vous qu\'Tasks à le droit d\'accéder à la carte SD.
- Joindre une photo
- Joindre un fichier à partir de votre carte SD
Erreur lors de la copie du fichier à joindre
Utiliser ce dossier
Rétablir les valeurs par défaut
diff --git a/src/main/res/values-it/strings.xml b/src/main/res/values-it/strings.xml
index 94584d0b4..cd6408d93 100644
--- a/src/main/res/values-it/strings.xml
+++ b/src/main/res/values-it/strings.xml
@@ -5,8 +5,6 @@
- Scatta una foto
- Scegli dalla Galleria
Deseleziona Immagine
Aggiungi un commento...
Nome
@@ -236,8 +234,6 @@ Se visualizzi questo errore più volte, ti consigliamo di cancellare tutti i dat
Scegli un file
Scegli una cartella
Errore di autorizzazioni! Assicurati di non aver bloccato l\'accesso alla scheda SD da parte di Tasks
- Allega una foto
- Allega un file dalla tua scheda SD
Errore di copia dei file da allegare
Utilizza questa directory
Ripristino impostazioni iniziali
diff --git a/src/main/res/values-iw/strings.xml b/src/main/res/values-iw/strings.xml
index 1ec8a248d..e1957a32e 100644
--- a/src/main/res/values-iw/strings.xml
+++ b/src/main/res/values-iw/strings.xml
@@ -5,8 +5,6 @@
- צַלֵּם תמונה
- בחר מגלריה
הסר תמונה
הוסף הערה
גיבויים
@@ -214,8 +212,6 @@
בחר קובץ
יש לבחור תיקייה
הרשאות לא מספיקות! אנא בדוק שלא חסמת את אסטריד מלגשת לכרטיס הזיכרון
- צרף תמונה
- צרף קובץ מכרטיס הזיכרון
שגיאה בהעתקת הקובץ המצורף
השתמש בתיקיה זו
אפס לברירת מחדל
diff --git a/src/main/res/values-ja/strings.xml b/src/main/res/values-ja/strings.xml
index dc276d349..26034f0df 100644
--- a/src/main/res/values-ja/strings.xml
+++ b/src/main/res/values-ja/strings.xml
@@ -5,8 +5,6 @@
- 写真を撮る
- ギャラリーから選択
写真を削除
コメントする
名前
@@ -240,8 +238,6 @@
ファイルを選択
ディレクトリを選択
パーミッションエラー! SD カードのアクセスで Tasks をブロックしていないことを確認してください.
- 画像を添付
- SD カードからファイルを添付
ファイル添付のコピー中にエラー
このディレクトリを使用
デフォルトにリセット
diff --git a/src/main/res/values-ko/strings.xml b/src/main/res/values-ko/strings.xml
index 6c47380d9..1b41bed1d 100644
--- a/src/main/res/values-ko/strings.xml
+++ b/src/main/res/values-ko/strings.xml
@@ -5,8 +5,6 @@
- 사진 찍기
- 갤러리에서 가져오기
사진 제거하기
댓글 쓰기...
이름
@@ -243,8 +241,6 @@ Tasks의 백업에서 당신의 일정을 복구하시기 바랍니다.
파일 선택하기
디렉토리 선택하기
권한 에러! Tasks가 SD 카드에 접근하는 것을 막지 않았는지 확인하세요.
- 그림 첨부하기
- SD 카드에서 파일 첨부하기
첨부용 파일 복사 에러
이 디렉토리 사용
기본값으로 초기화
diff --git a/src/main/res/values-nl/strings.xml b/src/main/res/values-nl/strings.xml
index 80ace281d..d04338a1d 100644
--- a/src/main/res/values-nl/strings.xml
+++ b/src/main/res/values-nl/strings.xml
@@ -5,8 +5,6 @@
- Maak een Foto
- Kies uit de Galerij
Verwijder Foto
Voeg een opmerking toe
Naam
@@ -237,8 +235,6 @@
Bestand kiezen
Kies een directory
Bestandsrechtenfout! Let erop dat Tasks toegang heeft tot de SD-kaart.
- Afbeelding toevoegen
- Bestand toevoegen vanaf SD-kaart
Fout bij kopiëren toe te voegen bestand
Gebruik deze directory.
Stel opnieuw in naar standaardinstellingen
diff --git a/src/main/res/values-pl/strings.xml b/src/main/res/values-pl/strings.xml
index e83adec1b..575dec492 100644
--- a/src/main/res/values-pl/strings.xml
+++ b/src/main/res/values-pl/strings.xml
@@ -5,8 +5,6 @@
- Zrób zdjęcie
- Wybierz z galerii
Usuń obrazek
Dodaj komentarz...
Kopie zapasowe
@@ -217,8 +215,6 @@ i odzyskanie zadań z kopi zapasowej (Settings->Sync and backup->Backup-&g
Wybierz plik
Wybierz katalog
Błąd dostępu! Proszę upewnić się, że Tasks nie ma zablokowanego dostępu do karty SD.
- Dodaj obrazek
- Dodaj plik z karty SD
Błąd kopiowania pliku do załącznika
Użycie tego katalogu
Przywróć ustawienia domyślne
diff --git a/src/main/res/values-pt-rBR/strings.xml b/src/main/res/values-pt-rBR/strings.xml
index e1b8d2362..3d6b56fa8 100644
--- a/src/main/res/values-pt-rBR/strings.xml
+++ b/src/main/res/values-pt-rBR/strings.xml
@@ -5,8 +5,6 @@
- Tirar uma foto
- Selecionar da galeria
Limpar imagem
Comentar...
Importar tarefas
@@ -213,8 +211,6 @@
Escolha um arquivo
Escolha um diretório
Erro de permissões! Certifique-se de que você não bloqueou o Tasks de acessar o cartão SD.
- Anexe uma imagem
- Anexe um arquivo do seu cartão SD
Erro ao copiar o arquivo para o anexo
Usar este diretório
Restaurar padrões
diff --git a/src/main/res/values-pt/strings.xml b/src/main/res/values-pt/strings.xml
index 5570bda40..f69f0d1ab 100644
--- a/src/main/res/values-pt/strings.xml
+++ b/src/main/res/values-pt/strings.xml
@@ -5,8 +5,6 @@
- Tirar uma foto
- Escolher da galeria
Limpar imagem
Adicionar um comentário...
Nome
@@ -234,8 +232,6 @@ das tarefas através de um backup em Definições->Sincronização e backup-&
Escolha um ficheiro
Escolha um diretório
Erro de permissões! Certifique-se que o Tasks tem permissões para aceder ao cartão SD:
- Anexar imagem
- Anexar um ficheiro do cartão SD
Erro ao copiar o ficheiro como anexo
Usar este diretório
Restaurar definições originais
diff --git a/src/main/res/values-ru/strings.xml b/src/main/res/values-ru/strings.xml
index c320ad380..9ecbcccd6 100644
--- a/src/main/res/values-ru/strings.xml
+++ b/src/main/res/values-ru/strings.xml
@@ -5,8 +5,6 @@
- Сделать снимок
- Взять из галереи
Убрать изображение
Добавить комментарий...
Тег:
@@ -239,8 +237,6 @@
Выбрать файл
Выбрать папку
Ошибка доступа! Пожалуйста убедитесь, что Tasks имеет доступ к SD карте.
- Прикрепите изображение
- Прикрепите файл с карты памяти SD.
Ошибка копирования прикрепляемого файла.
Использовать эту папку
Сбросить настройки
diff --git a/src/main/res/values-sk/strings.xml b/src/main/res/values-sk/strings.xml
index c2da9bbb4..1bfbc759f 100644
--- a/src/main/res/values-sk/strings.xml
+++ b/src/main/res/values-sk/strings.xml
@@ -5,8 +5,6 @@
- Odfotiť
- Vybrať z galérie
Vymazať obrázok
Komentovať...
Názov
@@ -226,8 +224,6 @@
Vybrať súbor
Vytvoriť zložku
Chyba oprávnenia! Prosím, uisti sa, či Tasks namá zablokovaný prístup k SD karte.
- Priložiť obrázok
- Priložiť súbor z SD karty
Chyba pri kopírovaní súboru do prílohy
Použiť tento adresár
Obnoviť predvolené
diff --git a/src/main/res/values-sl-rSI/strings.xml b/src/main/res/values-sl-rSI/strings.xml
index 6fcaad11d..58d0dfcb0 100644
--- a/src/main/res/values-sl-rSI/strings.xml
+++ b/src/main/res/values-sl-rSI/strings.xml
@@ -5,8 +5,6 @@
- Naredi fotografijo
- Izberi iz Galerije
Zbriši fotografijo
Dodaj komentar...
Varnostne kopije
@@ -217,8 +215,6 @@
Izberite datoteko
Izberite mapo
Napaka pri dovoljenjih! Prosimo, preverite, da niste preprečili aplikaciji Opravki dostopa do SD kartice.
- Pripni sliko
- Pripni datoteko z SD kartice
Napaka pri kopiranju datoteke za priponko
Uporabi to mapo
Ponastavi na privzeto
diff --git a/src/main/res/values-sv/strings.xml b/src/main/res/values-sv/strings.xml
index e49abe2e1..8589021be 100644
--- a/src/main/res/values-sv/strings.xml
+++ b/src/main/res/values-sv/strings.xml
@@ -5,8 +5,6 @@
- Ta en bild
- Välj från galleri
Rensa bild
Lägg till en kommentar...
Säkerhetskopior
@@ -211,8 +209,6 @@ och återställer dina aktuella uppgifter från en backup
Välj en fil
Välj sökväg
Behörighets fel! Vänligen kontrollera att du inte blockat Tasks från att komma åt SD-kortet.
- Bifoga en bild
- Bifoga en fil från SD-kortet
Bifoga fil misslyckades: fel vid kopiering
Använd denna mapp
Återställ till standard
diff --git a/src/main/res/values-th/strings.xml b/src/main/res/values-th/strings.xml
index f2191ea1f..a43d9ffe1 100644
--- a/src/main/res/values-th/strings.xml
+++ b/src/main/res/values-th/strings.xml
@@ -5,8 +5,6 @@
- ถ่ายภาพ
- เลือกจากคลังภาพ
ล้างภาพ
สำรองข้อมูล
กำลังอ่านแผนงาน %d...
diff --git a/src/main/res/values-tr/strings.xml b/src/main/res/values-tr/strings.xml
index df6951819..2814a6679 100644
--- a/src/main/res/values-tr/strings.xml
+++ b/src/main/res/values-tr/strings.xml
@@ -5,8 +5,6 @@
- Resim Çek
- Galeriden Seç
Resmi sil
Yorum Gir
Yedekler
@@ -192,8 +190,6 @@
Bir dosya seçin
Bir dizin seçin
İzin hatası! Tasks\'in SD kartınıza erişiminin engellenmediğinden emin olun lütfen.
- Bir resim ekle
- SD kartınızdan bir dosya ekleyin
Dosyanın ek olarak kopyalanmasında hata
Bu dizini kullan
Öntanımlı değere dön
diff --git a/src/main/res/values-uk/strings.xml b/src/main/res/values-uk/strings.xml
index 27c9ca50f..8cc32f49f 100644
--- a/src/main/res/values-uk/strings.xml
+++ b/src/main/res/values-uk/strings.xml
@@ -5,8 +5,6 @@
- Зробити знімок
- Завантажити з Галереї
Очистити
Додати коментар
Резервні копії
@@ -221,8 +219,6 @@
Вибрати файл
Вибрати каталог
Помилка доступу! Будь ласка переконайтеся, що ви не заблокували Tasks для доступу до SD карти.
- Прикріпити зображення
- Додати файл з SD карти
Помилка копіювання доданого файлу.
Використовувати цю папку
Скинути налаштування за замовчуванням
diff --git a/src/main/res/values-zh-rCN/strings.xml b/src/main/res/values-zh-rCN/strings.xml
index 3142bc00c..45f827615 100644
--- a/src/main/res/values-zh-rCN/strings.xml
+++ b/src/main/res/values-zh-rCN/strings.xml
@@ -5,8 +5,6 @@
- 拍照
- 从相册中选取
取消选择
添加注释...
备份
@@ -171,8 +169,6 @@
选择一个文件
选择一个目录
权限出错!请确保您没有阻止清单小助理访问 SD 卡。
- 附上一幅图片
- 附上一份来自您 SD 卡的文件
复制文件添加附件时出错
使用此目录
重设为默认值
diff --git a/src/main/res/values-zh-rTW/strings.xml b/src/main/res/values-zh-rTW/strings.xml
index 849f5bbc4..76a077774 100644
--- a/src/main/res/values-zh-rTW/strings.xml
+++ b/src/main/res/values-zh-rTW/strings.xml
@@ -5,8 +5,6 @@
- 拍下照片
- 從圖庫選擇
清除圖片
添加評論
備份
@@ -202,8 +200,6 @@
選擇一個文件
選擇一個目錄
權限出錯!請確保您沒有阻止Tasks訪問SD 卡。
- 附上一幅圖片
- 附上一份來自您 SD 卡的文件
複製文件添加附件時出錯
使用此目錄
重設為默認值
diff --git a/src/main/res/values/strings-actfm.xml b/src/main/res/values/strings-actfm.xml
index 4497a6053..8fd2b0c70 100644
--- a/src/main/res/values/strings-actfm.xml
+++ b/src/main/res/values/strings-actfm.xml
@@ -3,12 +3,6 @@
-
- Take a Picture
-
-
- Pick from Gallery
-
Clear Picture
diff --git a/src/main/res/values/strings-premium.xml b/src/main/res/values/strings-premium.xml
index 9a57131af..97f26f97f 100644
--- a/src/main/res/values/strings-premium.xml
+++ b/src/main/res/values/strings-premium.xml
@@ -13,8 +13,6 @@
Choose a file
Choose a directory
Permissions error! Please make sure you have not blocked Tasks from accessing the SD card.
- Attach a picture
- Attach a file from your SD card
Error copying file for attachment
Use this directory
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 0356f4be8..9da98d3fd 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -129,6 +129,9 @@
Number of vibrations
Length of each vibration (milliseconds)
Pause between vibrations (milliseconds)
+ Take a picture
+ Pick from gallery
+ Pick from storage