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.
Replace a table of objects that was created at boot
in a costly manner, with a pre-generated table of
more densely formatted numerical data.
Based on data from runhat on the phone process,
this looks to shrink the memory footprint from about
16kB to less then 2kB.
Addresses http://buganizer/issue?id=874072
Change-Id: I5a7b9d7de4c9b9a0360e8370252582969fbd8d4f
This introduces a new mechanism to define features associated with
a platform, query the current device for the available features,
and enforce that apps requiring features that aren't available can't
be installed.
Also now allows uses-library to specify that a library is optional,
so the lack of such a library will not prevent the app from being
installed (but if it does exist it will be correctly linked into
the app).
Change-Id: I5b369b46cfa0b3d37c9e08fd14ef1098a978e67b
* Other changes
+ Re-assign err codes in VpnManager.
+ Add new err codes: REMOTE_PPP_HUNG_UP, PPP_NEGOTIATION_FAILED.
+ Delete the state file only if it exists (to prevent logging an
unable-to-unlink error).
+ Extend timeout to 40 seconds.
Add new manifest/aapt support for specifying device features an application
requires. The aapt badging now returns these (as well as uses-permission since
I need to look for those anyway); if an app doesn't explicitly request the
camera feature but does request the permission, then aapt will say that it has
requested both the basic camera feature as well as the autofocus feature.
Here's what you put in your manifest to say you need a camera but don't need
autofocus:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
Here's what will be seen from aapt:
uses-permission:'android.permission.CAMERA'
uses-feature:'android.hardware.camera'
uses-feature-not-required:'android.hardware.camera.autofocus'
Change-Id: I4dd19cee0486cc54771f5bf14fc9db0e892115d5
commit 3fa5f3ce910f34da0cedb8bcce1bd593db7eb740
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 27 14:48:54 2009 -0700
Getting rid of more code now obsolete with the departure of OMXDecoder.
commit e0d923ec0c7bb60bec8eb97739036a4c70c0feef
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 27 14:33:06 2009 -0700
Remove obsoleted OMXDecoder class. OMXDecoder is dead, long live OMXCodec.