Avoid crashing in RunDumpsysProto when not zipping

When a .zip file is not being generated, RunDumpsysProto will segfault
while trying to get the last ZipWriter::FileEntry because ds.zip_writer_
is nullptr. This change avoids running the method altogether if not
zipping.

Bug: 76120715
Test: dumpsys
Change-Id: I184dd7b72564408e313f32f3045e2fe0e4521b5b
Merged-In: I184dd7b72564408e313f32f3045e2fe0e4521b5b
diff --git a/cmds/dumpstate/dumpstate.cpp b/cmds/dumpstate/dumpstate.cpp
index fd2fccb..bfd0f16 100644
--- a/cmds/dumpstate/dumpstate.cpp
+++ b/cmds/dumpstate/dumpstate.cpp
@@ -1159,6 +1159,10 @@
 static void RunDumpsysProto(const std::string& title, int priority,
                             std::chrono::milliseconds timeout,
                             std::chrono::milliseconds service_timeout) {
+    if (!ds.IsZipping()) {
+        MYLOGD("Not dumping %s because it's not a zipped bugreport\n", title.c_str());
+        return;
+    }
     sp<android::IServiceManager> sm = defaultServiceManager();
     Dumpsys dumpsys(sm.get());
     Vector<String16> args;