| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As part of fixing a recent security issue, DownloadManager now needs
to issue Uri permission grants for all downloads. However, if an app
that requested a download is upgraded or otherwise force-stopped,
the required permission grants are removed.
We could tell DownloadManager about the app being stopped, but that
would be racy (due to background broadcast), and waking it up would
degrade system health. Instead, as a special case we now only
consider clearing DownloadManager permission grants when app data
is being cleared.
Bug: 32172542, 30537115
Test: builds, boots, app upgrade doesn't clear grants
Change-Id: I7e3d4546fd12bfe5f81b9fb9857ece58d574a6b9
(cherry picked from commit 23ec811266fb728cf159a90ce4882b3c9bac1887)
(cherry picked from commit 6eee8e37fd06bd47dd19b8503bc30cc8ccaf72a7)
(cherry picked from commit 36772fc2263e06972add737660392afd246da15e)
|
|
|
|
|
|
|
|
|
|
| |
We add pause and resume API here so that application can
pause and resume downloads manually by DownloadManager.
This contains two points:
1. add pause and resume download APIs.
2. add another paused reason for this download status.
Change-Id: I606b48ca20f43bcc6c119683818c2ab6ff03bfe5
|
|
|
|
|
|
|
|
| |
Uses new column to mark writability. Also filter file selection in
create mode to only allow writable files.
Bug: 10667164, 10893268
Change-Id: I90f74efbb7ac634fbdb3cc02a904a96a434d3605
|
|
|
|
|
|
|
| |
When retrying a download, always reset the failed connections count.
Bug: 8022478
Change-Id: I0d799d82dc7a04fe788b8c5faee0045d1e1a9c60
|
|
|
|
|
|
|
|
| |
Also allow isActiveNetworkMetered() to inspect networks without
requiring ACCESS_WIFI_STATE.
Bug: 3001465
Change-Id: Ibc23577d4ad941e4f93db417be6b046881dcbfb1
|
|
|
|
| |
Change-Id: I159aa5f9c7289d6935436d78523b0628482bdc91
|
|
|
|
|
|
|
| |
It's another set of constants that can be confused with those in
android.provider.Downloads.
Change-Id: I78ac058fa264d59a81f7655ab101c3fb2c8c17ff
|
|
|
|
|
|
|
|
|
|
| |
Currently, kernel definition of metered networks is applied at the
interface level. This change maintain list of those metered ifaces
and notifies policy listeners, like ConnectivityService. (This gives
us a consistent picture of when a network would be blocked.)
Bug: 4601393
Change-Id: I277d5ca96ab967a1c1c3f1da8f9587557cd6d74c
|
|
|
|
|
|
|
| |
Handful of DownloadManager flags to record when a download was paused
because of NetworkPolicyManager rules.
Change-Id: I99fc47f529cb6c8a42dbeca049e0cd0f1556eac4
|
|
|
|
| |
Change-Id: Ib46df5eaa9316fe0fc843fee1e4597e22768f4a8
|
|
|
|
|
|
| |
so that they are not considered permanent failures
Change-Id: I4513e6abcce127f78b5be98ab78c985ed698e43e
|
|\
| |
| |
| |
| |
| |
| | |
download to be OTA update" into honeycomb"
* commit '9ec496b484305defa6cbb691b85836ace8b73a02':
Revert "Merge "bug:3414192 new API to designate a download to be OTA update" into honeycomb"
|
| |
| |
| |
| |
| |
| |
| | |
into honeycomb"
This reverts commit 6bc710f769618e87b98d51cd02241e6b1a2fb653, reversing
changes made to 7ba35f5ab3c838c7f1b3ab957be685ac1f506b2a.
|
|\ \
| |/
| |
| |
| |
| |
| | |
to be OTA update" into honeycomb
* commit '99e8e0470249ce145003cc1eabc5ae391af34a06':
bug:3414192 new API to designate a download to be OTA update
|
| |
| |
| |
| | |
Change-Id: Iae2f6185e130324ad956f594e78b1d8b2176c808
|
|/
|
|
| |
Change-Id: I073436c97d5d7cb8ea6a823488a451017dac3ff2
|
|
|
|
| |
Change-Id: I209a624523f727d47a4a8f758c13df5d4eac614f
|
|\
| |
| |
| |
| |
| |
| | |
DefaultContainerService" into gingerbread
* commit '1de6ca69cc541ccdd651071c8bd5629af4e09664':
Grant ACCESS_ALL_DOWNLOADS to DefaultContainerService
|
| |
| |
| |
| |
| |
| |
| |
| | |
Be compatible with the old DownloadProvider behavior of being able to
operate on content URIs returned from .insert()
Bug: 3242328
Change-Id: I7dad15ac0fefa867c3c8a33a579fc9899ac80262
|
| |
| |
| |
| |
| |
| | |
1. add new column constants for : COLUMN_last_updatesrc
2. send downloadid in the uri wherever possible.
Change-Id: I49a18506060bf292a0750790042e94b0a35ea9bf
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
useful for debugging for bugs like bug:3187299
without this error message, one doesn't know WHY downloads
fail.
there is a STOPSHIP comment around storage of this error
message in database.
Change-Id: I1fa49ee9eb97be16aced1611ab30a286b0b6c8d2
|
| |
| |
| |
| | |
Change-Id: I1f5dd734e394db0056579a3a0c26862fee27981e
|
| |
| |
| |
| |
| | |
bug:3132773
Change-Id: I012859fa86055f322069d5120b110c4c8887fb61
|
|/
|
|
| |
Change-Id: I60faf921de4b9add619e2450e0a19a111ede7984
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gingerbread.
(for more detailed comments, please see the dependent CL
Change-Id: Ib90eb9e647f543312c865d3bbf9a06fb867a648b )
2 changes in this CL.
1. add 2 new columns to downloads table in downloads.db:
mediaprovider_uri = downloaded file's content_uri in mediaprovider db
deleted = flag is set to true if a file is to be deleted
2. download UI app shows only those files whose 'deleted' flag is not set
Change-Id: I47c5f72b0a0b354fac3abe3a97752130b8189794
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change introduces more detailed reporting of why downloads are paused in
the download manager.
First, it adds new, more detailed status constants in android.provider.Downloads
for when a download is paused, in place of the old catch-all
STATUS_RUNNING_PAUSED. I've eliminated some dead code there as well to ease the
change.
Second, in the public API, it changes COLUMN_ERROR_CODE to COLUMN_REASON, which
now reports useful info for STATUS_PAUSED in addition to STATUS_FAILED. It adds
some new PAUSED_* constants for reason values when a download is paused, and
adds code to generate these values appropriately.
Change-Id: Ie617d1c2c59357375e19466086923ace5e2fb122
|
|
|
|
|
|
|
| |
New DB column and new secure setting for recommended max download size
over mobile.
Change-Id: If87acda62140ad6d8f923a000a5ff9232021e1a3
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I8f8b325658d8afc964bddd3f1c03ed20e6bd10aa
|
|
|
|
|
|
|
|
| |
This permission allows an app to use the public download manager API
to download files to the cache partition that won't be automatically
deleted when the download manager needs space.
Change-Id: Id9a5cd61c940df22765b358290b8ad8ceeff493e
|
|
|
|
|
|
|
| |
I'm removing this currently unused functionality from the Download
Manager implementation, so the constant might as well go.
Change-Id: I4f0970211201881a8426b83b5275408cd14c3377
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Part of http://b/issue?id=2384554
Requires a change to packages/providers/DownloadProvider
|
|
|
|
|
|
| |
Introduces new download status codes (STATUS_DEVICE_NOT_FOUND_ERROR and
STATUS_INSUFFICIENT_SPACE_ERROR) to allow apps to show more accurate and
informative error messages upon failed downloads.
|
|
|
|
| |
This method will be used by the DownloadProvider and the BrowserDownloadPage.
|
|
|
|
|
|
| |
Bug: 2245521
Change-Id: I8dad1e8d4e1b55dbb9d33b6990c1bd420e914be5
|
|
|
|
|
|
|
|
| |
This is done so that it doesn't bleed into a public API
Bug: 2245521
Change-Id: I2e5f728553f074f0dc2e8a3dfdf90b1c1f189bad
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an exact clone of the "public" class, so that applications
that access the raw content provider directly (i.e. Browser) can
continue doing so, at the expense of not being buildable with the
SDK.
The Download Provider itself will also use those constants.
Bug: 2245521
Change-Id: I15f8ca8a3b69719cfbf403fc2607aac0d3c2b79a
|
|
|
|
|
|
|
|
| |
Since some of those constants are used in the persistent database,
modifying them for cupcake meant that the new code was getting
confused by the old persistified data after an upgrade to cupcake,
teh most visible symptom being that downloads that had been initiated
from the browser would re-appear in the notifications.
|
| |
|
|
|
|
|
|
|
| |
The new names will allow for better consistency and better API
documentation if/when they're made public in the SDK.
This will be followed by a later change that removes the old names
|
| |
|
|
|