Merge "Revert "Implement support for viewing document settings in external applications"" into arc-apps
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 45aa9d1..48d3cbf 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"ليس هناك أي عناصر."</string>
<string name="no_results" msgid="2371026325236359209">"لا نتائج مطابقة في %1$s."</string>
<string name="toast_no_application" msgid="7555319548595113121">"يتعذر فتح الملف"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"يتعذر فتح الملفات في الأرشيف"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"تعذر حذف بعض المستندات"</string>
<string name="share_via" msgid="8725082736005677161">"مشاركة عبر"</string>
<string name="copy_notification_title" msgid="52256435625098456">"جارٍ نسخ الملفات"</string>
@@ -282,6 +281,5 @@
<string name="authentication_required" msgid="147352435273287559">"يلزم توفر المصادقة للاطلاع على محتوى هذا الدليل"</string>
<string name="open_app" msgid="8467890061226696744">"فتح <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"أرشيف<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"هل تريد استبدال <xliff:g id="NAME">%1$s</xliff:g>؟"</string>
</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 88743b1..2d777ac 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Nema stavki"</string>
<string name="no_results" msgid="2371026325236359209">"Nema podudaranja u %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Otvaranje datoteke nije uspelo"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Ne možete da otvarate datoteke u arhivama"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Nije moguće izbrisati neke dokumente"</string>
<string name="share_via" msgid="8725082736005677161">"Deljenje preko"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Kopiramo datoteke"</string>
@@ -219,6 +218,5 @@
<string name="authentication_required" msgid="147352435273287559">"Potvrda autentičnosti je neophodna da biste videli sadržaj ovog direktorijuma"</string>
<string name="open_app" msgid="8467890061226696744">"Otvori <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"arhiva<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Želite da zamenite <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-be-rBY/strings.xml b/res/values-be-rBY/strings.xml
index e799180..cd7a849 100644
--- a/res/values-be-rBY/strings.xml
+++ b/res/values-be-rBY/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Няма элементаў"</string>
<string name="no_results" msgid="2371026325236359209">"Няма супадзенняў у %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Немагчыма адкрыць файл"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Немагчыма адкрыць файлы ў архівах"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Немагчыма выдаліць некаторыя дакументы"</string>
<string name="share_via" msgid="8725082736005677161">"Абагуліць праз"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Капіраванне файлаў"</string>
@@ -240,6 +239,5 @@
<string name="authentication_required" msgid="147352435273287559">"Для прагляду змесціва гэтага каталога патрабуецца аўтэнтыфікацыя"</string>
<string name="open_app" msgid="8467890061226696744">"Адкрыць <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"архіў<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Перазапісаць <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index 59ce055..d773121 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"কোনো আইটেম নেই"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s এ কোনো মিল নেই"</string>
<string name="toast_no_application" msgid="7555319548595113121">"ফাইল খোলা যাবে না"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"আর্কাইভের ফাইলগুলি খোলা যাচ্ছে না"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"কিছু দস্তাবেজ মোছা গেল না"</string>
<string name="share_via" msgid="8725082736005677161">"এর মাধ্যমে শেয়ার করুন"</string>
<string name="copy_notification_title" msgid="52256435625098456">"ফাইলগুলি কপি করা হচ্ছে"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"এই সংগ্রহের সামগ্রী দেখার জন্য প্রমাণীকরণ প্রয়োজন"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> খুলুন"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"সংরক্ষণ<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> ওভাররাইট করবেন?"</string>
</resources>
diff --git a/res/values-bs-rBA/strings.xml b/res/values-bs-rBA/strings.xml
index 3f1c24d..44a4a7d 100644
--- a/res/values-bs-rBA/strings.xml
+++ b/res/values-bs-rBA/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Nema stavki"</string>
<string name="no_results" msgid="2371026325236359209">"Nema podudarnih rezultata u %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Nije moguće otvoriti fajl"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Nije moguće otvoriti fajlove u arhivama"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Nije moguće izbrisati neke dokumente"</string>
<string name="share_via" msgid="8725082736005677161">"Podijeli koristeći aplikaciju"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Kopiraju se fajlovi"</string>
@@ -219,6 +218,5 @@
<string name="authentication_required" msgid="147352435273287559">"Potrebna je autentifikacija da vidite sadržaj ovog direktorija"</string>
<string name="open_app" msgid="8467890061226696744">"Otvori <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"arhiva<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Želite li prepisati fajl <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 1b5d48e..f96045f 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"No hi ha cap element"</string>
<string name="no_results" msgid="2371026325236359209">"No hi ha cap coincidència a %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"No es pot obrir el fitxer"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"No es poden obrir els fitxers dels arxius"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"No es poden suprimir alguns documents"</string>
<string name="share_via" msgid="8725082736005677161">"Comparteix mitjançant"</string>
<string name="copy_notification_title" msgid="52256435625098456">"S\'estan copiant fitxers"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"És necessari autenticar-se per veure el contingut d\'aquest directori"</string>
<string name="open_app" msgid="8467890061226696744">"Obre <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"fitxer<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Vols sobreescriure <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 7d981d9..1bca328 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Ingen elementer"</string>
<string name="no_results" msgid="2371026325236359209">"Ingen kampe i %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Filen kan ikke åbnes"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Filer i arkiver kan ikke åbnes"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Nogle dokumenter kan ikke slettes"</string>
<string name="share_via" msgid="8725082736005677161">"Del via"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Kopierer filer"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Godkendelse er påkrævet for at kunne se indholdet i dette indeks"</string>
<string name="open_app" msgid="8467890061226696744">"Åbn <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"arkiv<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Vil du overskrive <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 2d6fd95..03cd44a 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Keine Elemente"</string>
<string name="no_results" msgid="2371026325236359209">"Keine Übereinstimmungen in %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Datei kann nicht geöffnet werden"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Dateien in Archiven können nicht geöffnet werden"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Einige Dokumente konnten nicht gelöscht werden"</string>
<string name="share_via" msgid="8725082736005677161">"Teilen über"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Dateien werden kopiert"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Um den Inhalt dieses Verzeichnisses zu sehen, ist eine Authentifizierung erforderlich"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> öffnen"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archiv<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> überschreiben?"</string>
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index dbd6740..3d7fbca 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"No hay elementos"</string>
<string name="no_results" msgid="2371026325236359209">"No hay coincidencias en %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"No se puede abrir el archivo"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"No se pueden abrir los elementos archivados"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Error al eliminar algunos documentos"</string>
<string name="share_via" msgid="8725082736005677161">"Compartir a través de"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Copiando archivos"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Es necesario autenticarse para ver el contenido de este directorio"</string>
<string name="open_app" msgid="8467890061226696744">"Abrir <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archivo<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"¿Sobrescribir <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index acbc8a3..1df9bac 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Üksusi pole"</string>
<string name="no_results" msgid="2371026325236359209">"Otsing %1$s ei andnud vasteid"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Faili ei saa avada"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Arhiivides olevaid faile ei saa avada"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Mõnda dokumenti ei saa kustutada"</string>
<string name="share_via" msgid="8725082736005677161">"Jaga rakendusega"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Failide kopeerimine"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Selle kataloogi sisu nägemiseks on vajalik autentimine"</string>
<string name="open_app" msgid="8467890061226696744">"Ava rakendus <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"arhiiv<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Kas kirjutada üle üksus <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index 046adab..ae6780f 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Ez dago ezer"</string>
<string name="no_results" msgid="2371026325236359209">"Ez da aurkitu ezer %1$s atalean"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Ezin da ireki fitxategia"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Ezin dira ireki artxiboetako fitxategiak"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Ezin izan dira ezabatu dokumentu batzuk"</string>
<string name="share_via" msgid="8725082736005677161">"Partekatu honekin:"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Kopiatu fitxategiak"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Autentifikatu egin behar duzu direktorioko edukia ikusi ahal izateko"</string>
<string name="open_app" msgid="8467890061226696744">"Ireki <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"artxiboa<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> gainidatzi nahi duzu?"</string>
</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 3967ff9..14af348 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"موردی موجود نیست"</string>
<string name="no_results" msgid="2371026325236359209">"مورد منطبقی در %1$s وجود ندارد"</string>
<string name="toast_no_application" msgid="7555319548595113121">"فایل باز نمیشود"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"فایلهای موجود در بایگانیها باز نمیشوند"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"برخی از اسناد حذف نمیشوند"</string>
<string name="share_via" msgid="8725082736005677161">"اشتراکگذاری از طریق"</string>
<string name="copy_notification_title" msgid="52256435625098456">"در حال کپی کردن فایلها"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"برای دیدن محتوای این فهرست راهنما، احراز هویت لازم است"</string>
<string name="open_app" msgid="8467890061226696744">"باز کردن <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"بایگانی <xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> رونویسی شود؟"</string>
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 5cf2693..563c98d 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Aucun élément"</string>
<string name="no_results" msgid="2371026325236359209">"Aucune correspondance dans %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Impossible d\'ouvrir le fichier"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Impossible d\'ouvrir un fichier dans une archive"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Impossible de supprimer certains documents"</string>
<string name="share_via" msgid="8725082736005677161">"Partager via"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Copie de fichiers…"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Vous devez vous authentifier pour afficher le contenu de cet annuaire"</string>
<string name="open_app" msgid="8467890061226696744">"Ouvrir <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archive<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Remplacer <xliff:g id="NAME">%1$s</xliff:g> ?"</string>
</resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index 676f09e..bae1154 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Ningún elemento"</string>
<string name="no_results" msgid="2371026325236359209">"Non hai coincidencias en %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Non se pode abrir o ficheiro"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Non se poden abrir ficheiros dentro de arquivos"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Non se poden eliminar algúns documentos"</string>
<string name="share_via" msgid="8725082736005677161">"Compartir a través de"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Copiando ficheiros"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Precísase a autenticación para visualizar o contido deste directorio"</string>
<string name="open_app" msgid="8467890061226696744">"Abrir <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"arquivo<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Queres sobrescribir <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index 776b250..4481046 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"કોઈ આઇટમ્સ નથી"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s માં કોઇ મેળ નથી"</string>
<string name="toast_no_application" msgid="7555319548595113121">"ફાઇલ ખોલી શકતાં નથી"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"આર્કાઇવમાંની ફાઇલો ખોલી શકાતી નથી"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"કેટલાક દસ્તાવેજો કાઢી નાખવામાં અસમર્થ"</string>
<string name="share_via" msgid="8725082736005677161">"આના દ્વારા શેર કરો"</string>
<string name="copy_notification_title" msgid="52256435625098456">"ફાઇલો કૉપિ કરી રહ્યાં છે"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"આ નિર્દેશિકાની સામગ્રી જોવા માટે પ્રમાણીકરણ જરૂરી છે"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> ખોલો"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"આર્કાઇવ<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> અધિલેખિત કરીએ?"</string>
</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 96065e7..36c5326 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"कोई आइटम नहीं"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s में कोई मिलान नहीं"</string>
<string name="toast_no_application" msgid="7555319548595113121">"फ़ाइल नहीं खोली जा सकती"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"संग्रह में मौजूद फ़ाइलें नहीं खोली जा सकतीं"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"कुछ दस्तावेज़ों को हटाने में असमर्थ"</string>
<string name="share_via" msgid="8725082736005677161">"इसके द्वारा साझा करें"</string>
<string name="copy_notification_title" msgid="52256435625098456">"फ़ाइलें कॉपी हो रही हैं"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"इस निर्देशिका की सामग्री देखने के लिए प्रमाणीकरण ज़रूरी है"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> खोलें"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"संग्रह<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> को ओवरराइट करना चाहते हैं?"</string>
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 2aded87..8de0222 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Nema stavki"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s ne sadrži podudaranja"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Datoteka se ne može otvoriti"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Nije moguće otvoriti datoteke u arhivama"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Nije moguće izbrisati neke dokumente"</string>
<string name="share_via" msgid="8725082736005677161">"Dijeli putem"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Kopiranje datoteka"</string>
@@ -219,6 +218,5 @@
<string name="authentication_required" msgid="147352435273287559">"Za pregled sadržaja ovog direktorija potrebna je autentifikacija"</string>
<string name="open_app" msgid="8467890061226696744">"Otvori aplikaciju <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"arhiva<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Prebrisati <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index 341aee2..0ee7648 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Ոչինչ չկա"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s-ում համընկնումներ չկան"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Հնարավոր չէ բացել ֆայլը"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Հնարավոր չէ բացել արխիվացված ֆայլերը"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Հնարավոր չէ ջնջել որոշ փաստաթղթեր"</string>
<string name="share_via" msgid="8725082736005677161">"Կիսվել"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Ֆայլերի պատճենում"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Այս գրացուցակի բովանդակությունը տեսնելու համար անհրաժեշտ է նույնականացում"</string>
<string name="open_app" msgid="8467890061226696744">"Բացել <xliff:g id="NAME">%1$s</xliff:g> հավելվածը"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archive<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Փոխարինե՞լ <xliff:g id="NAME">%1$s</xliff:g> ֆայլը։"</string>
</resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index b06b3d0..9dcd5ad 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Engin atriði"</string>
<string name="no_results" msgid="2371026325236359209">"Engar samsvarandi niðurstöður í %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Ekki hægt að opna skrá"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Ekki er hægt að opna skrár í geymslu"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Ekki hægt að eyða einhverjum skjölum"</string>
<string name="share_via" msgid="8725082736005677161">"Deila í gegnum"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Afritar skrár"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Auðkenningar er krafist til að sjá efni þessa skráasafns"</string>
<string name="open_app" msgid="8467890061226696744">"Opna <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"geymsla<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Skrifa yfir <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index f2819d1..3e5f1bb 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Nessun elemento"</string>
<string name="no_results" msgid="2371026325236359209">"Nessuna corrispondenza in %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Impossibile aprire il file."</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Impossibile aprire i file negli archivi"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Impossibile eliminare alcuni documenti."</string>
<string name="share_via" msgid="8725082736005677161">"Condividi tramite"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Copia dei file in corso"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Per visualizzare i contenuti di questa directory è necessario eseguire l\'autenticazione"</string>
<string name="open_app" msgid="8467890061226696744">"Apri <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archivio<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Sovrascrivere <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index e99c68e..9861163 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"אין פריטים"</string>
<string name="no_results" msgid="2371026325236359209">"אין התאמות ב-%1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"לא ניתן לפתוח את הקובץ"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"לא ניתן לפתוח קבצים בארכיונים"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"לא ניתן למחוק חלק מהמסמכים"</string>
<string name="share_via" msgid="8725082736005677161">"שתף באמצעות"</string>
<string name="copy_notification_title" msgid="52256435625098456">"מעתיק קבצים"</string>
@@ -240,6 +239,5 @@
<string name="authentication_required" msgid="147352435273287559">"נדרש אימות כדי לראות את התוכן של הספרייה הזאת"</string>
<string name="open_app" msgid="8467890061226696744">"פתח את <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archive<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"להחליף את <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 5a18018..dca5de7 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"項目はありません"</string>
<string name="no_results" msgid="2371026325236359209">"該当するものは %1$s にありません"</string>
<string name="toast_no_application" msgid="7555319548595113121">"ファイルを開けません"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"アーカイブ内のファイルを開くことはできません"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"一部のドキュメントを削除できません"</string>
<string name="share_via" msgid="8725082736005677161">"共有ツール"</string>
<string name="copy_notification_title" msgid="52256435625098456">"ファイルのコピー中"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"このディレクトリのコンテンツを表示するには認証が必要です"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> を開く"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archive<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> を上書きしますか?"</string>
</resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index 3e58b8b..a97b663 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"ერთეულები არ არის"</string>
<string name="no_results" msgid="2371026325236359209">"„%1$s“-ში დამთხვევა ვერ მოიძებნა"</string>
<string name="toast_no_application" msgid="7555319548595113121">"ფაილის გახსნა ვერ ხერხდება"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"არქივებში განთავსებული ფაილების გახსნა ვერ მოხერხდა"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"ზოგიერთი დოკუმენტის წაშლა ვერ ხერხდება"</string>
<string name="share_via" msgid="8725082736005677161">"გაზიარება…"</string>
<string name="copy_notification_title" msgid="52256435625098456">"ფაილების კოპირება…"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"ამ კატალოგის კონტენტის სანახავად საჭიროა ავტორიზაცია"</string>
<string name="open_app" msgid="8467890061226696744">"გახსნა <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"არქივი<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"გსურთ <xliff:g id="NAME">%1$s</xliff:g>-ზე გადაწერა?"</string>
</resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index 2145abb..ec7e768 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Бос"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s қалтасынан табылмады"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Файл ашылмады"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Мұрағаттағы файлдар ашылмайды"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Кейбір құжаттар жойылмады"</string>
<string name="share_via" msgid="8725082736005677161">"Бөлісу әдісі"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Файлдар көшірілуде"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Бұл каталогтың мазмұнын көру үшін аутентификациялау қажет"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> қолданбасын ашу"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archive<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> қайта жазылсын ба?"</string>
</resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index e378188..b1a6fea 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"ಯಾವುದೇ ಐಟಂಗಳಿಲ್ಲ"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s ರಲ್ಲಿ ಹೊಂದಾಣಿಕೆಗಳಿಲ್ಲ"</string>
<string name="toast_no_application" msgid="7555319548595113121">"ಫೈಲ್ ತೆರೆಯಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"ಆರ್ಕೈವ್ಗಳಲ್ಲಿ ಫೈಲ್ಗಳನ್ನು ತೆರೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"ಕೆಲವು ಡಾಕ್ಯುಮೆಂಟ್ಗಳನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
<string name="share_via" msgid="8725082736005677161">"ಈ ಮೂಲಕ ಹಂಚಿಕೊಳ್ಳಿ"</string>
<string name="copy_notification_title" msgid="52256435625098456">"ಫೈಲ್ಗಳನ್ನು ನಕಲಿಸಲಾಗುತ್ತಿದೆ"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"ಈ ಡೈರೆಕ್ಟರಿಯ ವಿಷಯವನ್ನು ನೋಡಲು ದೃಢೀಕರಣ ಅಗತ್ಯವಿದೆ"</string>
<string name="open_app" msgid="8467890061226696744">"ತೆರೆಯಿರಿ <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archive<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> ಅನ್ನು ತಿದ್ದಿಬರೆಯಬೇಕೇ?"</string>
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 33d6d83..de9617b 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"항목 없음"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s에 일치하는 항목이 없습니다."</string>
<string name="toast_no_application" msgid="7555319548595113121">"파일을 열 수 없습니다."</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"보관 파일 안에 있는 파일은 열 수 없습니다."</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"일부 문서를 삭제할 수 없습니다."</string>
<string name="share_via" msgid="8725082736005677161">"공유에 사용할 앱"</string>
<string name="copy_notification_title" msgid="52256435625098456">"파일 복사"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"이 디렉토리의 콘텐츠를 확인하려면 승인이 필요합니다."</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> 열기"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"보관처리<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g>을(를) 덮어쓰시겠습니까?"</string>
</resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index 928987f..b2988e4 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"ບໍ່ມີລາຍການ"</string>
<string name="no_results" msgid="2371026325236359209">"ບໍ່ພົບຂໍ້ມູນທີ່ກົງກັນໃນ %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"ບໍ່ສາມາດເປີດໄຟລ໌ໄດ້"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"ບໍ່ສາມາດເປີດໄຟລ໌ໃນແຟ້ມຈັດເກັບໄດ້"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"ບໍ່ສາມາດລຶບບາງເອກະສານໄດ້"</string>
<string name="share_via" msgid="8725082736005677161">"ແບ່ງປັນຜ່ານ"</string>
<string name="copy_notification_title" msgid="52256435625098456">"ກຳລັງສຳເນົາໄຟລ໌"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"ຕ້ອງພິສູດຕົວຕົນເພື່ອເບິ່ງເນື້ອຫາຂອງໄດເຣັກທໍຣີນີ"</string>
<string name="open_app" msgid="8467890061226696744">"ເປີດ <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archive<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"ຂຽນທັບ <xliff:g id="NAME">%1$s</xliff:g> ບໍ?"</string>
</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 6cadaef..9c390e8 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Nėra jokių elementų"</string>
<string name="no_results" msgid="2371026325236359209">"Nėra atitikčių faile „%1$s“"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Nepavyksta atidaryti failo"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Negalima atidaryti failų archyvuose"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Nepavyko ištrinti kai kurių dokumentų"</string>
<string name="share_via" msgid="8725082736005677161">"Bendrinti naudojant"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Kopijuojami failai"</string>
@@ -240,6 +239,5 @@
<string name="authentication_required" msgid="147352435273287559">"Kad būtų galima peržiūrėti šio katalogo turinį, būtinas autentifikavimas"</string>
<string name="open_app" msgid="8467890061226696744">"Atidaryti „<xliff:g id="NAME">%1$s</xliff:g>“"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archyvas<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Perrašyti „<xliff:g id="NAME">%1$s</xliff:g>“?"</string>
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 97f7e7e..eea60fb 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Nav vienumu"</string>
<string name="no_results" msgid="2371026325236359209">"Failā %1$s nav atbilstību"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Nevar atvērt failu."</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Nevar atvērt arhīvos esošos failus"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Nevar izdzēst dažus dokumentus."</string>
<string name="share_via" msgid="8725082736005677161">"Kopīgošanas veids"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Failu kopēšana"</string>
@@ -219,6 +218,5 @@
<string name="authentication_required" msgid="147352435273287559">"Lai skatītu šī direktorija saturu, ir nepieciešama autentifikācija."</string>
<string name="open_app" msgid="8467890061226696744">"Atvērt <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"arhivs<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Vai pārrakstīt failu <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index e684d6d..62d2b2f 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Нема ставки"</string>
<string name="no_results" msgid="2371026325236359209">"Нема поклопувања во %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Датотеката не може да се отвори"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Не може да се отвораат датотеките во архивите"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Некои документи не може да се избришат"</string>
<string name="share_via" msgid="8725082736005677161">"Споделете преку"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Се копираат датотеки"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Потребна е автентификација за да ја погледнете содржината на адресаров"</string>
<string name="open_app" msgid="8467890061226696744">"Отвори ја <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"архива<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Да се презапише <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index acb697e..7f5e42e 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"ഇനങ്ങളൊന്നുമില്ല"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s എന്നതിൽ പൊരുത്തങ്ങളില്ല"</string>
<string name="toast_no_application" msgid="7555319548595113121">"ഫയൽ തുറക്കാൻ കഴിയില്ല"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"ആർക്കൈവുകളിലെ ഫയലുകൾ തുറക്കാൻ കഴിയില്ല"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"ചില പ്രമാണങ്ങൾ ഇല്ലാതാക്കാനായില്ല"</string>
<string name="share_via" msgid="8725082736005677161">"ഇതുവഴി പങ്കിടുക"</string>
<string name="copy_notification_title" msgid="52256435625098456">"ഫയലുകൾ പകർത്തുന്നു"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"ഈ ഡയറക്ടറിയിലെ ഉള്ളടക്കം കാണാൻ വിശ്വാസ്യത ഉറപ്പിക്കൽ ആവശ്യമാണ്"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> തുറക്കുക"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"ആർക്കൈവ്<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> മാറ്റിയെഴുതണോ?"</string>
</resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index 25d82ca..38eaa02 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"कोणतेही आयटम नाहीत"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s मध्ये कोणत्याही जुळण्या नाहीत"</string>
<string name="toast_no_application" msgid="7555319548595113121">"फाईल उघडू शकत नाही"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"संग्रहणांमध्ये फायली उघडू शकत नाही"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"काही दस्तऐवज हटविण्यात अक्षम"</string>
<string name="share_via" msgid="8725082736005677161">"द्वारे सामायिक करा"</string>
<string name="copy_notification_title" msgid="52256435625098456">"फायली कॉपी करणे"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"या निर्देशिकेची सामग्री पाहण्यासाठी प्रमाणीकरण आवश्यक आहे"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> उघडा"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"संग्रहण<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> अधिलिखित करायचे?"</string>
</resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index 231a437..614c33e 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Tiada item"</string>
<string name="no_results" msgid="2371026325236359209">"Tiada padanan dalam %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Tidak dapat membuka fail"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Tidak dapat membuka fail dalam arkib"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Tidak dapat memadamkan sesetengah dokumen"</string>
<string name="share_via" msgid="8725082736005677161">"Kongsi melalui"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Menyalin fail"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Pengesahan diperlukan untuk melihat kandungan direktori ini"</string>
<string name="open_app" msgid="8467890061226696744">"Buka <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archive<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Tulis ganti <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index ecfdaf8..5f3d4f8 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"ဘာမှ မရှိပါ"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s တွင် ကိုက်ညီသည့်အရာ မရှိပါ"</string>
<string name="toast_no_application" msgid="7555319548595113121">"ဖိုင်ကို ဖွင့်၍မရပါ"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"မှတ်တမ်းဟောင်းထဲမှ ဖိုင်များကို ဖွင့်၍မရပါ"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"အချို့စာဖိုင်များကို ဖျက်၍မရပါ"</string>
<string name="share_via" msgid="8725082736005677161">"အောက်ပါနည်းလမ်းဖြင့် မျှဝေပါ"</string>
<string name="copy_notification_title" msgid="52256435625098456">"ဖိုင်များကူးယူနေသည်"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"ဤဖိုင်လမ်းညွှန်ပါ အကြောင်းအရာကို ကြည့်ရန်အတွက် အထောက်အထားစိစစ်ရန် လိုအပ်ပါသည်"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> ကို ဖွင့်ရန်"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"မှတ်တမ်းဟောင်း<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> ကို အစားထိုးလိုပါသလား။"</string>
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index fc16e8e..150caaf 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Ingen elementer"</string>
<string name="no_results" msgid="2371026325236359209">"Ingen treff i %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Kan ikke åpne filen"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Kan ikke åpne filer i arkiver"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Kunne ikke slette enkelte dokumenter"</string>
<string name="share_via" msgid="8725082736005677161">"Del via"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Kopierer filer"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Autentisering kreves for å kunne se innholdet i denne katalogen"</string>
<string name="open_app" msgid="8467890061226696744">"Åpne <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"arkiv<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Vil du overskrive <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index d4f348a..6e6c96b 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"कुनै वस्तु छैन"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s मा कुनै मेल खाने वस्तु छैन"</string>
<string name="toast_no_application" msgid="7555319548595113121">"फाइल खोल्न सकिँदैन"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"अभिलेखहरूमा भएका फाइलहरू खोल्न सकिँदैन"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"केही कागजातहरूलाई मेट्न सकिएन"</string>
<string name="share_via" msgid="8725082736005677161">"निम्न मार्फत साझेदारी गर्नुहोस्"</string>
<string name="copy_notification_title" msgid="52256435625098456">"फाइलहरूका प्रतिलिपि बनाउँदै"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"यस निर्देशिकाको सामग्री हेर्न प्रमाणीकरणको आवश्यकता पर्दछ"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> खोल्नुहोस्"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"अभिलेख राख्नुहोस्<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> को अधिलेखन गर्ने हो?"</string>
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 3ebcae4..bf13bb4 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Geen items"</string>
<string name="no_results" msgid="2371026325236359209">"Geen overeenkomsten in %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Kan bestand niet openen"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Kan bestanden in archieven niet openen"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Kan bepaalde documenten niet verwijderen"</string>
<string name="share_via" msgid="8725082736005677161">"Delen via"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Bestanden kopiëren"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Verificatie is vereist om de content van deze directory te kunnen zien"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> openen"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archief<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> overschrijven?"</string>
</resources>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
index 94707a4..990f1e5 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa-rIN/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"ਕੋਈ ਆਈਟਮਾਂ ਨਹੀਂ"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s ਵਿੱਚ ਕੋਈ ਮੇਲ ਨਹੀਂ"</string>
<string name="toast_no_application" msgid="7555319548595113121">"ਫ਼ਾਈਲ ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"ਪੁਰਾਲੇਖਾਂ ਵਿੱਚ ਫ਼ਾਈਲਾਂ ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"ਕੁਝ ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਮਿਟਾਉਣ ਦੇ ਅਯੋਗ"</string>
<string name="share_via" msgid="8725082736005677161">"ਇਸ ਰਾਹੀਂ ਸਾਂਝਾ ਕਰੋ"</string>
<string name="copy_notification_title" msgid="52256435625098456">"ਫ਼ਾਈਲਾਂ ਕਾਪੀ ਕਰ ਰਿਹਾ ਹੈ"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"ਇਸ ਡਾਇਰੈਕਟਰੀ ਦੀ ਸਮੱਗਰੀ ਨੂੰ ਵੇਖਣ ਲਈ ਪ੍ਰਮਾਣੀਕਰਨ ਦੀ ਲੋੜ ਹੈ"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> ਨੂੰ ਖੋਲ੍ਹੋ"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"ਪੁਰਾਲੇਖ<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> ਉੱਤੇ ਲਿਖੀਏ?"</string>
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 8261154..0b3942b 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Brak elementów"</string>
<string name="no_results" msgid="2371026325236359209">"Brak wyników w: %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Nie można otworzyć pliku"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Nie można otworzyć plików w archiwum"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Nie można usunąć niektórych dokumentów"</string>
<string name="share_via" msgid="8725082736005677161">"Udostępnij przez"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Kopiowanie plików"</string>
@@ -240,6 +239,5 @@
<string name="authentication_required" msgid="147352435273287559">"Aby wyświetlić zawartość tego katalogu, musisz się uwierzytelnić"</string>
<string name="open_app" msgid="8467890061226696744">"Otwórz aplikację <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archiwum<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Zastąpić plik <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 212247c..f60943c 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -76,7 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Нет объектов"</string>
<string name="no_results" msgid="2371026325236359209">"В \"%1$s\" ничего не найдено"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Не удалось открыть файл"</string>
- <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Не удается открыть файлы в архивах"</string>
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Нельзя открывать файлы в архивах"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Не удалось удалить некоторые документы"</string>
<string name="share_via" msgid="8725082736005677161">"Поделиться"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Копирование файлов"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index afd994b..a8c1182 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Ni elementov"</string>
<string name="no_results" msgid="2371026325236359209">"Tukaj ni ujemanj: %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Datoteke ni mogoče odpreti"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Datotek ni mogoče odpreti v arhivih"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Nekaterih dokumentov ni mogoče izbrisati"</string>
<string name="share_via" msgid="8725082736005677161">"Deli z drugimi prek"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Kopiranje datotek"</string>
@@ -240,6 +239,5 @@
<string name="authentication_required" msgid="147352435273287559">"Za ogled vsebine tega imenika je potrebno preverjanje pristnosti."</string>
<string name="open_app" msgid="8467890061226696744">"Odpri <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"arhiv<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Želite prepisati <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index affbb67..7c4440b 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Nuk ka artikuj"</string>
<string name="no_results" msgid="2371026325236359209">"Nuk ka asnjë përputhje në %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Skedari nuk mund të hapet"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Skedarët në arkiva nuk mund të hapen"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"E pamundur të fshihen disa dokumente"</string>
<string name="share_via" msgid="8725082736005677161">"Shpërnda nëpërmjet"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Po kopjon skedarët"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Kërkohet vërtetimi për të parë përmbajtjen e kësaj direktorie"</string>
<string name="open_app" msgid="8467890061226696744">"Hap <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"arkiva<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Të mbishkruhet <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 2c1715b..558efc7 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Нема ставки"</string>
<string name="no_results" msgid="2371026325236359209">"Нема подударања у %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Отварање датотеке није успело"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Не можете да отварате датотеке у архивама"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Није могуће избрисати неке документе"</string>
<string name="share_via" msgid="8725082736005677161">"Дељење преко"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Копирамо датотеке"</string>
@@ -219,6 +218,5 @@
<string name="authentication_required" msgid="147352435273287559">"Потврда аутентичности је неопходна да бисте видели садржај овог директоријума"</string>
<string name="open_app" msgid="8467890061226696744">"Отвори <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"архива<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Желите да замените <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index cd095e4..f4b1c1c 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Hakuna chochote"</string>
<string name="no_results" msgid="2371026325236359209">"Hakuna zinazolingana katika %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Haiwezi kufungua faili"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Haiwezi kufungua faili zilizo kwenye kumbukumbu"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Imeshindwa kufuta baadhi ya hati"</string>
<string name="share_via" msgid="8725082736005677161">"Shiriki kupitia"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Inanakili faili"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Unahitaji uthibitishaji ili kuona maudhui kwenye saraka hii"</string>
<string name="open_app" msgid="8467890061226696744">"Fungua <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"weka <xliff:g id="EXTENSION">%s</xliff:g> kwenye kumbukumbu"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Ungependa kufuta <xliff:g id="NAME">%1$s</xliff:g>?"</string>
</resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index e2f3d24..e1b9030 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"எதுவும் இல்லை"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s இல் பொருந்தும் முடிவு இல்லை"</string>
<string name="toast_no_application" msgid="7555319548595113121">"கோப்பைத் திறக்க முடியாது"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"காப்பகங்களில் உள்ள கோப்புகளைத் திறக்க முடியாது"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"சில ஆவணங்களை நீக்க முடியவில்லை"</string>
<string name="share_via" msgid="8725082736005677161">"இதன் வழியாகப் பகிர்"</string>
<string name="copy_notification_title" msgid="52256435625098456">"கோப்புகளை நகலெடுத்தல்"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"இந்தக் கோப்பகத்தின் உள்ளடக்கத்தைப் பார்க்க, அங்கீகரிப்பு தேவை"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g>ஐத் திற"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"காப்பகம்<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g>ஐ மேலெழுதவா?"</string>
</resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index fd1888e..8995efd 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"అంశాలు లేవు"</string>
<string name="no_results" msgid="2371026325236359209">"%1$sలో సరిపోలినవి లేవు"</string>
<string name="toast_no_application" msgid="7555319548595113121">"ఫైల్ను తెరవడం సాధ్యపడదు"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"ఆర్కైవ్లలో ఉన్న ఫైల్లను తెరవడం సాధ్యం కాదు"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"కొన్ని పత్రాలను తొలగించడం సాధ్యపడలేదు"</string>
<string name="share_via" msgid="8725082736005677161">"దీనితో భాగస్వామ్యం చేయండి"</string>
<string name="copy_notification_title" msgid="52256435625098456">"ఫైల్లు కాపీ అవుతున్నాయి"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"ఈ డైరెక్టరీలో ఉన్న కంటెంట్ను చూడటానికి ప్రమాణీకరణ అవసరం"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g>ని తెరువు"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"ఆర్కైవ్ చేయి<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g>ని భర్తీ చేయాలా?"</string>
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index c79f920..98cae86 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"ไม่มีรายการ"</string>
<string name="no_results" msgid="2371026325236359209">"ไม่พบข้อมูลที่ตรงกันใน %1$s"</string>
<string name="toast_no_application" msgid="7555319548595113121">"เปิดไฟล์ไม่ได้"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"เปิดไฟล์ในที่เก็บถาวรไม่ได้"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"ไม่สามารถลบเอกสารบางรายการ"</string>
<string name="share_via" msgid="8725082736005677161">"แชร์ผ่าน"</string>
<string name="copy_notification_title" msgid="52256435625098456">"กำลังคัดลอกไฟล์"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"ต้องมีการตรวจสอบสิทธิ์เพื่อดูเนื้อหาของไดเรกทอรีนี้"</string>
<string name="open_app" msgid="8467890061226696744">"เปิด <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"ที่เก็บถาวร<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"เขียนทับ <xliff:g id="NAME">%1$s</xliff:g> ไหม"</string>
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 35df01f..ae447da 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Öğe yok"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s içinde eşleşme bulunamadı"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Dosya açılamıyor"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Arşivlerdeki dosyalar açılamaz"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Bazı dokümanlar silinemiyor"</string>
<string name="share_via" msgid="8725082736005677161">"Şunu kullanarak paylaşın:"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Dosyalar kopyalanıyor"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Bu dizinin içeriğini görmek için kimlik doğrulaması yapmalısınız"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> uygulamasını aç"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"arşiv<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> dosyasının üzerine yazılsın mı?"</string>
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 3258f3b..fa2fecb 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Немає елементів"</string>
<string name="no_results" msgid="2371026325236359209">"Немає збігів для запиту \"%1$s\""</string>
<string name="toast_no_application" msgid="7555319548595113121">"Не вдалося відкрити файл"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Не вдалося відкрити файли в архівах"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Не вдалося видалити деякі документи"</string>
<string name="share_via" msgid="8725082736005677161">"Надіслати через"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Копіювання файлів"</string>
@@ -240,6 +239,5 @@
<string name="authentication_required" msgid="147352435273287559">"Щоб переглянути вміст цього каталогу, потрібно пройти автентифікацію."</string>
<string name="open_app" msgid="8467890061226696744">"Відкрити додаток <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archive<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"Замінити назву \"<xliff:g id="NAME">%1$s</xliff:g>\"?"</string>
</resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index 3493f67..71cf392 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"کوئی آئٹمز نہيں ہیں"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s میں کوئی مماثل نہیں"</string>
<string name="toast_no_application" msgid="7555319548595113121">"فائل نہیں کھل سکتی"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"فائلوں کو آرکائیوز میں کھولا نہیں جا سکتا"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"کچھ دستاویزات کو حذف کرنے سے قاصر"</string>
<string name="share_via" msgid="8725082736005677161">"اشتراک کریں بذریعہ"</string>
<string name="copy_notification_title" msgid="52256435625098456">"فائلیں کاپی ہو رہی ہیں"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"اس ڈائرکٹری کا مواد دیکھنے کیلئے تصدیق درکار ہے"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> کھولیں"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"آرکائیو<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> کو اوور رائٹ کریں؟"</string>
</resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index 8026b86..1250167 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"Hech narsa yo‘q"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s jildidan topilmadi"</string>
<string name="toast_no_application" msgid="7555319548595113121">"Faylni ochib bo‘lmadi"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"Arxivdagi fayllarni ochib bo‘lmadi"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"Ba’zi hujjatlarni o‘chirib bo‘lmadi"</string>
<string name="share_via" msgid="8725082736005677161">"Baham ko‘rish"</string>
<string name="copy_notification_title" msgid="52256435625098456">"Fayllar nusxalanmoqda"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"Bu katalogdagi kontentni ko‘rish uchun autentifikatsiya zarur"</string>
<string name="open_app" msgid="8467890061226696744">"<xliff:g id="NAME">%1$s</xliff:g> ilovasini ochish"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"arxiv<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"<xliff:g id="NAME">%1$s</xliff:g> fayli almashtirilsinmi?"</string>
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 86496cf..ec7dcb4 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"无任何文件"</string>
<string name="no_results" msgid="2371026325236359209">"%1$s中没有任何相符项"</string>
<string name="toast_no_application" msgid="7555319548595113121">"无法打开文件"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"无法打开归档文件"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"无法删除部分文档"</string>
<string name="share_via" msgid="8725082736005677161">"分享方式"</string>
<string name="copy_notification_title" msgid="52256435625098456">"正在复制文件"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"必须经过身份验证才能查看该目录下的内容"</string>
<string name="open_app" msgid="8467890061226696744">"打开<xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"归档<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"要覆盖 <xliff:g id="NAME">%1$s</xliff:g> 吗?"</string>
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 8cdfb35..99d9768 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"沒有項目"</string>
<string name="no_results" msgid="2371026325236359209">"「%1$s」中沒有相符結果"</string>
<string name="toast_no_application" msgid="7555319548595113121">"無法開啟檔案"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"無法開啟封存中的檔案"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"無法刪除部分文件"</string>
<string name="share_via" msgid="8725082736005677161">"透過以下應用程式分享:"</string>
<string name="copy_notification_title" msgid="52256435625098456">"正在複製檔案"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"必須通過驗證,才能查看此目錄的內容"</string>
<string name="open_app" msgid="8467890061226696744">"開啟「<xliff:g id="NAME">%1$s</xliff:g>」"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archive<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"要覆寫「<xliff:g id="NAME">%1$s</xliff:g>」嗎?"</string>
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 1c94722..2debd44 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -76,8 +76,7 @@
<string name="empty" msgid="5300254272613103004">"沒有任何項目"</string>
<string name="no_results" msgid="2371026325236359209">"沒有與「%1$s」相符的結果"</string>
<string name="toast_no_application" msgid="7555319548595113121">"無法開啟檔案"</string>
- <!-- no translation found for toast_view_in_archives_unsupported (1923221390170964845) -->
- <skip />
+ <string name="toast_view_in_archives_unsupported" msgid="1923221390170964845">"無法開啟已封存的檔案"</string>
<string name="toast_failed_delete" msgid="3453846588205817591">"無法刪除部分文件"</string>
<string name="share_via" msgid="8725082736005677161">"分享方式:"</string>
<string name="copy_notification_title" msgid="52256435625098456">"複製檔案"</string>
@@ -198,6 +197,5 @@
<string name="authentication_required" msgid="147352435273287559">"必須經過驗證才能查看這個目錄的內容"</string>
<string name="open_app" msgid="8467890061226696744">"開啟「<xliff:g id="NAME">%1$s</xliff:g>」"</string>
<string name="new_archive_file_name" msgid="1604650338077249838">"archive<xliff:g id="EXTENSION">%s</xliff:g>"</string>
- <!-- no translation found for overwrite_file_confirmation_message (2496109652768222716) -->
- <skip />
+ <string name="overwrite_file_confirmation_message" msgid="2496109652768222716">"要覆寫「<xliff:g id="NAME">%1$s</xliff:g>」嗎?"</string>
</resources>
diff --git a/res/values/config.xml b/res/values/config.xml
index ca34d31..eb48dcd 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -29,7 +29,7 @@
Please add them in alphabetical order. Same goes for accessor
methods in Features class.
-->
- <bool name="feature_archive_creation">false</bool>
+ <bool name="feature_archive_creation">true</bool>
<bool name="feature_command_interceptor">true</bool>
<bool name="feature_content_paging">true</bool>
<bool name="feature_content_refresh">true</bool>
diff --git a/src/com/android/documentsui/AbstractActionHandler.java b/src/com/android/documentsui/AbstractActionHandler.java
index e1af79b..3d268d3 100644
--- a/src/com/android/documentsui/AbstractActionHandler.java
+++ b/src/com/android/documentsui/AbstractActionHandler.java
@@ -67,7 +67,7 @@
import javax.annotation.Nullable;
/**
- * Provides support for specializing the actions (viewDocument etc.) to the host activity.
+ * Provides support for specializing the actions (openDocument etc.) to the host activity.
*/
public abstract class AbstractActionHandler<T extends Activity & CommonAddons>
implements ActionHandler {
@@ -191,6 +191,11 @@
}
@Override
+ public boolean openDocument(DocumentDetails doc, @ViewType int type, @ViewType int fallback) {
+ throw new UnsupportedOperationException("Can't open document.");
+ }
+
+ @Override
public void springOpenDirectory(DocumentInfo doc) {
throw new UnsupportedOperationException("Can't spring open directories.");
}
@@ -255,16 +260,6 @@
}
@Override
- public boolean viewDocument(DocumentDetails doc) {
- throw new UnsupportedOperationException("Direct view not supported!");
- }
-
- @Override
- public boolean previewDocument(DocumentDetails doc) {
- throw new UnsupportedOperationException("Preview not supported!");
- }
-
- @Override
public void showChooserForDoc(DocumentInfo doc) {
throw new UnsupportedOperationException("Show chooser for doc not supported!");
}
diff --git a/src/com/android/documentsui/ActionHandler.java b/src/com/android/documentsui/ActionHandler.java
index 96187cc..fdf28e3 100644
--- a/src/com/android/documentsui/ActionHandler.java
+++ b/src/com/android/documentsui/ActionHandler.java
@@ -16,6 +16,7 @@
package com.android.documentsui;
+import android.annotation.IntDef;
import android.content.ContentProvider;
import android.content.Intent;
import android.content.pm.ResolveInfo;
@@ -28,12 +29,25 @@
import com.android.documentsui.base.RootInfo;
import com.android.documentsui.dirlist.DocumentDetails;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.util.function.Consumer;
import javax.annotation.Nullable;
public interface ActionHandler {
+ @IntDef({
+ VIEW_TYPE_NONE,
+ VIEW_TYPE_REGULAR,
+ VIEW_TYPE_PREVIEW
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface ViewType {}
+ public static final int VIEW_TYPE_NONE = 0;
+ public static final int VIEW_TYPE_REGULAR = 1;
+ public static final int VIEW_TYPE_PREVIEW = 2;
+
void openSettings(RootInfo root);
/**
@@ -46,7 +60,6 @@
*/
void ejectRoot(RootInfo root, BooleanConsumer listener);
-
/**
* Attempts to fetch the DocumentInfo for the supplied root. Returns the DocumentInfo to the
* callback. If the task times out, callback will be called with null DocumentInfo. Supply
@@ -78,11 +91,11 @@
@Nullable DocumentInfo renameDocument(String name, DocumentInfo document);
- boolean viewDocument(DocumentDetails doc);
-
- boolean previewDocument(DocumentDetails doc);
-
- boolean openDocument(DocumentDetails doc);
+ /**
+ * If container, then opens the container, otherwise views using the specified type of view.
+ * If the primary view type is unavailable, then fallback to the alternative type of view.
+ */
+ boolean openDocument(DocumentDetails doc, @ViewType int type, @ViewType int fallback);
/**
* This is called when user hovers over a doc for enough time during a drag n' drop, to open a
diff --git a/src/com/android/documentsui/DocumentsAccess.java b/src/com/android/documentsui/DocumentsAccess.java
index 5d09aa6..90c344a 100644
--- a/src/com/android/documentsui/DocumentsAccess.java
+++ b/src/com/android/documentsui/DocumentsAccess.java
@@ -51,6 +51,8 @@
List<DocumentInfo> getDocuments(String authority, List<String> docIds) throws RemoteException;
+ @Nullable Uri createDocument(DocumentInfo parentDoc, String mimeType, String displayName);
+
public static DocumentsAccess create(Context context) {
return new RuntimeDocumentAccess(context);
}
@@ -125,5 +127,18 @@
return DocumentsContract.findDocumentPath(client, docUri);
}
}
+
+ @Override
+ public Uri createDocument(DocumentInfo parentDoc, String mimeType, String displayName) {
+ final ContentResolver resolver = mContext.getContentResolver();
+ try (ContentProviderClient client = DocumentsApplication.acquireUnstableProviderOrThrow(
+ resolver, parentDoc.derivedUri.getAuthority())) {
+ return DocumentsContract.createDocument(
+ client, parentDoc.derivedUri, mimeType, displayName);
+ } catch (Exception e) {
+ Log.w(TAG, "Failed to create document", e);
+ return null;
+ }
+ }
}
}
diff --git a/src/com/android/documentsui/base/DocumentStack.java b/src/com/android/documentsui/base/DocumentStack.java
index 114f545..6a7c6ca 100644
--- a/src/com/android/documentsui/base/DocumentStack.java
+++ b/src/com/android/documentsui/base/DocumentStack.java
@@ -36,6 +36,7 @@
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
+import java.util.Objects;
import javax.annotation.Nullable;
@@ -244,6 +245,26 @@
}
@Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+
+ if (!(o instanceof DocumentStack)) {
+ return false;
+ }
+
+ DocumentStack other = (DocumentStack) o;
+ return Objects.equals(mRoot, other.mRoot)
+ && mList.equals(other.mList);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(mRoot, mList);
+ }
+
+ @Override
public void read(DataInputStream in) throws IOException {
final int version = in.readInt();
switch (version) {
diff --git a/src/com/android/documentsui/dirlist/DirectoryFragment.java b/src/com/android/documentsui/dirlist/DirectoryFragment.java
index 0771363..9e51338 100644
--- a/src/com/android/documentsui/dirlist/DirectoryFragment.java
+++ b/src/com/android/documentsui/dirlist/DirectoryFragment.java
@@ -695,7 +695,8 @@
private boolean onAccessibilityClick(View child) {
DocumentDetails doc = getDocumentHolder(child);
- mActions.openDocument(doc);
+ mActions.openDocument(doc, ActionHandler.VIEW_TYPE_PREVIEW,
+ ActionHandler.VIEW_TYPE_REGULAR);
return true;
}
diff --git a/src/com/android/documentsui/dirlist/UserInputHandler.java b/src/com/android/documentsui/dirlist/UserInputHandler.java
index e2a5d56..76aa492 100644
--- a/src/com/android/documentsui/dirlist/UserInputHandler.java
+++ b/src/com/android/documentsui/dirlist/UserInputHandler.java
@@ -244,7 +244,8 @@
// otherwise they activate.
return doc.isInSelectionHotspot(event)
? selectDocument(doc)
- : mActions.openDocument(doc);
+ : mActions.openDocument(doc, ActionHandler.VIEW_TYPE_PREVIEW,
+ ActionHandler.VIEW_TYPE_REGULAR);
}
boolean onSingleTapConfirmed(T event) {
@@ -401,7 +402,8 @@
}
DocumentDetails doc = event.getDocumentDetails();
- return mActions.viewDocument(doc);
+ return mActions.openDocument(doc, ActionHandler.VIEW_TYPE_REGULAR,
+ ActionHandler.VIEW_TYPE_PREVIEW);
}
final void onLongPress(T event) {
@@ -478,9 +480,11 @@
// For non-shifted enter keypresses, fall through.
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_BUTTON_A:
- return mActions.viewDocument(doc);
+ return mActions.openDocument(doc, ActionHandler.VIEW_TYPE_REGULAR,
+ ActionHandler.VIEW_TYPE_PREVIEW);
case KeyEvent.KEYCODE_SPACE:
- return mActions.previewDocument(doc);
+ return mActions.openDocument(doc, ActionHandler.VIEW_TYPE_PREVIEW,
+ ActionHandler.VIEW_TYPE_NONE);
}
return false;
diff --git a/src/com/android/documentsui/files/ActionHandler.java b/src/com/android/documentsui/files/ActionHandler.java
index 6e5ff70..e2e4ec0 100644
--- a/src/com/android/documentsui/files/ActionHandler.java
+++ b/src/com/android/documentsui/files/ActionHandler.java
@@ -64,6 +64,7 @@
import com.android.documentsui.services.FileOperationService;
import com.android.documentsui.services.FileOperations;
import com.android.documentsui.ui.DialogController;
+import com.android.internal.annotations.VisibleForTesting;
import java.io.IOException;
import java.util.ArrayList;
@@ -194,7 +195,8 @@
}
@Override
- public boolean openDocument(DocumentDetails details) {
+ public boolean openDocument(DocumentDetails details, @ViewType int type,
+ @ViewType int fallback) {
DocumentInfo doc = mModel.getDocument(details.getModelId());
if (doc == null) {
Log.w(TAG,
@@ -202,8 +204,14 @@
return false;
}
+ return openDocument(doc, type, fallback);
+ }
+
+ // TODO: Make this private and make tests call openDocument(DocumentDetails, int, int) instead.
+ @VisibleForTesting
+ public boolean openDocument(DocumentInfo doc, @ViewType int type, @ViewType int fallback) {
if (mConfig.isDocumentEnabled(doc.mimeType, doc.flags, mState)) {
- onDocumentPicked(doc);
+ onDocumentPicked(doc, type, fallback);
mSelectionMgr.clearSelection();
return true;
}
@@ -217,21 +225,6 @@
openContainerDocument(doc);
}
- @Override
- public boolean viewDocument(DocumentDetails details) {
- DocumentInfo doc = mModel.getDocument(details.getModelId());
- return viewDocument(doc);
- }
-
- @Override
- public boolean previewDocument(DocumentDetails details) {
- DocumentInfo doc = mModel.getDocument(details.getModelId());
- if (doc.isContainer()) {
- return false;
- }
- return previewDocument(doc);
- }
-
private Selection getSelectedOrFocused() {
final Selection selection = this.getStableSelection();
if (selection.isEmpty()) {
@@ -486,7 +479,7 @@
}
}
- public void onDocumentPicked(DocumentInfo doc) {
+ private void onDocumentPicked(DocumentInfo doc, @ViewType int type, @ViewType int fallback) {
if (doc.isContainer()) {
openContainerDocument(doc);
return;
@@ -496,35 +489,65 @@
return;
}
- if (previewDocument(doc)) {
- return;
+ switch (type) {
+ case VIEW_TYPE_REGULAR:
+ if (viewDocument(doc)) {
+ return;
+ }
+ break;
+
+ case VIEW_TYPE_PREVIEW:
+ if (previewDocument(doc)) {
+ return;
+ }
+ break;
+
+ default:
+ throw new IllegalArgumentException("Illegal view type.");
}
- viewDocument(doc);
+ switch (fallback) {
+ case VIEW_TYPE_REGULAR:
+ if (viewDocument(doc)) {
+ return;
+ }
+ break;
+
+ case VIEW_TYPE_PREVIEW:
+ if (previewDocument(doc)) {
+ return;
+ }
+ break;
+
+ case VIEW_TYPE_NONE:
+ break;
+
+ default:
+ throw new IllegalArgumentException("Illegal fallback view type.");
+ }
+
+ // Failed to view including fallback, and it's in an archive.
+ if (type != VIEW_TYPE_NONE && fallback != VIEW_TYPE_NONE && doc.isInArchive()) {
+ mDialogs.showViewInArchivesUnsupported();
+ }
}
- public boolean viewDocument(DocumentInfo doc) {
+ private boolean viewDocument(DocumentInfo doc) {
if (doc.isPartial()) {
Log.w(TAG, "Can't view partial file.");
return false;
}
if (doc.isInArchive()) {
- mDialogs.showViewInArchivesUnsupported();
+ Log.w(TAG, "Can't view files in archives.");
return false;
}
- if (doc.isContainer()) {
- openContainerDocument(doc);
+ if (doc.isDirectory()) {
+ Log.w(TAG, "Can't view directories.");
return true;
}
- // this is a redundant check.
- if (manageDocument(doc)) {
- return true;
- }
-
- // Fall back to traditional VIEW action...
Intent intent = buildViewIntent(doc);
if (DEBUG && intent.getClipData() != null) {
Log.d(TAG, "Starting intent w/ clip data: " + intent.getClipData());
@@ -539,7 +562,7 @@
return false;
}
- public boolean previewDocument(DocumentInfo doc) {
+ private boolean previewDocument(DocumentInfo doc) {
if (doc.isPartial()) {
Log.w(TAG, "Can't view partial file.");
return false;
diff --git a/src/com/android/documentsui/files/FilesActivity.java b/src/com/android/documentsui/files/FilesActivity.java
index 6861a12..222e9b2 100644
--- a/src/com/android/documentsui/files/FilesActivity.java
+++ b/src/com/android/documentsui/files/FilesActivity.java
@@ -324,14 +324,9 @@
throw new UnsupportedOperationException();
}
- /**
- * @deprecated use {@link ActionHandler#onDocumentPicked(DocumentInfo)}
- * @param doc
- */
- @Deprecated
@Override
public void onDocumentPicked(DocumentInfo doc) {
- mInjector.actions.onDocumentPicked(doc);
+ throw new UnsupportedOperationException();
}
@Override
diff --git a/src/com/android/documentsui/picker/ActionHandler.java b/src/com/android/documentsui/picker/ActionHandler.java
index fd2243e..e1b529e 100644
--- a/src/com/android/documentsui/picker/ActionHandler.java
+++ b/src/com/android/documentsui/picker/ActionHandler.java
@@ -19,6 +19,7 @@
import static com.android.documentsui.base.Shared.DEBUG;
import static com.android.documentsui.base.State.ACTION_CREATE;
import static com.android.documentsui.base.State.ACTION_GET_CONTENT;
+import static com.android.documentsui.base.State.ACTION_OPEN;
import static com.android.documentsui.base.State.ACTION_OPEN_TREE;
import static com.android.documentsui.base.State.ACTION_PICK_COPY_DESTINATION;
@@ -155,8 +156,7 @@
.execute();
}
- @VisibleForTesting
- void onLastAccessedStackLoaded(@Nullable DocumentStack stack) {
+ private void onLastAccessedStackLoaded(@Nullable DocumentStack stack) {
if (stack == null) {
loadDefaultLocation();
} else {
@@ -167,12 +167,11 @@
private void loadDefaultLocation() {
switch (mState.action) {
- case ACTION_PICK_COPY_DESTINATION:
- case State.ACTION_CREATE:
+ case ACTION_CREATE:
loadHomeDir();
break;
case ACTION_GET_CONTENT:
- case State.ACTION_OPEN:
+ case ACTION_OPEN:
case ACTION_OPEN_TREE:
mState.stack.changeRoot(mRoots.getRecentsRoot());
mActivity.refreshCurrentRootAndDirectory(AnimationView.ANIM_NONE);
@@ -211,16 +210,12 @@
}
@Override
- public boolean viewDocument(DocumentDetails details) {
- return openDocument(details);
- }
-
- @Override
public void springOpenDirectory(DocumentInfo doc) {
}
@Override
- public boolean openDocument(DocumentDetails details) {
+ public boolean openDocument(DocumentDetails details, @ViewType int type,
+ @ViewType int fallback) {
DocumentInfo doc = mModel.getDocument(details.getModelId());
if (doc == null) {
Log.w(TAG,
@@ -259,6 +254,7 @@
assert(mState.action == ACTION_CREATE);
new CreatePickedDocumentTask(
mActivity,
+ mDocs,
mLastAccessed,
mState.stack,
mimeType,
@@ -326,12 +322,12 @@
| Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
}
- mActivity.setResult(Activity.RESULT_OK, intent);
+ mActivity.setResult(Activity.RESULT_OK, intent, 0);
mActivity.finish();
}
private Executor getExecutorForCurrentDirectory() {
- final DocumentInfo cwd = mActivity.getCurrentDirectory();
+ final DocumentInfo cwd = mState.stack.peek();
if (cwd != null && cwd.authority != null) {
return mExecutors.lookup(cwd.authority);
} else {
@@ -342,5 +338,12 @@
public interface Addons extends CommonAddons {
void onAppPicked(ResolveInfo info);
void onDocumentPicked(DocumentInfo doc);
+
+ /**
+ * Overload final method {@link Activity#setResult(int, Intent)} so that we can intercept
+ * this method call in test environment.
+ */
+ @VisibleForTesting
+ void setResult(int resultCode, Intent result, int notUsed);
}
}
diff --git a/src/com/android/documentsui/picker/CreatePickedDocumentTask.java b/src/com/android/documentsui/picker/CreatePickedDocumentTask.java
index 4a96c87..25c57f2 100644
--- a/src/com/android/documentsui/picker/CreatePickedDocumentTask.java
+++ b/src/com/android/documentsui/picker/CreatePickedDocumentTask.java
@@ -24,6 +24,7 @@
import android.support.design.widget.Snackbar;
import android.util.Log;
+import com.android.documentsui.DocumentsAccess;
import com.android.documentsui.DocumentsApplication;
import com.android.documentsui.R;
import com.android.documentsui.base.BooleanConsumer;
@@ -38,9 +39,8 @@
* Task that creates a new document in the background.
*/
class CreatePickedDocumentTask extends PairedTask<Activity, Void, Uri> {
- private static final String TAG = "CreatePickedDocumentTas";
-
private final LastAccessedStorage mLastAccessed;
+ private final DocumentsAccess mDocs;
private final DocumentStack mStack;
private final String mMimeType;
private final String mDisplayName;
@@ -49,6 +49,7 @@
CreatePickedDocumentTask(
Activity activity,
+ DocumentsAccess docs,
LastAccessedStorage lastAccessed,
DocumentStack stack,
String mimeType,
@@ -57,6 +58,7 @@
Consumer<Uri> callback) {
super(activity);
mLastAccessed = lastAccessed;
+ mDocs = docs;
mStack = stack;
mMimeType = mimeType;
mDisplayName = displayName;
@@ -73,19 +75,7 @@
protected Uri run(Void... params) {
DocumentInfo cwd = mStack.peek();
- final ContentResolver resolver = mOwner.getContentResolver();
- ContentProviderClient client = null;
- Uri childUri = null;
- try {
- client = DocumentsApplication.acquireUnstableProviderOrThrow(
- resolver, cwd.derivedUri.getAuthority());
- childUri = DocumentsContract.createDocument(
- client, cwd.derivedUri, mMimeType, mDisplayName);
- } catch (Exception e) {
- Log.w(TAG, "Failed to create document", e);
- } finally {
- ContentProviderClient.releaseQuietly(client);
- }
+ Uri childUri = mDocs.createDocument(cwd, mMimeType, mDisplayName);
if (childUri != null) {
mLastAccessed.setLastAccessed(mOwner, mStack);
diff --git a/src/com/android/documentsui/picker/PickActivity.java b/src/com/android/documentsui/picker/PickActivity.java
index e3d245e..c61f8a9 100644
--- a/src/com/android/documentsui/picker/PickActivity.java
+++ b/src/com/android/documentsui/picker/PickActivity.java
@@ -350,6 +350,11 @@
|| super.onKeyDown(keyCode, event);
}
+ @Override
+ public void setResult(int resultCode, Intent intent, int notUsed) {
+ setResult(resultCode, intent);
+ }
+
public static PickActivity get(Fragment fragment) {
return (PickActivity) fragment.getActivity();
}
diff --git a/src/com/android/documentsui/queries/SearchViewManager.java b/src/com/android/documentsui/queries/SearchViewManager.java
index 5af97cd..85de7d3 100644
--- a/src/com/android/documentsui/queries/SearchViewManager.java
+++ b/src/com/android/documentsui/queries/SearchViewManager.java
@@ -87,6 +87,7 @@
mMenuItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
| MenuItem.SHOW_AS_ACTION_ALWAYS);
mMenuItem.setOnActionExpandListener(this);
+ mSearchView.setMaxWidth(Integer.MAX_VALUE);
}
restoreSearch();
diff --git a/tests/common/com/android/documentsui/TestActivity.java b/tests/common/com/android/documentsui/TestActivity.java
index 93e8b44..73d6495 100644
--- a/tests/common/com/android/documentsui/TestActivity.java
+++ b/tests/common/com/android/documentsui/TestActivity.java
@@ -33,6 +33,7 @@
import com.android.documentsui.base.DocumentInfo;
import com.android.documentsui.base.RootInfo;
import com.android.documentsui.testing.TestEnv;
+import com.android.documentsui.testing.TestEventHandler;
import com.android.documentsui.testing.TestEventListener;
import com.android.documentsui.testing.TestLoaderManager;
import com.android.documentsui.testing.TestPackageManager;
@@ -59,6 +60,7 @@
public TestEventListener<Integer> refreshCurrentRootAndDirectory;
public TestEventListener<Boolean> setRootsDrawerOpen;
public TestEventListener<Uri> notifyDirectoryNavigated;
+ public TestEventHandler<Void> finishedHandler;
public static TestActivity create(TestEnv env) {
TestActivity activity = Mockito.mock(TestActivity.class, Mockito.CALLS_REAL_METHODS);
@@ -66,20 +68,21 @@
return activity;
}
- public void init(TestEnv env) {
- resources = TestResources.create();
- packageMgr = TestPackageManager.create();
- intent = new Intent();
+ public void init(TestEnv env) {
+ resources = TestResources.create();
+ packageMgr = TestPackageManager.create();
+ intent = new Intent();
- startActivity = new TestEventListener<>();
- startService = new TestEventListener<>();
- rootPicked = new TestEventListener<>();
- refreshCurrentRootAndDirectory = new TestEventListener<>();
- setRootsDrawerOpen = new TestEventListener<>();
- notifyDirectoryNavigated = new TestEventListener<>();
- contentResolver = env.contentResolver;
- loaderManager = new TestLoaderManager();
- }
+ startActivity = new TestEventListener<>();
+ startService = new TestEventListener<>();
+ rootPicked = new TestEventListener<>();
+ refreshCurrentRootAndDirectory = new TestEventListener<>();
+ setRootsDrawerOpen = new TestEventListener<>();
+ notifyDirectoryNavigated = new TestEventListener<>();
+ contentResolver = env.contentResolver;
+ loaderManager = new TestLoaderManager();
+ finishedHandler = new TestEventHandler<>();
+ }
@Override
public final String getPackageName() {
@@ -172,6 +175,11 @@
public final LoaderManager getLoaderManager() {
return loaderManager;
}
+
+ @Override
+ public final void finish() {
+ finishedHandler.accept(null);
+ }
}
// Trick Mockito into finding our Addons methods correctly. W/o this
diff --git a/tests/common/com/android/documentsui/testing/TestActionHandler.java b/tests/common/com/android/documentsui/testing/TestActionHandler.java
index 4912475..c09e0b0 100644
--- a/tests/common/com/android/documentsui/testing/TestActionHandler.java
+++ b/tests/common/com/android/documentsui/testing/TestActionHandler.java
@@ -28,8 +28,6 @@
public class TestActionHandler extends AbstractActionHandler<TestActivity> {
public final TestEventHandler<DocumentDetails> open = new TestEventHandler<>();
- public final TestEventHandler<DocumentDetails> view = new TestEventHandler<>();
- public final TestEventHandler<DocumentDetails> preview = new TestEventHandler<>();
public boolean mDeleteHappened;
public TestActionHandler() {
@@ -48,21 +46,11 @@
}
@Override
- public boolean openDocument(DocumentDetails doc) {
+ public boolean openDocument(DocumentDetails doc, @ViewType int type, @ViewType int fallback) {
return open.accept(doc);
}
@Override
- public boolean viewDocument(DocumentDetails doc) {
- return view.accept(doc);
- }
-
- @Override
- public boolean previewDocument(DocumentDetails doc) {
- return preview.accept(doc);
- }
-
- @Override
public void deleteSelectedDocuments() {
mDeleteHappened = true;
}
diff --git a/tests/common/com/android/documentsui/testing/TestDocumentsAccess.java b/tests/common/com/android/documentsui/testing/TestDocumentsAccess.java
index 890af24..266a06b 100644
--- a/tests/common/com/android/documentsui/testing/TestDocumentsAccess.java
+++ b/tests/common/com/android/documentsui/testing/TestDocumentsAccess.java
@@ -15,9 +15,13 @@
*/
package com.android.documentsui.testing;
+import static junit.framework.Assert.assertEquals;
+
import android.net.Uri;
import android.os.RemoteException;
+import android.provider.DocumentsContract;
import android.provider.DocumentsContract.Path;
+import android.util.Pair;
import com.android.documentsui.DocumentsAccess;
import com.android.documentsui.base.DocumentInfo;
@@ -38,6 +42,8 @@
public TestEventHandler<Uri> lastUri = new TestEventHandler<>();
+ private Pair<DocumentInfo, DocumentInfo> mLastCreatedDoc;
+
@Override
public DocumentInfo getRootDocument(RootInfo root) {
return nextRootDocument;
@@ -54,6 +60,20 @@
}
@Override
+ public Uri createDocument(DocumentInfo parentDoc, String mimeType, String displayName) {
+ final DocumentInfo child = new DocumentInfo();
+ child.authority = parentDoc.authority;
+ child.mimeType = mimeType;
+ child.displayName = displayName;
+ child.documentId = displayName;
+ child.derivedUri = DocumentsContract.buildDocumentUri(child.authority, displayName);
+
+ mLastCreatedDoc = Pair.create(parentDoc, child);
+
+ return child.derivedUri;
+ }
+
+ @Override
public DocumentInfo getArchiveDocument(Uri uri) {
return nextDocument;
}
@@ -68,4 +88,14 @@
lastUri.accept(docUri);
return nextPath;
}
+
+ public void assertCreatedDocument(DocumentInfo parent, String mimeType, String displayName) {
+ assertEquals(parent, mLastCreatedDoc.first);
+ assertEquals(mimeType, mLastCreatedDoc.second.mimeType);
+ assertEquals(displayName, mLastCreatedDoc.second.displayName);
+ }
+
+ public @Nullable Uri getLastCreatedDocumentUri() {
+ return mLastCreatedDoc.second.derivedUri;
+ }
}
diff --git a/tests/common/com/android/documentsui/testing/TestEnv.java b/tests/common/com/android/documentsui/testing/TestEnv.java
index 9738d3c..54e91ca 100644
--- a/tests/common/com/android/documentsui/testing/TestEnv.java
+++ b/tests/common/com/android/documentsui/testing/TestEnv.java
@@ -61,6 +61,7 @@
public final TestRootsAccess roots = new TestRootsAccess();
public final TestDocumentsAccess docs = new TestDocumentsAccess();
public final TestFocusHandler focusHandler = new TestFocusHandler();
+ public final TestDialogController dialogs = new TestDialogController();
public final TestModel model;
public final TestModel archiveModel;
public final SelectionManager selectionMgr;
@@ -84,7 +85,7 @@
new TestActivityConfig(),
null, //ScopedPreferences are not required for tests
null, //a MessageBuilder is not required for tests
- new TestDialogController(),
+ dialogs,
model);
injector.selectionMgr = selectionMgr;
injector.focusManager = new FocusManager(features, selectionMgr, null, null, 0);
@@ -158,17 +159,7 @@
}
public void beforeAsserts() throws Exception {
- // We need to wait on all AsyncTasks to finish AND to post results back.
- // *** Results are posted on main thread ***, but tests run in their own
- // thread. So even with our test executor we still have races.
- //
- // To work around this issue post our own runnable to the main thread
- // which we presume will be the *last* runnable (after any from AsyncTasks)
- // and then wait for our runnable to be called.
- CountDownLatch latch = new CountDownLatch(1);
- mExecutor.runAll();
- new Handler(Looper.getMainLooper()).post(latch::countDown);
- latch.await();
+ mExecutor.waitForTasks(30000); // 30 secs
}
public Executor lookupExecutor(String authority) {
diff --git a/tests/common/com/android/documentsui/testing/TestScheduledExecutorService.java b/tests/common/com/android/documentsui/testing/TestScheduledExecutorService.java
index bc05d4c..bc008b0 100644
--- a/tests/common/com/android/documentsui/testing/TestScheduledExecutorService.java
+++ b/tests/common/com/android/documentsui/testing/TestScheduledExecutorService.java
@@ -17,13 +17,18 @@
package com.android.documentsui.testing;
import static junit.framework.Assert.assertFalse;
-import static junit.framework.Assert.fail;
+import static junit.framework.Assert.assertTrue;
+
+import android.os.Handler;
+import android.os.Looper;
+import android.os.SystemClock;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Iterator;
+import java.util.Collections;
import java.util.List;
import java.util.concurrent.Callable;
+import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Delayed;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
@@ -45,13 +50,11 @@
@Override
public List<Runnable> shutdownNow() {
this.shutdown = true;
- return new ArrayList<>();
+ return Collections.emptyList();
}
public void assertShutdown() {
- if (!shutdown) {
- fail("Executor wasn't shut down.");
- }
+ assertTrue("Executor wasn't shut down.", shutdown);
}
@Override
@@ -138,13 +141,9 @@
}
public void runAll() {
- final Iterator<TestFuture> iter = scheduled.iterator();
- while (iter.hasNext()) {
- TestFuture future = iter.next();
+ while (!scheduled.isEmpty()) {
+ TestFuture future = scheduled.remove(scheduled.size() - 1);
future.runnable.run();
-
- // Remove the job from scheduled after it finishes.
- iter.remove();
}
}
@@ -158,6 +157,28 @@
assertFalse(isShutdown());
}
+ public void waitForTasks(long millisTimeout) throws Exception {
+ millisTimeout = (millisTimeout > 0) ? millisTimeout : Long.MAX_VALUE;
+
+ final long startTime = SystemClock.uptimeMillis();
+
+ // We need to wait on all AsyncTasks to finish AND to post results back.
+ // *** Results are posted on main thread ***, but tests run in their own
+ // thread. So even with our test executor we still have races.
+ //
+ // To work around this issue post our own runnable to the main thread
+ // which we presume will be the *last* runnable (after any from AsyncTasks)
+ // and then wait for our runnable to be called.
+ while (!scheduled.isEmpty() && millisTimeout > 0) {
+ CountDownLatch latch = new CountDownLatch(1);
+ runAll();
+ new Handler(Looper.getMainLooper()).post(latch::countDown);
+ latch.await(millisTimeout, TimeUnit.MILLISECONDS);
+
+ millisTimeout -= (SystemClock.uptimeMillis() - startTime);
+ }
+ }
+
static class TestFuture implements ScheduledFuture<Void> {
final Runnable runnable;
diff --git a/tests/unit/com/android/documentsui/AbstractActionHandlerTest.java b/tests/unit/com/android/documentsui/AbstractActionHandlerTest.java
index 2a25953..df59197 100644
--- a/tests/unit/com/android/documentsui/AbstractActionHandlerTest.java
+++ b/tests/unit/com/android/documentsui/AbstractActionHandlerTest.java
@@ -77,7 +77,8 @@
}
@Override
- public boolean openDocument(DocumentDetails doc) {
+ public boolean openDocument(DocumentDetails doc, @ViewType int type,
+ @ViewType int fallback) {
throw new UnsupportedOperationException();
}
diff --git a/tests/unit/com/android/documentsui/dirlist/UserInputHandler_MouseTest.java b/tests/unit/com/android/documentsui/dirlist/UserInputHandler_MouseTest.java
index 6aff697..68677d3 100644
--- a/tests/unit/com/android/documentsui/dirlist/UserInputHandler_MouseTest.java
+++ b/tests/unit/com/android/documentsui/dirlist/UserInputHandler_MouseTest.java
@@ -186,9 +186,9 @@
// to have a deterministic state.
@Test
- public void testDoubleClick_Views() {
+ public void testDoubleClick_Opens() {
mInputHandler.onDoubleTap(mEvent.at(11).build());
- mActionHandler.view.assertLastArgument(mEvent.build().getDocumentDetails());
+ mActionHandler.open.assertLastArgument(mEvent.build().getDocumentDetails());
}
@Test
diff --git a/tests/unit/com/android/documentsui/files/ActionHandlerTest.java b/tests/unit/com/android/documentsui/files/ActionHandlerTest.java
index 59cfab0..6f77f15 100644
--- a/tests/unit/com/android/documentsui/files/ActionHandlerTest.java
+++ b/tests/unit/com/android/documentsui/files/ActionHandlerTest.java
@@ -48,6 +48,7 @@
import com.android.documentsui.testing.ClipDatas;
import com.android.documentsui.testing.DocumentStackAsserts;
import com.android.documentsui.testing.Roots;
+import com.android.documentsui.testing.TestActivityConfig;
import com.android.documentsui.testing.TestConfirmationCallback;
import com.android.documentsui.testing.TestDocumentClipper;
import com.android.documentsui.testing.TestEnv;
@@ -83,6 +84,7 @@
mDialogs = new TestDialogController();
mCallback = new TestConfirmationCallback();
mEnv.roots.configurePm(mActivity.packageMgr);
+ ((TestActivityConfig) mEnv.injector.config).nextDocumentEnabled = true;
mEnv.injector.dialogs = mDialogs;
mClipper = new TestDocumentClipper();
@@ -257,7 +259,8 @@
public void testDocumentPicked_DefaultsToView() throws Exception {
mActivity.currentRoot = TestRootsAccess.HOME;
- mHandler.onDocumentPicked(TestEnv.FILE_GIF);
+ mHandler.openDocument(TestEnv.FILE_GIF, ActionHandler.VIEW_TYPE_PREVIEW,
+ ActionHandler.VIEW_TYPE_REGULAR);
mActivity.assertActivityStarted(Intent.ACTION_VIEW);
}
@@ -266,7 +269,8 @@
mActivity.resources.setQuickViewerPackage("corptropolis.viewer");
mActivity.currentRoot = TestRootsAccess.HOME;
- mHandler.onDocumentPicked(TestEnv.FILE_IN_ARCHIVE);
+ mHandler.openDocument(TestEnv.FILE_IN_ARCHIVE, ActionHandler.VIEW_TYPE_PREVIEW,
+ ActionHandler.VIEW_TYPE_REGULAR);
mActivity.assertActivityStarted(Intent.ACTION_QUICK_VIEW);
}
@@ -274,7 +278,8 @@
public void testDocumentPicked_InArchive_Unopenable() throws Exception {
mActivity.currentRoot = TestRootsAccess.HOME;
- mHandler.onDocumentPicked(TestEnv.FILE_IN_ARCHIVE);
+ mHandler.openDocument(TestEnv.FILE_IN_ARCHIVE, ActionHandler.VIEW_TYPE_PREVIEW,
+ ActionHandler.VIEW_TYPE_REGULAR);
mDialogs.assertViewInArchivesShownUnsupported();
}
@@ -283,7 +288,8 @@
mActivity.resources.setQuickViewerPackage("corptropolis.viewer");
mActivity.currentRoot = TestRootsAccess.HOME;
- mHandler.onDocumentPicked(TestEnv.FILE_GIF);
+ mHandler.openDocument(TestEnv.FILE_GIF, ActionHandler.VIEW_TYPE_PREVIEW,
+ ActionHandler.VIEW_TYPE_REGULAR);
mActivity.assertActivityStarted(Intent.ACTION_QUICK_VIEW);
}
@@ -291,7 +297,8 @@
public void testDocumentPicked_Downloads_ManagesApks() throws Exception {
mActivity.currentRoot = TestRootsAccess.DOWNLOADS;
- mHandler.onDocumentPicked(TestEnv.FILE_APK);
+ mHandler.openDocument(TestEnv.FILE_APK, ActionHandler.VIEW_TYPE_PREVIEW,
+ ActionHandler.VIEW_TYPE_REGULAR);
mActivity.assertActivityStarted(DocumentsContract.ACTION_MANAGE_DOCUMENT);
}
@@ -299,7 +306,8 @@
public void testDocumentPicked_Downloads_ManagesPartialFiles() throws Exception {
mActivity.currentRoot = TestRootsAccess.DOWNLOADS;
- mHandler.onDocumentPicked(TestEnv.FILE_PARTIAL);
+ mHandler.openDocument(TestEnv.FILE_PARTIAL, ActionHandler.VIEW_TYPE_PREVIEW,
+ ActionHandler.VIEW_TYPE_REGULAR);
mActivity.assertActivityStarted(DocumentsContract.ACTION_MANAGE_DOCUMENT);
}
@@ -308,7 +316,8 @@
mActivity.currentRoot = TestRootsAccess.HOME;
mEnv.docs.nextDocument = TestEnv.FILE_ARCHIVE;
- mHandler.onDocumentPicked(TestEnv.FILE_ARCHIVE);
+ mHandler.openDocument(TestEnv.FILE_ARCHIVE, ActionHandler.VIEW_TYPE_PREVIEW,
+ ActionHandler.VIEW_TYPE_REGULAR);
assertEquals(TestEnv.FILE_ARCHIVE, mEnv.state.stack.peek());
}
@@ -316,7 +325,8 @@
public void testDocumentPicked_OpensDirectories() throws Exception {
mActivity.currentRoot = TestRootsAccess.HOME;
- mHandler.onDocumentPicked(TestEnv.FOLDER_1);
+ mHandler.openDocument(TestEnv.FOLDER_1, ActionHandler.VIEW_TYPE_PREVIEW,
+ ActionHandler.VIEW_TYPE_REGULAR);
assertEquals(TestEnv.FOLDER_1, mEnv.state.stack.peek());
}
diff --git a/tests/unit/com/android/documentsui/picker/ActionHandlerTest.java b/tests/unit/com/android/documentsui/picker/ActionHandlerTest.java
index bc6cd3c..c65976c 100644
--- a/tests/unit/com/android/documentsui/picker/ActionHandlerTest.java
+++ b/tests/unit/com/android/documentsui/picker/ActionHandlerTest.java
@@ -16,17 +16,23 @@
package com.android.documentsui.picker;
+import static junit.framework.Assert.assertTrue;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import android.app.Activity;
+import android.content.ClipData;
import android.content.Intent;
import android.net.Uri;
+import android.os.AsyncTask;
import android.provider.DocumentsContract;
import android.provider.DocumentsContract.Path;
import android.support.test.filters.MediumTest;
import android.support.test.runner.AndroidJUnit4;
import com.android.documentsui.R;
+import com.android.documentsui.base.DocumentStack;
import com.android.documentsui.base.RootInfo;
import com.android.documentsui.base.Shared;
import com.android.documentsui.base.State;
@@ -35,8 +41,8 @@
import com.android.documentsui.testing.TestEnv;
import com.android.documentsui.testing.TestRootsAccess;
import com.android.documentsui.testing.TestLastAccessedStorage;
-import com.android.documentsui.ui.TestDialogController;
+import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -49,7 +55,6 @@
private TestEnv mEnv;
private TestActivity mActivity;
- private TestDialogController mDialogs;
private ActionHandler<TestActivity> mHandler;
private TestLastAccessedStorage mLastAccessed;
@@ -57,7 +62,6 @@
public void setUp() {
mEnv = TestEnv.create();
mActivity = TestActivity.create(mEnv);
- mDialogs = new TestDialogController();
mEnv.roots.configurePm(mActivity.packageMgr);
mLastAccessed = new TestLastAccessedStorage();
@@ -72,9 +76,16 @@
mLastAccessed
);
- mDialogs.confirmNext();
+ mEnv.dialogs.confirmNext();
mEnv.selectionMgr.toggleSelection("1");
+
+ AsyncTask.setDefaultExecutor(mEnv.mExecutor);
+ }
+
+ @AfterClass
+ public static void tearDownOnce() {
+ AsyncTask.setDefaultExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
@Test
@@ -123,30 +134,43 @@
}
@Test
- public void testOnLastAccessedStackLoaded_defaultToRecents_getContent() throws Exception {
- testOnLastAccessedStackLoaded_defaultToRecentsOnAction(State.ACTION_GET_CONTENT);
+ public void testInitLocation_RestoresLastAccessedStack() throws Exception {
+ final DocumentStack stack =
+ new DocumentStack(TestRootsAccess.HAMMY, TestEnv.FOLDER_0, TestEnv.FOLDER_1);
+ mLastAccessed.setLastAccessed(mActivity, stack);
+
+ mHandler.initLocation(mActivity.getIntent());
+
+ mEnv.beforeAsserts();
+ assertEquals(stack, mEnv.state.stack);
+ mActivity.refreshCurrentRootAndDirectory.assertCalled();
}
@Test
- public void testOnLastAccessedStackLoaded_defaultToRecents_open() throws Exception {
- testOnLastAccessedStackLoaded_defaultToRecentsOnAction(State.ACTION_OPEN);
+ public void testInitLocation_DefaultToRecents_ActionGetContent() throws Exception {
+ testInitLocationDefaultToRecentsOnAction(State.ACTION_GET_CONTENT);
}
@Test
- public void testOnLastAccessedStackLoaded_defaultToRecents_openTree() throws Exception {
- testOnLastAccessedStackLoaded_defaultToRecentsOnAction(State.ACTION_OPEN_TREE);
+ public void testInitLocation_DefaultToRecents_ActionOpen() throws Exception {
+ testInitLocationDefaultToRecentsOnAction(State.ACTION_OPEN);
}
@Test
- public void testOnLastAccessedStackLoaded_DefaultsToDownloads_create() throws Exception {
- testOnLastAccessedStackLoaded_defaultToDownloadsOnAction(State.ACTION_CREATE);
+ public void testInitLocation_DefaultToRecents_ActionOpenTree() throws Exception {
+ testInitLocationDefaultToRecentsOnAction(State.ACTION_OPEN_TREE);
}
@Test
- public void testOnLastAccessedStackLoaded_DefaultsToDownloads_pickCopyDestination()
- throws Exception {
- testOnLastAccessedStackLoaded_defaultToDownloadsOnAction(
- State.ACTION_PICK_COPY_DESTINATION);
+ public void testInitLocation_DefaultsToDownloads_ActionCreate() throws Exception {
+ mEnv.state.action = State.ACTION_CREATE;
+ mActivity.resources.bools.put(R.bool.show_documents_root, false);
+
+ mActivity.refreshCurrentRootAndDirectory.assertNotCalled();
+
+ mHandler.initLocation(mActivity.getIntent());
+
+ assertRootPicked(TestRootsAccess.DOWNLOADS.getUri());
}
@Test
@@ -158,24 +182,241 @@
mActivity.refreshCurrentRootAndDirectory.assertCalled();
}
- private void testOnLastAccessedStackLoaded_defaultToRecentsOnAction(@ActionType int action) {
- mEnv.state.action = action;
- mActivity.refreshCurrentRootAndDirectory.assertNotCalled();
+ @Test
+ public void testPickDocument_SetsCorrectResultAndFinishes_ActionPickCopyDestination()
+ throws Exception {
- mHandler.onLastAccessedStackLoaded(null);
+ mEnv.state.action = State.ACTION_PICK_COPY_DESTINATION;
+ mEnv.state.stack.changeRoot(TestRootsAccess.HOME);
+ mEnv.state.stack.push(TestEnv.FOLDER_1);
+ mEnv.state.stack.push(TestEnv.FOLDER_2);
- assertEquals(TestRootsAccess.RECENTS, mEnv.state.stack.getRoot());
- mActivity.refreshCurrentRootAndDirectory.assertCalled();
+ mActivity.finishedHandler.assertNotCalled();
+
+ mHandler.pickDocument(TestEnv.FOLDER_2);
+
+ mEnv.beforeAsserts();
+
+ assertLastAccessedStackUpdated();
+
+ assertEquals(Activity.RESULT_OK, (long) mActivity.setResult.getLastValue().first);
+ final Intent result = mActivity.setResult.getLastValue().second;
+ assertPermission(result, Intent.FLAG_GRANT_READ_URI_PERMISSION, false);
+ assertPermission(result, Intent.FLAG_GRANT_WRITE_URI_PERMISSION, false);
+ assertPermission(result, Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION, false);
+ assertPermission(result, Intent.FLAG_GRANT_PREFIX_URI_PERMISSION, false);
+ assertContent(result, TestEnv.FOLDER_2.derivedUri);
+
+ mActivity.finishedHandler.assertCalled();
}
- private void testOnLastAccessedStackLoaded_defaultToDownloadsOnAction(@ActionType int action)
+ @Test
+ public void testPickDocument_SetsCorrectResultAndFinishes_ActionOpenTree() throws Exception {
+ mEnv.state.action = State.ACTION_OPEN_TREE;
+ mEnv.state.stack.changeRoot(TestRootsAccess.HOME);
+ mEnv.state.stack.push(TestEnv.FOLDER_1);
+ mEnv.state.stack.push(TestEnv.FOLDER_2);
+
+ mActivity.finishedHandler.assertNotCalled();
+
+ mHandler.pickDocument(TestEnv.FOLDER_2);
+
+ mEnv.beforeAsserts();
+
+ assertLastAccessedStackUpdated();
+
+ assertEquals(Activity.RESULT_OK, (long) mActivity.setResult.getLastValue().first);
+ final Intent result = mActivity.setResult.getLastValue().second;
+ assertPermission(result, Intent.FLAG_GRANT_READ_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_WRITE_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_PREFIX_URI_PERMISSION, true);
+ assertContent(result, DocumentsContract.buildTreeDocumentUri(
+ TestRootsAccess.HOME.authority, TestEnv.FOLDER_2.documentId));
+
+ mActivity.finishedHandler.assertCalled();
+ }
+
+ @Test
+ public void testSaveDocument_SetsCorrectResultAndFinishes() throws Exception {
+ mEnv.state.action = State.ACTION_CREATE;
+ mEnv.state.stack.changeRoot(TestRootsAccess.HOME);
+ mEnv.state.stack.push(TestEnv.FOLDER_1);
+
+ final String mimeType = "audio/aac";
+ final String displayName = "foobar.m4a";
+
+ mHandler.saveDocument(mimeType, displayName, (boolean inProgress) -> {});
+
+ mEnv.beforeAsserts();
+
+ mEnv.docs.assertCreatedDocument(TestEnv.FOLDER_1, mimeType, displayName);
+ final Uri docUri = mEnv.docs.getLastCreatedDocumentUri();
+
+ assertLastAccessedStackUpdated();
+
+ assertEquals(Activity.RESULT_OK, (long) mActivity.setResult.getLastValue().first);
+ final Intent result = mActivity.setResult.getLastValue().second;
+ assertPermission(result, Intent.FLAG_GRANT_READ_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_WRITE_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_PREFIX_URI_PERMISSION, false);
+ assertContent(result, docUri);
+
+ mActivity.finishedHandler.assertCalled();
+ }
+
+ @Test
+ public void testSaveDocument_ConfirmsOverwrite() {
+ mEnv.state.action = State.ACTION_CREATE;
+ mEnv.state.stack.changeRoot(TestRootsAccess.HOME);
+ mEnv.state.stack.push(TestEnv.FOLDER_1);
+
+ mHandler.saveDocument(null, TestEnv.FILE_JPG);
+
+ mEnv.dialogs.assertOverwriteConfirmed(TestEnv.FILE_JPG);
+ }
+
+ @Test
+ public void testFinishPicking_SetsCorrectResultAndFinishes_ActionGetContent() throws Exception {
+ mEnv.state.action = State.ACTION_GET_CONTENT;
+ mEnv.state.stack.changeRoot(TestRootsAccess.HOME);
+ mEnv.state.stack.push(TestEnv.FOLDER_1);
+
+ mActivity.finishedHandler.assertNotCalled();
+
+ mHandler.finishPicking(TestEnv.FILE_JPG.derivedUri);
+
+ mEnv.beforeAsserts();
+
+ assertLastAccessedStackUpdated();
+
+ assertEquals(Activity.RESULT_OK, (long) mActivity.setResult.getLastValue().first);
+ final Intent result = mActivity.setResult.getLastValue().second;
+ assertPermission(result, Intent.FLAG_GRANT_READ_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_WRITE_URI_PERMISSION, false);
+ assertPermission(result, Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION, false);
+ assertPermission(result, Intent.FLAG_GRANT_PREFIX_URI_PERMISSION, false);
+ assertContent(result, TestEnv.FILE_JPG.derivedUri);
+
+ mActivity.finishedHandler.assertCalled();
+ }
+
+ @Test
+ public void testFinishPicking_SetsCorrectResultAndFinishes_ActionGetContent_MultipleSelection()
+ throws Exception {
+ mEnv.state.action = State.ACTION_GET_CONTENT;
+ mEnv.state.stack.changeRoot(TestRootsAccess.HOME);
+ mEnv.state.stack.push(TestEnv.FOLDER_1);
+ mEnv.state.acceptMimes = new String[] { "image/*" };
+
+ mActivity.finishedHandler.assertNotCalled();
+
+ mHandler.finishPicking(TestEnv.FILE_JPG.derivedUri, TestEnv.FILE_GIF.derivedUri);
+
+ mEnv.beforeAsserts();
+
+ assertLastAccessedStackUpdated();
+
+ assertEquals(Activity.RESULT_OK, (long) mActivity.setResult.getLastValue().first);
+ final Intent result = mActivity.setResult.getLastValue().second;
+ assertPermission(result, Intent.FLAG_GRANT_READ_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_WRITE_URI_PERMISSION, false);
+ assertPermission(result, Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION, false);
+ assertPermission(result, Intent.FLAG_GRANT_PREFIX_URI_PERMISSION, false);
+ assertContent(result, TestEnv.FILE_JPG.derivedUri, TestEnv.FILE_GIF.derivedUri);
+
+ mActivity.finishedHandler.assertCalled();
+ }
+
+ @Test
+ public void testFinishPicking_SetsCorrectResultAndFinishes_ActionOpen() throws Exception {
+ mEnv.state.action = State.ACTION_OPEN;
+ mEnv.state.stack.changeRoot(TestRootsAccess.HOME);
+ mEnv.state.stack.push(TestEnv.FOLDER_1);
+
+ mActivity.finishedHandler.assertNotCalled();
+
+ mHandler.finishPicking(TestEnv.FILE_JPG.derivedUri);
+
+ mEnv.beforeAsserts();
+
+ assertLastAccessedStackUpdated();
+
+ assertEquals(Activity.RESULT_OK, (long) mActivity.setResult.getLastValue().first);
+ final Intent result = mActivity.setResult.getLastValue().second;
+ assertPermission(result, Intent.FLAG_GRANT_READ_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_WRITE_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_PREFIX_URI_PERMISSION, false);
+ assertContent(result, TestEnv.FILE_JPG.derivedUri);
+
+ mActivity.finishedHandler.assertCalled();
+ }
+
+ @Test
+ public void testFinishPicking_SetsCorrectResultAndFinishes_ActionOpen_MultipleSelection()
+ throws Exception {
+ mEnv.state.action = State.ACTION_OPEN;
+ mEnv.state.stack.changeRoot(TestRootsAccess.HOME);
+ mEnv.state.stack.push(TestEnv.FOLDER_1);
+ mEnv.state.acceptMimes = new String[] { "image/*" };
+
+ mActivity.finishedHandler.assertNotCalled();
+
+ mHandler.finishPicking(TestEnv.FILE_JPG.derivedUri, TestEnv.FILE_GIF.derivedUri);
+
+ mEnv.beforeAsserts();
+
+ assertLastAccessedStackUpdated();
+
+ assertEquals(Activity.RESULT_OK, (long) mActivity.setResult.getLastValue().first);
+ final Intent result = mActivity.setResult.getLastValue().second;
+ assertPermission(result, Intent.FLAG_GRANT_READ_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_WRITE_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_PREFIX_URI_PERMISSION, false);
+ assertContent(result, TestEnv.FILE_JPG.derivedUri, TestEnv.FILE_GIF.derivedUri);
+
+ mActivity.finishedHandler.assertCalled();
+ }
+
+ @Test
+ public void testFinishPicking_SetsCorrectResultAndFinishes_ActionCreate() throws Exception {
+ mEnv.state.action = State.ACTION_CREATE;
+ mEnv.state.stack.changeRoot(TestRootsAccess.HOME);
+ mEnv.state.stack.push(TestEnv.FOLDER_1);
+
+ mActivity.finishedHandler.assertNotCalled();
+
+ mHandler.finishPicking(TestEnv.FILE_JPG.derivedUri);
+
+ mEnv.beforeAsserts();
+
+ assertLastAccessedStackUpdated();
+
+ assertEquals(Activity.RESULT_OK, (long) mActivity.setResult.getLastValue().first);
+ final Intent result = mActivity.setResult.getLastValue().second;
+ assertPermission(result, Intent.FLAG_GRANT_READ_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_WRITE_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION, true);
+ assertPermission(result, Intent.FLAG_GRANT_PREFIX_URI_PERMISSION, false);
+ assertContent(result, TestEnv.FILE_JPG.derivedUri);
+
+ mActivity.finishedHandler.assertCalled();
+ }
+
+ private void testInitLocationDefaultToRecentsOnAction(@ActionType int action)
throws Exception {
mEnv.state.action = action;
+
mActivity.refreshCurrentRootAndDirectory.assertNotCalled();
- mHandler.onLastAccessedStackLoaded(null);
+ mHandler.initLocation(mActivity.getIntent());
- assertRootPicked(TestRootsAccess.DOWNLOADS.getUri());
+ mEnv.beforeAsserts();
+ assertEquals(TestRootsAccess.RECENTS, mEnv.state.stack.getRoot());
+ mActivity.refreshCurrentRootAndDirectory.assertCalled();
}
private void assertRootPicked(Uri expectedUri) throws Exception {
@@ -186,4 +427,35 @@
assertNotNull(root);
assertEquals(expectedUri, root.getUri());
}
+
+ private void assertLastAccessedStackUpdated() {
+ assertEquals(
+ mEnv.state.stack, mLastAccessed.getLastAccessed(mActivity, mEnv.roots, mEnv.state));
+ }
+
+ private void assertPermission(Intent intent, int permission, boolean granted) {
+ int flags = intent.getFlags();
+
+ if (granted) {
+ assertEquals(permission, flags & permission);
+ } else {
+ assertEquals(0, flags & permission);
+ }
+ }
+
+ private void assertContent(Intent intent, Uri... contents) {
+ if (contents.length == 1) {
+ assertEquals(contents[0], intent.getData());
+ } else {
+ ClipData clipData = intent.getClipData();
+
+ assertNotNull(clipData);
+ for (int i = 0; i < mEnv.state.acceptMimes.length; ++i) {
+ assertEquals(mEnv.state.acceptMimes[i], clipData.getDescription().getMimeType(i));
+ }
+ for (int i = 0; i < contents.length; ++i) {
+ assertEquals(contents[i], clipData.getItemAt(i).getUri());
+ }
+ }
+ }
}
diff --git a/tests/unit/com/android/documentsui/picker/TestActivity.java b/tests/unit/com/android/documentsui/picker/TestActivity.java
index b1622ae..8ce91b8 100644
--- a/tests/unit/com/android/documentsui/picker/TestActivity.java
+++ b/tests/unit/com/android/documentsui/picker/TestActivity.java
@@ -16,17 +16,35 @@
package com.android.documentsui.picker;
+import android.content.Intent;
+import android.util.Pair;
+
import com.android.documentsui.testing.TestEnv;
+import com.android.documentsui.testing.TestEventListener;
import org.mockito.Mockito;
public abstract class TestActivity extends AbstractBase {
+ public TestEventListener<Pair<Integer, Intent>> setResult;
+
public static TestActivity create(TestEnv env) {
TestActivity activity = Mockito.mock(TestActivity.class, Mockito.CALLS_REAL_METHODS);
activity.init(env);
return activity;
}
+
+ @Override
+ public void init(TestEnv env) {
+ super.init(env);
+
+ setResult = new TestEventListener<>();
+ }
+
+ @Override
+ public void setResult(int resultCode, Intent intent, int notUsed) {
+ setResult.accept(Pair.create(resultCode, intent));
+ }
}
// Trick Mockito into finding our Addons methods correctly. W/o this