Add new telecom metrics for emergency dialer

These includes,
1. The source where user initiated the call.
2. The duration between START_CONNECTION and REQUEST_DISCONNECT.

Bug: 111818008
Test: manual and check the result of
'adb shell dumpsys telecom' for metrics data
Change-Id: I7d57ac29ad4bb6c8506b7a37b2f1bc63253fa9cb
diff --git a/proto/telecom.proto b/proto/telecom.proto
index 9fd64db..5539f7f 100644
--- a/proto/telecom.proto
+++ b/proto/telecom.proto
@@ -145,6 +145,7 @@
     BLOCK_CHECK_FINISHED_TIMING = 9;
     FILTERING_COMPLETED_TIMING = 10;
     FILTERING_TIMED_OUT_TIMING = 11;
+    START_CONNECTION_TO_REQUEST_DISCONNECT_TIMING = 12;
   }
 
   // The name of the event timing.
@@ -230,6 +231,18 @@
     CONNECTION_MANAGER_NOT_SUPPORTED = 10;
   }
 
+  // The source where user initiated this call.
+  enum CallSource {
+    // Call source is not specified.
+    CALL_SOURCE_UNSPECIFIED = 0;
+
+    // Dialpad at emergency dialer.
+    CALL_SOURCE_EMERGENCY_DIALPAD = 1;
+
+    // Shortcut button at emergency dialer.
+    CALL_SOURCE_EMERGENCY_SHORTCUT = 2;
+  }
+
   // Start time of the connection.
   // Rounded to the nearest 5 minute interval.
   optional int64 start_time_5min = 1;
@@ -283,4 +296,7 @@
   // A bitmask of the properties that were set at any point during the call.
   // Bits are defined by android.telecom.Connection.PROPERTY_* constants.
   optional int32 connection_properties = 17;
+
+  // Call source.
+  optional CallSource call_source = 18;
 }