Formalize TelephonyManager EmergencyCallDiagnostic

Formalize the TelephonyManager#EmergencyCallDiagnosticParams API as part
of the Telecom modularization. Extends the existing class to leverage
the Builder pattern.

Bug: 308472794
Bug: 311773409
Test: atest TelephonyManagerTest
Test: atest DiagnosticDataCollectorTest

Change-Id: I17eaf4c49f70f59f3b16523e1f8a34b61c7a1c1a
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 5fb2d57..ba3d47d 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -12875,11 +12875,15 @@
             long logcatStartTimestampMillis, boolean enableTelecomDump,
             boolean enableTelephonyDump) {
         DropBoxManager db = mApp.getSystemService(DropBoxManager.class);
-        TelephonyManager.EmergencyCallDiagnosticParams edp =
-                new TelephonyManager.EmergencyCallDiagnosticParams();
-        edp.setLogcatCollection(enableLogcat, logcatStartTimestampMillis);
-        edp.setTelephonyDumpSysCollection(enableTelephonyDump);
-        edp.setTelecomDumpSysCollection(enableTelecomDump);
+        TelephonyManager.EmergencyCallDiagnosticParams.Builder edpBuilder =
+                new TelephonyManager.EmergencyCallDiagnosticParams.Builder();
+        edpBuilder
+                .setTelecomDumpSysCollectionEnabled(enableTelecomDump)
+                .setTelephonyDumpSysCollectionEnabled(enableTelephonyDump);
+        if (enableLogcat) {
+            edpBuilder.setLogcatCollectionStartTimeMillis(logcatStartTimestampMillis);
+        }
+        TelephonyManager.EmergencyCallDiagnosticParams edp = edpBuilder.build();
         Log.d(LOG_TAG, "persisting with Params " + edp.toString());
         DiagnosticDataCollector ddc = new DiagnosticDataCollector(Runtime.getRuntime(),
                 Executors.newCachedThreadPool(), db,