VoicePhone interface was not a generic voice phone. It was a partial
implementation of an ImsPhone (i.e. served no added-value purpose but
confused functionality). Removed.
Shriram Ganesh [Mon, 2 Jun 2014 23:08:27 +0000 (16:08 -0700)]
Handle Srvcc requirements
Change handles the following SRVCC requirements -
- Move SRVCC functionality to PhoneBase so
both CDMA & GSM phones can handle it.
- Srvcc wrt single ringing call
Wink Saville [Fri, 27 Jun 2014 23:47:08 +0000 (16:47 -0700)]
If there is no IccFileHandler do not change sIccId[slotId].
In our master branch with a Sprint SIM I found that the call to
getIccFileHandler in queryIccId is returning null when sReceiver
receives a ACTION_SIM_STATE_CHANGED with a simStatus of
INTENT_VALUE_ICC_READY.
This causes queryIccId to set sIid[slotId] to ICCID_STRING_FOR_NO_SIM
and thus never get updated. Which causes addSubInfoRecord to never be
called so there is no Subscriptions.
The most obvious problem this causes is an Empty Triangle for the SSI
Icon.
This fix is to not change sIccId[slotId], instead it will be updated
when the sReceiver gets a ACTION_SIM_STATE_CHANGED with a simStatus of
INTENT_VALUE_ICC_LOADED a short while later.
Ye Wen [Fri, 20 Jun 2014 18:23:21 +0000 (11:23 -0700)]
SMS message auto persisting for sending
1. Added auto persisting when sending SMS messages. This feature is
enabled by a system property to avoid breaking existing apps.
2. Removed SMSDispatcher.mRemainingMessages and added per message
sending part count for sending multipart messages.
3. Refactored code to handle message sent or failed. Fixed bug that in
some situation SendNextMsg is not sent for failures.
Cheuksan Wang [Mon, 23 Jun 2014 17:43:04 +0000 (17:43 +0000)]
Merge "Send outbound messages via the default carrier app. Initially, the message will go into a pending state. There is a new API call to update the status of a message. If the carrier app cannot send the message, it will fall back to the default GSM/CDMA network."
Cheuksan Wang [Sat, 21 Jun 2014 02:02:10 +0000 (19:02 -0700)]
Send outbound messages via the default carrier app. Initially, the
message will go into a pending state. There is a new API call to
update the status of a message. If the carrier app cannot send the
message, it will fall back to the default GSM/CDMA network.
This is the same cl as 476721 which has already been approved by jsh@
Ji Yang [Fri, 20 Jun 2014 21:20:29 +0000 (21:20 +0000)]
Sorry, clicked the wrong button.
Revert "Send outbound message via the default carrier app. Initially, the message will go into a pending state. There is a new API call to update the status of a message. If the carrier app cannot send the message, it will fall back to the default GSM/CDMA networ"
Ji Yang [Fri, 20 Jun 2014 21:13:41 +0000 (21:13 +0000)]
Merge "Send outbound message via the default carrier app. Initially, the message will go into a pending state. There is a new API call to update the status of a message. If the carrier app cannot send the message, it will fall back to the default GSM/CDMA network."
Cheuksan Wang [Fri, 30 May 2014 19:47:56 +0000 (12:47 -0700)]
Send outbound message via the default carrier app. Initially, the
message will go into a pending state. There is a new API call to
update the status of a message. If the carrier app cannot send the
message, it will fall back to the default GSM/CDMA network.
Robert Greenwalt [Wed, 18 Jun 2014 23:41:12 +0000 (16:41 -0700)]
Comment out some subId code that failed
mPhone was giving subId == -1 and failing all retries even well after boot
during OMA DM process and killing the process. Needs to be resolved. This
is a workaround.
Robert Greenwalt [Mon, 16 Jun 2014 23:53:00 +0000 (16:53 -0700)]
Don't tear down existing cell connections.
NetworkFactories signals indicate if we're interested in making new
connections, but should not be used to tear things down.
ConnectivityService will communicate disconnects directly with NetworkAgents
when it wants them to tear down.
This fixes broken lingers and also potential score ties.
Wink Saville [Wed, 18 Jun 2014 07:59:44 +0000 (00:59 -0700)]
Empty triangle displayed for radio signal but calls & data work
Don't assume getSubId always returns an array and add a FIXME comment.
And explicitly set phoneId and subId in the intent so as not to relay
on a phones subId being valid.
Cheuksan Wang [Tue, 27 May 2014 20:20:12 +0000 (13:20 -0700)]
Add SMS filtering intent and API for message deduping by the carrier app.
If a carrier app is active, the SMS_FILTER intent is sent for every
incoming SMS message. If the carrier app considers this message as a
duplicate, it may set a status code to filter out this SMS. It may
also set a pdu in result extras to overwrite the pdu.
Robert Greenwalt [Fri, 13 Jun 2014 21:34:52 +0000 (14:34 -0700)]
Listen for retry intents.
Re-adding code stripped out during the NetworkAgent changes. Going back
to having ApnContexts pre-initialized at startup since they are no longer
NetworkAgents. This also lets us preregister for each of their retry alarms.
Undo of damage done by: https://googleplex-android-review.googlesource.com/#/c/476836/
Amit Mahajan [Sat, 7 Jun 2014 00:14:05 +0000 (17:14 -0700)]
Handle provisioning APN by turning off/on radio.
The change is specific to AT&T as they want no signaling from device during provisioning.
I've tested following cases:
- expired AT&T SIM to make sure provisioning flow works as expected.
- airplane mode on/off with both active and expired AT&T SIM.
- wifi <-> mobile transitions work okay.
- LTE with Verizon SIM (basic sanity).
Adam Lesinski [Tue, 3 Jun 2014 20:56:08 +0000 (13:56 -0700)]
SmsManager responds gracefully to no backing service
Previously we would get an NPE if there was no isms service
running on the device. Now we return sensible defaults
and throw UnsupportedOperationException for methods
that are meant to invoke actions and have a void
return type.
Lorenzo Colitti [Wed, 4 Jun 2014 03:34:11 +0000 (12:34 +0900)]
Make requests for restricted networks not require unrestricted access.
Currently, calling startUsingNetworkFeature for a restricted APN
type (e.g., IMS or FOTA) will create a request that requires
NET_CAPABILITY_NOT_RESTRICTED. Because these APNs are restricted,
when we bring them up we conclude that it does not match the
unrestricted requirement, and we tear them down.
1. Clear the NET_CAPABILITY_NOT_RESTRICTED capability when
creating requests in startUsingNetworkFeature.
2. Refactor the code to a common function so this cannot happen
again.
Robert Greenwalt [Tue, 27 May 2014 20:17:59 +0000 (13:17 -0700)]
Apply refactored NetworkFactory.
Make NetworkFactory a concrete class and divide responsibilites between it and NetworkAgent.
Factory will track requests and by default give a single connect/disconnect api for ease
of use. Then NetworkAgent is created and destroyed as needed with very simple logic.
Robert Greenwalt [Tue, 27 May 2014 20:17:59 +0000 (13:17 -0700)]
Apply refactored NetworkFactory.
Make NetworkFactory a concrete class and divide responsibilites between it and NetworkAgent.
Factory will track requests and by default give a single connect/disconnect api for ease
of use. Then NetworkAgent is created and destroyed as needed with very simple logic.
Zhang Wei-e7976c [Fri, 31 Jan 2014 23:20:54 +0000 (15:20 -0800)]
When Data RAT changes the new RAT retry connectable APN's
Issue: In the scenario where phone is in LTE and has data up and running, then user makes a voice
call. During voice call, devices moves out of LTE coverage and moves into 1X. Since 1X does not
support simultaneous voice and data, the data call will be dropped. When the device moves back
into LTE coverage later, device does not attempt to set up the data call again until the voice
call is ended. This causes the data stall.
Fix: register for EVENT_DATA_RAT_CHANGED and attempt SETUP_DATA_CALL upon receiving this event.