summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2018-04-15 07:22:49 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2018-04-15 07:22:49 +0000
commit402c8d34eb875ad3945ce9fad0f463bd7159e2e2 (patch)
tree8d1902f492f95f917d468b35750fddc939298cb4
parent81f57c897a08cefc3a3a6ecdf321b7748b83589d (diff)
parente2ba218ec52e4e22d605ef7746079f76aef7b96b (diff)
downloadandroid_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.xml6
-rw-r--r--src/com/android/providers/downloads/DownloadThread.java5
-rw-r--r--src/com/android/providers/downloads/RealSystemFacade.java38
-rw-r--r--src/com/android/providers/downloads/SystemFacade.java5
-rw-r--r--tests/src/com/android/providers/downloads/FakeSystemFacade.java2
-rw-r--r--ui/res/values-bs/strings.xml4
-rw-r--r--ui/res/values-mr/strings.xml2
-rw-r--r--ui/res/values-my/strings.xml2
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">"&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 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>