AI 144594: am: CL 144593 Fix GSM cell location updates.
  BUG=1761611
  Original author: lockwood

Automated import of CL 144594
diff --git a/telephony/java/android/telephony/CellLocation.java b/telephony/java/android/telephony/CellLocation.java
index dd98608..bb5f126 100644
--- a/telephony/java/android/telephony/CellLocation.java
+++ b/telephony/java/android/telephony/CellLocation.java
@@ -68,7 +68,7 @@
         // NOTE here TelephonyManager.getDefault().getPhoneType() cannot be used since at startup
         //      ITelephony have not been created
         if (RILConstants.CDMA_PHONE ==
-                SystemProperties.getInt(Settings.Secure.CURRENT_ACTIVE_PHONE, 0)) {
+                SystemProperties.getInt(Settings.Secure.CURRENT_ACTIVE_PHONE, RILConstants.GSM_PHONE)) {
             return new CdmaCellLocation(bundle);
         } else {
             return new GsmCellLocation(bundle);
@@ -91,7 +91,7 @@
         // NOTE here TelephonyManager.getDefault().getPhoneType() cannot be used since at startup
         //      ITelephony have not been created
         if (RILConstants.CDMA_PHONE ==
-                SystemProperties.getInt(Settings.Secure.CURRENT_ACTIVE_PHONE, 0)) {
+                SystemProperties.getInt(Settings.Secure.CURRENT_ACTIVE_PHONE, RILConstants.GSM_PHONE)) {
             return new CdmaCellLocation();
         } else {
             return new GsmCellLocation();
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java
index 3c0b603..8ecf245 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java
@@ -383,7 +383,7 @@
                     String states[] = (String[])ar.result;
                     int lac = -1;
                     int cid = -1;
-                    if (states.length == 3) {
+                    if (states.length >= 3) {
                         try {
                             if (states[1] != null && states[1].length() > 0) {
                                 lac = Integer.parseInt(states[1], 16);
@@ -629,7 +629,7 @@
                     if (states.length > 0) {
                         try {
                             regState = Integer.parseInt(states[0]);
-                            if (states.length == 3) {
+                            if (states.length >= 3) {
                                 if (states[1] != null && states[1].length() > 0) {
                                     lac = Integer.parseInt(states[1], 16);
                                 }