Merge "Log number of conference child calls" into ub-contactsdialer-a-dev
diff --git a/InCallUI/src/com/android/incallui/Call.java b/InCallUI/src/com/android/incallui/Call.java
index d1cb623..ab4e2ca 100644
--- a/InCallUI/src/com/android/incallui/Call.java
+++ b/InCallUI/src/com/android/incallui/Call.java
@@ -213,7 +213,10 @@
         public boolean isIncoming = false;
         public int contactLookupResult = LOOKUP_UNKNOWN;
         public int callInitiationMethod = INITIATION_UNKNOWN;
+        // If this was a conference call, the total number of calls involved in the conference.
+        public int conferencedCalls = 0;
         public long duration = 0;
+        public boolean isLogged = false;
 
         @Override
         public String toString() {
@@ -433,12 +436,17 @@
         }
 
         mChildCallIds.clear();
-        for (int i = 0; i < mTelecomCall.getChildren().size(); i++) {
+        final int numChildCalls = mTelecomCall.getChildren().size();
+        for (int i = 0; i < numChildCalls; i++) {
             mChildCallIds.add(
                     CallList.getInstance().getCallByTelecomCall(
                             mTelecomCall.getChildren().get(i)).getId());
         }
 
+        // The number of conferenced calls can change over the course of the call, so use the
+        // maximum number of conferenced child calls as the metric for conference call usage.
+        mLogState.conferencedCalls = Math.max(numChildCalls, mLogState.conferencedCalls);
+
         Bundle callExtras = mTelecomCall.getDetails().getExtras();
         if (callExtras != null) {
             // Child address arrives when the call is first set up, so we do not need to notify the