diff --git a/src/com/android/providers/downloads/DownloadInfo.java b/src/com/android/providers/downloads/DownloadInfo.java index 00b104525874093ca6a4ce38eb4d4b7f1d7128a0..304d70fdbb76613ba82069996441e85ecb7f9f8c 100644 --- a/src/com/android/providers/downloads/DownloadInfo.java +++ b/src/com/android/providers/downloads/DownloadInfo.java @@ -397,8 +397,9 @@ public class DownloadInfo { */ private int checkIsNetworkTypeAllowed(int networkType) { if (mIsPublicApi) { - int flag = translateNetworkTypeToApiFlag(networkType); - if ((flag & mAllowedNetworkTypes) == 0) { + final int flag = translateNetworkTypeToApiFlag(networkType); + final boolean allowAllNetworkTypes = mAllowedNetworkTypes == ~0; + if (!allowAllNetworkTypes && (flag & mAllowedNetworkTypes) == 0) { return NETWORK_TYPE_DISALLOWED_BY_REQUESTOR; } }