TraceProcessor: Add StreamingLineReader

Adds a class to read a large text file line-by-line
in streaming mode, without buffering the whole file in memory.
This will be used in the next CL together with ZipReader,
to process large log files from zip archives without
inflating them fully in memory.

Bug: 240159066
Test: perfetto_unittests
Change-Id: I978c7e3a5c2bc5af47c7765e6bce687f96f6906b
diff --git a/Android.bp b/Android.bp
index c45934a..5c6c95d 100644
--- a/Android.bp
+++ b/Android.bp
@@ -9369,6 +9369,7 @@
         "src/trace_processor/util/gzip_utils_unittest.cc",
         "src/trace_processor/util/proto_to_args_parser_unittest.cc",
         "src/trace_processor/util/protozero_to_text_unittests.cc",
+        "src/trace_processor/util/streaming_line_reader_unittest.cc",
     ],
 }
 
@@ -9377,6 +9378,14 @@
     name: "perfetto_src_trace_processor_util_util",
 }
 
+// GN: //src/trace_processor/util:zip_reader
+filegroup {
+    name: "perfetto_src_trace_processor_util_zip_reader",
+    srcs: [
+        "src/trace_processor/util/streaming_line_reader.cc",
+    ],
+}
+
 // GN: //src/trace_processor/views:unittests
 filegroup {
     name: "perfetto_src_trace_processor_views_unittests",
@@ -10665,6 +10674,7 @@
         ":perfetto_src_trace_processor_util_stack_traces_util",
         ":perfetto_src_trace_processor_util_unittests",
         ":perfetto_src_trace_processor_util_util",
+        ":perfetto_src_trace_processor_util_zip_reader",
         ":perfetto_src_trace_processor_views_unittests",
         ":perfetto_src_trace_processor_views_views",
         ":perfetto_src_traced_probes_android_game_intervention_list_android_game_intervention_list",