Set CDMA data roaming based on TSB58 roaming indicator if voice is not in service
authorJayachandran C <jayachandranc@google.com>
Sun, 7 May 2017 19:55:51 +0000 (12:55 -0700)
committerJayachandran C <jayachandranc@google.com>
Thu, 11 May 2017 20:18:58 +0000 (13:18 -0700)
commitc52bd153339cb0f7fd317fbee70aa5c45a6c4404
tree8a99816308f4558874e18576514f4ede4f6a534f
parent87056c26aaca5063bd21e8d5acce229d34dc3840
Set CDMA data roaming based on TSB58 roaming indicator if voice is not in service

Existing implementation:
1. CDMA voiceRoaming is set based on regState and roaming indicator.
2. CDMA dataRoaming is set based on regState only.
3. CDMA dataRoaming is overwritten with voiceRoaming if voice is
   in service.

Issue:
If voice is not in service then the CDMA dataRoaming set based on
regState alone could be incorrect because it didn't use roaming
indicator from modem.

Fix:
This change sets CDMA dataRoaming based on TSB58 roaming indicator
(similar to setting voiceRoaming) if voice is not service.

Note: As per VoiceRegStateResult from radio types.hal the TSB58
roaming indicator shall be sent if device is registered on a
CDMA or EVDO system.

Test: Forced device to Evdo only and verified roaming state
Bug: 37917767
Change-Id: I3cc7fff61cea296afe17215a33b1b4c80972db13
src/java/com/android/internal/telephony/ServiceStateTracker.java