| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| | |
Bug: 28476442
Change-Id: I12a35a2c35c16ddf899637dfb85c30006c169fd7
|
|/
|
|
|
|
|
|
|
|
| |
The recent JobScheduler rewrite means we no longer spin up a service
when insterting an already-completed download. However, the calling
app may have requested the download to be scanned, so kick off a
scan request for them.
Bug: 28659693
Change-Id: I497e10995ba04f1522fe8d7e547ebea6e305f6e9
|
|
|
|
|
| |
BUG: 28521946
Change-Id: I31658e680e67da9e1a420a9749a67949cfe09689
|
|\ |
|
| |
| |
| |
| |
| | |
Bug: 28359663
Change-Id: Id74ab041717f553bbd81ab2f69b1b8fa0d4d230d
|
|/
|
|
|
|
|
|
|
|
|
| |
Downloads with visible notifications should behave as if the
requesting app was running a foreground service. The easiest way
to implement this for now is to ignore any BLOCKED network status
and use the new setWillBeForeground() API so job scheduling ignores
any active blocked/dozing status.
Bug: 26571724
Change-Id: I8ea2b2a7cdb5f469adc11b4d897ff55bd8a9db9a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
JobScheduler is in a much better position to coordinate tasks across
the platform to optimize battery and RAM usage. This change removes
a bunch of manual scheduling logic by representing each download as
a separate job with relevant scheduling constraints. Requested
network types, retry backoff timing, and newly added charging and
idle constraints are plumbed through as job parameters.
When a job times out, we halt the download and schedule it to resume
later. The majority of downloads should have ETag values to enable
resuming like this.
Remove local wakelocks, since the platform now acquires and blames
our jobs on the requesting app.
When an active download is pushing updates to the database, check for
both paused and cancelled state to quickly halt an ongoing download.
Shift DownloadNotifier to update directly based on a Cursor, since we
no longer have the overhead of fully-parsed DownloadInfo objects.
Unify a handful of worker threads into a single shared thread.
Remove legacy "large download" activity that was thrown in the face
of the user; the UX best-practice is to go through notification, and
update that dialog to let the user override and continue if under
the hard limit.
Bug: 28098882, 26571724
Change-Id: I33ebe59b3c2ea9c89ec526f70b1950c734abc4a7
|
|
|
|
|
| |
BUG: 27481520
Change-Id: I84db23b62f60dadefc01ead78f13ed689943baad
|
|
|
|
|
| |
Bug: 27074270
Change-Id: I7145fcdf0c8af0f0c299ca491f01eaef6204e2cb
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Downloads should use the default network for the caller. This prevents
applications from, for example, bypassing VPN by routing all requests
through the DownloadProvider.
Bug: 27074270
Change-Id: I7830226dd2910757d3a5c78f373330f84637ccfa
|
| |
| |
| |
| |
| | |
Bug: 27971263
Change-Id: Ia68d43828ecc32c1b6a656a0d3bb751b2a2e7881
|
|/
|
|
|
|
|
|
|
| |
When service starts, use new API to read the current set of
notification tags from the system instead of clearing and starting
from scratch.
Bug: 27634130
Change-Id: I049fe5e445a62a52042d7638c2cb50417977435f
|
|
|
|
|
|
|
|
|
|
| |
Now that PackageInstaller can read APKs from content:// Uris, we
don't need to make downloads world-readable. This is mostly just
cleanup, since our top-level private data directory is no longer
o+x, so other apps can't traverse in anyway.
Bug: 5464052
Change-Id: I45de6a40c28b85c64d5afbc13068fe3ae8341d93
|
|
|
|
|
| |
Bug: 27526321
Change-Id: Ic29bc235242a8b87ab8321ee201cb7918594366f
|
|
|
|
|
|
|
|
| |
This avoids a race condition where someone can change a symlink
target after the security checks have passed.
Bug: 26211054
Change-Id: I5e1a2343d631109c21a4c5b2d8d00b2946756680
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I551f830637e023f810a08ba549ecbb7f717b4e9c
|
|/
|
|
|
|
|
| |
The logic for manage/non-manage UI is moved to DocumentsUI.
Bug: 26321218
Change-Id: I1c9d24bdee493d31fe3bcea2eed877529bc1c32a
|
|
|
|
|
| |
Bug: 26860922
Change-Id: I9e6d513dedd6c82bd4a582542a9094394d74db5d
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
mnc-dr1.5-dev am: ce08ce4bdb
am: 15185cff91
* commit '15185cff911670eba8f742fe8a2f26de5ed657fe':
Revert "Use resolved path for both checking and opening."
|
| |
| |
| |
| |
| |
| | |
This reverts commit 366af2ee1f841615d44ab770b537112d769eed05.
Change-Id: Id1155425ebcae23be8ce3916f19dda82eee992c4
|
| |
| |
| |
| |
| |
| |
| |
| | |
This avoids a race condition where someone can change a symlink
target after the security checks have passed.
Bug: 26211054
Change-Id: I5842aaecc7b7d417a3b1902957b59b8a1f3c1ccb
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This makes it such that ordering downloads by timestamp doesn't
continually shuffle stuff around if the UI happens to be sorting files
by mod time.
BUG=26417297
Change-Id: Ibe51513ee5d27ff959f8e7a2a5bad7244c3a731f
|
| | |
| | |
| | |
| | |
| | | |
Bug: 26454235
Change-Id: I61d68f694e6460b46a56b111092094a3111c291b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This avoids a race condition where someone can change a symlink
target after the security checks have passed.
Bug: 26211054
Change-Id: I5842aaecc7b7d417a3b1902957b59b8a1f3c1ccb
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Otherwise it would throw at us because it's deprecated for
third-party apps.
Bug: 26438975
Change-Id: Ifd8f0b61ce475a009ef68ef4cb29f5f3780ced70
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | | |
Bug: 20176812
Change-Id: Id7b207898d5b0fb2013d07e2da3302b09e4995fe
|
|/ /
| |
| |
| | |
Change-Id: Ie0373c1f2a6be16cd1cfc197a8350582c00c6871
|
|\|
| |
| |
| |
| |
| |
| | |
secondary users read-only physical cards.
* commit '962dc684806d1104eb30d4fb1aa0391e917a88c9':
Give secondary users read-only physical cards.
|
| |
| |
| |
| |
| |
| |
| | |
Follow method refactoring so we only consider writable locations.
Bug: 22787184
Change-Id: Ib8b037216d23ab474d7e0df427671d174eaf030a
|
|\|
| |
| |
| |
| |
| |
| | |
proxy variants of app-ops calls.
* commit 'fe7f76546048b04f1590aea96617efbe0a4bd9d2':
Switch to proxy variants of app-ops calls.
|
| |
| |
| |
| |
| | |
Bug: 22718722
Change-Id: I9c054956c3b3655332475607d6919dc34515e550
|
|\|
| |
| |
| |
| |
| |
| | |
permissions on package-specific paths.
* commit 'b74a55a36392d514f27952e7e2bf4af809ab48ae':
Relax permissions on package-specific paths.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Normally apps must hold the WRITE_EXTERNAL_STORAGE permission in
order to use DownloadManager. However, now that the platform has
relaxed permissions on package-specific directories, we relax the
DownloadManager check in a similar way. This also opens up using
DownloadManager to save files on secondary external storage devices.
Fix bug so that we now check the relevant volume state when thinking
about resuming a download.
Bug: 22135060
Change-Id: If439340ea48789ea167f49709b5b69a4f0883150
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Add a "Cancel" action to in-progress downloads shown in notification
pane.
We add a new action type for a new "cancel" intent sent by
DownloadNotifier to DownloadReceiver, which in turn cancels the
download by way of DownloadManager.
BUG=19972464
Change-Id: I83cd2f40e1442c327f756027b99f9eac913a0e70
|
|
|
|
|
|
|
|
|
|
| |
The onCreate() method [where we initialize the handler] runs on the
main thread. This means the ParcelFileDescriptor also runs tasks
involving disk access on the main thread. We need to create a
separate thread to run the Content Provider's handler.
Bug: 19718299
Change-Id: Ia3661fafd3442ad6260f04253ba24ddf83b176b2
|
|
|
|
|
|
|
| |
Otherwise they're orphaned until the next idle maintenance pass.
Bug: 21786983
Change-Id: I6eb2240d657366b65482bd3a0d5683e5d34a541a
|
|
|
|
|
|
|
|
|
| |
JobScheduler.getAllPendingJobs() can return null when there are none.
Deal with it.
Bug 21642868
Change-Id: I11fcc6e146f9db51e03dcf57f7518bb7878fbd28
|
|
|
|
|
|
|
|
|
|
| |
Use the newly factored FileUtils sanitize the requested display names to
be valid FAT filenames, and also allow any extension that maps to the
requested MIME type.
BUG=20157955
Change-Id: Ic37863a3362a941d81632bd4a7562dae40053652
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes the Provider-side of the DownloadManager framework honor
the per-UID cleartext network traffic policy. The policy is enforced
in the Provider rather than in its client (DownloadManager) because
download URLs could get redirected between HTTPS and HTTP and only
the Provider currently has visibility into and control over this.
Whether cleartext network traffic is permitted is a per-package
policy. However, the DownloadProvider can only access the UID of the
requesting application. Multiple packages can run under the same UID.
In that scenario, cleartext traffic is permited for the UID if
cleartext traffic is permitted for any of the packages running under
the UID. This could be improved by making the DownloadManager provide
the package name in addition to the UID.
Bug: 19215516
Change-Id: Ib37585a7a2fc2869954d52a1b08052926f49bc9b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Launch chrome and open www.baidu.com -> Choose "software"
in the site navigation -> Tap "games" option, choose one apk
to download -> During downloading, power off the phone -> Power
on the phone and check, it can't continue to download apk.
The fix is to add one condition for retrying to download when
IO exception happens (i.e. Failed to open for writing:
java.io.FileNotFoundException).
Bug 18834618
Review: https://partner-android-review.git.corp.google.com/#/c/193436
Signed-off-by: Benson Huang <benson.huang@mediatek.com>
Change-Id: I2f975ff7ffedfc4136fb250dcb5ef8fdca4a367d
|
|
|
|
|
| |
Bug: 18512473
Change-Id: I686c7c3487f789dc0437513fbc6fed54dc62721f
|
|
|
|
|
|
|
|
| |
Now that we're defeating connection reuse, we have one additional
type of response where the length is known.
Bug: 18306491
Change-Id: I19657c565238f07fd89a55a5dbf1e85748f6e7c3
|
|
|
|
|
|
|
|
|
| |
Otherwise servers may continue streaming large downloads into the
kept-alive socket. This changes to always close the socket, sending
a clear signal to server.
Bug: 16153076
Change-Id: I3e7fefce4f82b5f80abaab58874cc4c4374d2bfb
|
|
|
|
|
|
|
|
|
|
| |
In some cases the provider may have marked a download as deleted,
but the content change notification may lag several seconds. To stop
as soon as possible, assert that we're not deleted when writing
our progress updates.
Bug: 16405936
Change-Id: I994b746056d0427c626355e0815234ff5b73198c
|
|\
| |
| |
| |
| | |
* commit '3ee03ac36f0f849b78936cf18972fe2f24a61722':
Trim stale downloads from third-party apps.
|