Changing package at hackbod's request. I'll merge this manually, as
there's some additional master-only code that will be to be
simultaneously changed.
Change-Id: Ibb629ec1c31807fbee31e0193c6a941d04be0117
DownloadManager was set up to return file URIs for public API
downloads to external, but to return content URIs for all others.
This included browser downloads, which are on external but don't go
through the public API. Since the new downloads UI uses
DownloadManager, it was affected by this change when the user opened a
file from the UI. Apparently numerous things don't handle content
URIs well, including music preview (clicking on downloaded mp3) and
package installer (clicking on downloaded APK), so this change makes
it generate file URIs for legacy external downloads.
Change-Id: I5c34d8ba188cc8b0d11865262cb451208be78eae
* improved documentation of the default destination on the download
cache and the concomitant consequences
* removed NETWORK_WIMAX flag for setting allowed networks
* changed request headers behavior to support multiple instances of
the same header (as allowed in the HTTP spec), renamed
setRequestHeader() to addRequestHeader()
* accept user-facing strings as CharSequences instead of Strings
* new convenience methods setDestinationInExternalFilesDir() and
setDestinationInExternalPublicDir() for setting a destination in
either shared or app-private external storage directories
* renamed setMediaType() to setMimeType()
Change-Id: I8781e2214d939c340209cab917bbbba264ab919c
This code uses a try/finally to maintain the old behavior of setting
implCreated even if creation fails.
Change-Id: Ieac05568477db4908cd4087714cf00a9addd1d20
Also changing the behavior of the local URI column slightly to better
match the spec -- it should return the client-provided destination so
that it's valid even if the download failed.
Change-Id: Ibf9c07519e647e677ebac8b334b9f2e930e47033
Cellular signal strength should also be green - these assets aren't, but
the art guys are working on that.
Also using a new intent so we don't overload the CONNECTIVITY_ACTION and
confuse the apps.
bug:2994024
Change-Id: I6fe8f65dd6e9869d9724064c4fae45340491a4d8
I'm changing the URI structure for the download provider a bit. The
download provider will now support two views into its data:
* content://downloads/my_downloads... will basically be the current
view, which is limited to downloads owned by the calling UID
* content://downloads/all_downloads... will include all downloads in
the system, but will require special permission
In addition to making things more clear, this change will allow for
granting URI permissions to individual downloads via the
/all_downloads/... URI.
This change includes the framework changes necessary to support the
new structure. The bulk of the work will be in the DownloadProvider
code itself.
In addition, this change makes DownloadManager return a content URI
rather than a file URI for /cache downloads. This avoids any
confusion in clients, which wouldn't be able to open the file
directly, and better supports granting permissions to viewers.
Change-Id: Ie548b927817ac774111990dd0c9d26aaf979d1ea
First, this change adds a column to the downloads table specifying
whether a download should be displayed in the system downloads UI. It
adds a public method to set this parameter when requesting a download,
and a hidden method to filter queries based on this paramter (such
filtering could be made public later, but it's not strictly necessary
right now).
Second, this change adds support for restarting a completed/failed
download as a hidden method on DownloadManager. Currently it only
works from the download manager's process - it'll be used by the new
download manager UI.
Change-Id: I15eda1a6e3717d1ce947a810b25ad3540cce809e
This change adds a hidden API to sort download manager queries by size
rather than by time last modified. This is necessary for the system
download manager UI but, in the interest of keeping the new public API
as minimal as possible for now, I'm leaving @hide on this method.
This change also changes the DownloadManager.COLUMN_ID column to be
identical to BaseColumns._ID, since some code relies on this (such as
CursorAdapter).
Change-Id: Ib89b614d63e988974d4486b122b39365b35b5269
Apps can report if they like their connection to the nets
and we display either not-really-connected or fully-connected
icons. Final icons TBD.
bug:2978624
Change-Id: I28be52085edfe54571c0d4559aba0df883548654
Passing Gateway addr info from telephony into ConnectivityService so it can
add/remove the default route as needed. Fixed differently on master.
bug:2927822
Change-Id: I9a3ee7cd23c4717e7c60098f0595aa3f77c44b15
A usecase is to use hipri to keep alive 3g connections when wifi
is about to be brought up. They are the same network, so don't
reset unless both are down.
Change-Id: I8dabc42f315943b28ea34721793b0ee330c07bf6
Adding DownloadManager.ERROR_CANNOT_RESUME for when we can't resume an
interrupted download (because the server didn't provide an ETag or
doesn't support range requests), as well as the necessary private
status code in Downloads.Impl.
Change-Id: I5a66f1e1964198552ab2216aa6d3cc0db2254e21
Must clean up default route if a default 3g connection is replaced
by a non-default (ie, mms) connection on teh same interface.
Also stop mucking with all connections dns and routes - do it only
for the connection that has changed.
bug:2865974
Change-Id: Ifdf49080fa0413a4d826813706c809975a562dfa
* Additions to DownloadManager to support control of broadcast intents, allowed network types, and roaming control. This includes new constants and added implementation.
* New DB columns to hold connectivity flags and one to indicate whether the download was initiated through the public API; this is used to change behavior related to broadcast intents and connectivity controls.
Change-Id: I2e8e4ce92cde7889a0f24dc43b86c596c73c0eaa
* constants for new DB table, keys for including headers in a
DownloadProvider.insert() call, and new URIs for retrieving headers
* support in DownloadManager to pass headers to the provider
Merge commit '468c82e4be0630de04a50d88602cd8c6bc745962' into gingerbread
* commit '468c82e4be0630de04a50d88602cd8c6bc745962':
Skip hostname verification when using insecure factory
First, in the download manager public API, I'm changing
COLUMN_REQUESTED_TIMESTAMP to COLUMN_LAST_MODIFIED_TIMESTAMP, a field
that already exists in the download manager. Upon inspection of
existing users of this field, it looks like there are some good use
cases -- for instance, looking at when a download completed. And if
I'm exposing that timestamp, there's no need to also expose the
requested timestamp.
Second, this change includes support for file URI destinations:
* add DESTINATION_FILE_URI for use by the DownloadManager wrapper
* make DownloadManager use it appropriately
The backend support is in a separate change (since it's in a separate
project).
Also fixing a bug with file URI construction when DownloadManager
fills in COLUMN_LOCAL_URI.
Change-Id: I5bb93a222cd23215c2a03ed9f68d7f140454f7f2
The implementation is in android.net.DownloadManager, which is
obtained through Context.getSystemService(). Right now this class
acts as a simple wrapper on top of the existing DownloadProvider,
exposing a simple interface to a subset of DownloadProvider's
functionality. There are several TODOs for features that require
changes to the underlying download manager implementation.
Change-Id: I2f26e51b60b6e82af8478ac7ccd895667df095b6
If the factory was obtained by calling getInsecure(), calls to
createSocket() should skip hostname verification (along with all of the
other skipped safety checks.)
This change slightly relaxes the too-strict checking that was introduced
in change 7fc93c36ae.
Bug: 2834174
Change-Id: Iab7ef861ad0ca727f82ee8cdb78b89b9e835740d
Merge commit 'd581484ef8fac80c15ebf652e66f918374df5109' into gingerbread
* commit 'd581484ef8fac80c15ebf652e66f918374df5109':
Verify hostname where possible, and clarify where not.
we can continue the interrupted request to support
streaming the content even with a brief disconnection.
Note: we don't update the headers for partial content
as the headers we care should not be updated. See
a list in chromium/net/http/http_response_headers.cc.
We currently also don't support cache for partial content.
Fix http://b/issue?id=2616477
Old calc was off by 2x and was affected by the user-settable system clock. The error
came because it was calculating the offset between our clock and the NTP clock and the algebra
had two factors of the offset instead of the desired 1.
bug:2600010
Change-Id: I0856091d32b50e6909e4889fb98df819e0aeabbe
Added ContentObserver to watch relevant Secure Settings.
Also added new policy-change broadcast to let settings know.
Lastly reorged things a bit so that all of our broadcasts are sent at boot so the sticky ones
are populated.
bug:2576057
Change-Id: Ie11ffb057de9c801a5088612cd464ea062f3a666