RIL interface contains 15 strings in response to
RIL_REQUEST_VOICE_REGISTRATION_STATE. CdmaServiceStateTracker
throws an exception if response contains more than 14 strings.
Fix needed to comply with RIL interface.
Bug:
5204605
Change-Id: I6f266eb38b2bc52610999cd92449b8dc58dd3274
int defaultRoamingIndicator = 0; //[12] Is default roaming indicator from PRL
int reasonForDenial = 0; //[13] Denial reason if registrationState = 3
- if (states.length == 14) {
+ if (states.length >= 14) {
try {
if (states[0] != null) {
registrationState = Integer.parseInt(states[0]);
}
} else {
throw new RuntimeException("Warning! Wrong number of parameters returned from "
- + "RIL_REQUEST_REGISTRATION_STATE: expected 14 got "
- + states.length);
+ + "RIL_REQUEST_REGISTRATION_STATE: expected 14 or more "
+ + "strings and got " + states.length + " strings");
}
mRegistrationState = registrationState;