Default stop_timeout_ms if not given.

Otherwise, if we sideload on Android using old versions of traced, we
will post a timeout task immediately (because stop_timeout_ms defaults
to 0).

Test: Use on QT build to profile custom allocator.
Bug: 160400319

Change-Id: I2af0607e7e13d987e1e9e9c1bd312ac3b9019d77
diff --git a/src/profiling/memory/heapprofd_producer.cc b/src/profiling/memory/heapprofd_producer.cc
index b1fa0fc..b1fd459 100644
--- a/src/profiling/memory/heapprofd_producer.cc
+++ b/src/profiling/memory/heapprofd_producer.cc
@@ -433,7 +433,9 @@
   HeapprofdConfigToClientConfiguration(heapprofd_config, &cli_config);
   data_source.config = heapprofd_config;
   data_source.normalized_cmdlines = std::move(normalized_cmdlines.value());
-  data_source.stop_timeout_ms = ds_config.stop_timeout_ms();
+  data_source.stop_timeout_ms = ds_config.stop_timeout_ms()
+                                    ? ds_config.stop_timeout_ms()
+                                    : 5000 /* kDataSourceStopTimeoutMs */;
   data_source.start_cputime_sec = start_cputime_sec;
 
   InterningOutputTracker::WriteFixedInterningsPacket(