The main consumer of this feature is shortcuts.
The LOOKUP KEY column will contain an encoded concatenation of the contact's row id
as well as sync_ids of all constituent raw contacts. It goes with the "contacts/lookup/*/#" URI.
When we get such a URI, we will first try to load the
contact with the specified _id and lookup_key. If we cannot find the contact
that way, we will go scout for the contact that contains most of the sync_ids
we found in the lookup key.
We will need to make sure that the contact picker returns the lookup-style URIs.
Yet more work on improving the behavior of wallpapers. This fixes a few
problems in their lifecycle (corresponding change in the picker also
required for this), makes their animations better for hardware that supports
alpha fades, adds animations for the wallpapers themselves, eliminates
fixed size wallpapers, and adjusts the API for retrieving a wallpaper
bitmap to take care of scaling the raw wallpaper image to match the current
desired width and height.
Change-Id: If1c0aaceba4ea4e175dcb7a8416ca7ddbb9bfa6f
Merge commit 'a84a26d2afab503ed32e6ecc94acba46a5eb9eb3' into eclair
* commit 'a84a26d2afab503ed32e6ecc94acba46a5eb9eb3':
add searchable dictionary to html docs and dev guide nav
We need to leave the phone in a connectable state so that it connects whenever it's able
(reception or just timing). If we mark it disabled on failure it wont try again. The retry
comes from the phone layer, not from ConnectivityService.
Also Fix the Phone layer so it retries even if it disconnected by request (DATA_DISABLED).
This was a bug from long ago that didn't become visible until recently with fast wifi and slow
mobile teardown.
Change-Id: I04bf39fba0cb578c87d5fc6ea5d220820ff9f364
Merge commit 'e1df82248a68282a4d556ce61db09949fc186827' into eclair
* commit 'e1df82248a68282a4d556ce61db09949fc186827':
Remove flaky test LifecycleTest.testDialog from large continuous suite.
* changes:
Fixing bug 2086021. AccessiblityService could sometimes get a null pointer exception if multiple accessibility services are running and there are several events all happening within a short period of time.
After sending 100 messages, SMSDispatcher always displays dialog to user to
confirm the sending. If the user sends messages too fast then there will be more
than one dialogs waiting for the response, but SMSDisptcher can only handle one.
The phone only rang once on rings that did't loop. In the GSM phones
the vendor ril sends a RIL_UNSOL_CALL_RING event to cause the phone
to properly play non-looping ring tones. To reproduce select a non-looping
ring tone such as "Digital Phone" and call it from another phone, the
phone will only ring once.
Three solutions were discussed:
*) Have all ring tones loop; rejected because to more space would be taken
by the silence.
*) Require all vendor RIL's to send RIL_UNSOL_CALL_RING; rejected because
it is inefficient to send a notification from the bottom of the stack.
*) Modify the PhoneApp or the audio layer; rejected because it would be
to big of change.
*) Modify the framework; this is the solution accepted.
The framework was modified to use two now properties to control the
call ring notification.
ro.telephony.multiple_call_ring: a boolean that if true the vendor ril
is assumed to send multiple RIL_UNSOL_CALL_RING messages. If false
only one is assumed and the framework will generate additional events.
(The default if absent is true).
ro.telephony.call_ring_delay: the delay in milli-seconds between
the generated events. (default if absent is 3000)
To minimize code duplication this change does some reorganization
of the PhoneBase class hierarchy and PhoneBase becomes a handler
and implements a default handleMessage method handles events associated
with call ring notification. This handler is overridden by derived
classes, CDMAPhone and GSMPhone which will pass unknown events
to PhoneBase.handleMessage and thus handle call notification for any
derived class.
Change-Id: I5b147b2b69b647d9987052f16ada41c9b66e4bf1
* changes:
Launch synthesis thread at max priority to prevent hicups in playback. Return and log an error when an operation cannot be completed because the speech queue is locked longer than the timeout period. Log cleanup.
(companion change in external/webkit)
Add a boolean parameter to WebViewCore.java nativeSizeSize().
If set, only layout if the width has also changed.
If clear, layout if the height alone has changed.
Layout is clear when called from zoom setup, and set otherwise.