DataCallSessionStats captures Cross-SIM calling

- This revert^2s commit 6c57c33cce121bf3f198752a165409a23fffe6ad,
- patches the fix on top of this commit, and
- gates the new functionality behind a feature flag.

FIX DESCRIPTION:
- The DefaultNetworkMonitor singleton prevents the memory leak bug with
 multiple default network callback registrations, one per DataNetwork.
- DataCallSessionStats gets a reference to DefaultNetworkMonitor
 on creation, to determine when a PDN is established on IWLAN, whether
 it is WiFi Calling or Backup Calling.

Test: Updated DataCallSessionStatsTest, Live test with flag enabled to
 verify data_call_session proto sets 'iwlan_cross_sim' during Backup
 Calling. Verified no functional regression when flag is both enabled
 and disabled.

Bug: 313956117
Change-Id: I869165a1fecf18a2eeaab18bd3a0b639d1fc8e1b
diff --git a/flags/data.aconfig b/flags/data.aconfig
index a74d279..daddc2e 100644
--- a/flags/data.aconfig
+++ b/flags/data.aconfig
@@ -97,3 +97,10 @@
   description: "Ignore existing networks when checking if internet is allowed"
   bug: "284420611"
 }
+
+flag {
+  name: "data_call_session_stats_captures_cross_sim_calling"
+  namespace: "telephony"
+  description: "The DataCallSessionStats metrics will capture whether the IWLAN PDN is set up on cross-SIM calling."
+  bug: "313956117"
+}