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
Based on the VZW requirement, phone should be still in ECM mode in 2nd emergency call.
but in the current phone call, if a 2nd emergency call is originated, ECM mode will exit.
For fixing this problem, the coding design is as below:
1. In framework, canceling the first ECM timer immediately upon the origination of the
2nd E911 call, and restarting a new timer when the 2nd E911 ends.
2. Framework needs to syncronize the timer with phone app by sending notification to phone app to
inform timer is canceled or re-started, since phone app needs to show how much ECM time left
on the status bar.
3. In phone app's emergency callback mode service, the timer in this service will be canceled
when it receives the timer cancel notification from framework; the timer will be restarted
once it receives timer restart notification from framework.
Save the operator name during network selection. The name will be used by UI to provide network selection notification. See bug 1414247.
modified: java/com/android/internal/telephony/PhoneBase.java
modified: java/com/android/internal/telephony/gsm/GSMPhone.java
During the time of OTA activation screen startup, the app needs
to get MIN by calling getCdmaMin(). The issue in current code is that
OTA app calls getCdmaMin() before framework gets MIN data from lower
layer.
To fix this issue, framework will be providing the following new APIs
to applications for checking if MIN data is ready:
1. isMinInfoReady():
Check if mMin variable in getCdmaMin() has been assigned a non-null value.
2. registerForSubscriptionInfoReady():
Apps uses this API to register for notification.
3. unregisterForSubscriptionInfoReady():
This API is used by apps to unregister notification.
Framework will be sending out the notification in the following situations:
1. when mMin is assigned a non-null MIN value;
2. When app calls register API and MIN is ready.
The changes from 090602 update frameworks/base to support 3way calling
and call waiting.
The changes from 090603 completed the CdmaInformationRecords class
but the original changes submitted has been simplified, toString added
and a bug fixed where the notifications where not being handled properly.
The changes from 090605 added Prl Version, apn fixes.
Merge commit '35feec46d90d434a2439765d127a9e8f68a52340'
* commit '35feec46d90d434a2439765d127a9e8f68a52340':
TODO's from Teleca with modifications from wink.
Merge commit 'f6355e24f5382356ea197135fdeff827aabfdb90'
* commit 'f6355e24f5382356ea197135fdeff827aabfdb90':
Motorola additions for CDMA support without CdmaSuppConnTracker
When several locales for a given language are available we were always
selecting the first.
Original author: rgreenwalt
Merged from: //branches/cupcake/...
Automated import of CL 145995
init based on the phone's reported carrier ID.
Uses a core system resource string-array to contain the mapping
of carrier ID -> default locale. This should be set per project in
an overlay.
Original author: rgreenwalt
Merged from: //branches/cupcake/...
Automated import of CL 143900