diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2018-04-15 07:22:49 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-04-15 07:22:49 +0000 |
commit | 402c8d34eb875ad3945ce9fad0f463bd7159e2e2 (patch) | |
tree | 8d1902f492f95f917d468b35750fddc939298cb4 | |
parent | 81f57c897a08cefc3a3a6ecdf321b7748b83589d (diff) | |
parent | e2ba218ec52e4e22d605ef7746079f76aef7b96b (diff) | |
download | android_packages_providers_DownloadProvider-402c8d34eb875ad3945ce9fad0f463bd7159e2e2.tar.gz android_packages_providers_DownloadProvider-402c8d34eb875ad3945ce9fad0f463bd7159e2e2.tar.bz2 android_packages_providers_DownloadProvider-402c8d34eb875ad3945ce9fad0f463bd7159e2e2.zip |
Snap for 4722539 from e2ba218ec52e4e22d605ef7746079f76aef7b96b to pi-release
Change-Id: I0fe608ca9c3b7ed5553856fc52ea3d054b2910fe
-rw-r--r-- | res/values-bs/strings.xml | 6 | ||||
-rw-r--r-- | src/com/android/providers/downloads/DownloadThread.java | 5 | ||||
-rw-r--r-- | src/com/android/providers/downloads/RealSystemFacade.java | 38 | ||||
-rw-r--r-- | src/com/android/providers/downloads/SystemFacade.java | 5 | ||||
-rw-r--r-- | tests/src/com/android/providers/downloads/FakeSystemFacade.java | 2 | ||||
-rw-r--r-- | ui/res/values-bs/strings.xml | 4 | ||||
-rw-r--r-- | ui/res/values-mr/strings.xml | 2 | ||||
-rw-r--r-- | ui/res/values-my/strings.xml | 2 |
8 files changed, 21 insertions, 43 deletions
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml index 46f4e2d5..33e8258b 100644 --- a/res/values-bs/strings.xml +++ b/res/values-bs/strings.xml @@ -40,9 +40,9 @@ <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_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 Wi-Fi mrežu."</string> - <string name="button_queue_for_wifi" msgid="422576726189179221">"Redoslijed"</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> <plurals name="notif_summary_active" formatted="false" msgid="7290448463204837173"> @@ -58,7 +58,7 @@ <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/src/com/android/providers/downloads/DownloadThread.java b/src/com/android/providers/downloads/DownloadThread.java index fc00fdad..54cc1a5d 100644 --- a/src/com/android/providers/downloads/DownloadThread.java +++ b/src/com/android/providers/downloads/DownloadThread.java @@ -421,7 +421,8 @@ public class DownloadThread extends Thread { 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); @@ -435,7 +436,7 @@ public class DownloadThread extends Thread { // 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()); } diff --git a/src/com/android/providers/downloads/RealSystemFacade.java b/src/com/android/providers/downloads/RealSystemFacade.java index 9d07999b..a0ce92c3 100644 --- a/src/com/android/providers/downloads/RealSystemFacade.java +++ b/src/com/android/providers/downloads/RealSystemFacade.java @@ -90,25 +90,6 @@ class RealSystemFacade implements SystemFacade { } @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 @@ class RealSystemFacade implements SystemFacade { } /** - * 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 - return false; - } - ApplicationInfo applicationInfo = packageInfo.applicationInfo; - if (applicationInfo == null) { - // No app info -- fail safe: cleartext traffic not permitted + // Unknown package -- fail for safety 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 788ead64..14002a15 100644 --- a/src/com/android/providers/downloads/SystemFacade.java +++ b/src/com/android/providers/downloads/SystemFacade.java @@ -63,9 +63,10 @@ interface SystemFacade { 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/src/com/android/providers/downloads/FakeSystemFacade.java b/tests/src/com/android/providers/downloads/FakeSystemFacade.java index 7087ce6d..f381bd8a 100644 --- a/tests/src/com/android/providers/downloads/FakeSystemFacade.java +++ b/tests/src/com/android/providers/downloads/FakeSystemFacade.java @@ -133,7 +133,7 @@ public class FakeSystemFacade implements SystemFacade { } @Override - public boolean isCleartextTrafficPermitted(int uid) { + public boolean isCleartextTrafficPermitted(String packageName, String hostname) { return mCleartextTrafficPermitted; } diff --git a/ui/res/values-bs/strings.xml b/ui/res/values-bs/strings.xml index c86fdf72..81aeabaf 100644 --- a/ui/res/values-bs/strings.xml +++ b/ui/res/values-bs/strings.xml @@ -23,12 +23,12 @@ <string name="missing_title" msgid="830115697868833773">"<Nepoznato>"</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 fajla kasnije ili je želite izbrisati s redoslijeda?"</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> diff --git a/ui/res/values-mr/strings.xml b/ui/res/values-mr/strings.xml index f679e027..ba3b2cc2 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> diff --git a/ui/res/values-my/strings.xml b/ui/res/values-my/strings.xml index ba7bfcc5..7ed89310 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> |