Merge commit '478747181e0414d703076d4786b201718cd93d5b' into gingerbread-plus-aosp
* commit '478747181e0414d703076d4786b201718cd93d5b':
Support new URI structure for download provider.
Merge commit '747c61535281b4d2958e293e83245a19ba58f6a0' into gingerbread-plus-aosp
* commit '747c61535281b4d2958e293e83245a19ba58f6a0':
ContactsContract: update SipAddress to be multi-valued
This is step (1) of the device-side changes to deal with SIP addresses
becoming first-class objects in focus.
It'll be multi-valued in focus, so make it multi-valued on the device
(just like Phone, Email, Im, etc.)
Possible types are CUSTOM, HOME, WORK, and OTHER.
Also while I was in there, fixed the typo in "TYPE_MAINDEN_NAME" in the
Nickname class. (I can't remove it, since it's public API, so I added a
new constant with the correct spelling and deprecated the misspelled
one.)
Bug: 3004838
TESTED: on passion:
- Flashed this change onto a device that already had a contact with a
SipAddress, verified that it still shows up fine in the UI.
- Wiped data, rerean SetupWizard and logged in, made sure that SIP
addresses got synced down properly.
- Edited SIP address on the device, made sure it got correctly synced
up to the SIP user-defined field.
Change-Id: I6ecf551b64f87de03a7807e6212297d91f9e3981
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
Merge commit 'b92788aa040d0971b4e54589aef7675f34d96e5d' into gingerbread-plus-aosp
* commit 'b92788aa040d0971b4e54589aef7675f34d96e5d':
Adds time zone functionality into fw as a hidden api
This is the start of work towards pushing api that is needed for
Calendar to become unbundled into frameworks. This adds functions
for getting and setting time zones for the Calendar app. The new
methods are currently hidden.
Change-Id: I1b4265b23630c46d9730a179ec02da8d6c0e03ea
Merge commit '90fb15a7e52b1208b8d4f7518a61efb99580b5b0' into gingerbread-plus-aosp
* commit '90fb15a7e52b1208b8d4f7518a61efb99580b5b0':
Support UI visibility and restarting in download manager.
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
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
Merge commit '5872e9d7f31e5a4c5f3d871dba02b6d72a7ada78' into gingerbread-plus-aosp
* commit '5872e9d7f31e5a4c5f3d871dba02b6d72a7ada78':
Allow incoming SMS until internal storage is almost full.
Fix for bug 2382830: new incoming SMS should not be rejected when
running low on internal phone storage.
Testing revealed that the /data partition should have at least 256 KiB
available in order to prevent random app crashes (including system apps)
due to SQLite transaction failures. With 256 KiB free, the device should
safely boot without storage full errors. This takes into account the
36-40 KiB that the YAFFS2 filesystem reports as available even after
the partition has been completely filled. I've set the default full
threshold to 1 MiB to provide a generous safety margin.
For this bug, I changed the DeviceStorageMonitorService demon to send
two new hidden notifications for device storage "full" and "not full",
when the free space falls below the full threshold (default 1 MiB,
but configurable as a system setting), in addition to the existing
storage low/okay notifications sent when the storage crosses the threshold
of 90% full (also configurable).
The SMS code was changed to use these new notifications so that it can
accept messages until the data partition has been filled to the maximum
safe capacity rather than stopping when it hits 90% full. There should
be no negative impact on battery life because the additional check in
the storage polling service should be offset by an optimization to cache
the free threshold values which were previously being computed every time
through the loop.
While testing this change, I discovered that SMSDispatcher was being
instantiated twice, the first time in GSMPhone/CDMAPhone, and the second
time in SimSmsInterfaceManager / RuimSmsInterfaceManager. Changed the code
to pass the original SMSDispatcher to the Sim/RuimSmsInterfaceManager
constructor.
Change-Id: Ie0c6d05294778ab6ee42e0fa01313af96d824c77
Merge commit '042e9bd989d9c78e23ed29011b6532743f510625' into gingerbread-plus-aosp
* commit '042e9bd989d9c78e23ed29011b6532743f510625':
Add SIP related settings in the Settings.System.
This is a new data kind representing a SIP address for a contact.
The new class is ContactsContract.CommonDataKinds.SipAddress,
and the new mime type is "vnd.android.cursor.item/sip_address".
It's pretty generic right now (basically a single text field, like
"Website") but we may eventually want to extend it later to have multiple
labels+types (like phone numbers.)
Bug: 2942998
Change-Id: I45d90a680a3badf60bccb5aafdc2397037494e95
Merge commit '231a0005654d23284ab58a2d9ea892b995988c34' into gingerbread-plus-aosp
* commit '231a0005654d23284ab58a2d9ea892b995988c34':
Avoid allocating buffer every time getThumbnail is called.
Merge commit 'b3e957bb9d3a3811412e5d94233c7f7e2e777c28' into gingerbread-plus-aosp
* commit 'b3e957bb9d3a3811412e5d94233c7f7e2e777c28':
New download manager error code when we can't resume.
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
Merge commit 'c636b846160482fbebd9a3792d52b9ff864228f2' into gingerbread-plus-aosp
* commit 'c636b846160482fbebd9a3792d52b9ff864228f2':
Enhance WspTypeDecoder to decode Content Type Parameters
Merge commit '8e15afe799bbe8d332640c1f2b57b5e0458a9625' into gingerbread-plus-aosp
* commit '8e15afe799bbe8d332640c1f2b57b5e0458a9625':
Make downloads visible by default.
Merge commit '14805b6c1ff0fe5324d05ba1dd5053cdf61459b7' into gingerbread-plus-aosp
* commit '14805b6c1ff0fe5324d05ba1dd5053cdf61459b7':
New secure setting for mobile download size limit.
This patch enables WspTypeDecoder to correctly parse content type
parameters as described in the Wap230 WSP specifications
(wap-230-wsp-20010705-a section 8.4.2.24) which are then passed on
as part of the WAP_PUSH intent notification.
It also recognises all Well Known WSP Content types, and simplifies
their retrieval (i.e. a well known content type will always be
available through the WspTypeDecoder.getValueString() method).
Change-Id: I0eb3f9ac287aa7cb53312777c4be54b1939fa857
Merge commit 'a13a02cd0ec6c0584fc2423feb974d77d0945964' into gingerbread-plus-aosp
* commit 'a13a02cd0ec6c0584fc2423feb974d77d0945964':
New permission for non-purgeable cache downloads.
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
Merge commit 'b8e07a51c1849d6894c5773a3daacedd01294218' into gingerbread-plus-aosp
* commit 'b8e07a51c1849d6894c5773a3daacedd01294218':
DL manager support for broadcasts + connectivity control
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
Merge commit 'd6343c26b8580f61a257a3045bfa124049201116' into gingerbread-plus-aosp
* commit 'd6343c26b8580f61a257a3045bfa124049201116':
Interface support for custom HTTP headers in DL manager
* 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 '05940b2c04041d6b3b8d222f4acfd12faeeb6c9c' into gingerbread-plus-aosp
* commit '05940b2c04041d6b3b8d222f4acfd12faeeb6c9c':
Download manager support for file URIs + last modified time
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