summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values-az-rAZ/strings.xml3
-rw-r--r--res/values-bg/strings.xml2
-rw-r--r--res/values-el/strings.xml8
-rw-r--r--res/values-kn-rIN/strings.xml2
-rw-r--r--res/values-lt/strings.xml2
-rw-r--r--res/values-ml-rIN/strings.xml6
-rw-r--r--res/values-sk/strings.xml8
-rw-r--r--res/values-uk/strings.xml2
-rw-r--r--res/values-uz-rUZ/strings.xml8
-rw-r--r--src/com/android/providers/downloads/Constants.java3
-rw-r--r--src/com/android/providers/downloads/DownloadNotifier.java31
-rw-r--r--src/com/android/providers/downloads/DownloadReceiver.java28
-rw-r--r--tests/src/com/android/providers/downloads/AbstractDownloadProviderFunctionalTest.java11
-rw-r--r--tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java22
-rw-r--r--ui/res/values-es-rUS/strings.xml2
-rw-r--r--ui/res/values-fa/strings.xml2
-rw-r--r--ui/res/values-kk-rKZ/strings.xml2
-rw-r--r--ui/res/values-tl/strings.xml4
-rw-r--r--ui/res/values-uz-rUZ/strings.xml6
19 files changed, 121 insertions, 31 deletions
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
index 28af64d4..35de2abe 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az-rAZ/strings.xml
@@ -44,7 +44,6 @@
<string name="button_queue_for_wifi" msgid="422576726189179221">"Növbəyə sal"</string>
<string name="button_cancel_download" msgid="2430166148737975604">"Ləğv et"</string>
<string name="button_start_now" msgid="792123674007840864">"İndi başlat"</string>
- <string name="download_percent" msgid="6889426633242976698">"<xliff:g id="NUMBER">%d</xliff:g> <xliff:g id="PERCENT">%%</xliff:g>"</string>
<plurals name="notif_summary_active">
<item quantity="one" msgid="8475775855911967027">"1 fayl endirilir"</item>
<item quantity="other" msgid="9087228371320573153">"<xliff:g id="NUMBER">%d</xliff:g> fayl endirilir"</item>
@@ -59,5 +58,5 @@
<string name="download_queued" msgid="3302638231377947451">"Növbəyə salınıb"</string>
<string name="download_running" msgid="3925050393361158266">"Davam edir"</string>
<string name="download_error" msgid="5144180777324573236">"Uğursuz"</string>
- <string name="download_running_percent" msgid="4529799113107391817">"İrəliləyir, <xliff:g id="NUMBER">%d</xliff:g> <xliff:g id="PERCENT">%%</xliff:g>"</string>
+ <string name="download_running_percent" msgid="4305080769167320204">"Davam edir, <xliff:g id="PERCENTAGE">%s</xliff:g>"</string>
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index e2ea52fd..bf27166e 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -16,7 +16,7 @@
<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="app_label" msgid="3658948994665187911">"Мениджър на изтеглянията"</string>
<string name="permlab_downloadManager" msgid="7779544811202855500">"Достъп до диспечера за изтегляне."</string>
<string name="permdesc_downloadManager" msgid="4237406545998908947">"Дава на приложението достъп до мениджъра на изтеглянията и му позволява да го използва за изтегляне на файлове. Злонамерените приложения могат да използват това за прекъсване на изтеглянията и за достъп до лична информация."</string>
<string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Разширени функции на диспечера за изтегляне."</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index dc780925..ec459149 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -16,9 +16,9 @@
<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">"Πρόγραμμα διαχείρισης λήψεων"</string>
- <string name="permlab_downloadManager" msgid="7779544811202855500">"Πρόσβαση στο πρόγραμμα διαχείρισης λήψεων."</string>
- <string name="permdesc_downloadManager" msgid="4237406545998908947">"Επιτρέπει στην εφαρμογή την πρόσβαση στο πρόγραμμα διαχείρισης λήψεων και τη χρήση του για τη λήψη αρχείων. Οι κακόβουλες εφαρμογές μπορούν να χρησιμοποιήσουν αυτήν τη δυνατότητα για να διακόψουν λήψεις και να αποκτήσουν πρόσβαση σε απόρρητες πληροφορίες."</string>
+ <string name="app_label" msgid="3658948994665187911">"Διαχείριση λήψεων"</string>
+ <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="permlab_downloadCompletedIntent" msgid="945913803765675685">"Αποστολή ειδοποιήσεων λήψης."</string>
@@ -27,7 +27,7 @@
<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="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Επιτρέπει στην εφαρμογή τη λήψη αρχείων στην προσωρινή μνήμη λήψης, η οποία δεν είναι δυνατό να διαγραφεί αυτόματα όταν παρουσιαστεί έλλειψη χώρου στη διαχείριση λήψεων."</string>
<string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"λήψη αρχείων χωρίς ειδοποίηση"</string>
<string name="permdesc_downloadWithoutNotification" msgid="8483135034298639727">"Επιτρέπει στην εφαρμογή τη λήψη αρχείων μέσω του προγράμματος διαχείρισης λήψεων χωρίς την εμφάνιση κάποιας ειδοποίησης στο χρήστη."</string>
<string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Πρόσβαση σε όλα τα στοιχεία λήψης"</string>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 0434e792..87593488 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -54,7 +54,7 @@
</plurals>
<string name="download_remaining" msgid="3139295890887972718">"<xliff:g id="DURATION">%s</xliff:g> ಉಳಿದಿದೆ"</string>
<string name="download_no_application_title" msgid="7935659741162801699">"ಫೈಲ್ ತೆರೆಯಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"</string>
- <string name="root_downloads" msgid="4098414876292351487">"ಡೌನ್‌ಲೋಡ್‌ಗಳು"</string>
+ <string name="root_downloads" msgid="4098414876292351487">"ಡೌನ್‌ಲೋಡ್‌"</string>
<string name="download_queued" msgid="3302638231377947451">"ಸರದಿಯಲ್ಲಿರಿಸಲಾಗಿದೆ"</string>
<string name="download_running" msgid="3925050393361158266">"ಪ್ರಗತಿಯಲ್ಲಿದೆ"</string>
<string name="download_error" msgid="5144180777324573236">"ವಿಫಲಗೊಂಡಿದೆ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 1c5cd864..2239aab7 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -16,7 +16,7 @@
<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">"Atsisiuntimo tvarkyklė"</string>
+ <string name="app_label" msgid="3658948994665187911">"Atsisiuntimų tvarkytuvė"</string>
<string name="permlab_downloadManager" msgid="7779544811202855500">"Pasiekti atsisiuntimo tvarkyklę."</string>
<string name="permdesc_downloadManager" msgid="4237406545998908947">"Leidžiama programai pasiekti atsisiuntimų tvarkyklę ir naudoti ją failams atsisiųsti. Kenkėjiškos programos gali naudoti šią funkciją atsisiuntimams stabdyti ir asmeninei informacijai pasiekti."</string>
<string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Išplėstinės atsisiuntimo tvarkyklės funkcijos."</string>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index 3a32023a..8ba131ee 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -35,12 +35,12 @@
<string name="download_unknown_title" msgid="7015124071247271585">"&lt;ശീർഷകമില്ലാത്തത്&gt;"</string>
<string name="notification_download_complete" msgid="5443563299253103667">"ഡൗൺലോഡ് പൂർത്തിയായി."</string>
<string name="notification_download_failed" msgid="8612136111952014978">"ഡൗൺലോഡുചെയ്‌തു."</string>
- <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"ഡൗൺലോഡ് വലുപ്പം Wi-Fi ആവശ്യപ്പെടുന്നു."</string>
+ <string name="notification_need_wifi_for_size" msgid="2556172885154833575">"ഡൗൺലോഡ് വലുപ്പം വൈഫൈ ആവശ്യപ്പെടുന്നു."</string>
<string name="notification_paused_in_background" msgid="4328508073283591772">"പശ്ചാത്തലത്തിൽ താൽക്കാലികമായി നിർത്തി."</string>
<string name="wifi_required_title" msgid="1995971416871498179">"ഡൗൺലോഡ്, ഓപ്പറേറ്റർ നെറ്റ്‌വർക്കിൽ ചെയ്യാനാകുന്നതിലും വളരെ വലുതാണ്"</string>
- <string name="wifi_required_body" msgid="3067694630143784449">"ഈ ഡൗൺലോഡ് <xliff:g id="SIZE">%s </xliff:g> പൂർത്തിയാക്കാൻ നിങ്ങൾ Wi-Fi ഉപയോഗിക്കണം.\n\n നിങ്ങൾ അടുത്ത തവണ Wi-Fi നെറ്റ്‌വർക്കിൽ കണക്റ്റുചെയ്യുമ്പോൾ ഈ ഡൗൺലോഡ് ആരംഭിക്കാൻ <xliff:g id="QUEUE_TEXT">%s </xliff:g> സ്‌പർശിക്കുക."</string>
+ <string name="wifi_required_body" msgid="3067694630143784449">"ഈ ഡൗൺലോഡ് <xliff:g id="SIZE">%s </xliff:g> പൂർത്തിയാക്കാൻ നിങ്ങൾ വൈഫൈ ഉപയോഗിക്കണം.\n\n നിങ്ങൾ അടുത്ത തവണ വൈഫൈ നെറ്റ്‌വർക്കിൽ കണക്റ്റുചെയ്യുമ്പോൾ ഈ ഡൗൺലോഡ് ആരംഭിക്കാൻ <xliff:g id="QUEUE_TEXT">%s </xliff:g> സ്‌പർശിക്കുക."</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 നിങ്ങൾ അടുത്ത തവണ Wi-Fi നെറ്റ്‌വർക്കിൽ കണക്റ്റുചെയ്യുമ്പോൾ ഈ ഡൗൺലോഡ് ആരംഭിക്കാൻ <xliff:g id="QUEUE_TEXT">%s</xliff:g> സ്‌പർശിക്കുക."</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> സ്‌പർശിക്കുക."</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>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index a1690a0d..1abda8d4 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -24,8 +24,8 @@
<string name="permlab_downloadCompletedIntent" msgid="945913803765675685">"Odoslať upozornenie o stiahnutí."</string>
<string name="permdesc_downloadCompletedIntent" msgid="2094706189855699533">"Umožňuje aplikácii odosielať upozornenia na dokončenie sťahovania. Škodlivé aplikácie môžu pomocou tohto nastavenia zmiasť iné aplikácie, ktoré preberajú súbory."</string>
<string name="permlab_seeAllExternal" product="nosdcard" msgid="4084575448409212628">"Zobr. preber. do ukl. priestoru USB"</string>
- <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"Zobrazenie všetkých položiek stiahnutých na kartu SD"</string>
- <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Povolí aplikácii zobraziť všetky súbory stiahnuté na kartu SD bez ohľadu na aplikáciu, pomocou ktorej boli stiahnuté."</string>
+ <string name="permlab_seeAllExternal" product="default" msgid="140058400609165726">"Zobrazenie všetkých položiek stiahnutých na SD kartu"</string>
+ <string name="permdesc_seeAllExternal" msgid="1672759909065511233">"Povolí aplikácii zobraziť všetky súbory stiahnuté na SD kartu bez ohľadu na aplikáciu, pomocou ktorej boli stiahnuté."</string>
<string name="permlab_downloadCacheNonPurgeable" msgid="3069534308882047412">"Rezervovať miesto vo vyrovnáv. pamäti sťahovania"</string>
<string name="permdesc_downloadCacheNonPurgeable" msgid="2408760720334570420">"Umožňuje aplikácii sťahovať súbory do vyrovnávacej pamäte sťahovania, ktorú nie je možné automaticky odstrániť, keď správca sťahovania potrebuje viac miesta."</string>
<string name="permlab_downloadWithoutNotification" msgid="8837971946078327262">"sťahovať súbory bez upozornenia"</string>
@@ -33,7 +33,7 @@
<string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Prístup ku všetkým systémovým stiahnutiam"</string>
<string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Umožňuje aplikácii zobraziť a upravovať všetky sťahovania spustené ľubovoľnou aplikáciou v systéme."</string>
<string name="download_unknown_title" msgid="7015124071247271585">"&lt;Bez názvu&gt;"</string>
- <string name="notification_download_complete" msgid="5443563299253103667">"Sťahovanie dokončené."</string>
+ <string name="notification_download_complete" msgid="5443563299253103667">"Sťahovanie dokončené"</string>
<string name="notification_download_failed" msgid="8612136111952014978">"Sťahovanie bolo neúspešné."</string>
<string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Vzhľadom na veľkosť preberaného súboru sa vyžaduje pripojenie Wi-Fi"</string>
<string name="notification_paused_in_background" msgid="4328508073283591772">"Pozastavené na pozadí."</string>
@@ -54,7 +54,7 @@
</plurals>
<string name="download_remaining" msgid="3139295890887972718">"Zostáva: <xliff:g id="DURATION">%s</xliff:g>"</string>
<string name="download_no_application_title" msgid="7935659741162801699">"Súbor sa nepodarilo otvoriť"</string>
- <string name="root_downloads" msgid="4098414876292351487">"Stiahnuté súbory"</string>
+ <string name="root_downloads" msgid="4098414876292351487">"Stiahnuté"</string>
<string name="download_queued" msgid="3302638231377947451">"V poradí"</string>
<string name="download_running" msgid="3925050393361158266">"Prebieha"</string>
<string name="download_error" msgid="5144180777324573236">"Neúspešné"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index c0ee3924..7c43573a 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -16,7 +16,7 @@
<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">"Менеджер завантаж."</string>
+ <string name="app_label" msgid="3658948994665187911">"Менеджер завантажень"</string>
<string name="permlab_downloadManager" msgid="7779544811202855500">"Доступ до менедж. завантаж."</string>
<string name="permdesc_downloadManager" msgid="4237406545998908947">"Дозволяє програмі отримувати доступ до менеджера завантажень і використовувати його для завантаження файлів. Шкідливі програми можуть використовувати це для переривання завантажень і доступу до особистої інформації."</string>
<string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Розширені функції менеджера завантаж."</string>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index 8d693b13..0a43e35f 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -16,7 +16,7 @@
<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">"Yuklab olish menejeri"</string>
+ <string name="app_label" msgid="3658948994665187911">"Yuklanishlar menejeri"</string>
<string name="permlab_downloadManager" msgid="7779544811202855500">"Yuklab olish menejeriga kirishga ruxsat"</string>
<string name="permdesc_downloadManager" msgid="4237406545998908947">"Ilovaga yuklab olish menejeriga kirish va yuklab olish fayllaridan foydalanish uchun ruxsat beradi. Zararli dasturlar bundan yuklab olishlarga to‘sqinlik qilish va maxfiy ma’lumotlarga kirish uchun foydalanishi mumkin."</string>
<string name="permlab_downloadManagerAdvanced" msgid="7103642833308809655">"Qo‘shimcha yuklab olish menejeri funksiyalari."</string>
@@ -33,7 +33,7 @@
<string name="permlab_accessAllDownloads" msgid="2436240495424393717">"Tizimdagi barcha yuklab olishlariga ruxsat berish"</string>
<string name="permdesc_accessAllDownloads" msgid="1871832254578267128">"Ilovaga tizimda har qanday ilova tomonidan ishga tushirilgan barcha yuklanishlarni ko‘rish va o‘zgartirish uchun ruxsat beradi."</string>
<string name="download_unknown_title" msgid="7015124071247271585">"&lt;Sarlavhasiz&gt;"</string>
- <string name="notification_download_complete" msgid="5443563299253103667">"Yuklab olish tugadi."</string>
+ <string name="notification_download_complete" msgid="5443563299253103667">"Yuklab olish tugallandi."</string>
<string name="notification_download_failed" msgid="8612136111952014978">"Yuklab olish muvaffaqiyatsiz yakunlandi."</string>
<string name="notification_need_wifi_for_size" msgid="2556172885154833575">"Katta hajmni yuklab olish uchun Wi-Fi kerak."</string>
<string name="notification_paused_in_background" msgid="4328508073283591772">"Orqa fonda pauzalangan."</string>
@@ -43,7 +43,7 @@
<string name="wifi_recommended_body" msgid="1314735166699936073">"Ushbu <xliff:g id="SIZE">%s </xliff:g> hajmdagi yuklab olishni boshlash batareya quvvatini kamaytirishi va/yoki uyali aloqa internetidan juda ko‘p foydalanib, natijada internet paketingizga ko‘ra uyali tarmoq operatoringiz tomonidan sizdan ortiqcha haq talab qilinishiga sabab bo‘lishi mumkin. \n\n Keyingi safar Wi-Fi tarmoqqa ulanganingizda yuklab olishni boshlash uchun <xliff:g id="QUEUE_TEXT">%s</xliff:g>ni tanlang."</string>
<string name="button_queue_for_wifi" msgid="422576726189179221">"Navbat"</string>
<string name="button_cancel_download" msgid="2430166148737975604">"Bekor qilish"</string>
- <string name="button_start_now" msgid="792123674007840864">"Hozir boshlash"</string>
+ <string name="button_start_now" msgid="792123674007840864">"Ishga tushirish"</string>
<plurals name="notif_summary_active">
<item quantity="one" msgid="8475775855911967027">"1 ta fayl yuklab olinmoqda"</item>
<item quantity="other" msgid="9087228371320573153">"<xliff:g id="NUMBER">%d</xliff:g> ta fayl yuklab olinmoqda"</item>
@@ -54,7 +54,7 @@
</plurals>
<string name="download_remaining" msgid="3139295890887972718">"<xliff:g id="DURATION">%s</xliff:g> o‘tib ketdi"</string>
<string name="download_no_application_title" msgid="7935659741162801699">"Fayl ochilmadi"</string>
- <string name="root_downloads" msgid="4098414876292351487">"Yuklab olinganlar"</string>
+ <string name="root_downloads" msgid="4098414876292351487">"Yuklanishlar"</string>
<string name="download_queued" msgid="3302638231377947451">"Navbatga qo‘shildi"</string>
<string name="download_running" msgid="3925050393361158266">"Yuklab olinmoqda"</string>
<string name="download_error" msgid="5144180777324573236">"Muvaffaqiyatsiz"</string>
diff --git a/src/com/android/providers/downloads/Constants.java b/src/com/android/providers/downloads/Constants.java
index 7b8fcd24..6cea8086 100644
--- a/src/com/android/providers/downloads/Constants.java
+++ b/src/com/android/providers/downloads/Constants.java
@@ -54,6 +54,9 @@ public class Constants {
/** the intent that gets sent when clicking an incomplete/failed download */
public static final String ACTION_LIST = "android.intent.action.DOWNLOAD_LIST";
+ /** the intent that gets sent when canceling a download */
+ public static final String ACTION_CANCEL = "android.intent.action.DOWNLOAD_CANCEL";
+
/** the intent that gets sent when deleting the notification of a completed download */
public static final String ACTION_HIDE = "android.intent.action.DOWNLOAD_HIDE";
diff --git a/src/com/android/providers/downloads/DownloadNotifier.java b/src/com/android/providers/downloads/DownloadNotifier.java
index 60c249f9..2ff8b634 100644
--- a/src/com/android/providers/downloads/DownloadNotifier.java
+++ b/src/com/android/providers/downloads/DownloadNotifier.java
@@ -122,6 +122,15 @@ public class DownloadNotifier {
}
}
+ private static boolean isClusterDeleted(Collection<DownloadInfo> cluster) {
+ boolean wasDeleted = true;
+ for (DownloadInfo info : cluster) {
+ wasDeleted = wasDeleted && info.mDeleted;
+ }
+
+ return wasDeleted;
+ }
+
private void updateWithLocked(Collection<DownloadInfo> downloads) {
final Resources res = mContext.getResources();
@@ -139,6 +148,11 @@ public class DownloadNotifier {
final int type = getNotificationTagType(tag);
final Collection<DownloadInfo> cluster = clustered.get(tag);
+ // If each of the downloads was canceled, don't show notification for the cluster
+ if (isClusterDeleted(cluster)) {
+ continue;
+ }
+
final Notification.Builder builder = new Notification.Builder(mContext);
builder.setColor(res.getColor(
com.android.internal.R.color.system_notification_accent_color));
@@ -164,16 +178,31 @@ public class DownloadNotifier {
// Build action intents
if (type == TYPE_ACTIVE || type == TYPE_WAITING) {
+ long[] downloadIds = getDownloadIds(cluster);
+
// build a synthetic uri for intent identification purposes
final Uri uri = new Uri.Builder().scheme("active-dl").appendPath(tag).build();
final Intent intent = new Intent(Constants.ACTION_LIST,
uri, mContext, DownloadReceiver.class);
intent.putExtra(DownloadManager.EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS,
- getDownloadIds(cluster));
+ downloadIds);
builder.setContentIntent(PendingIntent.getBroadcast(mContext,
0, intent, PendingIntent.FLAG_UPDATE_CURRENT));
builder.setOngoing(true);
+ // Add a Cancel action
+ final Uri cancelUri = new Uri.Builder().scheme("cancel-dl").appendPath(tag).build();
+ final Intent cancelIntent = new Intent(Constants.ACTION_CANCEL,
+ cancelUri, mContext, DownloadReceiver.class);
+ cancelIntent.putExtra(DownloadReceiver.EXTRA_CANCELED_DOWNLOAD_IDS, downloadIds);
+ cancelIntent.putExtra(DownloadReceiver.EXTRA_CANCELED_DOWNLOAD_NOTIFICATION_TAG, tag);
+
+ builder.addAction(
+ android.R.drawable.ic_menu_close_clear_cancel,
+ res.getString(R.string.button_cancel_download),
+ PendingIntent.getBroadcast(mContext,
+ 0, cancelIntent, PendingIntent.FLAG_UPDATE_CURRENT));
+
} else if (type == TYPE_COMPLETE) {
final DownloadInfo info = cluster.iterator().next();
final Uri uri = ContentUris.withAppendedId(
diff --git a/src/com/android/providers/downloads/DownloadReceiver.java b/src/com/android/providers/downloads/DownloadReceiver.java
index 28e2a673..2f50dcf6 100644
--- a/src/com/android/providers/downloads/DownloadReceiver.java
+++ b/src/com/android/providers/downloads/DownloadReceiver.java
@@ -21,6 +21,7 @@ import static android.app.DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_ONLY
import static com.android.providers.downloads.Constants.TAG;
import android.app.DownloadManager;
+import android.app.NotificationManager;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.ContentUris;
@@ -45,6 +46,21 @@ import com.google.common.annotations.VisibleForTesting;
* Receives system broadcasts (boot, network connectivity)
*/
public class DownloadReceiver extends BroadcastReceiver {
+ /**
+ * Intent extra included with {@link #ACTION_CANCEL} intents, indicating the IDs (as array of
+ * long) of the downloads that were canceled.
+ */
+ public static final String EXTRA_CANCELED_DOWNLOAD_IDS =
+ "com.android.providers.downloads.extra.CANCELED_DOWNLOAD_IDS";
+
+ /**
+ * Intent extra included with {@link #ACTION_CANCEL} intents, indicating the tag of the
+ * notification corresponding to the download(s) that were canceled; this notification must be
+ * canceled.
+ */
+ public static final String EXTRA_CANCELED_DOWNLOAD_NOTIFICATION_TAG =
+ "com.android.providers.downloads.extra.CANCELED_DOWNLOAD_NOTIFICATION_TAG";
+
private static Handler sAsyncHandler;
static {
@@ -107,6 +123,18 @@ public class DownloadReceiver extends BroadcastReceiver {
}
});
}
+ } else if (Constants.ACTION_CANCEL.equals(action)) {
+ long[] downloadIds = intent.getLongArrayExtra(
+ DownloadReceiver.EXTRA_CANCELED_DOWNLOAD_IDS);
+ DownloadManager manager = (DownloadManager) context.getSystemService(
+ Context.DOWNLOAD_SERVICE);
+ manager.remove(downloadIds);
+
+ String notifTag = intent.getStringExtra(
+ DownloadReceiver.EXTRA_CANCELED_DOWNLOAD_NOTIFICATION_TAG);
+ NotificationManager notifManager = (NotificationManager) context.getSystemService(
+ Context.NOTIFICATION_SERVICE);
+ notifManager.cancel(notifTag, 0);
}
}
diff --git a/tests/src/com/android/providers/downloads/AbstractDownloadProviderFunctionalTest.java b/tests/src/com/android/providers/downloads/AbstractDownloadProviderFunctionalTest.java
index 28c5dc7d..6934b86d 100644
--- a/tests/src/com/android/providers/downloads/AbstractDownloadProviderFunctionalTest.java
+++ b/tests/src/com/android/providers/downloads/AbstractDownloadProviderFunctionalTest.java
@@ -18,11 +18,13 @@ package com.android.providers.downloads;
import static org.mockito.Mockito.mock;
+import android.app.DownloadManager;
import android.app.NotificationManager;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.ProviderInfo;
import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
@@ -99,6 +101,7 @@ public abstract class AbstractDownloadProviderFunctionalTest extends
private final ContentResolver mResolver;
private final NotificationManager mNotifManager;
+ private final DownloadManager mDownloadManager;
boolean mHasServiceBeenStarted = false;
@@ -106,6 +109,7 @@ public abstract class AbstractDownloadProviderFunctionalTest extends
super(realContext, FILENAME_PREFIX);
mResolver = new MockContentResolverWithNotify(this);
mNotifManager = mock(NotificationManager.class);
+ mDownloadManager = mock(DownloadManager.class);
}
/**
@@ -123,6 +127,8 @@ public abstract class AbstractDownloadProviderFunctionalTest extends
public Object getSystemService(String name) {
if (Context.NOTIFICATION_SERVICE.equals(name)) {
return mNotifManager;
+ } else if (Context.DOWNLOAD_SERVICE.equals(name)) {
+ return mDownloadManager;
}
return super.getSystemService(name);
@@ -162,7 +168,10 @@ public abstract class AbstractDownloadProviderFunctionalTest extends
final DownloadProvider provider = new DownloadProvider();
provider.mSystemFacade = mSystemFacade;
- provider.attachInfo(mTestContext, null);
+
+ ProviderInfo info = new ProviderInfo();
+ info.authority = "downloads";
+ provider.attachInfo(mTestContext, info);
mResolver.addProvider(PROVIDER_AUTHORITY, provider);
diff --git a/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java b/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java
index d1048b02..17fed6d0 100644
--- a/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java
+++ b/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java
@@ -49,6 +49,8 @@ import android.test.suitebuilder.annotation.LargeTest;
import android.test.suitebuilder.annotation.Suppress;
import android.text.format.DateUtils;
+import com.android.providers.downloads.Constants;
+import com.android.providers.downloads.DownloadReceiver;
import com.google.mockwebserver.MockResponse;
import com.google.mockwebserver.RecordedRequest;
import com.google.mockwebserver.SocketPolicy;
@@ -71,6 +73,7 @@ public class PublicApiFunctionalTest extends AbstractPublicApiTest {
protected File mTestDirectory;
private NotificationManager mNotifManager;
+ private DownloadManager mDownloadManager;
public PublicApiFunctionalTest() {
super(new FakeSystemFacade());
@@ -82,6 +85,8 @@ public class PublicApiFunctionalTest extends AbstractPublicApiTest {
mNotifManager = (NotificationManager) getContext()
.getSystemService(Context.NOTIFICATION_SERVICE);
+ mDownloadManager = (DownloadManager) getContext()
+ .getSystemService(Context.DOWNLOAD_SERVICE);
mTestDirectory = new File(Environment.getExternalStorageDirectory() + File.separator
+ "download_manager_functional_test");
@@ -552,6 +557,23 @@ public class PublicApiFunctionalTest extends AbstractPublicApiTest {
assertEquals(PACKAGE_NAME, broadcast.getPackage());
}
+ public void testNotificationCancelDownloadClicked() throws Exception {
+ Download download = enqueueRequest(getRequest());
+
+ DownloadReceiver receiver = new DownloadReceiver();
+ receiver.mSystemFacade = mSystemFacade;
+ Intent intent = new Intent(Constants.ACTION_CANCEL);
+ intent.setData(Uri.parse(Downloads.Impl.CONTENT_URI + "/" + download.mId));
+
+ long[] downloadIds = {download.mId};
+ intent.putExtra(DownloadReceiver.EXTRA_CANCELED_DOWNLOAD_IDS, downloadIds);
+ intent.putExtra(DownloadReceiver.EXTRA_CANCELED_DOWNLOAD_NOTIFICATION_TAG, "tag");
+ receiver.onReceive(mContext, intent);
+
+ verify(mNotifManager, times(1)).cancel("tag", 0);
+ verify(mDownloadManager, times(1)).remove(downloadIds);
+ }
+
public void testBasicConnectivityChanges() throws Exception {
enqueueResponse(buildResponse(HTTP_OK, FILE_CONTENT));
diff --git a/ui/res/values-es-rUS/strings.xml b/ui/res/values-es-rUS/strings.xml
index 197eba27..cd040690 100644
--- a/ui/res/values-es-rUS/strings.xml
+++ b/ui/res/values-es-rUS/strings.xml
@@ -46,5 +46,5 @@
<string name="deselect_all" msgid="6348198946254776764">"Desmarcar todas"</string>
<string name="select_all" msgid="634074918366265804">"Seleccionar todas"</string>
<string name="selected_count" msgid="2101564570019753277">"Se seleccionaron <xliff:g id="NUMBER">%1$d</xliff:g> de entre <xliff:g id="TOTAL">%2$d</xliff:g>."</string>
- <string name="download_share_dialog" msgid="3355867339806448955">"Compartir mediante"</string>
+ <string name="download_share_dialog" msgid="3355867339806448955">"Compartir"</string>
</resources>
diff --git a/ui/res/values-fa/strings.xml b/ui/res/values-fa/strings.xml
index eeb855ef..a0986b25 100644
--- a/ui/res/values-fa/strings.xml
+++ b/ui/res/values-fa/strings.xml
@@ -45,6 +45,6 @@
<string name="retry_download" msgid="7617100787922717912">"امتحان مجدد"</string>
<string name="deselect_all" msgid="6348198946254776764">"لغو انتخاب همه"</string>
<string name="select_all" msgid="634074918366265804">"انتخاب همه"</string>
- <string name="selected_count" msgid="2101564570019753277">"<xliff:g id="NUMBER">%1$d</xliff:g> مورد انتخاب شده از <xliff:g id="TOTAL">%2$d</xliff:g> مورد"</string>
+ <string name="selected_count" msgid="2101564570019753277">"<xliff:g id="NUMBER">%1$d</xliff:g> مورد از <xliff:g id="TOTAL">%2$d</xliff:g> انتخاب شده"</string>
<string name="download_share_dialog" msgid="3355867339806448955">"اشتراک‌گذاری از طریق"</string>
</resources>
diff --git a/ui/res/values-kk-rKZ/strings.xml b/ui/res/values-kk-rKZ/strings.xml
index 5987713f..061d127d 100644
--- a/ui/res/values-kk-rKZ/strings.xml
+++ b/ui/res/values-kk-rKZ/strings.xml
@@ -46,5 +46,5 @@
<string name="deselect_all" msgid="6348198946254776764">"Барлығының таңдауын алыңыз"</string>
<string name="select_all" msgid="634074918366265804">"Барлығын таңдау"</string>
<string name="selected_count" msgid="2101564570019753277">"<xliff:g id="NUMBER">%1$d</xliff:g> таңдалды, барлығы <xliff:g id="TOTAL">%2$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-tl/strings.xml b/ui/res/values-tl/strings.xml
index 9d54a427..90f9584e 100644
--- a/ui/res/values-tl/strings.xml
+++ b/ui/res/values-tl/strings.xml
@@ -21,8 +21,8 @@
<string name="download_title_sorted_by_size" msgid="1417193166677094813">"Mga download - Inuri-uri ayon sa laki"</string>
<string name="no_downloads" msgid="1029667411186146836">"Walang mga pag-download."</string>
<string name="missing_title" msgid="830115697868833773">"&lt;Hindi Kilala&gt;"</string>
- <string name="button_sort_by_size" msgid="7331549713691146251">"Pag-uri-uriin sa laki"</string>
- <string name="button_sort_by_date" msgid="8800842892684101528">"Pag-uri-uriin sa petsa"</string>
+ <string name="button_sort_by_size" msgid="7331549713691146251">"Uriin ayon sa laki"</string>
+ <string name="button_sort_by_date" msgid="8800842892684101528">"Uriin ayon sa petsa"</string>
<string name="download_queued" msgid="104973307780629904">"Naka-queue"</string>
<string name="download_running" msgid="4656462962155580641">"Isinasagawa"</string>
<string name="download_success" msgid="7006048006543495236">"Kumpleto"</string>
diff --git a/ui/res/values-uz-rUZ/strings.xml b/ui/res/values-uz-rUZ/strings.xml
index 11add3f9..10930124 100644
--- a/ui/res/values-uz-rUZ/strings.xml
+++ b/ui/res/values-uz-rUZ/strings.xml
@@ -16,7 +16,7 @@
<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">"Yuklab olishlar"</string>
+ <string name="app_label" msgid="3070921713463294774">"Yuklanishlar"</string>
<string name="download_title_sorted_by_date" msgid="5898014492155434221">"Yuklab olishlar - Sana bo‘yicha saralan."</string>
<string name="download_title_sorted_by_size" msgid="1417193166677094813">"Yuklab olishlar - Hajm bo‘yicha saralan."</string>
<string name="no_downloads" msgid="1029667411186146836">"Yuklab olishlar yo‘q."</string>
@@ -45,6 +45,6 @@
<string name="retry_download" msgid="7617100787922717912">"Qayta urinish"</string>
<string name="deselect_all" msgid="6348198946254776764">"Belgilashlarni bekor qil."</string>
<string name="select_all" msgid="634074918366265804">"Barchasini belgilash"</string>
- <string name="selected_count" msgid="2101564570019753277">"<xliff:g id="TOTAL">%2$d</xliff:g>dan <xliff:g id="NUMBER">%1$d</xliff:g>ta belgilandi"</string>
- <string name="download_share_dialog" msgid="3355867339806448955">"Bu orqali ulashish:"</string>
+ <string name="selected_count" msgid="2101564570019753277">"Tanlandi: <xliff:g id="NUMBER">%1$d</xliff:g>/<xliff:g id="TOTAL">%2$d</xliff:g>"</string>
+ <string name="download_share_dialog" msgid="3355867339806448955">"Ulashish usuli"</string>
</resources>