While offhook, even the call is on hold, setAudioMode() remains in
MODE_IN_CALL (or MODE_IN_COMMUNICATION for SIP) rather than
switching back to NORMAL.
bug:5546901
Change-Id: I0189dc010d1109895cc38e17b1b80418445d514a
Also use the AlarmManager instead of messages so the delays
are consistent whether sleeping or not.
Bug: 5534004
Change-Id: I24118b30214dddf8183c1200a89555d6c528e606
When enabling/disabling SMS cell broadcast channels, we were not calling
setGsmBroadcastActivation() with the correct value after updating the
message IDs. It should be called with true if any message IDs are enabled,
or false if the list is empty.
Added an isEmpty() method to IntRangeManager, and moved the call to
setGsmBroadcastActivation() in SimSmsInterfaceManager to the end of the
enableCellBroadcastRange() and disableCellBroadcastRange() methods,
where it sets the correct value using the new isEmpty() method to test
if there are any message IDs enabled after updating the range list.
Bug: 5525441
Change-Id: I7d1ebd54dacf1de20910947efbf5e87e1957fd1a
To allow a operator test to pass we need to manually select
a network. Therefore getAvailableNetworks needs to be implemented
on CDMALTEPhone so that RIL_REQUEST_QUERY_AVAILABLE_NETWORKS is
sent to the RIL/radio.
Bug: 5420630
Change-Id: I8e138b211d42755399a9e30f3e45dde2f579401e
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
On an LTE device where incoming SMS messages over IMS are sent to
the framework via RIL_UNSOL_RESPONSE_NEW_SMS responses sent to
the RIL, it may be necessary to process USIM data download SM's
(message class 2). This requires the RIL to implement two new requests.
1) RIL_REQUEST_STK_SEND_ENVELOPE_WITH_STATUS:
send an ENVELOPE command to the UICC, receiving the SW1 and SW2
status bytes in addition to the command response.
2) RIL_REQUEST_SMS_ACKNOWLEDGE_WITH_PDU:
send an RP-ACK or RP-ERROR acknowledgement to the incoming SM,
including an acknowledgement PDU containing the envelope response.
Change-Id: If597a14fa8c4780c75da84fa96c49abcb05960f2
Fixed onApnChanged method to handle multiple APN scenario.
Non-default links also needs to be cleaned up once telephony db
is updated.
Bug: 5333303
Change-Id: I6d8d2b4e2f5b07ebf0e22669c910e4ebaddfe392
Do not override CdamServiceStateTracker#getOtasp as we
should report the "real" status as OTASP can be needed
for LTE.
Bug: 5413788
Change-Id: Ia34c9e1169bfc9682f81f9c4935eb2853507bd04
The old code was dependent on the order of things in config.xml. This fixes that
so hipri will get the correct dependency-met value at startup. Good ITS test.
bug:5382518
Change-Id: Ie327ab1abbc5697ffab0ed4d8c9d6de321513adb
An internal method was changed to add parameters to support a new
feature (7-bit national language tables). Add a compatibility
wrapper for the original method signature, which is used by OEM code.
Bug: 5334032
Change-Id: I1acba369b1c1da52c4a950fd4ae21d693652e9c5
If an emergency is occurring we may not want to allow data calls.
An emergency is defined as in an Emergency call or in the
emergency call back mode. I've added isInEcm and isEmergencyCall
to PhoneBase and CDMAPhone. And in DataConnectionTracker added
isEmergency which is the or of isInEcm, isEmergencyCall.
Also, removed some optimization code in DataConnectionTracker
onSetInternalDataEnabled because mInternalDataEnabled defaults to true
when a DCT is constructed and without this change trySetupData will
not be called leaving ECM if the DCT was just created. Which is what
is currently happening on the ICS lead device.
Also see b/5471660 as there is similar optimizations in
onSetUserDataEnabled and onSetPolicyDataEnabled.
Bug: 5437885
Change-Id: Iba81366300fe46eaa9aa6e457d6659b42d6fe927
ArrayListCursor is deprecated, and a duplicate private copy of it
is doubly so.
Delete some tests that are duplicated in the CTS package.
Change-Id: Ib5837b12e39dadba57595906ad621b1feb0d2c0d
CDMA WDP datagram handling was refactored to use the same method
that handles concatenated SMS messages. WDP datagram sequence numbers
start at 0, but GSM/CDMA concatenated sequence numbers start at 1.
Changed SMSDispatcher.processMessagePart() to count from 0 when
handling WDP datagrams.
Also changed CdmaSMSDispatcher.processCdmaWapPdu() to correctly
decode segment numbers > 127 (signed byte conversion bug)
and to reject PDUs with an out-of-range segment number (invalid
ranges are already rejected for regular concatenated messages).
Bug: 5433331
Change-Id: I25c9567769de8edca789c0d1707d4916a4c46885
An incorrect value for TP-Data-Coding-Scheme was used for MO SMS with
UCS-2 encoding. According to 3GPP TS 23.038 section 4, when bit 4 is
set to 0, bits 0 and 1 are reserved and have no message class meaning.
We were setting those bits to 1, when they should be set to 0.
This change is required to pass a GCF test case.
Change-Id: If47361f95b0e14accc6220854783dcff3d82abf6
The MMS app was updated for multiple SMS dispatcher support, passing
the "format" extra into SmsMessage.createFromPdu() so that the PDU
is interpreted as the correct format (3GPP or 3GPP2).
This change adds the "format" extra to the intents that are sent for
SMS delivery reports. The MMS app is already expecting this extra, so
this change fixes a NPE that was introduced with the last change.
Bug: 5434052
Change-Id: I38b97f166c78d246d721ca1db8a4a18a2c6529bd
mGotCountryCode needs to be set to false when we don't know
the country code and to true only when we do.
Bug: 2578334
Change-Id: I7cb21e627ae115880df5f9b2095cb4ba094ab751
Refactor framework to support multiple SMSDispatcher objects on
dual-mode devices that require support for both 3GPP and 3GPP2
format SMS messages. Each dispatcher registers to receive events for
the appropriate message format.
Note: All applications which handle incoming SMS messages by processing the
SMS_RECEIVED_ACTION broadcast intent MUST pass the "format" extra from the intent
into the new createPdu() method in android.telephony.SmsMessage that takes an
extra format parameter. This is required in order to correctly decode the PDU on
devices which require support for both 3GPP and 3GPP2 formats at the same time,
such as CDMA/LTE devices and GSM/CDMA world phones.
- moved code to manage device storage events from SMSDispatcher to a
new class, SmsStorageMonitor, which is shared among all dispatchers.
- moved code to monitor per-application outgoing SMS usage from
SMSDispatcher.SmsCounter to a new class, SmsUsageMonitor, which
is shared among all dispatchers.
- fixed a bug that prevented CDMALTEPhone from setting the MCC/MNC
operator numeric value in the telephony provider from the UICC,
as GSMPhone does, when the SIM records have loaded.
Change-Id: I2789ac07b6ca2948138bca7f75481f9b31514f20
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
The original change said that if the RAT were X or Y we would only
accept APN's that explicitly called out X or Y. This meant that
any device using X or Y would stop working until their APN db were
adjusted.
This change changes it to be if a particular APN calls out X or Y
it will only be considered if the current RAT matches. If the APN
doesn't specify, it matches all RAT.
This allows just as tight a restriction, but the default is looser.
Change-Id: Ia5e92f13c5052e890bf169e0db9584302afb36f5