summaryrefslogtreecommitdiffstats
path: root/src/com/android
Commit message (Collapse)AuthorAgeFilesLines
* DO NOT MERGE Deleting downloads for removed uids on downloadprovider startreplicant-6.0-0002Suprabh Shukla2017-07-061-10/+45
| | | | | | | | | | | | | | | | | | | | | | | After uninstalling an app, if the system was shutdown before the download provider received the broadcast for UID_REMOVED, another app installed later in the same uid might be able to gain access to the files downloaded by this app. Removing any such hanging downloads at the start up of the download provider should fix this issue. Test: Manually tested by uninstalling an app and killing and restarting the process android.process.media, to check that the downloaded files of the uninstalled app were deleted. Bug:22011579 Merged in: I7382c4846f99035b40412a01715aee5873efa9e6 AOSP-Change-Id: I7382c4846f99035b40412a01715aee5873efa9e6 (cherry picked from commit 2ab9a2d15c63cd567805adb8fa4b9c524afc5ceb) (cherry picked from commit 3b15466b3cb6207660a73d1cea44a2d018ada23f) CVE-2017-0668 Change-Id: I8c5fee862185b958a539c7489443480c5c65ace6
* Merge tag 'android-6.0.1_r74' into HEADJessica Wagantall2016-11-091-0/+31
|\ | | | | | | | | | | | | | | CYNGNOS-3303 Android 6.0.1 release 74 Change-Id: Ie2ad785b1e3682814c8779cf52662bd8a4e03fcb
| * Enforce calling identity before clearing.Jeff Sharkey2016-09-271-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When opening a downloaded file, enforce that the caller can actually see the requested download before clearing their identity to read internal columns. However, this means that we can no longer return the "my_downloads" paths: if those Uris were shared beyond the app that requested the download, access would be denied. Instead, we need to switch to using "all_downloads" Uris so that permission grants can be issued to third-party viewer apps. Since an app requesting a download doesn't normally have permission to "all_downloads" paths, we issue narrow grants toward the owner of each download, both at device boot and when new downloads are started. Bug: 30537115, 30945409 Change-Id: If944aada020878a91c363963728d0da9f6fae3ea (cherry picked from commit 7c1af8c62c8bdf6e8de5a00c1927daf9fd9c03d1)
| * Revert "Enforce calling identity before clearing."Adam Seaton2016-08-261-13/+0
| | | | | | | | | | | | | | This reverts commit 8be3a92eb0b4105a9ed748be5a937ce79145f565. Change-Id: I10401d57239b868f8e3514f81a0e20486838e29c (cherry picked from commit b440ceb00fd46c9233723066c680a538067fbf82)
| * Enforce calling identity before clearing.Jeff Sharkey2016-08-251-0/+13
| | | | | | | | | | | | | | | | | | | | When opening a downloaded file, enforce that the caller can actually see the requested download before clearing their identity to read internal columns. Bug: 30537115 Change-Id: I01bbad7997e5e908bfb19f5d576860a24f59f295 (cherry picked from commit 8be3a92eb0b4105a9ed748be5a937ce79145f565)
* | Merge tag 'android-6.0.1_r72' into HEADJessica Wagantall2016-10-061-0/+13
|\ \ | | | | | | | | | | | | | | | | | | Android 6.0.1 Release 72 (M4B30X) # gpg: Signature made Tue 04 Oct 2016 09:47:45 AM PDT using DSA key ID 9AB10E78 # gpg: Can't check signature: public key not found
| * | Enforce calling identity before clearing.Jeff Sharkey2016-08-261-0/+13
| |/ | | | | | | | | | | | | | | | | | | When opening a downloaded file, enforce that the caller can actually see the requested download before clearing their identity to read internal columns. Bug: 30537115 Change-Id: I01bbad7997e5e908bfb19f5d576860a24f59f295 (cherry picked from commit 8be3a92eb0b4105a9ed748be5a937ce79145f565)
| * DO NOT MERGE. Use resolved path when inserting and deleting.Jeff Sharkey2016-02-261-5/+15
| | | | | | | | | | | | | | | | This avoids a race condition where someone can change a symlink target after the security checks have passed. Bug: 26211054 Change-Id: Ia58425ab71c1472dd2f2dd31dae000ca29d0bcb2
| * Use resolved path for both checking and opening.Jeff Sharkey2016-02-262-6/+8
| | | | | | | | | | | | | | | | This avoids a race condition where someone can change a symlink target after the security checks have passed. Bug: 26211054 Change-Id: I5842aaecc7b7d417a3b1902957b59b8a1f3c1ccb
* | Merge tag 'android-6.0.1_r24' into HEADJessica Wagantall2016-04-052-11/+23
|\ \ | | | | | | | | | | | | Ticket: CYNGNOS-2213 Android 6.0.1 release 24
| * | DO NOT MERGE. Use resolved path when inserting and deleting.Jeff Sharkey2016-03-011-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | This avoids a race condition where someone can change a symlink target after the security checks have passed. Bug: 26211054 Change-Id: I03b06b746fde5d08d6b61a7011bdace0b4e9fa77
| * | Use resolved path for both checking and opening.Jeff Sharkey2016-03-012-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | This avoids a race condition where someone can change a symlink target after the security checks have passed. Bug: 26211054 Change-Id: I5842aaecc7b7d417a3b1902957b59b8a1f3c1ccb
| * | Revert "Use resolved path for both checking and opening."Jeff Sharkey2016-01-222-8/+6
| | | | | | | | | | | | | | | | | | This reverts commit 366af2ee1f841615d44ab770b537112d769eed05. Change-Id: Id1155425ebcae23be8ce3916f19dda82eee992c4
| * | Use resolved path for both checking and opening.Jeff Sharkey2016-01-142-6/+8
| |/ | | | | | | | | | | | | | | This avoids a race condition where someone can change a symlink target after the security checks have passed. Bug: 26211054 Change-Id: I5842aaecc7b7d417a3b1902957b59b8a1f3c1ccb
* | Open images with content://media/ instead of content://downloads/ URI.Thomas Wendt2016-01-241-0/+9
| | | | | | | | | | | | | | This allows images to be shared directly after opening them with the DownloadManager. Change-Id: I65c79923b7aef4c1113e572030c9c7f750b73df0
* | DownloadProvider: Still display as downloading after download failedkaiyiz2016-01-241-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the remaining space is less than 10% of the total space, download will fail, but it still display as downloading in status bar after failed in "Downloads" app. Check error status about downloads. If error exists, will update icon , content title and content text in notification. CRs-Fixed: 636489 Change-Id: I5554ef3d1505642c5cd847bd3d2e25a29772dc0d DownloadProvider: Use an alert icon for downloads that have an error status. Change-Id: If6d0f021cada1a09855009ab3276aa46bec74cfe
* | DownloadProvider: add to support pause/resume download by manualqqzhou2016-01-245-10/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature contains below points: 1. add to pause running download by manual. 2. add to resume manually paused download by manual. 3. add to show proper contents in notification and download-list for manually paused status. 4. add to support download breakpoint continuing when HTTP server doesn't contain etag in response header. Android baseline only supports this when etag is not null. 5. add to show proper contents in notification and download-list for status of waiting-for-network. Change-Id: I433cdee2de8b3add0248bbb0a9d02f8da4e5bb38
* | Clear notifications for Deleted items from Download listkasif2016-01-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Issue: Notifications for deleted items from the Download list are not getting cleared and thus tapping on such notifications causes crash (Illegal Argument Exception) Fix: clear notifications for deleted items by adding them in the stale list Change-Id: I7a27d19fff994876eee07d4c4d63b2808cc516d3 CRs-Fixed: 536562
* | Remove download notification after previewPawel Kozak2016-01-241-1/+2
| | | | | | | | | | | | | | | | | | | | Removes download notification from the notification bar after previewing it. There should be an additional check for download shown in the notifications after completion to prevent from situation when ContentObserver is unregistered and the onChange is never called. Change-Id: I0914a680f08eb96949b56e08719eb28d2e80ccc9
* | Merge branch 'cm-12.1' of ↵Steve Kondik2015-10-313-7/+36
|\ \ | |/ |/| | | git://github.com/CyanogenMod/android_packages_providers_DownloadProvider into cm-13.0
| * Fixed application/octet-stream to guess mimetypeherriojr2015-09-291-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | When being downloaded, some files were being classified as application/octet-stream in the response even though they are a valid mimetype. This adds in guessing the mimetype before sending off the intent. It was chosen to put this here instead of when it is downloaded to make it backwards compatible with files that already exist in people's downloads. Change-Id: Id5fc9a3cca6851677b066854fcdccb5ae4fade7c Issue-Id: CYNGNOS-1153
| * DownloadManager : Only remove stale id if download is not deletedDanesh Mondegarian2015-06-161-1/+1
| | | | | | | | | | | | | | | | This addresses the issue where if a download is enqueued and right after deleted, the notification doesn't stick around. Change-Id: Ie1ec08fc94420b0f46e1543ed52afd8c22aee372 (cherry picked from commit 794ab54677c50bac5c0f32bc5d9ad768ff10c039)
| * Merge tag 'android-5.1.0_r1' into HEADstaging/cm-12.1Ricardo Cerqueira2015-03-104-66/+47
| |\ | | | | | | | | | Android 5.1.0 release 1
| * | Add Download Speeds in notificationLasse Brudeskar Vikås2014-12-271-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds the ability to show the current total download speed Screenshots: http://goo.gl/M3eRNR ps7 : remove download site, and make speed to bit/sec ps8 : make speed to byte/sec and cleanup ps9 : revert to B/sec ps10: fix some formatting issues ps13: rebased Conflicts: res/values/cm_strings.xml src/com/android/providers/downloads/DownloadNotifier.java Change-Id: I801dbe61c7ee59d0c1d14d5851ad6dc3a7678499
* | | Give secondary users read-only physical cards.Jeff Sharkey2015-07-281-1/+2
| | | | | | | | | | | | | | | | | | | | | Follow method refactoring so we only consider writable locations. Bug: 22787184 Change-Id: Ib8b037216d23ab474d7e0df427671d174eaf030a
* | | Switch to proxy variants of app-ops calls.Jeff Sharkey2015-07-241-2/+2
| | | | | | | | | | | | | | | Bug: 22718722 Change-Id: I9c054956c3b3655332475607d6919dc34515e550
* | | Relax permissions on package-specific paths.Jeff Sharkey2015-07-144-26/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Create a handler threadTodd Kennedy2015-06-191-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Actually delete files when rows are deleted.Jeff Sharkey2015-06-161-5/+12
| | | | | | | | | | | | | | | | | | | | | Otherwise they're orphaned until the next idle maintenance pass. Bug: 21786983 Change-Id: I6eb2240d657366b65482bd3a0d5683e5d34a541a
* | | Don't call size() on a null ListChristopher Tate2015-06-081-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | JobScheduler.getAllPendingJobs() can return null when there are none. Deal with it. Bug 21642868 Change-Id: I11fcc6e146f9db51e03dcf57f7518bb7878fbd28
* | | Sanitize display names, keep extensions intact.Ben Kwa2015-04-221-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Make DownloadProvider honor the cleartext traffic policy.Alex Klyubin2015-04-013-0/+59
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Can not continue to download after powering on the phoneBenson Huang2015-01-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Use FileUtils to validate FAT filenames.Jeff Sharkey2014-11-261-50/+1
| | | | | | | | | | Bug: 18512473 Change-Id: I686c7c3487f789dc0437513fbc6fed54dc62721f
* | Connection: close is enough to know length.Jeff Sharkey2014-11-101-5/+9
| | | | | | | | | | | | | | | | Now that we're defeating connection reuse, we have one additional type of response where the length is known. Bug: 18306491 Change-Id: I19657c565238f07fd89a55a5dbf1e85748f6e7c3
* | Defeat connection reuse to really cancel.Jeff Sharkey2014-11-071-0/+4
| | | | | | | | | | | | | | | | | | 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
* | Ensure that downloads stop quickly.Jeff Sharkey2014-10-271-8/+25
| | | | | | | | | | | | | | | | | | | | 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
* | am 3ee03ac3: am e24609e8: Trim stale downloads from third-party apps.Jeff Sharkey2014-10-171-5/+47
|\| | | | | | | | | * commit '3ee03ac36f0f849b78936cf18972fe2f24a61722': Trim stale downloads from third-party apps.
| * Trim stale downloads from third-party apps.Jeff Sharkey2014-10-161-5/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Buggy third-party apps can enqueue lots of downloads and then forget to remove them, causing DownloadManager to stop functioning. This change removes any downloads that match _all_ of the following conditions: 1. Download status is in a terminal (non-pending) state, usually a concrete success or failure. 2. Download hasn't been touched in over a week. 3. Download is not visible in UI. Bug: 17785419 Change-Id: Id82752fd6935371c1af682205d35f7ba35169473
* | Fix internationalization of percentage formatting in DownloadProvider.Elliott Hughes2014-10-102-3/+7
|/ | | | | Bug: 15476051 Change-Id: I085c074f1bb66631872712cab68bcaf6ee7ba7dc
* Colored notificationsSelim Cinek2014-08-271-0/+2
| | | | | Bug: 17128331 Change-Id: Ie2529189e4d62c7dc385f9d36c70ac412fb4159c
* fallocate() returning ENOSYS is okay.Jeff Sharkey2014-08-261-2/+2
| | | | | | | Fall back just like ENOTSUP. Bug: 17285472 Change-Id: Ice4954726c14a0e84c39c5469d573644588934ae
* Whoops, clear identity to get internal columns.Jeff Sharkey2014-08-051-1/+11
| | | | | Bug: 16822344 Change-Id: Ib90e171cbb7babc7a3eea59de5cb899c79fadf94
* Scan after writing download files.Jeff Sharkey2014-08-054-23/+43
| | | | | | | | Kicks off media scanner after files are written, usually through a DocumentsProvider. Bug: 13557203 Change-Id: I4e29b778b4e19a217f60c1e415c4d814724752d3
* Transition the Download Service's cleanup work to a scheduled JobChristopher Tate2014-06-162-8/+50
| | | | | | | | | ...preparatory to finally removing the scratchpad "idle maintenance" infrastructure from the product. Bug 14993295 Change-Id: I1e84247de19e616910db1781b2c399a8b15a805c
* am f04a7690: am 90e7485d: am 02562d30: Merge "Avoid leaking cursors"Jeff Sharkey2014-05-101-20/+30
|\ | | | | | | | | * commit 'f04a7690b53288c98c07e0aa05214cceebea1331': Avoid leaking cursors
| * Merge "Avoid leaking cursors"Jeff Sharkey2014-05-101-20/+30
| |\
| | * Avoid leaking cursorsMattias Nilsson2014-04-011-20/+30
| | | | | | | | | | | | | | | | | | | | | Adding try/finally blocks to make sure that cursor resources are let go Change-Id: I596074aa9ab5752f91a26b5a03e1f39c23c64a5f
| * | Track API package change.Elliott Hughes2014-04-281-4/+4
| |/ | | | | | | Change-Id: Ie2f35386e48894a9c9afb9717af90a5628dcd79b
* | OsConstants is moving.Elliott Hughes2014-04-291-2/+1
| | | | | | | | Change-Id: Ie72e18f539cbad593c489bf52b9afea5330f62c1