1. 28 Jul, 2012 1 commit
    • Nick Kralevich's avatar
      Explicitly export content providers · 6c26e6e1
      Nick Kralevich authored
      In a future version of Android, the default value for
      <provider android:exported> will change from true to false.
      Explicitly set android:exported="true"
      
      Bug: 3306452
      Change-Id: Id23f16a8527ba97be1d8617ccfc4346734f695d0
      6c26e6e1
  2. 12 Jul, 2011 1 commit
  3. 21 Jun, 2011 1 commit
  4. 17 Jun, 2011 1 commit
    • Jeff Sharkey's avatar
      Teach DownloadManager about network policy. · 96102438
      Jeff Sharkey authored
      Now network access is determined by using getActiveNetworkInfoForUid()
      which uses BLOCKED to indicate that network should be rejected for
      the requesting UID.  While download in progress, watch for any policy
      changes that should trigger pause.
      
      Also check NetworkInfo.isConnected() for correctness.
      
      Change-Id: I1efa79823f15ecc3fa088a6719da1b770c64b255
      96102438
  5. 14 May, 2011 1 commit
    • Jeff Sharkey's avatar
      Add Socket tagging for granular data accounting. · 3fb34dc3
      Jeff Sharkey authored
      Tag active downloads, and account data usage towards UID that made
      the original request.  Also release WakeLock only after we've cleaned
      up the download.
      
      Change-Id: I72d58c6a51beaeb357e59aae4d7c0f5ac9abaa8d
      3fb34dc3
  6. 09 Feb, 2011 1 commit
  7. 16 Nov, 2010 1 commit
  8. 05 Nov, 2010 1 commit
    • Vasu Nori's avatar
      changes to support CL: I1f5dd734e394db0056579a3a0c26862fee27981e · 3ca67748
      Vasu Nori authored
      1. if an application designates a downloaded file to be mediascanner
      scannable or not, store that fact in database.
      2. use the above to determine whether a file shoudl be mediascanned or not
      in DownloadService
      3. implement code to return mimetype for the new Uri "/public_downloads"
      introduced in CL: I1f5dd734e394db0056579a3a0c26862fee27981e
      
      Change-Id: I5c062ad6d1b58306044cee49ff3827e908d27fd9
      3ca67748
  9. 26 Sep, 2010 1 commit
    • Steve Howard's avatar
      UI + string tweaks for downloads UI + size limits UI · b8bb8473
      Steve Howard authored
      * tweaks to UI strings based on feedback
      * new "retry" button for single selection of failed download
      * make SizeLimitActivity translucent+titleless, so it looks like a
        dialog over the current app
      
      Change-Id: I6a990275880d23ab6b4368d39b70f0ad042825ec
      b8bb8473
  10. 21 Sep, 2010 2 commits
    • Steve Howard's avatar
      Expose permission to download without notification. · ece96c74
      Steve Howard authored
      Change-Id: I43d3b9ca4ea7d4786a47363b4f5f7e6f003013bb
      ece96c74
    • Steve Howard's avatar
      Implement dialogs for wifi required + recommended limits. · d3197296
      Steve Howard authored
      This change extends the original work to add a size limit over which
      wifi is required to download a file.
      
      First, this change adds a second size limit, over which wifi is
      recommended but not required.  The user has the option to bypass this
      limit.
      
      Second, this change implements dialogs shown to the user when either
      limit is exceeded.  These dialogs are shown by the background download
      manager service when a download is started and found to be over the
      limit (and wifi is not connected).
      
      I'm including one small fix to the unit tests needed from the previous
      change.
      
      Change-Id: Ia0f0acaa7b0d00e98355925c3446c0472048df10
      d3197296
  11. 18 Sep, 2010 1 commit
    • Steve Howard's avatar
      Temporary fix to support old URIs for Market · b31c2daa
      Steve Howard authored
      Market has its own copies of the download manager URIs.  This change
      bring back support for those so Market will keep working until they
      can properly update their code.
      
      Change-Id: I283ea65931085c0f083a182842d362c113427537
      b31c2daa
  12. 17 Sep, 2010 1 commit
    • Steve Howard's avatar
      Temporary fix to support old URIs for Market · 4bebe75b
      Steve Howard authored
      Market has its own copies of the download manager URIs.  This change
      bring back support for those so Market will keep working until they
      can properly update their code.
      
      Change-Id: I283ea65931085c0f083a182842d362c113427537
      4bebe75b
  13. 15 Sep, 2010 1 commit
    • Steve Howard's avatar
      New URI structure with "my_downloads" and "all_downloads" · 3d55d829
      Steve Howard authored
      This change introduces a second view into the download manager
      database via a set of URIs starting with /all_downloads, renaming the
      original /download URIs to /my_downloads.  In addition to making
      things more clear, this change allows the downloads UI to grant
      permissions on individual downloads to viewer apps.
      
      The old semantics were:
      
      * for ordinary callers, /download included only downloads initiated by
        the calling UID
      * for intraprocess calls or calls by root, /download included all
        downloads
      
      The new semantics are
      
      * /my_downloads always includes only downloads initiated by the
        calling UID, and requires only INTERNET permission.  It could just
        as well require no permission, but that's not possible in the
        framework, since path-permissions can only broaden access, not
        tighten it.  It doesn't matter, because these URIs are useless
        without INTERNET permission -- if a user can't initiate downloads,
        there's no reason to read this.
      * /all_downloads always includes all downloads on the system, and
        requires the new permission ACCESS_ALL_DOWNLOADS.  This permission
        is currently protectionLevel=signature -- this could be relaxed
        later to support third-party download managers.
      
      All download manager code has been changed to use /all_downloads URIs,
      except when passing a URI to another app.  In making this change
      across the download manager code, I've taken some liberties in
      cleaning things up.  Other apps are unchanged and will use
      /my_downloads.
      
      Finally, this incorporates changes to DownloadManager to return a
      content URI for /cache downloads -- the download UI no longer assumes
      it's a file URI, and it grants permissions to the receiver of the VIEW
      intent.  The public API test has also been updated.
      
      I've also fixed some null cursor checking in DownloadManager.
      
      Change-Id: I05a501eb4388249fe80c43724405657c950d7238
      3d55d829
  14. 29 Jul, 2010 1 commit
    • Steve Howard's avatar
      Make all public API downloads visible. · 9da9df3d
      Steve Howard authored
      This change makes all downloads through the public API visible by
      default.  It removes the API that had allowed applications to control
      notifications while the download runs.  This has been replaced with a
      hidden API, since such behavior is needed by SystemUpdater and Market
      (for self-updates).  Additionally, the behavior is now protected by a
      new permission.
      
      I'm making this permission signatureOrSystem, and changing the
      non-purgeable permission to the same (it should've been that, I just
      didn't know).  I'm also adding string descriptions to appease the
      translation folks.
      
      Change-Id: I192e8b19ff9b0e425257cef0db081c3d75996ea5
      9da9df3d
  15. 23 Jul, 2010 2 commits
    • Steve Howard's avatar
      Support for non-purgeable downloads through the public API. · 71aab521
      Steve Howard authored
      This change adds a permission,
      android.permission.DOWNLOAD_CACHE_NON_PURGEABLE.  When an app has this
      permission, any downloads it requests through the public API to the
      download cache will automatically become non-purgeable, i.e. they'll
      never be automatically deleted by the download manager to free up
      space.  This is intended for use only by the system updater.
      
      Change-Id: I35cdd44f7e5d46bc70443d1a9743f61a51395ddb
      71aab521
    • Steve Howard's avatar
      Make DownloadProvider accessible for public API usage. · b06b739b
      Steve Howard authored
      This change removes the requirement that apps have the
      ACCESS_DOWNLOAD_MANAGER permission in order to access
      DownloadProvider.  This enables the public API to work.  Instead,
      DownloadProvider enforces the new permissions model for the public
      API:
      * insert() requires INTERNET permission
      * insert() checks that input fits within the restricted input allowed
        for the public API
      * insert() also strictly checks the file URI provided with
        DESTINATION_FILE_URI (and still requires WRITE_EXTERNAL_STORAGE
        permission if that is supplied)
      
      Note that if an app has the ACCESS_DOWNLOAD_MANAGER permission, legacy
      behavior is retained.
      
      I've added a test to cover this new access, and updated the existing
      permissions tests.
      
      I also fixed a bug in WHERE clause construction in update() and
      delete(), and refactored the code to eliminate duplication.
      
      Change-Id: I53a08df137b35c2788c36350276c9dff24858af1
      b06b739b
  16. 22 Jul, 2010 1 commit
    • Steve Howard's avatar
      Make COLUMN_URI readable and tighten UID restrictions. · 0d8d8910
      Steve Howard authored
      I need to make COLUMN_URI readable by apps, since the public API
      exposes that field.  In order to avoid any possible security issues, I
      got rid of the feature that potentially allowed apps to view downloads
      from other UIDs.  No one was using that feature and the public API
      exposes no such feature (yet).
      
      While at it, I cleaned up some related code in update() and delete().
      
      Change-Id: I5384115d2a865255d009fbe37449488fd2269389
      0d8d8910
  17. 05 Feb, 2010 1 commit
  18. 06 Jan, 2010 1 commit
  19. 17 Nov, 2009 1 commit
  20. 13 Nov, 2009 1 commit
  21. 11 Aug, 2009 1 commit
  22. 07 Aug, 2009 1 commit
  23. 04 Aug, 2009 1 commit
  24. 16 Jun, 2009 1 commit
  25. 01 Jun, 2009 1 commit
  26. 13 May, 2009 1 commit
  27. 23 Apr, 2009 1 commit
  28. 04 Mar, 2009 2 commits
  29. 27 Feb, 2009 1 commit
  30. 10 Feb, 2009 1 commit
  31. 10 Jan, 2009 1 commit
  32. 18 Dec, 2008 1 commit
  33. 21 Oct, 2008 1 commit