Update the proto and service state logging.

1. Update the proto so the version used on the device is
in sync with the version on the server.
2. Added CDMA service state logging in pollStateDoneCdma() and
pollStateDoneCdmaLte().

bug: 31224848
Change-Id: I7c56f4c23ebc0db126d44e9a119ad71289781ca1
diff --git a/proto/telephony.proto b/proto/telephony.proto
index 3531f39..0663759 100644
--- a/proto/telephony.proto
+++ b/proto/telephony.proto
@@ -309,6 +309,8 @@
   RAT_TD_SCDMA = 17;
 
   RAT_IWLAN = 18;
+
+  RAT_LTE_CA = 19;
 }
 
 // The information about IMS errors
@@ -785,14 +787,19 @@
   // RIL error code
   optional RilErrno error = 9;
 
+  // Setup data call request
   optional RilSetupDataCall setup_data_call = 10;
 
+  // Setup data call response
   optional RilSetupDataCallResponse setup_data_call_response = 11;
 
+  // Deactivate data call request
   optional RilDeactivateDataCall deactivate_data_call = 12;
 
+  // Data call stall recovery action
   optional int32 data_stall_action = 13;
 
+  // Modem restart event
   optional ModemRestart modem_restart = 14;
 
   // NITZ time in milliseconds
diff --git a/src/java/com/android/internal/telephony/ServiceStateTracker.java b/src/java/com/android/internal/telephony/ServiceStateTracker.java
index 6dc02a8..f42304e 100644
--- a/src/java/com/android/internal/telephony/ServiceStateTracker.java
+++ b/src/java/com/android/internal/telephony/ServiceStateTracker.java
@@ -2970,6 +2970,8 @@
             setRoamingType(mSS);
             log("Broadcasting ServiceState : " + mSS);
             mPhone.notifyServiceStateChanged(mSS);
+
+            TelephonyMetrics.getInstance().writeServiceStateChanged(mPhone.getPhoneId(), mSS);
         }
 
         if (hasCdmaDataConnectionAttached || hasCdmaDataConnectionDetached || hasRegistered) {
@@ -3204,6 +3206,8 @@
             setRoamingType(mSS);
             log("Broadcasting ServiceState : " + mSS);
             mPhone.notifyServiceStateChanged(mSS);
+
+            TelephonyMetrics.getInstance().writeServiceStateChanged(mPhone.getPhoneId(), mSS);
         }
 
         if (hasCdmaDataConnectionAttached || has4gHandoff || hasCdmaDataConnectionDetached ||
diff --git a/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java b/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java
index b4615ab..92e3f0a 100644
--- a/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java
+++ b/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java
@@ -269,6 +269,8 @@
                 return "IMS_CALL_HANDOVER_FAILED";
             case TelephonyCallSession.Event.Type.PHONE_STATE_CHANGED:
                 return "PHONE_STATE_CHANGED";
+            case TelephonyCallSession.Event.Type.NITZ_TIME:
+                return "NITZ_TIME";
             default:
                 return Integer.toString(event);
         }
@@ -325,7 +327,12 @@
 
                 if (event.hasType()) {
                     pw.print("T=");
-                    pw.print(telephonyEventToString(event.getType()));
+                    if (event.getType() == TelephonyEvent.Type.RIL_SERVICE_STATE_CHANGED) {
+                        pw.print(telephonyEventToString(event.getType())
+                                + "(" + event.serviceState.getDataRat() + ")");
+                    } else {
+                        pw.print(telephonyEventToString(event.getType()));
+                    }
                 }
                 pw.println("");
             }
@@ -347,7 +354,12 @@
             for (TelephonyCallSession.Event event : callSession.events) {
                 pw.print(event.getDelay());
                 pw.print(" T=");
-                pw.println(callSessionEventToString(event.getType()));
+                if (event.getType() == TelephonyCallSession.Event.Type.RIL_SERVICE_STATE_CHANGED) {
+                    pw.println(callSessionEventToString(event.getType())
+                            + "(" + event.serviceState.getDataRat() + ")");
+                } else {
+                    pw.println(callSessionEventToString(event.getType()));
+                }
             }
             pw.decreaseIndent();
         }