Merge "Merge Android Pie into master"
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index c028bb1..19867c4 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -30,7 +30,7 @@
     <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"الاحتفاظ بمساحة في ذاكرة التخزين المؤقت للتنزيل"</string>
     <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"للسماح للتطبيق بتنزيل الملفات إلى ذاكرة التخزين المؤقت للتنزيل والتي لا يمكن حذفها تلقائيًا عندما تكون إدارة التنزيل في حاجة إلى مساحة أكبر."</string>
     <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"تنزيل الملفات بدون تنبيه"</string>
-    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"للسماح للتطبيق بتنزيل ملفات من خلال إدارة التنزيل بدون عرض أية اشعارات للمستخدم."</string>
+    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"للسماح للتطبيق بتنزيل ملفات من خلال إدارة التنزيل بدون عرض أي اشعارات للمستخدم."</string>
     <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"الدخول إلى جميع تنزيلات النظام"</string>
     <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"للسماح للتطبيق بعرض وتعديل جميع التنزيلات التي بدأت من خلال أي تطبيق على النظام."</string>
     <string name="download_unknown_title" msgid="7015124071247271585">"‏&lt;بلا عنوان&gt;"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 607aa4d..ec099f7 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -19,46 +19,46 @@
     <string name="app_label" msgid="3658948994665187911">"Upravitelj za preuzimanja"</string>
     <string name="storage_description" msgid="7982444311558023664">"Preuzimanja"</string>
     <string name="permlab_downloadManager" msgid="7779544811202855500">"Pristupite upravitelju za preuzimanja."</string>
-    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Dopušta aplikacijama da pristupaju upravitelju za preuzimanja i koriste ga za preuzimanje datoteka. Zlonamjerne aplikacije to mogu koristiti da poremete preuzimanja i pristupaju privatnim informacijama."</string>
+    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Dopušta aplikacijama da pristupaju upravitelju za preuzimanja i koriste ga za preuzimanje fajlova. Zlonamjerne aplikacije to mogu koristiti da poremete preuzimanja i pristupaju privatnim informacijama."</string>
     <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Napredne funkcije upravitelja za preuzimanja."</string>
     <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"Dopušta aplikaciji da pristupa naprednim funkcijama upravitelja za preuzimanja. Zlonamjerne aplikacije to mogu koristiti da poremete preuzimanja i pristupaju privatnim informacijama."</string>
     <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Šaljite obavještenja o preuzimanju."</string>
-    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Dopušta aplikaciji da šalje obavještenja o završenim ažuriranjima. Zlonamjerne aplikacije ovo mogu koristiti da zbune druge aplikacije koje preuzimaju datoteke."</string>
+    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Dopušta aplikaciji da šalje obavještenja o završenim ažuriranjima. Zlonamjerne aplikacije ovo mogu koristiti da zbune druge aplikacije koje preuzimaju fajlove."</string>
     <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"Prikaži sva preuzimanja na USB pohranu"</string>
     <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"Prikaži sva preuzimanja na SD karticu"</string>
     <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Dopušta aplikaciji da vidi sva preuzimanja na SD kartici, bez obzira na to koja ih je aplikacija izvršila."</string>
     <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Rezerviraj mjesto u keš memoriji preuzimanja"</string>
-    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Dopušta aplikaciji da preuzme datoteke u keš memoriju preuzimanja, koja se ne može automatski izbrisati kada upravitelju za preuzimanja treba više prostora."</string>
-    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"preuzimanje datoteka bez obavještenja"</string>
-    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Dopušta aplikaciji da preuzima datoteke preko upravitelja za preuzimanja bez prikazivanja obavještenja korisniku."</string>
+    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Dopušta aplikaciji da preuzme fajlove u keš memoriju preuzimanja, koja se ne može automatski izbrisati kada upravitelju za preuzimanja treba više prostora."</string>
+    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"preuzimanje fajlova bez obavještenja"</string>
+    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Dopušta aplikaciji da preuzima fajlove preko upravitelja za preuzimanja bez prikazivanja obavještenja korisniku."</string>
     <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Pristup svim preuzimanjima sistema"</string>
     <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Dopušta aplikaciji da prikaže i modificira sva preuzimanja koja pokrene bilo koja aplikacija u sistemu."</string>
     <string name="download_unknown_title" msgid="7015124071247271585">"&lt;Bez naslova&gt;"</string>
     <string name="notification_download_complete" msgid="5443563299253103667">"Preuzimanje završeno."</string>
     <string name="notification_download_failed" msgid="8612136111952014978">"Preuzimanje neuspješno."</string>
-    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Veličina preuzimanja zahtjeva Wi-Fi."</string>
+    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Veličina preuzimanja zahtjeva WiFi."</string>
     <string name="notification_paused_in_background" msgid="4328508073283591772">"Pauzirano u pozadini."</string>
     <string name="wifi_required_title" msgid="1995971416871498179">"Preuzimanje je preveliko za mrežu operatera"</string>
-    <string name="wifi_required_body" msgid="3067694630143784449">"Morate koristiti Wi-Fi kako biste dovršili ovo preuzimanje od <xliff:g id="SIZE">%s </xliff:g>. \n\nDodirnite <xliff:g id="QUEUE_TEXT">%s </xliff:g> kako biste pokrenuli ovo preuzimanje kada se narednog puta povežete na Wi-Fi mrežu."</string>
-    <string name="wifi_recommended_title" msgid="7441589306734687400">"Staviti u redoslijed za preuzimanje kasnije?"</string>
-    <string name="wifi_recommended_body" msgid="1314735166699936073">"Pokretanje ovog preuzimanja od <xliff:g id="SIZE">%s </xliff:g> sada može skratiti vijek trajanja baterije i/ili dovesti do prekomjernog korištenja mobilne veze za prenos podataka te se može desiti da vam operater naplati troškove ovisno o pretplati za prenos podataka koju imate.\n\n Dodirnite <xliff:g id="QUEUE_TEXT">%s</xliff:g> kako biste pokrenuli ovo preuzimanje kada se narednog puta povežete na Wi-Fi mrežu."</string>
-    <string name="button_queue_for_wifi" msgid="422576726189179221">"Redoslijed"</string>
+    <string name="wifi_required_body" msgid="3067694630143784449">"Morate koristiti WiFi kako biste dovršili ovo preuzimanje od <xliff:g id="SIZE">%s </xliff:g>. \n\nDodirnite <xliff:g id="QUEUE_TEXT">%s </xliff:g> kako biste pokrenuli ovo preuzimanje kada se narednog puta povežete na WiFi mrežu."</string>
+    <string name="wifi_recommended_title" msgid="7441589306734687400">"Staviti na čekanje za preuzimanje kasnije?"</string>
+    <string name="wifi_recommended_body" msgid="1314735166699936073">"Pokretanje ovog preuzimanja od <xliff:g id="SIZE">%s </xliff:g> sada može skratiti vijek trajanja baterije i/ili dovesti do prekomjernog korištenja mobilne veze za prenos podataka te se može desiti da vam operater naplati troškove ovisno o pretplati za prenos podataka koju imate.\n\n Dodirnite <xliff:g id="QUEUE_TEXT">%s</xliff:g> kako biste pokrenuli ovo preuzimanje kada se narednog puta povežete na WiFi mrežu."</string>
+    <string name="button_queue_for_wifi" msgid="422576726189179221">"Red čekanja"</string>
     <string name="button_cancel_download" msgid="2430166148737975604">"Otkaži"</string>
-    <string name="button_start_now" msgid="792123674007840864">"Pokreni sada"</string>
+    <string name="button_start_now" msgid="792123674007840864">"Započni odmah"</string>
     <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173">
-      <item quantity="one">Preuzima se <xliff:g id="NUMBER">%d</xliff:g> datoteka</item>
-      <item quantity="few">Preuzimaju se <xliff:g id="NUMBER">%d</xliff:g> datoteke</item>
-      <item quantity="other">Preuzima se <xliff:g id="NUMBER">%d</xliff:g> datoteka</item>
+      <item quantity="one">Preuzima se <xliff:g id="NUMBER">%d</xliff:g> fajl</item>
+      <item quantity="few">Preuzimaju se <xliff:g id="NUMBER">%d</xliff:g> fajla</item>
+      <item quantity="other">Preuzima se <xliff:g id="NUMBER">%d</xliff:g> fajlova</item>
     </plurals>
     <plurals name="notif_summary_waiting" formatted="false" msgid="2814217662029273005">
-      <item quantity="one"><xliff:g id="NUMBER">%d</xliff:g> datoteka na čekanju</item>
-      <item quantity="few"><xliff:g id="NUMBER">%d</xliff:g> datoteke na čekanju</item>
-      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> datoteka na čekanju</item>
+      <item quantity="one"><xliff:g id="NUMBER">%d</xliff:g> fajl na čekanju</item>
+      <item quantity="few"><xliff:g id="NUMBER">%d</xliff:g> fajla na čekanju</item>
+      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> fajlova na čekanju</item>
     </plurals>
-    <string name="download_remaining" msgid="3139295890887972718">"<xliff:g id="DURATION">%s</xliff:g> lijevo"</string>
+    <string name="download_remaining" msgid="3139295890887972718">"Još <xliff:g id="DURATION">%s</xliff:g>"</string>
     <string name="download_no_application_title" msgid="7935659741162801699">"Nije moguće otvoriti datoteku"</string>
     <string name="root_downloads" msgid="4098414876292351487">"Preuzimanja"</string>
-    <string name="download_queued" msgid="3302638231377947451">"U redoslijedu"</string>
+    <string name="download_queued" msgid="3302638231377947451">"U U redu čekanja"</string>
     <string name="download_running" msgid="3925050393361158266">"U toku"</string>
     <string name="download_error" msgid="5144180777324573236">"Neuspješno"</string>
     <string name="download_running_percent" msgid="4305080769167320204">"U toku, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
new file mode 100644
index 0000000..415a164
--- /dev/null
+++ b/res/values-en-rCA/strings.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="3658948994665187911">"Download Manager"</string>
+    <string name="storage_description" msgid="7982444311558023664">"Downloads"</string>
+    <string name="permlab_downloadManager" msgid="7779544811202855500">"Access download manager."</string>
+    <string name="permdesc_downloadManager" msgid="4237406545998908947">"Allows the app to access the download manager and to use it to download files. Malicious apps can use this to disrupt downloads and access private information."</string>
+    <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Advanced download manager functions."</string>
+    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"Allows the app to access the download manager\'s advanced functions. Malicious apps can use this to disrupt downloads and access private information."</string>
+    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Send download notifications."</string>
+    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Allows the app to send notifications about completed downloads. Malicious apps can use this to confuse other apps that download files."</string>
+    <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"See all downloads to USB storage"</string>
+    <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"See all downloads to SD card"</string>
+    <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Allows the app to see all downloads to the SD card, regardless of which app downloaded them."</string>
+    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Reserve space in the download cache"</string>
+    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Allows the app to download files to the download cache, which can\'t be deleted automatically when the download manager needs more space."</string>
+    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"download files without notification"</string>
+    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Allows the application to download files through the download manager without any notification being shown to the user."</string>
+    <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Access all system downloads"</string>
+    <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Allows the app to view and modify all downloads initiated by any app on the system."</string>
+    <string name="download_unknown_title" msgid="7015124071247271585">"&lt;Untitled&gt;"</string>
+    <string name="notification_download_complete" msgid="5443563299253103667">"Download complete."</string>
+    <string name="notification_download_failed" msgid="8612136111952014978">"Download unsuccessful."</string>
+    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Download size requires Wi-Fi"</string>
+    <string name="notification_paused_in_background" msgid="4328508073283591772">"Paused in background"</string>
+    <string name="wifi_required_title" msgid="1995971416871498179">"Download too large for operator network"</string>
+    <string name="wifi_required_body" msgid="3067694630143784449">"You must use Wi-Fi to complete this <xliff:g id="SIZE">%s </xliff:g> download. \n\nTouch <xliff:g id="QUEUE_TEXT">%s </xliff:g> to start this download the next time that you\'re connected to a Wi-Fi network."</string>
+    <string name="wifi_recommended_title" msgid="7441589306734687400">"Queue for download later?"</string>
+    <string name="wifi_recommended_body" msgid="1314735166699936073">"Starting this <xliff:g id="SIZE">%s </xliff:g> download now may shorten your battery life and/or result in excessive usage of your mobile data connection, which can lead to charges by your mobile operator depending on your data plan.\n\n Touch <xliff:g id="QUEUE_TEXT">%s</xliff:g> to start this download the next time that you\'re connected to a Wi-Fi network."</string>
+    <string name="button_queue_for_wifi" msgid="422576726189179221">"Queue"</string>
+    <string name="button_cancel_download" msgid="2430166148737975604">"Cancel"</string>
+    <string name="button_start_now" msgid="792123674007840864">"Start now"</string>
+    <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173">
+      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> files downloading</item>
+      <item quantity="one">1 file downloading</item>
+    </plurals>
+    <plurals name="notif_summary_waiting" formatted="false" msgid="2814217662029273005">
+      <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> files waiting</item>
+      <item quantity="one">1 file waiting</item>
+    </plurals>
+    <string name="download_remaining" msgid="3139295890887972718">"<xliff:g id="DURATION">%s</xliff:g> left"</string>
+    <string name="download_no_application_title" msgid="7935659741162801699">"Can\'t open file"</string>
+    <string name="root_downloads" msgid="4098414876292351487">"Downloads"</string>
+    <string name="download_queued" msgid="3302638231377947451">"Queued"</string>
+    <string name="download_running" msgid="3925050393361158266">"In progress"</string>
+    <string name="download_error" msgid="5144180777324573236">"Unsuccessful"</string>
+    <string name="download_running_percent" msgid="4305080769167320204">"In progress, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
+</resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
new file mode 100644
index 0000000..e8e9c13
--- /dev/null
+++ b/res/values-en-rXC/strings.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="3658948994665187911">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‎‎‏‏‏‎‎‏‏‎‎‏‎‏‎‏‏‏‎‎‏‏‎‎‎‎‏‏‎‎‏‎‎‏‎‏‎‏‎‎‎‏‎‏‎‎‏‎‎‎‏‏‏‎Download Manager‎‏‎‎‏‎"</string>
+    <string name="storage_description" msgid="7982444311558023664">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‏‏‏‎‏‎‎‏‏‏‏‏‎‎‎‎‎Downloads‎‏‎‎‏‎"</string>
+    <string name="permlab_downloadManager" msgid="7779544811202855500">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‏‏‎‎‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‎‎‏‎‎‏‏‎‎‎Access download manager.‎‏‎‎‏‎"</string>
+    <string name="permdesc_downloadManager" msgid="4237406545998908947">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‎‏‏‏‎‎‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‏‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‎‎‎‎‏‎‎‏‏‎Allows the app to access the download manager and to use it to download files. Malicious apps can use this to disrupt downloads and access private information.‎‏‎‎‏‎"</string>
+    <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‏‎‏‎‏‎‎‏‏‎‏‎‏‏‎‎‎‎‏‎‏‎‎‏‎‏‎‏‎‏‎‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‎‏‏‏‎Advanced download manager functions.‎‏‎‎‏‎"</string>
+    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‎‏‎‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‏‎‏‏‏‎‎‎‎‎‏‏‎‎‏‎‎‏‎Allows the app to access the download manager\'s advanced functions. Malicious apps can use this to disrupt downloads and access private information.‎‏‎‎‏‎"</string>
+    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‎‎‎‏‎‎‎‏‏‏‏‏‎‎‏‎‏‏‏‏‏‎‎‎‏‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‎Send download notifications.‎‏‎‎‏‎"</string>
+    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‎‎‎‏‏‏‏‎‎‏‎‎‎‎‏‎‏‏‏‎‎‏‏‏‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‎‎‏‏‎‏‎Allows the app to send notifications about completed downloads. Malicious apps can use this to confuse other apps that download files.‎‏‎‎‏‎"</string>
+    <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‏‏‏‎‏‎‏‎‎‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‏‎‎‎‎‏‏‎‏‏‎‏‎‏‎‎‎See all downloads to USB storage‎‏‎‎‏‎"</string>
+    <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‎‏‏‏‏‎‎‏‏‎‎‎‎‏‏‎‎‏‏‏‏‎‎See all downloads to SD card‎‏‎‎‏‎"</string>
+    <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‏‏‎‏‏‏‎‎‏‏‎‏‏‎‏‏‎‏‎‏‏‎‎‏‎‎‎‏‏‎‎‏‎‎‏‏‏‎‎‏‎‏‏‏‎‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‎‏‎Allows the app to see all downloads to the SD card, regardless of which app downloaded them.‎‏‎‎‏‎"</string>
+    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‏‏‎‎‏‎‎‏‎‏‏‎‏‎‎‏‏‎‎‎‎‏‏‎‏‏‎‏‎‏‏‎‎‏‎‎‏‏‏‏‎‎‎‎‏‏‎‏‏‎‏‎‎‎Reserve space in the download cache‎‏‎‎‏‎"</string>
+    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‏‏‎‏‏‎‏‎‎‎‏‏‎‎‎‏‏‏‎‎‏‏‏‎‏‏‎‎‎‏‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‎‏‏‎‏‎‎‎Allows the app to download files to the download cache, which can\'t be automatically deleted when the download manager needs more space.‎‏‎‎‏‎"</string>
+    <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‏‎‏‏‎‎‏‎‎‎‏‎‏‎‏‎‎‎‏‏‎‎‏‏‎‎‏‏‎‏‏‏‎‏‏‏‎‏‎‎‎‏‏‏‎‏‏‏‏‎‎download files without notification‎‏‎‎‏‎"</string>
+    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‎‏‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‏‎‏‏‎‏‏‏‏‎Allows the app to download files through the download manager without any notification being shown to the user.‎‏‎‎‏‎"</string>
+    <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‎‎‎‏‏‏‎‎‏‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎‎‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‎‏‎Access all system downloads‎‏‎‎‏‎"</string>
+    <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‏‏‏‎‎‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎‎‏‎‏‎‏‎‎‎‎‎‏‏‎‎‏‎‎‏‏‏‏‏‏‏‎‎‎‎Allows the app to view and modify all downloads initiated by any app on the system.‎‏‎‎‏‎"</string>
+    <string name="download_unknown_title" msgid="7015124071247271585">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎‏‎‏‎‎‎‎‏‎&lt;Untitled&gt;‎‏‎‎‏‎"</string>
+    <string name="notification_download_complete" msgid="5443563299253103667">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‎‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‎‎‎‏‎‏‎‏‎‏‏‎‏‎‏‏‎‎‎‎‏‏‎‎‏‏‎Download complete.‎‏‎‎‏‎"</string>
+    <string name="notification_download_failed" msgid="8612136111952014978">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‎‎‏‏‏‎‏‎‎‎‎‏‎‏‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‎‎‏‎‎Download unsuccessful.‎‏‎‎‏‎"</string>
+    <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎‏‏‏‎Download size requires Wi-Fi.‎‏‎‎‏‎"</string>
+    <string name="notification_paused_in_background" msgid="4328508073283591772">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‎‎‏‏‎‎‎‎‏‏‎‏‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎Paused in background.‎‏‎‎‏‎"</string>
+    <string name="wifi_required_title" msgid="1995971416871498179">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‎‏‏‎‎‎‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‏‏‎‏‎‎‎‏‏‏‎‏‎‏‎‏‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎Download too large for operator network‎‏‎‎‏‎"</string>
+    <string name="wifi_required_body" msgid="3067694630143784449">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‏‎‎‏‎‏‎‏‎‎‏‎‎‎‎‎‎‎‎‏‏‎‏‎‎‎‏‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‎‎‏‎You must use Wi-Fi to complete this ‎‏‎‎‏‏‎<xliff:g id="SIZE">%s </xliff:g>‎‏‎‎‏‏‏‎ download. ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Touch ‎‏‎‎‏‏‎<xliff:g id="QUEUE_TEXT">%s </xliff:g>‎‏‎‎‏‏‏‎ to start this download the next time you\'re connected to a Wi-Fi network.‎‏‎‎‏‎"</string>
+    <string name="wifi_recommended_title" msgid="7441589306734687400">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‎‎‎‏‏‎‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‎‏‎‏‎‎‎‎Queue for download later?‎‏‎‎‏‎"</string>
+    <string name="wifi_recommended_body" msgid="1314735166699936073">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‏‏‎‎‏‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‎‎‎‏‏‎‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‎Starting this ‎‏‎‎‏‏‎<xliff:g id="SIZE">%s </xliff:g>‎‏‎‎‏‏‏‎ download now may shorten your battery life and/or result in excessive usage of your mobile data connection, which can lead to charges by your mobile operator depending on your data plan.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎ Touch ‎‏‎‎‏‏‎<xliff:g id="QUEUE_TEXT">%s</xliff:g>‎‏‎‎‏‏‏‎ to start this download the next time you\'re connected to a Wi-Fi network.‎‏‎‎‏‎"</string>
+    <string name="button_queue_for_wifi" msgid="422576726189179221">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‎‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‎‎‏‎‎‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‎‎‎‏‎‏‎‏‎‏‎‏‎Queue‎‏‎‎‏‎"</string>
+    <string name="button_cancel_download" msgid="2430166148737975604">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‏‏‎‎‏‏‎‏‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎‎‎‏‎‏‏‎‏‎‎‏‏‎‎‎‏‎‏‎‎‏‏‎‏‎‎‎Cancel‎‏‎‎‏‎"</string>
+    <string name="button_start_now" msgid="792123674007840864">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‏‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‏‏‎‎‎‎‎‎Start now‎‏‎‎‏‎"</string>
+    <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173">
+      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‎‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‏‎‎‏‏‏‎‏‏‏‏‎‎‏‏‏‎‎‏‏‎‏‎‏‎‎‏‎‎‏‏‎<xliff:g id="NUMBER">%d</xliff:g>‎‏‎‎‏‏‏‎ files downloading‎‏‎‎‏‎</item>
+      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‎‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‏‎‎‏‏‏‎‏‏‏‏‎‎‏‏‏‎‎‏‏‎‏‎‏‎1 file downloading‎‏‎‎‏‎</item>
+    </plurals>
+    <plurals name="notif_summary_waiting" formatted="false" msgid="2814217662029273005">
+      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎‎‎‎‏‏‏‏‎‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‎‏‏‎‏‎‎‏‎‎‏‏‎<xliff:g id="NUMBER">%d</xliff:g>‎‏‎‎‏‏‏‎ files waiting‎‏‎‎‏‎</item>
+      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎‎‎‎‏‏‏‏‎‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‎‏‏‎‏‎1 file waiting‎‏‎‎‏‎</item>
+    </plurals>
+    <string name="download_remaining" msgid="3139295890887972718">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‏‎‏‏‏‎‎‏‎‎‎‏‎‎‎‎‎‏‎‎‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‏‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‏‎‎‎‏‎‎‏‏‎<xliff:g id="DURATION">%s</xliff:g>‎‏‎‎‏‏‏‎ left‎‏‎‎‏‎"</string>
+    <string name="download_no_application_title" msgid="7935659741162801699">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‏‎‎‏‎‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‎‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‎‏‎‎‎‏‏‎Can\'t open file‎‏‎‎‏‎"</string>
+    <string name="root_downloads" msgid="4098414876292351487">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‎‎‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‏‎‎‏‏‎‏‏‏‎‎‏‎‏‎‏‎‎‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎Downloads‎‏‎‎‏‎"</string>
+    <string name="download_queued" msgid="3302638231377947451">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‎‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‎‏‎‏‏‏‎‏‎‎‎‎‎‏‎‏‎‏‏‎‎‏‏‏‎‏‏‎Queued‎‏‎‎‏‎"</string>
+    <string name="download_running" msgid="3925050393361158266">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‏‎‎‎‏‎‎‏‎‏‎‎‏‎‎‎‏‎‎‏‎‏‏‏‎‏‎‏‏‏‎‎‏‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‎‎In progress‎‏‎‎‏‎"</string>
+    <string name="download_error" msgid="5144180777324573236">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‎‏‏‏‏‎‎‏‏‎‏‎‎‏‎‏‎‎‏‎‏‏‏‎‏‎‎‏‏‎‏‎‎‏‎‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‎‎Unsuccessful‎‏‎‎‏‎"</string>
+    <string name="download_running_percent" msgid="4305080769167320204">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‏‎‎‏‏‏‎‏‏‏‏‎‎‏‎‏‎‏‎‏‏‎‎‏‎‎‏‎‎‎‏‏‎‎‎In progress, ‎‏‎‎‏‏‎<xliff:g id="PERCENTAGE">%s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+</resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 9de0c29..128d3dc 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -21,7 +21,7 @@
     <string name="permlab_downloadManager" msgid="7779544811202855500">"ડાઉનલોડ સંચાલકને ઍક્સેસ કરો."</string>
     <string name="permdesc_downloadManager" msgid="4237406545998908947">"એપ્લિકેશનને ડાઉનલોડ સંચાલકને ઍક્સેસ કરવાની અને ફાઇલો ડાઉનલોડ કરવા માટે તેના ઉપયોગની મંજૂરી આપે છે. દુભાવનાપૂર્ણ ઍપ્લિકેશનો આનો ઉપયોગ ડાઉનલોડ્સમાં વિક્ષેપ નાખવા અને ખાનગી માહિતીને ઍક્સેસ કરવા માટે કરી શકે છે."</string>
     <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"વિગતવાર ડાઉનલોડ મેનેજર કર્યો."</string>
-    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"એપ્લિકેશનને ડાઉનલોડ સંચાલકના વિગતવાર કાર્યોને ઍક્સેસ કરવાની મંજૂરી આપે છે.  દુભાવનાપૂર્ણ ઍપ્લિકેશનો આનો ઉપયોગ ડાઉનલોડ્સમાં વિક્ષેપ નાખવા અને ખાનગી માહિતીને ઍક્સેસ કરવા માટે કરી શકે છે."</string>
+    <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"એપ્લિકેશનને ડાઉનલોડ સંચાલકના વિગતવાર Tasks ને ઍક્સેસ કરવાની મંજૂરી આપે છે.  દુભાવનાપૂર્ણ ઍપ્લિકેશનો આનો ઉપયોગ ડાઉનલોડ્સમાં વિક્ષેપ નાખવા અને ખાનગી માહિતીને ઍક્સેસ કરવા માટે કરી શકે છે."</string>
     <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"ડાઉનલોડ સૂચનાઓ મોકલો."</string>
     <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"એપ્લિકેશનને પૂર્ણ થયેલ ડાઉનલોડ્સ વિશે સૂચનાઓ મોકલવાની મંજૂરી આપે છે. દુર્ભાવનાપૂર્ણ ઍપ્લિકેશનો આનો ઉપયોગ ફાઇલો ડાઉનલોડ કરતી અન્ય ઍપ્લિકેશનોને મૂંઝવણમાં નાખવા માટે કરી શકે છે."</string>
     <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"USB સ્ટોરેજ પરના તમામ ડાઉનલોડને જુઓ"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index a1a48e9..506158b 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -42,7 +42,7 @@
     <string name="wifi_required_body" msgid="3067694630143784449">"Դուք պետք է օգտագործեք Wi-Fi՝ այս <xliff:g id="SIZE">%s </xliff:g> ներբեռնումն ավարտելու համար: \n\nՀպեք <xliff:g id="QUEUE_TEXT">%s </xliff:g>՝ սկսելու այս ներբեռնումը հաջորդ անգամ, երբ միացած կլինեք որևէ Wi-Fi ցանցի:"</string>
     <string name="wifi_recommended_title" msgid="7441589306734687400">"Հերթագրե՞լ ավելի ուշ ներբեռնելու համար:"</string>
     <string name="wifi_recommended_body" msgid="1314735166699936073">"Այս <xliff:g id="SIZE">%s </xliff:g> ներբեռնումը հիմա սկսելը կարող է կարճեցնել ձեր մարտկոցի կյանքը և/կամ բերել ձեր բբջային տվյալների կապի ավելորդ օգտագործման, որը կարող է ուղեկցվել ծախսերով ձեր բջջային օպերատորի կողմից՝ կախված ձեր տվյալների փաթեթից:\n\n Հպեք <xliff:g id="QUEUE_TEXT">%s</xliff:g> ստորև` այս ներբեռնումը սկսելու հաջորդ անգամ, երբ միացած կլինեք որևէ Wi-Fi ցանցի:"</string>
-    <string name="button_queue_for_wifi" msgid="422576726189179221">"Հերթականություն"</string>
+    <string name="button_queue_for_wifi" msgid="422576726189179221">"Հերթագրել"</string>
     <string name="button_cancel_download" msgid="2430166148737975604">"Չեղարկել"</string>
     <string name="button_start_now" msgid="792123674007840864">"Սկսել հիմա"</string>
     <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173">
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 4eec41b..bccb91a 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -22,15 +22,15 @@
     <string name="permdesc_downloadManager" msgid="4237406545998908947">"מאפשר לאפליקציה לגשת למנהל ההורדות ולהשתמש בו לצורך הורדת קבצים. אפליקציות זדוניות עלולות לנצל אפשרות זו כדי לשבש הורדות ולגשת למידע פרטי."</string>
     <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"פונקציות מתקדמות של מנהל ההורדות."</string>
     <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"מאפשר לאפליקציה לגשת לפונקציות המתקדמות של מנהל ההורדות. אפליקציות זדוניות עלולות לנצל אפשרות זו כדי לשבש הורדות ולגשת למידע פרטי."</string>
-    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"שלח התראות על הורדות."</string>
-    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"מאפשר לאפליקציה לשלוח התראות לגבי הורדות שהסתיימו. אפליקציות זדוניות עלולות לנצל אפשרות זו כדי לבלבל אפליקציות אחרות המורידות קבצים."</string>
+    <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"שלח הודעות על הורדות."</string>
+    <string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"מאפשר לאפליקציה לשלוח הודעות לגבי הורדות שהסתיימו. אפליקציות זדוניות עלולות לנצל אפשרות זו כדי לבלבל אפליקציות אחרות המורידות קבצים."</string>
     <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"‏הצג את כל ההורדות לאמצעי אחסון מסוג USB"</string>
     <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"‏הצג את כל ההורדות לכרטיס SD"</string>
     <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"‏מאפשר לאפליקציה לראות את כל ההורדות לכרטיס ה-SD, בלי קשר לאפליקציה שהורידה אותן."</string>
     <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"שמור מקום במטמון ההורדות"</string>
     <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"מאפשר לאפליקציה להוריד קבצים למטמון ההורדות שלא ניתן למחוק באופן אוטומטי כאשר דרוש למנהל ההורדות שטח נוסף."</string>
     <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"הורד קבצים ללא התראה"</string>
-    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"מאפשר לאפליקציה להוריד קבצים דרך מנהל ההורדות מבלי להציג התראות כלשהן בפני המשתמש."</string>
+    <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"מאפשר לאפליקציה להוריד קבצים דרך מנהל ההורדות מבלי להציג הודעות כלשהן בפני המשתמש."</string>
     <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"גישה לכל הורדות המערכת"</string>
     <string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"מאפשר לאפליקציה להציג ולשנות את כל ההורדות שהופעלו על ידי אפליקציה כלשהי במערכת."</string>
     <string name="download_unknown_title" msgid="7015124071247271585">"‏&lt;ללא כותרת&gt;"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 25e3be4..6163933 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -19,7 +19,7 @@
     <string name="app_label" msgid="3658948994665187911">"डाउनलोड प्रबन्धक"</string>
     <string name="storage_description" msgid="7982444311558023664">"डाउनलोडहरू"</string>
     <string name="permlab_downloadManager" msgid="7779544811202855500">"डाउनलोड प्रबन्धक पहुँच गर्नुहोस्"</string>
-    <string name="permdesc_downloadManager" msgid="4237406545998908947">"फाइल डाउनलोड गर्नका लागि अनुप्रयोगलाई डाउनलोड प्रबन्धकको पहुँचको अनुमति दिन्छ। हानिकारक अनुप्रयोगहरूले यसलाई डाउनलोडहरू अवरूद्ध गर्न र निजी जानकारी पहुँच गर्न यसको प्रयोग गर्न सक्छन्।"</string>
+    <string name="permdesc_downloadManager" msgid="4237406545998908947">"फाइल डाउनलोड गर्नाका लागि अनुप्रयोगलाई डाउनलोड प्रबन्धकको पहुँचको अनुमति दिन्छ। हानिकारक अनुप्रयोगहरूले यसलाई डाउनलोडहरू अवरूद्ध गर्न र निजी जानकारी पहुँच गर्न यसको प्रयोग गर्न सक्छन्।"</string>
     <string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"उन्नत डाउनलोड प्रबन्धक प्रकार्यहरू"</string>
     <string name="permdesc_downloadManagerAdvanced" msgid="2659546004160962761">"अनुप्रयोगलाई डाउनलोड प्रबन्धकको उन्नत प्रकार्यहरू पहुँच गर्न अनुमति दिन्छ। हानिकारक अनुप्रयोगहरूले यसलाई डाउनलोड अवरूद्ध गरी निजी जानकारी पहुँच गर्न प्रयोग गर्न सक्छ।"</string>
     <string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"डाउनलोड सूचनाहरू पठाउनुहोस्।"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 7028444..db631cf 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -46,12 +46,12 @@
     <string name="button_cancel_download" msgid="2430166148737975604">"Cancelar"</string>
     <string name="button_start_now" msgid="792123674007840864">"Começar agora"</string>
     <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173">
-      <item quantity="one">1 ficheiro a ser transferido</item>
       <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> ficheiros a serem transferidos</item>
+      <item quantity="one">1 ficheiro a ser transferido</item>
     </plurals>
     <plurals name="notif_summary_waiting" formatted="false" msgid="2814217662029273005">
-      <item quantity="one">1 ficheiro em espera</item>
       <item quantity="other"><xliff:g id="NUMBER">%d</xliff:g> ficheiros em espera</item>
+      <item quantity="one">1 ficheiro em espera</item>
     </plurals>
     <string name="download_remaining" msgid="3139295890887972718">"Faltam <xliff:g id="DURATION">%s</xliff:g>"</string>
     <string name="download_no_application_title" msgid="7935659741162801699">"Não é possível abrir o ficheiro"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 1165992..f791735 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -27,7 +27,7 @@
     <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"Angalia vipakuliwa vyote vilivyowekwa kwenye hifadhi ya USB"</string>
     <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"Tazama vipakuliwa vyote vilivyoenda kwenye kadi ya SD"</string>
     <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Huruhusu programu kuona vipakuliwa vyote kwenye kadi ya SD, pasi kuzingatia ni programu gani iliyozipakua."</string>
-    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Hifadhi nafasi katika akiba ya upakuaji"</string>
+    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Weka nafasi katika akiba ya upakuaji"</string>
     <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Huruhusu programu kupakua faili hadi akiba ya vipakuliwa ambayo haiwezi kufutwa kiotomatiki wakati kidhibiti upakuaji kinahitaji nafasi zaidi."</string>
     <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"kupakua faili bila kutoa arifa"</string>
     <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Huruhusu programu kupakua faili kupitia kidhibiti vipakuliwa bila mtumiaji kuonyeshwa arifa yoyote."</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index d9bf174..d1d341e 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -27,8 +27,8 @@
     <string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"Xem t.cả t.xuống trong b.nhớ USB"</string>
     <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"Xem tất cả nội dung tải xuống về thẻ SD"</string>
     <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Cho phép ứng dụng xem tất cả các bản tải xuống thẻ SD, bất kể ứng dụng đã tải xuống chúng là ứng dụng gì."</string>
-    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Giữ lại dung lượng trong bộ nhớ cache tải xuống"</string>
-    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Cho phép ứng dụng tải tệp xuống bộ nhớ cache, không thể tự động xóa bộ nhớ này khi trình quản lý tải xuống cần thêm dung lượng."</string>
+    <string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Giữ lại dung lượng trong bộ nhớ đệm tải xuống"</string>
+    <string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Cho phép ứng dụng tải tệp xuống bộ nhớ đệm, không thể tự động xóa bộ nhớ này khi trình quản lý tải xuống cần thêm dung lượng."</string>
     <string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"tải xuống tệp không có thông báo"</string>
     <string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Cho phép ứng dụng tải xuống tệp qua trình quản lý tải xuống mà không hiển thị thông báo cho người dùng."</string>
     <string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Truy cập tất cả các bản tải xuống trong hệ thống"</string>
diff --git a/src/com/android/providers/downloads/DownloadJobService.java b/src/com/android/providers/downloads/DownloadJobService.java
index 0ce4266..d09738c 100644
--- a/src/com/android/providers/downloads/DownloadJobService.java
+++ b/src/com/android/providers/downloads/DownloadJobService.java
@@ -66,6 +66,10 @@
 
         final DownloadThread thread;
         synchronized (mActiveThreads) {
+            if (mActiveThreads.indexOfKey(id) >= 0) {
+                Log.w(TAG, "Odd, already running download " + id);
+                return false;
+            }
             thread = new DownloadThread(this, params, info);
             mActiveThreads.put(id, thread);
         }
@@ -93,14 +97,20 @@
     }
 
     public void jobFinishedInternal(JobParameters params, boolean needsReschedule) {
+        final int id = params.getJobId();
+
         synchronized (mActiveThreads) {
             mActiveThreads.remove(params.getJobId());
         }
+        if (needsReschedule) {
+            Helpers.scheduleJob(this, DownloadInfo.queryDownloadInfo(this, id));
+        }
 
         // Update notifications one last time while job is protecting us
         mObserver.onChange(false);
 
-        jobFinished(params, needsReschedule);
+        // We do our own rescheduling above
+        jobFinished(params, false);
     }
 
     private ContentObserver mObserver = new ContentObserver(Helpers.getAsyncHandler()) {
diff --git a/src/com/android/providers/downloads/DownloadStorageProvider.java b/src/com/android/providers/downloads/DownloadStorageProvider.java
index 92f4c02..afcba96 100644
--- a/src/com/android/providers/downloads/DownloadStorageProvider.java
+++ b/src/com/android/providers/downloads/DownloadStorageProvider.java
@@ -131,7 +131,11 @@
     }
 
     @Override
-    public Path findDocumentPath(String parentDocId, String docId) throws FileNotFoundException {
+    public Path findDocumentPath(@Nullable String parentDocId, String docId) throws FileNotFoundException {
+
+        // parentDocId is null if the client is asking for the path to the root of a doc tree.
+        // Don't share root information with those who shouldn't know it.
+        final String rootId = (parentDocId == null) ? DOC_ID_ROOT : null;
 
         if (parentDocId == null) {
             parentDocId = DOC_ID_ROOT;
@@ -141,8 +145,6 @@
 
         final File doc = getFileForDocId(docId);
 
-        final String rootId = (parentDocId == null) ? DOC_ID_ROOT : null;
-
         return new Path(rootId, findDocumentPath(parent, doc));
     }
 
@@ -364,6 +366,23 @@
     }
 
     @Override
+    public String getDocumentType(String docId) throws FileNotFoundException {
+        // Delegate to real provider
+        final long token = Binder.clearCallingIdentity();
+        try {
+            if (RawDocumentsHelper.isRawDocId(docId)) {
+                return super.getDocumentType(docId);
+            }
+
+            final long id = Long.parseLong(docId);
+            final ContentResolver resolver = getContext().getContentResolver();
+            return resolver.getType(mDm.getDownloadUri(id));
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    @Override
     public ParcelFileDescriptor openDocument(String docId, String mode, CancellationSignal signal)
             throws FileNotFoundException {
         // Delegate to real provider
@@ -424,6 +443,9 @@
     private void includeDefaultDocument(MatrixCursor result) {
         final RowBuilder row = result.newRow();
         row.add(Document.COLUMN_DOCUMENT_ID, DOC_ID_ROOT);
+        // We have the same display name as our root :)
+        row.add(Document.COLUMN_DISPLAY_NAME,
+                getContext().getString(R.string.root_downloads));
         row.add(Document.COLUMN_MIME_TYPE, Document.MIME_TYPE_DIR);
         row.add(Document.COLUMN_FLAGS,
                 Document.FLAG_DIR_PREFERS_LAST_MODIFIED | Document.FLAG_DIR_SUPPORTS_CREATE);
@@ -497,6 +519,10 @@
             flags |= Document.FLAG_SUPPORTS_THUMBNAIL;
         }
 
+        if (typeSupportsMetadata(mimeType)) {
+            flags |= Document.FLAG_SUPPORTS_METADATA;
+        }
+
         final long lastModified = cursor.getLong(
                 cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_LAST_MODIFIED_TIMESTAMP));
 
diff --git a/src/com/android/providers/downloads/DownloadThread.java b/src/com/android/providers/downloads/DownloadThread.java
index cbbe71a..54cc1a5 100644
--- a/src/com/android/providers/downloads/DownloadThread.java
+++ b/src/com/android/providers/downloads/DownloadThread.java
@@ -16,6 +16,8 @@
 
 package com.android.providers.downloads;
 
+import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED;
+import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING;
 import static android.provider.Downloads.Impl.COLUMN_CONTROL;
 import static android.provider.Downloads.Impl.COLUMN_DELETED;
 import static android.provider.Downloads.Impl.COLUMN_STATUS;
@@ -57,6 +59,7 @@
 import android.net.ConnectivityManager;
 import android.net.INetworkPolicyListener;
 import android.net.Network;
+import android.net.NetworkCapabilities;
 import android.net.NetworkInfo;
 import android.net.NetworkPolicyManager;
 import android.net.TrafficStats;
@@ -285,7 +288,7 @@
             // Use the caller's default network to make this connection, since
             // they might be subject to restrictions that we shouldn't let them
             // circumvent
-            mNetwork = mSystemFacade.getActiveNetwork(mInfo.mUid, mIgnoreBlocked);
+            mNetwork = mSystemFacade.getNetwork(mParams);
             if (mNetwork == null) {
                 throw new StopRequestException(STATUS_WAITING_FOR_NETWORK,
                         "No network associated with requesting UID");
@@ -384,6 +387,7 @@
             mNetworkPolicy.unregisterListener(mPolicyListener);
         }
 
+        boolean needsReschedule = false;
         if (Downloads.Impl.isStatusCompleted(mInfoDelta.mStatus)) {
             if (mInfo.shouldScanFile(mInfoDelta.mStatus)) {
                 DownloadScanner.requestScanBlocking(mContext, mInfo.mId, mInfoDelta.mFileName,
@@ -392,10 +396,10 @@
         } else if (mInfoDelta.mStatus == STATUS_WAITING_TO_RETRY
                 || mInfoDelta.mStatus == STATUS_WAITING_FOR_NETWORK
                 || mInfoDelta.mStatus == STATUS_QUEUED_FOR_WIFI) {
-            Helpers.scheduleJob(mContext, DownloadInfo.queryDownloadInfo(mContext, mId));
+            needsReschedule = true;
         }
 
-        mJobService.jobFinishedInternal(mParams, false);
+        mJobService.jobFinishedInternal(mParams, needsReschedule);
     }
 
     public void requestShutdown() {
@@ -417,7 +421,8 @@
             throw new StopRequestException(STATUS_BAD_REQUEST, e);
         }
 
-        boolean cleartextTrafficPermitted = mSystemFacade.isCleartextTrafficPermitted(mInfo.mUid);
+        boolean cleartextTrafficPermitted
+                = mSystemFacade.isCleartextTrafficPermitted(mInfo.mPackage, url.getHost());
         SSLContext appContext;
         try {
             appContext = mSystemFacade.getSSLContextForPackage(mContext, mInfo.mPackage);
@@ -431,7 +436,7 @@
             // because of HTTP redirects which can change the protocol between HTTP and HTTPS.
             if ((!cleartextTrafficPermitted) && ("http".equalsIgnoreCase(url.getProtocol()))) {
                 throw new StopRequestException(STATUS_BAD_REQUEST,
-                        "Cleartext traffic not permitted for UID " + mInfo.mUid + ": "
+                        "Cleartext traffic not permitted for package " + mInfo.mPackage + ": "
                         + Uri.parse(url.toString()).toSafeString());
             }
 
@@ -717,15 +722,16 @@
         // checking connectivity will apply current policy
         mPolicyDirty = false;
 
-        final NetworkInfo info = mSystemFacade.getNetworkInfo(mNetwork, mInfo.mUid,
-                mIgnoreBlocked);
+        final NetworkInfo info = mSystemFacade.getNetworkInfo(mNetwork, mInfo.mUid, mIgnoreBlocked);
+        final NetworkCapabilities caps = mSystemFacade.getNetworkCapabilities(mNetwork);
         if (info == null || !info.isConnected()) {
             throw new StopRequestException(STATUS_WAITING_FOR_NETWORK, "Network is disconnected");
         }
-        if (info.isRoaming() && !mInfo.isRoamingAllowed()) {
+        if (!caps.hasCapability(NET_CAPABILITY_NOT_ROAMING)
+                && !mInfo.isRoamingAllowed()) {
             throw new StopRequestException(STATUS_WAITING_FOR_NETWORK, "Network is roaming");
         }
-        if (mSystemFacade.isNetworkMetered(mNetwork)
+        if (!caps.hasCapability(NET_CAPABILITY_NOT_METERED)
                 && !mInfo.isMeteredAllowed(mInfoDelta.mTotalBytes)) {
             throw new StopRequestException(STATUS_WAITING_FOR_NETWORK, "Network is metered");
         }
diff --git a/src/com/android/providers/downloads/Helpers.java b/src/com/android/providers/downloads/Helpers.java
index 2b55eb8..963ca9d 100644
--- a/src/com/android/providers/downloads/Helpers.java
+++ b/src/com/android/providers/downloads/Helpers.java
@@ -41,6 +41,7 @@
 import android.os.storage.StorageManager;
 import android.os.storage.StorageVolume;
 import android.provider.Downloads;
+import android.text.TextUtils;
 import android.util.Log;
 import android.webkit.MimeTypeMap;
 
@@ -164,6 +165,17 @@
             builder.setRequiresDeviceIdle(true);
         }
 
+        // Provide estimated network size, when possible
+        if (info.mTotalBytes > 0) {
+            if (info.mCurrentBytes > 0 && !TextUtils.isEmpty(info.mETag)) {
+                // If we're resuming an in-progress download, we only need to
+                // download the remaining bytes.
+                builder.setEstimatedNetworkBytes(info.mTotalBytes - info.mCurrentBytes);
+            } else {
+                builder.setEstimatedNetworkBytes(info.mTotalBytes);
+            }
+        }
+
         // If package name was filtered during insert (probably due to being
         // invalid), blame based on the requesting UID instead
         String packageName = info.mPackage;
diff --git a/src/com/android/providers/downloads/RealSystemFacade.java b/src/com/android/providers/downloads/RealSystemFacade.java
index 1c2ba58..a0ce92c 100644
--- a/src/com/android/providers/downloads/RealSystemFacade.java
+++ b/src/com/android/providers/downloads/RealSystemFacade.java
@@ -17,6 +17,7 @@
 package com.android.providers.downloads;
 
 import android.app.DownloadManager;
+import android.app.job.JobParameters;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
@@ -30,13 +31,13 @@
 import android.security.NetworkSecurityPolicy;
 import android.security.net.config.ApplicationConfig;
 
+import com.android.internal.util.ArrayUtils;
+
 import java.security.GeneralSecurityException;
 
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.TrustManager;
 
-import com.android.internal.util.ArrayUtils;
-
 class RealSystemFacade implements SystemFacade {
     private Context mContext;
 
@@ -50,9 +51,8 @@
     }
 
     @Override
-    public Network getActiveNetwork(int uid, boolean ignoreBlocked) {
-        return mContext.getSystemService(ConnectivityManager.class)
-                .getActiveNetworkForUid(uid, ignoreBlocked);
+    public Network getNetwork(JobParameters params) {
+        return params.getNetwork();
     }
 
     @Override
@@ -62,9 +62,9 @@
     }
 
     @Override
-    public boolean isNetworkMetered(Network network) {
-        return !mContext.getSystemService(ConnectivityManager.class).getNetworkCapabilities(network)
-                .hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED);
+    public NetworkCapabilities getNetworkCapabilities(Network network) {
+        return mContext.getSystemService(ConnectivityManager.class)
+                .getNetworkCapabilities(network);
     }
 
     @Override
@@ -90,25 +90,6 @@
     }
 
     @Override
-    public boolean isCleartextTrafficPermitted(int uid) {
-        PackageManager packageManager = mContext.getPackageManager();
-        String[] packageNames = packageManager.getPackagesForUid(uid);
-        if (ArrayUtils.isEmpty(packageNames)) {
-            // Unknown UID -- fail safe: cleartext traffic not permitted
-            return false;
-        }
-
-        // Cleartext traffic is permitted from the UID if it's permitted for any of the packages
-        // belonging to that UID.
-        for (String packageName : packageNames) {
-            if (isCleartextTrafficPermitted(packageName)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    @Override
     public SSLContext getSSLContextForPackage(Context context, String packageName)
             throws GeneralSecurityException {
         ApplicationConfig appConfig;
@@ -124,22 +105,17 @@
     }
 
     /**
-     * Returns whether cleartext network traffic (HTTP) is permitted for the provided package.
+     * Returns whether cleartext network traffic (HTTP) is permitted for the provided package to
+     * {@code host}.
      */
-    private boolean isCleartextTrafficPermitted(String packageName) {
-        PackageManager packageManager = mContext.getPackageManager();
-        PackageInfo packageInfo;
+    public boolean isCleartextTrafficPermitted(String packageName, String host) {
+        ApplicationConfig appConfig;
         try {
-            packageInfo = packageManager.getPackageInfo(packageName, 0);
+            appConfig = NetworkSecurityPolicy.getApplicationConfigForPackage(mContext, packageName);
         } catch (NameNotFoundException e) {
-            // Unknown package -- fail safe: cleartext traffic not permitted
+            // Unknown package -- fail for safety
             return false;
         }
-        ApplicationInfo applicationInfo = packageInfo.applicationInfo;
-        if (applicationInfo == null) {
-            // No app info -- fail safe: cleartext traffic not permitted
-            return false;
-        }
-        return (applicationInfo.flags & ApplicationInfo.FLAG_USES_CLEARTEXT_TRAFFIC) != 0;
+        return appConfig.isCleartextTrafficPermitted(host);
     }
 }
diff --git a/src/com/android/providers/downloads/SystemFacade.java b/src/com/android/providers/downloads/SystemFacade.java
index 53d1404..14002a1 100644
--- a/src/com/android/providers/downloads/SystemFacade.java
+++ b/src/com/android/providers/downloads/SystemFacade.java
@@ -16,6 +16,7 @@
 
 package com.android.providers.downloads;
 
+import android.app.job.JobParameters;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager.NameNotFoundException;
@@ -24,6 +25,7 @@
 import android.net.NetworkInfo;
 
 import java.security.GeneralSecurityException;
+
 import javax.net.ssl.SSLContext;
 
 interface SystemFacade {
@@ -32,11 +34,10 @@
      */
     public long currentTimeMillis();
 
-    public Network getActiveNetwork(int uid, boolean ignoreBlocked);
+    public Network getNetwork(JobParameters params);
 
     public NetworkInfo getNetworkInfo(Network network, int uid, boolean ignoreBlocked);
-
-    public boolean isNetworkMetered(Network network);
+    public NetworkCapabilities getNetworkCapabilities(Network network);
 
     /**
      * @return maximum size, in bytes, of downloads that may go over a mobile connection; or null if
@@ -62,9 +63,10 @@
     public boolean userOwnsPackage(int uid, String pckg) throws NameNotFoundException;
 
     /**
-     * Returns true if cleartext network traffic is permitted for the specified UID.
+     * Returns true if cleartext network traffic is permitted from {@code packageName} to
+     * {@code host}.
      */
-    public boolean isCleartextTrafficPermitted(int uid);
+    public boolean isCleartextTrafficPermitted(String packageName, String host);
 
     /**
      * Return a {@link SSLContext} configured using the specified package's configuration.
diff --git a/tests/Android.mk b/tests/Android.mk
index 43cbafb..c3d9bcb 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -7,11 +7,10 @@
 # Include all test java files.
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 LOCAL_INSTRUMENTATION_FOR := DownloadProvider
-LOCAL_JAVA_LIBRARIES := android.test.runner
+LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base android.test.mock
 LOCAL_STATIC_JAVA_LIBRARIES := \
     mockwebserver \
-    mockito-target \
-    legacy-android-test
+    mockito-target
 LOCAL_PACKAGE_NAME := DownloadProviderTests
 LOCAL_PRIVATE_PLATFORM_APIS := true
 LOCAL_COMPATIBILITY_SUITE := device-tests
diff --git a/tests/AndroidTest.xml b/tests/AndroidTest.xml
index cad211a..6a09909 100644
--- a/tests/AndroidTest.xml
+++ b/tests/AndroidTest.xml
@@ -23,5 +23,6 @@
     <test class="com.android.tradefed.testtype.InstrumentationTest" >
         <option name="package" value="com.android.providers.downloads.tests" />
         <option name="runner" value="android.test.InstrumentationTestRunner" />
+        <option name="hidden-api-checks" value="false"/>
     </test>
 </configuration>
diff --git a/tests/permission/Android.mk b/tests/permission/Android.mk
index b3658df..ae96b5c 100644
--- a/tests/permission/Android.mk
+++ b/tests/permission/Android.mk
@@ -7,8 +7,8 @@
 # Include all test java files.
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 
-LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_STATIC_JAVA_LIBRARIES := junit legacy-android-test
+LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base
+LOCAL_STATIC_JAVA_LIBRARIES := junit
 LOCAL_PACKAGE_NAME := DownloadProviderPermissionTests
 LOCAL_PRIVATE_PLATFORM_APIS := true
 
diff --git a/tests/public_api_access/Android.mk b/tests/public_api_access/Android.mk
index 39f3c79..3bc2e8e 100644
--- a/tests/public_api_access/Android.mk
+++ b/tests/public_api_access/Android.mk
@@ -7,8 +7,8 @@
 # Include all test java files.
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 
-LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_STATIC_JAVA_LIBRARIES := junit legacy-android-test
+LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base
+LOCAL_STATIC_JAVA_LIBRARIES := junit
 LOCAL_PACKAGE_NAME := DownloadPublicApiAccessTests
 LOCAL_PRIVATE_PLATFORM_APIS := true
 
diff --git a/tests/src/com/android/providers/downloads/FakeSystemFacade.java b/tests/src/com/android/providers/downloads/FakeSystemFacade.java
index de483c7..f381bd8 100644
--- a/tests/src/com/android/providers/downloads/FakeSystemFacade.java
+++ b/tests/src/com/android/providers/downloads/FakeSystemFacade.java
@@ -1,14 +1,19 @@
 package com.android.providers.downloads;
 
+import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED;
+import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING;
+
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import android.app.job.JobParameters;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.net.ConnectivityManager;
 import android.net.Network;
+import android.net.NetworkCapabilities;
 import android.net.NetworkInfo;
 import android.net.NetworkInfo.DetailedState;
 
@@ -65,7 +70,7 @@
     }
 
     @Override
-    public Network getActiveNetwork(int uid, boolean ignoreBlocked) {
+    public Network getNetwork(JobParameters params) {
         if (mActiveNetworkType == null) {
             return null;
         } else {
@@ -91,14 +96,20 @@
         } else {
             final NetworkInfo info = new NetworkInfo(mActiveNetworkType, 0, null, null);
             info.setDetailedState(DetailedState.CONNECTED, null, null);
-            info.setRoaming(mIsRoaming);
             return info;
         }
     }
 
     @Override
-    public boolean isNetworkMetered(Network network) {
-        return mIsMetered;
+    public NetworkCapabilities getNetworkCapabilities(Network network) {
+        if (mActiveNetworkType == null) {
+            return null;
+        } else {
+            final NetworkCapabilities caps = new NetworkCapabilities();
+            caps.setCapability(NET_CAPABILITY_NOT_METERED, !mIsMetered);
+            caps.setCapability(NET_CAPABILITY_NOT_ROAMING, !mIsRoaming);
+            return caps;
+        }
     }
 
     @Override
@@ -122,7 +133,7 @@
     }
 
     @Override
-    public boolean isCleartextTrafficPermitted(int uid) {
+    public boolean isCleartextTrafficPermitted(String packageName, String hostname) {
         return mCleartextTrafficPermitted;
     }
 
diff --git a/ui/Android.mk b/ui/Android.mk
index 0768a30..f63d7e3 100644
--- a/ui/Android.mk
+++ b/ui/Android.mk
@@ -12,5 +12,6 @@
 LOCAL_PACKAGE_NAME := DownloadProviderUi
 LOCAL_PRIVATE_PLATFORM_APIS := true
 LOCAL_CERTIFICATE := media
+LOCAL_PRIVILEGED_MODULE := true
 
 include $(BUILD_PACKAGE)
diff --git a/ui/CleanSpec.mk b/ui/CleanSpec.mk
new file mode 100644
index 0000000..9e8982b
--- /dev/null
+++ b/ui/CleanSpec.mk
@@ -0,0 +1,47 @@
+# Copyright (C) 2018 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# If you don't need to do a full clean build but would like to touch
+# a file or delete some intermediate files, add a clean step to the end
+# of the list.  These steps will only be run once, if they haven't been
+# run before.
+#
+# E.g.:
+#     $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
+#     $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
+#
+# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
+# files that are missing or have been moved.
+#
+# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
+# Use $(OUT_DIR) to refer to the "out" directory.
+#
+# If you need to re-do something that's already mentioned, just copy
+# the command and add it to the bottom of the list.  E.g., if a change
+# that you made last week required touching a file and a change you
+# made today requires touching the same file, just copy the old
+# touch step and add it to the end of the list.
+#
+# ************************************************
+# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
+# ************************************************
+
+# For example:
+#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
+#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
+#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
+#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
+
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/DownloadProviderUi)
\ No newline at end of file
diff --git a/ui/res/values-bs/strings.xml b/ui/res/values-bs/strings.xml
index 099860b..9b6e01b 100644
--- a/ui/res/values-bs/strings.xml
+++ b/ui/res/values-bs/strings.xml
@@ -23,29 +23,29 @@
     <string name="missing_title" msgid="830115697868833773">"&lt;Nepoznato&gt;"</string>
     <string name="button_sort_by_size" msgid="7331549713691146251">"Poredaj po veličini"</string>
     <string name="button_sort_by_date" msgid="8800842892684101528">"Poredaj po datumu"</string>
-    <string name="download_queued" msgid="104973307780629904">"U redoslijedu"</string>
+    <string name="download_queued" msgid="104973307780629904">"U U redu čekanja"</string>
     <string name="download_running" msgid="4656462962155580641">"U toku"</string>
     <string name="download_success" msgid="7006048006543495236">"Završeno"</string>
     <string name="download_error" msgid="8081329546008568251">"Neuspješno"</string>
     <string name="dialog_title_not_available" msgid="5746317632356158515">"Nije bilo moguće preuzeti"</string>
-    <string name="dialog_failed_body" msgid="587545111677064427">"Da li želite ponovo pokušati s preuzimanjem datoteke kasnije ili je želite izbrisati s redoslijeda?"</string>
-    <string name="dialog_title_queued_body" msgid="6760681913815015219">"Datoteka je u redoslijedu"</string>
-    <string name="dialog_queued_body" msgid="708552801635572720">"Datoteka je na redoslijedu za kasnije preuzimanje tako da još nije dostupna."</string>
+    <string name="dialog_failed_body" msgid="587545111677064427">"Želite li ponovo kasnije pokušati s preuzimanjem fajla ili ga želite izbrisati iz reda čekanja?"</string>
+    <string name="dialog_title_queued_body" msgid="6760681913815015219">"Fajl je u redu čekanja"</string>
+    <string name="dialog_queued_body" msgid="708552801635572720">"Fajl je u redu čekanja za kasnije preuzimanje tako da još nije dostupan."</string>
     <string name="dialog_file_missing_body" msgid="3223012612774276284">"Nije moguće pronaći preuzetu datoteku."</string>
     <string name="dialog_insufficient_space_on_external" msgid="8692452156251449195">"Nije moguće dovršiti preuzimanje. Nema dovoljno prostora na eksternoj pohrani."</string>
     <string name="dialog_insufficient_space_on_cache" msgid="6313630206163908994">"Nije moguće dovršiti preuzimanje. Nema dovoljno prostora na internoj pohrani za preuzimanja."</string>
     <string name="dialog_cannot_resume" msgid="8664509751358983543">"Preuzimanje je prekinuto i ne može se nastaviti."</string>
-    <string name="dialog_file_already_exists" msgid="8308563940663449590">"Nije moguće preuzeti. Odredišna datoteka već postoji."</string>
-    <string name="dialog_media_not_found" msgid="4468088418758018765">"Nije moguće preuzeti. Eksterni medij nije dostupan."</string>
+    <string name="dialog_file_already_exists" msgid="8308563940663449590">"Nije moguće preuzeti. Odredišni fajl već postoji."</string>
+    <string name="dialog_media_not_found" msgid="4468088418758018765">"Nije moguće preuzeti. Vanjski medij nije dostupan."</string>
     <string name="download_no_application_title" msgid="7024782176657362251">"Nije moguće otvoriti datoteku"</string>
     <string name="remove_download" msgid="6372920256257247857">"Ukloni"</string>
     <string name="delete_download" msgid="76629022653866471">"Izbriši"</string>
     <string name="keep_queued_download" msgid="5144882786014818569">"Zadrži"</string>
     <string name="cancel_running_download" msgid="5232704030969221112">"Otkaži"</string>
     <string name="retry_download" msgid="7617100787922717912">"Pokušaj ponovo"</string>
-    <string name="start_now_download" msgid="1564642872809509681">"Pokreni odmah"</string>
+    <string name="start_now_download" msgid="1564642872809509681">"Započni odmah"</string>
     <string name="deselect_all" msgid="6348198946254776764">"Poništi odabir svih"</string>
     <string name="select_all" msgid="634074918366265804">"Odaberi sve"</string>
     <string name="selected_count" msgid="2101564570019753277">"Odabrano <xliff:g id="NUMBER">%1$d</xliff:g> od <xliff:g id="TOTAL">%2$d</xliff:g>"</string>
-    <string name="download_share_dialog" msgid="3355867339806448955">"Podijeli preko"</string>
+    <string name="download_share_dialog" msgid="3355867339806448955">"Dijeli preko"</string>
 </resources>
diff --git a/ui/res/values-en-rCA/strings.xml b/ui/res/values-en-rCA/strings.xml
new file mode 100644
index 0000000..05289cc
--- /dev/null
+++ b/ui/res/values-en-rCA/strings.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2010 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="3070921713463294774">"Downloads"</string>
+    <string name="download_title_sorted_by_date" msgid="5898014492155434221">"Downloads - Sorted by date"</string>
+    <string name="download_title_sorted_by_size" msgid="1417193166677094813">"Downloads - Sorted by size"</string>
+    <string name="no_downloads" msgid="1029667411186146836">"No downloads."</string>
+    <string name="missing_title" msgid="830115697868833773">"&lt;Unknown&gt;"</string>
+    <string name="button_sort_by_size" msgid="7331549713691146251">"Sort by size"</string>
+    <string name="button_sort_by_date" msgid="8800842892684101528">"Sort by date"</string>
+    <string name="download_queued" msgid="104973307780629904">"Queued"</string>
+    <string name="download_running" msgid="4656462962155580641">"In progress"</string>
+    <string name="download_success" msgid="7006048006543495236">"Complete"</string>
+    <string name="download_error" msgid="8081329546008568251">"Unsuccessful"</string>
+    <string name="dialog_title_not_available" msgid="5746317632356158515">"Couldn\'t download"</string>
+    <string name="dialog_failed_body" msgid="587545111677064427">"Do you want to retry downloading the file later or delete it from the queue?"</string>
+    <string name="dialog_title_queued_body" msgid="6760681913815015219">"File in queue"</string>
+    <string name="dialog_queued_body" msgid="708552801635572720">"This file is queued for future download, so isn\'t available yet."</string>
+    <string name="dialog_file_missing_body" msgid="3223012612774276284">"Can\'t find the downloaded file."</string>
+    <string name="dialog_insufficient_space_on_external" msgid="8692452156251449195">"Can\'t finish download. There isn\'t enough space on external storage."</string>
+    <string name="dialog_insufficient_space_on_cache" msgid="6313630206163908994">"Cannot finish download. There is not enough space on internal download storage."</string>
+    <string name="dialog_cannot_resume" msgid="8664509751358983543">"Download was interrupted and can\'t be resumed."</string>
+    <string name="dialog_file_already_exists" msgid="8308563940663449590">"Can\'t download. The destination file already exists."</string>
+    <string name="dialog_media_not_found" msgid="4468088418758018765">"Cannot download. The external media are not available."</string>
+    <string name="download_no_application_title" msgid="7024782176657362251">"Can\'t open file"</string>
+    <string name="remove_download" msgid="6372920256257247857">"Remove"</string>
+    <string name="delete_download" msgid="76629022653866471">"Delete"</string>
+    <string name="keep_queued_download" msgid="5144882786014818569">"Keep"</string>
+    <string name="cancel_running_download" msgid="5232704030969221112">"Cancel"</string>
+    <string name="retry_download" msgid="7617100787922717912">"Retry"</string>
+    <string name="start_now_download" msgid="1564642872809509681">"Start now"</string>
+    <string name="deselect_all" msgid="6348198946254776764">"Deselect all"</string>
+    <string name="select_all" msgid="634074918366265804">"Select all"</string>
+    <string name="selected_count" msgid="2101564570019753277">"Selected <xliff:g id="NUMBER">%1$d</xliff:g> out of <xliff:g id="TOTAL">%2$d</xliff:g>"</string>
+    <string name="download_share_dialog" msgid="3355867339806448955">"Share via"</string>
+</resources>
diff --git a/ui/res/values-en-rXC/strings.xml b/ui/res/values-en-rXC/strings.xml
new file mode 100644
index 0000000..94dc075
--- /dev/null
+++ b/ui/res/values-en-rXC/strings.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2010 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_label" msgid="3070921713463294774">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‏‏‎‏‏‎‎‎‎‎‏‏‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‏‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‎Downloads‎‏‎‎‏‎"</string>
+    <string name="download_title_sorted_by_date" msgid="5898014492155434221">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‏‏‎‎‏‏‏‏‏‎‏‎‎‏‏‏‎‏‏‏‎‎‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‏‏‎‏‎Downloads - Sorted by date‎‏‎‎‏‎"</string>
+    <string name="download_title_sorted_by_size" msgid="1417193166677094813">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‏‏‎‎‏‏‏‎‏‎‏‎‏‎‏‏‏‎‎‎‎‏‏‎‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‏‏‎‎‏‏‎‎‎‏‏‎‎‎‏‏‎‎‏‏‏‎‏‎Downloads - Sorted by size‎‏‎‎‏‎"</string>
+    <string name="no_downloads" msgid="1029667411186146836">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‏‏‏‎‎‏‎‎‏‎‏‎‎‎‎‏‏‏‎‏‎‎‎‎‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‏‎‎‎No downloads.‎‏‎‎‏‎"</string>
+    <string name="missing_title" msgid="830115697868833773">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎‎‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‎‏‎‎‎‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎&lt;Unknown&gt;‎‏‎‎‏‎"</string>
+    <string name="button_sort_by_size" msgid="7331549713691146251">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‏‎‏‎‏‏‎‏‎‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‎Sort by size‎‏‎‎‏‎"</string>
+    <string name="button_sort_by_date" msgid="8800842892684101528">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‏‎‏‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‎‎‎‎Sort by date‎‏‎‎‏‎"</string>
+    <string name="download_queued" msgid="104973307780629904">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‏‏‎‏‎‎‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‎‏‏‎‏‎‎‎‏‎‎‏‎‏‎‎‏‏‎‎‎‎‏‎‏‏‎‎‏‎‎‎‎‎Queued‎‏‎‎‏‎"</string>
+    <string name="download_running" msgid="4656462962155580641">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‏‎‎‏‎‎‏‎‏‎‎‎‎‏‎‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‎‎‏‎In progress‎‏‎‎‏‎"</string>
+    <string name="download_success" msgid="7006048006543495236">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‏‎‏‎‎‏‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‏‎‏‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‎‎‏‎‎‎Complete‎‏‎‎‏‎"</string>
+    <string name="download_error" msgid="8081329546008568251">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‏‏‎‏‎‏‎‎‏‏‎‎‏‏‎‎‏‏‏‏‏‎‎‎‏‏‎‏‎‏‏‎‏‎‏‏‎‏‎‎‎‎‏‏‎‏‏‏‎‏‏‎Unsuccessful‎‏‎‎‏‎"</string>
+    <string name="dialog_title_not_available" msgid="5746317632356158515">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‎‏‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‏‎‎‎‎‏‏‎‎‎‎‏‏‎‎‏‏‎Couldn\'t download‎‏‎‎‏‎"</string>
+    <string name="dialog_failed_body" msgid="587545111677064427">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‎‏‎‎‎‎‏‏‏‎‎‎‎‎‏‏‏‎‏‎‏‎‏‎‎‏‏‏‎‏‎‏‏‎Do you want to retry downloading the file later or delete it from the queue?‎‏‎‎‏‎"</string>
+    <string name="dialog_title_queued_body" msgid="6760681913815015219">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‏‏‎‎‎‏‎‎‎‏‏‎‎‎‎‏‏‎‎‎‏‎‎‎‎‏‎‏‏‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‏‏‎File in queue‎‏‎‎‏‎"</string>
+    <string name="dialog_queued_body" msgid="708552801635572720">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‏‏‏‎‏‎‏‎‏‎‏‎‎‏‎‎‏‎‎‎‎‎‏‎‎‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‎‏‏‏‏‏‏‎‎‎‎‎This file is queued for future download so isn\'t available yet.‎‏‎‎‏‎"</string>
+    <string name="dialog_file_missing_body" msgid="3223012612774276284">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‏‏‎‏‎‎‏‏‏‎‎‎‎‏‏‏‎‎‏‎‏‎‎‏‎‎‎‏‏‎‎‎‎‎‎‏‏‏‎‏‎‏‏‎‎‏‎‏‏‏‏‎‎‎Can\'t find the downloaded file.‎‏‎‎‏‎"</string>
+    <string name="dialog_insufficient_space_on_external" msgid="8692452156251449195">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‏‏‎‎‏‎‏‏‎‎‏‎‏‏‏‎‎‏‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‎‏‎‎‏‏‏‎‏‏‎‏‎‏‏‎Can\'t finish download. There isn\'t enough space on external storage.‎‏‎‎‏‎"</string>
+    <string name="dialog_insufficient_space_on_cache" msgid="6313630206163908994">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‎‎‏‎‏‎‎‏‏‏‎‎‎‏‎‏‏‎‎‎‏‏‎‎‏‎‎‏‏‎‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎Can\'t finish download. There isn\'t enough space on internal download storage.‎‏‎‎‏‎"</string>
+    <string name="dialog_cannot_resume" msgid="8664509751358983543">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‏‏‎‏‏‎‎‏‎‏‏‎‏‎‏‎‏‎‏‎‎‏‎‎‎‎‏‏‎‏‎‏‏‏‎‏‏‏‎Download was interrupted and can\'t be resumed.‎‏‎‎‏‎"</string>
+    <string name="dialog_file_already_exists" msgid="8308563940663449590">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‎‏‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‎‎‎‏‎‎‏‎‎‏‏‎‏‏‏‎‏‎‏‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎Can\'t download. The destination file already exists.‎‏‎‎‏‎"</string>
+    <string name="dialog_media_not_found" msgid="4468088418758018765">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‎‎‎‎‏‏‏‎‏‎‏‏‎‏‎‏‏‏‏‏‎‎‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‏‏‎‎‎‏‏‎‏‏‎‎‏‏‎‏‎Can\'t download. The external media isn\'t available.‎‏‎‎‏‎"</string>
+    <string name="download_no_application_title" msgid="7024782176657362251">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‎‎‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎‎‏‎‏‎‎‎‎‏‎‎‏‏‎‏‎‏‎‎‏‎‏‏‎Can\'t open file‎‏‎‎‏‎"</string>
+    <string name="remove_download" msgid="6372920256257247857">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‎‎‏‎‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‎‏‏‎‎‏‎‏‎‎‏‏‏‎‎‎‏‎Remove‎‏‎‎‏‎"</string>
+    <string name="delete_download" msgid="76629022653866471">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎‏‎‎‎‎‎‎‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‎‏‎‏‎‏‎‏‏‎‎‎‏‎‎‏‏‏‎‎‎‎‏‏‏‏‎‎‏‏‏‎Delete‎‏‎‎‏‎"</string>
+    <string name="keep_queued_download" msgid="5144882786014818569">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‏‏‎‎‏‎‎‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‏‎‎‏‎Keep‎‏‎‎‏‎"</string>
+    <string name="cancel_running_download" msgid="5232704030969221112">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎‏‎‏‏‎‎‏‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎Cancel‎‏‎‎‏‎"</string>
+    <string name="retry_download" msgid="7617100787922717912">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‏‎‏‎‏‏‎‎‎‎‎‏‏‎‎‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‏‏‎‏‏‎‏‎‎‏‏‎‎‏‏‎‏‏‎‎‎‎Retry‎‏‎‎‏‎"</string>
+    <string name="start_now_download" msgid="1564642872809509681">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‏‏‎‏‎‏‏‏‎‏‎‎‏‏‎‎‏‏‏‎‎‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‏‎‏‎‎‏‏‎‎‏‏‎‎‎‏‎Start now‎‏‎‎‏‎"</string>
+    <string name="deselect_all" msgid="6348198946254776764">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‏‎‎‏‎‏‎‏‎‏‎‏‎‏‎‎‏‏‏‎‏‎‏‏‎‎‏‏‎‎‎‎‎‏‏‎‎‏‏‎‏‎‎‏‏‎‏‏‏‏‎‎‎Deselect all‎‏‎‎‏‎"</string>
+    <string name="select_all" msgid="634074918366265804">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‏‏‎‎‏‏‎‎‏‎‏‎‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‎‎‎‏‏‎‏‎‎‏‏‎‎‎‎‎‏‏‏‎‎‏‏‎‎‎Select all‎‏‎‎‏‎"</string>
+    <string name="selected_count" msgid="2101564570019753277">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‎‏‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‎‎‏‎‎‏‎‎‏‎‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎‏‎Selected ‎‏‎‎‏‏‎<xliff:g id="NUMBER">%1$d</xliff:g>‎‏‎‎‏‏‏‎ out of ‎‏‎‎‏‏‎<xliff:g id="TOTAL">%2$d</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="download_share_dialog" msgid="3355867339806448955">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‎‏‎‎‏‎‎‏‏‎‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‏‏‏‏‎‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‏‎‏‏‎Share via‎‏‎‎‏‎"</string>
+</resources>
diff --git a/ui/res/values-mr/strings.xml b/ui/res/values-mr/strings.xml
index 62b6389..ba3b2cc 100644
--- a/ui/res/values-mr/strings.xml
+++ b/ui/res/values-mr/strings.xml
@@ -28,7 +28,7 @@
     <string name="download_success" msgid="7006048006543495236">"पूर्ण"</string>
     <string name="download_error" msgid="8081329546008568251">"अयशस्वी"</string>
     <string name="dialog_title_not_available" msgid="5746317632356158515">"डाउनलोड करू शकलो नाही"</string>
-    <string name="dialog_failed_body" msgid="587545111677064427">"आपण फाइल डाउनलोड करण्‍याचा नंतर पुन्हा प्रयत्न करू इच्‍छिता कि तिला रांगेमधून हटवू इच्छिता?"</string>
+    <string name="dialog_failed_body" msgid="587545111677064427">"तुम्ही फाइल डाउनलोड करण्‍याचा नंतर पुन्हा प्रयत्न करू इच्‍छिता कि तिला रांगेमधून हटवू इच्छिता?"</string>
     <string name="dialog_title_queued_body" msgid="6760681913815015219">"रांगेतील फाइल"</string>
     <string name="dialog_queued_body" msgid="708552801635572720">"ही फाइल भविष्‍यात डाउनलोड करण्‍यासाठी रांगेत लावली आहे म्‍हणून ती अद्याप उपलब्‍ध नाही."</string>
     <string name="dialog_file_missing_body" msgid="3223012612774276284">"डाउनलोड केलेली फाइल शोधू शकत नाही."</string>
@@ -47,5 +47,5 @@
     <string name="deselect_all" msgid="6348198946254776764">"सर्व निवड रद्द करा"</string>
     <string name="select_all" msgid="634074918366265804">"सर्व निवडा"</string>
     <string name="selected_count" msgid="2101564570019753277">"<xliff:g id="TOTAL">%2$d</xliff:g> पैकी <xliff:g id="NUMBER">%1$d</xliff:g> निवडले"</string>
-    <string name="download_share_dialog" msgid="3355867339806448955">"द्वारे सामायिक करा"</string>
+    <string name="download_share_dialog" msgid="3355867339806448955">"द्वारे शेअर करा"</string>
 </resources>
diff --git a/ui/res/values-my/strings.xml b/ui/res/values-my/strings.xml
index ba7bfcc..7ed8931 100644
--- a/ui/res/values-my/strings.xml
+++ b/ui/res/values-my/strings.xml
@@ -20,7 +20,7 @@
     <string name="download_title_sorted_by_date" msgid="5898014492155434221">"ဒေါင်းလုဒ်များ -နေ့စွဲအလိုက် စီထားသည်"</string>
     <string name="download_title_sorted_by_size" msgid="1417193166677094813">"ဒေါင်းလုဒ်များ -အရွယ်အစားအလိုက် စီထားသည်"</string>
     <string name="no_downloads" msgid="1029667411186146836">"ဒေါင်းလုပ်မရှိပါ"</string>
-    <string name="missing_title" msgid="830115697868833773">"အကြောင်းအရာ မသိရှိ"</string>
+    <string name="missing_title" msgid="830115697868833773">"မသိပါ"</string>
     <string name="button_sort_by_size" msgid="7331549713691146251">"အရွယ်အစားအလိုက် စီရန်"</string>
     <string name="button_sort_by_date" msgid="8800842892684101528">"နေ့စွဲအလိုက် စီရန်"</string>
     <string name="download_queued" msgid="104973307780629904">"တန်းစီထားပြီး"</string>
diff --git a/ui/res/values-ne/strings.xml b/ui/res/values-ne/strings.xml
index 572c1d5..314e6c3 100644
--- a/ui/res/values-ne/strings.xml
+++ b/ui/res/values-ne/strings.xml
@@ -30,7 +30,7 @@
     <string name="dialog_title_not_available" msgid="5746317632356158515">"डाउनलोड गर्न सकेन"</string>
     <string name="dialog_failed_body" msgid="587545111677064427">"तपाईं पछि फेरि फाइल डाउनलोड गर्ने प्रयास गर्न चाहनुहुन्छ कि लामबाट हटाउन चाहनुहुन्छ?"</string>
     <string name="dialog_title_queued_body" msgid="6760681913815015219">"फाइल लाममा छ"</string>
-    <string name="dialog_queued_body" msgid="708552801635572720">"फाइल भविष्यमा डाउनलोड गर्नका लागि लाममा राखिएको छ, यसैले अझै उपलब्ध छैन।"</string>
+    <string name="dialog_queued_body" msgid="708552801635572720">"फाइल भविष्यमा डाउनलोड गर्नाका लागि लाममा राखिएको छ, यसैले अझै उपलब्ध छैन।"</string>
     <string name="dialog_file_missing_body" msgid="3223012612774276284">"डाउनलोड गरिएको फाइल फेला पार्न सकेन।"</string>
     <string name="dialog_insufficient_space_on_external" msgid="8692452156251449195">"डाउनलोड समाप्त पार्न सकेन। बाह्य भण्डारणमा पर्याप्त ठाउँ छैन।"</string>
     <string name="dialog_insufficient_space_on_cache" msgid="6313630206163908994">"डाउनलोड समाप्त पार्न सकेन। आन्तरिक डाउनलोड भण्डारणमा पर्याप्त ठाउँ छैन।"</string>