Radio state reflects the state of the modem. SIM_READY, RUIM_READY,
NV_READY are subscription states and it is possible that the new cards
have multiple subscriptions. Remove the SIM states from Radio State and
introduce a new VOICE_RADIO_TECH message to identify the exact voice
technology. SIM states will continue to be identified from the
SIM_STATUS messages.
Change-Id: Ia67d54f43b6c3340d9cf5c27fcb6f7ef49ef4d40
The phone app needs a way to distinguish between (a) numbers that are
definitely emergency numbers, and (b) numbers that *might* result in an
emergency call being dialed, but aren't specifically emergency numbers
themselves.
(The phone app needs this distinction in order to enforce the restriction
that 3rd party apps should not be allowed to make emergency calls using
the ACTION_CALL intent, while still making sure that the in-call UI only
displays the "emergency call" state for numbers that are *definitely*
emergency numbers. See bug 5493790 for the full details;)
So this change adds a full set of "isPotentialEmergencyNumber()" methods
to go along with the "isEmergencyNumber()" methods we've had all along.
The "potential" variants behave identically to the original methods,
*except* that they ultimately use number.startsWith() rather than
number.equals() when comparing against the list of emergency numbers.
TESTED:
- Unit test 'PhoneNumberUtilsTest#testIsEmergencyNumber' passes.
(The PhoneNumberUtilsTest class doesn't pass in its entirety, but it was
broken before this change also.)
- Also see the commit description of change
Ib949fea3c0ce6b341a90e617a03ba3f22c69018b for the exact tests I ran
against the phone app.
This change should be submitted along with
Change-Id: Ib949fea3c0ce6b341a90e617a03ba3f22c69018b
in apps/Phone (but this change must go in first to avoid breaking the
build.)
Bug: 5493790
Change-Id: Ic528cfcc555734cdaf4ca8a18a50199771ba49b1
- Precondition: config_sms_enabled_single_shift_tables is configured as
1 (Turkish) in frameworks/base/core/res/res/values/config.xml
- Cause: There is no consideration for National Language Shift Tables in
SmsMessage::fragmentText function.
- Solution: The header length is calculated properly according to
National Language Shift Table
- modified to add test cases and fix calculation bug (jhamby@google.com)
Bug: 5553544
Change-Id: I9eaefbbd6b3d75f8c41cbf9d0cb03a701cfa1cb3
Devices supporting IMS may receive SMS-PP data download messages
which are normally handled in the radio baseband. Add support to
framework for these messages, passing the data to the UICC and
sending the response data as part of the SMS ACK.
Change-Id: I1da76982c6f8c402f82a6f535591e614f4e0de18
The USIM application on the UICC contains an EF for the USIM service table,
a byte array containing a bit field of available services on the USIM.
IccServiceTable is an abstract class to manage a byte array containing a
service table and map it to human-readable enum values defined in the
subclass, e.g. UsimServiceTable. The availability of a service can be
tested with isAvailable(), which is implemented in the subclass to take
an enum, e.g. UsimService, as a parameter, and passes the ordinal to the
generic isAvailable() in the parent. IccServiceTable also provides a
toString() method that returns a human-readable list of enabled services.
The ISIM application for IMS contains a similar ISIM service table.
This can be supported with a new IsimServiceTable class in the future.
Change-Id: I9c3134672ed306e297dd35d633235cffca510aad
If the user asks to format a number that starts with either a hash or a
star symbol, do not further format the phone number since we are not
actually able to parse such a number correctly and current this results
in the star or hash being dropped.
Bug: 5362177
Change-Id: Iff8d317c087d0ca07f2b107459ce8c47882ef367
- GsmDataConnectionTracker.java
<in function createApnList>
: modify parameter type for new ApnSetting.
(carrierEnabled has changed to boolean from integer,
BEARER has changed to integer from string).
<in function createAllApnList>
: modify telephony db query statement using carrierEnabled. (carrier_enabled: 1 enable apn, 0: disabled apn)
<in function buildWaitingApns>
: modify apn management code when current RAT (radio access technology) is LTE or EHRPD.
add internal function named needToCheckApnBearer to check current RAT is LTE or EHRPD.
- ApnSetting.java
: add two member variable (carrierEnabled: apn enable/disable , bearer : Radio Access Technology)
- Telephony.java
: add two static string CARRIER_ENABLED & BEARER.
- ApnSettingTest.java
: add two assertEquals in function assertApnSettingEqual.
add CARRIER_ENABLED & BEARER parameters.
bug: 4991683
Change-Id: I9450c220009c3093b1e09e8ac9cd0faa0a975067
Previously external/libphonenumber accepted lower case
country codes (e.g. "us") but now it doesn't for performance reason.
Actually ISO 3166-1 doesn't allow lower cases, so we should not rely
on them.
Need to fix unit tests for PhoneNumberUtils, as it implicitly
relies on the previous behavior.
See also I3a3e6db84ed0d24290b1be19651fa9a82de4cc39
Bug: 4941319
Change-Id: If16f6531f274a0faf5e28724854409ca9b00a669
Add support for ETWS primary notification messages.
Add method for easy concatenation of GSM multi-part broadcasts.
Add test cases for SmsCbHeader, SmsCbMessage and IntRangeManager.
Change-Id: Ifc646a011e79ad6c7eace9afcf84b1216eb42b7a
Add support for encoding and decoding SMS 7 bit user data using the
national language shift tables defined in 3GPP TS 23.038 (GSM/UMTS only),
including the new tables added in Release 9 for Indic languages.
Decoding is always supported, but encoding is only enabled for the
specific language tables added to the new integer array resources
"config_sms_enabled_single_shift_tables" and
"config_sms_enabled_locking_shift_tables" defined in
frameworks/base/core/res/res/values/config.xml. The default empty arrays
should be overridden in an OEM overlay for the specific nationalities where
SMS national language shift table encoding is allowed/mandated (e.g. Turkey).
GsmAlphabet.countGsmSeptets() will try to find the most efficient encoding
among all combinations of enabled locking shift and single shift tables.
If no 7 bit encoding is possible, 16 bit UCS-2 encoding will be used.
This change also fixes a bug in the decoder: when an escape septet
is followed by a septet with no entry in the extension (single shift)
table, TS 23.038 Table 6.2.1.1 states that the MS shall display
the character in the main GSM 7 bit default alphabet table, or the
active national language locking shift table. Previously, we were
decoding this sequence as a space character. Two consecutive escape
septets will continue to decode as a space character, according to
Note 1 of table 6.2.1.1.
Change-Id: I4dab3f0ffe39f3df2064ed93c9c05f26e274d18b
This reverts commit eca208fae6d1b6ae9c8c0e42eee092e86dbddbb7
and is the first of the LTE commits in master being back ported
to the LTE branch.
Change-Id: I17d4a1b779ed74bc7dfb409d2c1a30f60fdb27c7
1. Database changes:
- Add a protocol and a roaming_protocol column to the
carriers table in the telephony provider database.
- Set the protocol and roaming_protocol fields when
creating APN objects from the database.
2. ApnSetting class changes:
- Add protocol and roamingProtocol fields to the
ApnSetting class that encapsulates APN settings within
the framework.
- Add the fields to ApnSetting.toString and support a new
syntax containing the fields in ApnSetting.fromString.
- Add a unit test for ApnSetting.
3. Telephony changes:
- Specify the APN protocol when setting up a data call,
using protocol when not roaming and roaming_protocol
when roaming.
This change depends on #86896 in the telephony provider,
which adds the new column to the database schema on
upgrades.
Bug: 3333633
Change-Id: If3d9ed4c851d0192849df0d64581db03b066e052
1. Database changes:
- Add a protocol and a roaming_protocol column to the
carriers table in the telephony provider database.
- Set the protocol and roaming_protocol fields when
creating APN objects from the database.
2. ApnSetting class changes:
- Add protocol and roamingProtocol fields to the
ApnSetting class that encapsulates APN settings within
the framework.
- Add the fields to ApnSetting.toString and support a new
syntax containing the fields in ApnSetting.fromString.
- Add a unit test for ApnSetting.
3. Telephony changes:
- Specify the APN protocol when setting up a data call,
using protocol when not roaming and roaming_protocol
when roaming.
This change depends on #94983 in the telephony provider,
which adds the new column to the database schema on
upgrades.
Change-Id: Ic4e3f02e48f17990f657187b9919d265671f0138
This enables RIL to dispatch pdus in both GSM or UMTS format.
The RAT that was used will be transparent to clients.
Change-Id: I57c53ec79496d274e18b3fee196551af97c0857d
Korean phones write to the ADN record of the SIM in a non-standard way.
When UCS2 is not used, the alphaTag will be written in the KSC5601
encoding. This contribution adds support for reading that format when
a Korean SIM card is used.
Also adds support for KSC5601 in SMS.
Change-Id: I81a4a6949359b4d23a937ac2d813bafed2b85ff6
Adding a simple API enabling applications to control SMS-CB reception.
Implementing parsing, assembly and dispatching of SMS-CB messages over GSM.
Change-Id: Iee841605a45a3af60c7602af175056afb03a38da
Merge commit 'c8511af04a442551a204b1f47fabb317bcf54be0' into gingerbread-plus-aosp
* commit 'c8511af04a442551a204b1f47fabb317bcf54be0':
Add mock ril control commands and tests
Add mock ril controller commands and test cases:
- testStartIncomingCallAndHangup: test start incoming cal and hangup remote
- testSetCallTransitionFlag: test call transition flag and call state transition
Change-Id: I25ff8ef7931159ef7101b5e8638b9b7438db4f66
Merge commit 'e1c8e38834dffbeaeacbbe0490a5eae45b54db8b' into gingerbread-plus-aosp
* commit 'e1c8e38834dffbeaeacbbe0490a5eae45b54db8b':
Port mock ril controller and tests to GB. DO NOT MERGE
After changes in IccUtils.bcdToString() to ignore high nibble 'F'
(see change #55090), the testBasic() need to be changed accordingly.
Change-Id: If52a66b1c80b5d16af5bd3f431284e79012be300