Setting max_retires to infinite sets mRetryForever to true and therefore
isRetryNeeded will always be true. This is better than an alternative
which is to set max_retires to a large value such as 2147483647.
Seperate dataRoaming from gsmRoaming. dataRoaming is based on +CGREG returns in GSM while gsmRoaming is based on +CREG returns. Previously, the status of dataRoaming is always treated the same as gsmRoaming. However there is a situation where +CREG returns 0 and +CGREG returns 5, i.e., gsmRoaming is off and dataRoaming is on. In such situation, the phone should setup data connection if the phone enables data service when roaming (for example, data only card). The phone shouldn't setup data connection if the phone disable data service when roaming (to prevent roaming data charge). So gsmDataConnectionTracker should use dataRoaming instead of gsmRoaming to decide if data service allowed.
modified: GsmDataConnectionTracker.java
modified: GsmServiceStateTracker.java
This also refactors ConnectivityService a bit towards supporting multiple simultaneous connections by making each a seem like a seperate Network with it's own stateTracker, etc.
Also adds tracking of process death to clean orphaned startUsingNetworkFeature features.
The issue is that the plus sign in a dial string is always converted
to the IDP (International Dial Prefix).
This fix implements a plus sign conversion mechanism based on the default
telephone numbering system that the phone is activated and the current telephone
number system that the phone is camped on. Currently, we only support the cases
where the default and current telephone numbering system are NANP.
This method is used by the Phone app to decode ACTION_CALL
Intents, resolving to a real phone number. Because the
columns are changing with the new provider, I added logic
to query using the correct columns for the authority of the
requested Uri.
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
When ro.telephony.disable-call is set to true the phone disable actual calls. It provides a way to test in user-debug builds for stability runs. See bug 2031157.
modified: java/com/android/internal/telephony/TelephonyProperties.java
modified: java/com/android/internal/telephony/cdma/CdmaCallTracker.java
modified: java/com/android/internal/telephony/gsm/GsmCallTracker.java
modified: java/com/android/internal/telephony/TelephonyProperties.java
modified: java/com/android/internal/telephony/cdma/CdmaCallTracker.java
modified: java/com/android/internal/telephony/gsm/GsmCallTracker.java
1. Convert the voicemail count of a VM notification from
BCD to decimal. That way the user will not be notified
of 16 new VM when there are only 10.
Ref: 3GPP2 C.S0015-B / 4.5.12 Number of Messages.
2. Allow VMN-95 notifications without "User Data" to be
processed. Only mandatory items for VMN-95 are
"Message Identifier" and "Number of Messages".
Ref: 3GPP2 C.S0015-B / 4.3.5 Voice Mail Notification.
Temporary rollback of this change, for now the radio can prevent data traffic,
but that's not the desired long-term solution.
This reverts commit 79ef673d56e2599932b8b7f13695d23b4df54d09.
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.
This indicates to the UI that the hangup command has been received by the
Telephony layer and passed down to the RIL, but we have not yet been notified
of a successful DISCONNECT.
Addresses http://b/issue?id=1659876.
SetupDataCall needs radio technology parameter to identify CDMA and GSM type. 0 means CDMA and 1 means GSM. The values are different from GSM_PHONE and CDMA_PHONE. Add authType parameter to identify PAP/CHAP authentication. Currently the authType is set to use both PAP and CHAP in CDMA phone.
modified: telephony/java/com/android/internal/telephony/CommandsInterface.java
modified: telephony/java/com/android/internal/telephony/RIL.java
modified: telephony/java/com/android/internal/telephony/RILConstants.java
modified: telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java
modified: telephony/java/com/android/internal/telephony/gsm/PdpConnection.java
modified: telephony/java/com/android/internal/telephony/test/SimulatedCommands.java
When SMS is sent from a email address, Email Gateway server sends a string
containing from address, message text. Current code is treating the first
word as from_address, second word as subject and rest of the string as message_body.
Because of this second word is getting stored in separate variable and not as part
of message text, so second word is always lost.
Merge commit '0da3bdb476086db02a1076780676b21e239c79d6'
* commit '0da3bdb476086db02a1076780676b21e239c79d6':
Fix public API caused due to CDMA changes.
GET_SIM_STATUS now returns structure RIL_CardStatus. So RIL_SIM_* status are obsoleted.
modified: java/com/android/internal/telephony/RILConstants.java
- If the SID is not in NAM and PRL, the phone should use default Roaming
Indicator
- If a system is acquired that matches the NAM but does NOT match the PRL,
the device shall display a FLASHING roaming indicator
- Handle corner cases for PRL is not loaded / Home SID is not programmed
- Reorganize the ERI logic
Merge commit 'b307c8945d4bf8d843445f3cc6d727f4e43d90f0'
* commit 'b307c8945d4bf8d843445f3cc6d727f4e43d90f0':
Fix bug 1994955 where PHONE_TYPE_CDMA was 0 and it should be 2 and added RILConstants.NO_PHONE.
The issue this change fixes is that phone status bar shows full
signal strength bar even when phone is in bad signal area. The
root cause is that the signal strenth is incorrectly interpreted.
The issue this change fixes is that phone did not send MIP deregisteration
and LCP termination message when user powered down phone while data call was
in dormant state. The root cause is Framework Telephony did not wait long
enough before it sent the request to power off the radio. The fix is to
increase the waiting timer.
This bug originally reported that PHONE_TYPE_CDMA needed to be 2 because
it was public. But as far as I can tell it has never been public and it
is still marked @hide so is not public now. There is a bug in that
PHONE_TYPE_NONE and PHONE_TYPE_CDMA were both 0. But this doesn't
appear to have been a problem because PHONE_TYPE_NONE doesn't looked to be
used anywhere except in TelephonyManagerTest.
* changes:
Refix the MT call screen stuck issue. The issue this change fixes can be reproduced by following steps: 1. Originate and connect a call to remote party #1 that is not in Contacts. 2. Receive a call from the remote party #2 that is not in Contacts, the call waiting tone is sounded and the call waiting screen is displayed. 3. Press menu key and ignore the call, and the call waiting screen is dismissed and the remote party #2 is forwarded to voice mail. When we ignore the incoming call, Phone gets stuck with incoming call screen.
Merge commit 'ecbbecf6c535e7f3e1d072d43766a95aa18ee464'
* commit 'ecbbecf6c535e7f3e1d072d43766a95aa18ee464':
Fix swapped gsm/cdma function dispatch, and 7bit text fragmentation.