metalspring/android_frameworks_opt_telephony — pull request #1 by deVorteX (2014-02-03 15:26:27+00:00)
Title: Toro Mobile Network Handoff fix

These changes have worked very successfully on Shiny's aosp rom. The are dependent on this commit https://github.com/ShinyROM/android_device_samsung_toro/commit/ce7fe272539c4b52df727a6c60e44d9154165f08, which I am submitting another pull request for.

The basic idea behind this is:
The method to check for an existing higher priority connection is new since 4.3, and when the toro radio switches from 4g to 3g, it's likely the ims connection is still reported as active while the 3g connection is attempting it's data call. Therefore this method returns "true", that there is a higher priority connection active, when in fact there is not since the cdma radio cannot utilize the ims apn. So, if the device has the toroRil property set, it will always return "false" to allow the 3g data connection to proceed.

The second change seen in DataConnection.java, is to ensure that upon RAT change, the existing "active" connections are forced into an "inactive" state. This way they are cleaned up properly, and not available for re-use on a radio technology that cannot take advantage of them. This is most commonly a problem when switching from 3g to 4g, the 3g connection would remain active, and so the 4g connection would re-use it, reporting a connected state (white network icon). When in fact, because there is no ims connection (my assumption), the data connection is actually non-functional. Thus causing a false positive connection, where to the user, the indications appear so that you think you have internet access, when in fact you do not.