Rename .zip file if necessary.

Users have the option to rename the suffix of the files generated by
dumpstate by letting Shell set the dumpstate.PID.name property.

This works fine for text files and used to work for zip files as well,
but now the zip file is opened earlier in the process, so it has to be
renamed at the end.

BUG: 27384407
Change-Id: I288d8eb4a3ffe0161b86cdce14f63e9bfdf865ab
diff --git a/cmds/dumpstate/dumpstate.cpp b/cmds/dumpstate/dumpstate.cpp
index 3abd8f0..9bc5b5c 100644
--- a/cmds/dumpstate/dumpstate.cpp
+++ b/cmds/dumpstate/dumpstate.cpp
@@ -1335,6 +1335,17 @@
                 do_text_file = true;
             } else {
                 do_text_file = false;
+                // Since zip file is already created, it needs to be renamed.
+                std::string new_path = bugreport_dir + "/" + base_name + "-" + suffix + ".zip";
+                if (path != new_path) {
+                    MYLOGD("Renaming zip file from %s to %s\n", path.c_str(), new_path.c_str());
+                    if (rename(path.c_str(), new_path.c_str())) {
+                        MYLOGE("rename(%s, %s): %s\n", path.c_str(),
+                                new_path.c_str(), strerror(errno));
+                    } else {
+                        path = new_path;
+                    }
+                }
             }
         }
         if (do_text_file) {