Use zero time always when writing archives.

Bug: 112557969

Change-Id: I3f0807effd8bf91a6b7ed8555e64db83a9909f5c
diff --git a/src/main/java/com/android/tools/r8/compatdexbuilder/CompatDexBuilder.java b/src/main/java/com/android/tools/r8/compatdexbuilder/CompatDexBuilder.java
index 3953b22..f4f3c7e 100644
--- a/src/main/java/com/android/tools/r8/compatdexbuilder/CompatDexBuilder.java
+++ b/src/main/java/com/android/tools/r8/compatdexbuilder/CompatDexBuilder.java
@@ -135,7 +135,7 @@
           ZipEntry entry = entries.nextElement();
           if (!entry.getName().endsWith(".class")) {
             try (InputStream stream = zipFile.getInputStream(entry)) {
-              addEntry(entry.getName(), stream, entry.getTime(), out);
+              addEntry(entry.getName(), stream, out);
             }
           } else {
             toDex.add(entry);
@@ -150,7 +150,7 @@
         for (int i = 0; i < futures.size(); i++) {
           ZipEntry entry = toDex.get(i);
           DexConsumer consumer = futures.get(i).get();
-          addEntry(entry.getName() + ".dex", consumer.getBytes(), entry.getTime(), out);
+          addEntry(entry.getName() + ".dex", consumer.getBytes(), out);
         }
       }
     } finally {
@@ -178,20 +178,19 @@
     return consumer;
   }
 
-  private static void addEntry(String name, InputStream stream, long time, ZipOutputStream out)
+  private static void addEntry(String name, InputStream stream, ZipOutputStream out)
       throws IOException {
-    addEntry(name, ByteStreams.toByteArray(stream), time, out);
+    addEntry(name, ByteStreams.toByteArray(stream), out);
   }
 
-  private static void addEntry(String name, byte[] bytes, long time, ZipOutputStream out)
-      throws IOException {
+  private static void addEntry(String name, byte[] bytes, ZipOutputStream out) throws IOException {
     ZipEntry zipEntry = new ZipEntry(name);
     CRC32 crc32 = new CRC32();
     crc32.update(bytes);
     zipEntry.setSize(bytes.length);
     zipEntry.setMethod(ZipEntry.STORED);
     zipEntry.setCrc(crc32.getValue());
-    zipEntry.setTime(time);
+    zipEntry.setTime(0);
     out.putNextEntry(zipEntry);
     out.write(bytes);
     out.closeEntry();
diff --git a/src/main/java/com/android/tools/r8/dexfilemerger/DexFileMerger.java b/src/main/java/com/android/tools/r8/dexfilemerger/DexFileMerger.java
index 8b0f6a8..b5db1ae 100644
--- a/src/main/java/com/android/tools/r8/dexfilemerger/DexFileMerger.java
+++ b/src/main/java/com/android/tools/r8/dexfilemerger/DexFileMerger.java
@@ -249,8 +249,7 @@
             getStream(handler),
             getDexFileName(fileIndex),
             ByteDataView.of(data),
-            ZipEntry.DEFLATED,
-            true);
+            ZipEntry.DEFLATED);
         hasWrittenSomething = true;
       } catch (IOException e) {
         handler.error(new ExceptionDiagnostic(e, origin));
diff --git a/src/main/java/com/android/tools/r8/utils/ArchiveBuilder.java b/src/main/java/com/android/tools/r8/utils/ArchiveBuilder.java
index a656a58..4111bed 100644
--- a/src/main/java/com/android/tools/r8/utils/ArchiveBuilder.java
+++ b/src/main/java/com/android/tools/r8/utils/ArchiveBuilder.java
@@ -90,6 +90,7 @@
       name += DataResource.SEPARATOR;
     }
     ZipEntry entry = new ZipEntry(name);
+    entry.setTime(0);
     ZipOutputStream zip = getStream(handler);
     synchronized (this) {
       try {
diff --git a/src/main/java/com/android/tools/r8/utils/ZipUtils.java b/src/main/java/com/android/tools/r8/utils/ZipUtils.java
index 740bf9c..97f3699 100644
--- a/src/main/java/com/android/tools/r8/utils/ZipUtils.java
+++ b/src/main/java/com/android/tools/r8/utils/ZipUtils.java
@@ -74,22 +74,12 @@
   public static void writeToZipStream(
       ZipOutputStream stream, String entry, byte[] content, int compressionMethod)
       throws IOException {
-    writeToZipStream(stream, entry, ByteDataView.of(content), compressionMethod, false);
+    writeToZipStream(stream, entry, ByteDataView.of(content), compressionMethod);
   }
 
   public static void writeToZipStream(
       ZipOutputStream stream, String entry, ByteDataView content, int compressionMethod)
       throws IOException {
-    writeToZipStream(stream, entry, content, compressionMethod, false);
-  }
-
-  public static void writeToZipStream(
-      ZipOutputStream stream,
-      String entry,
-      ByteDataView content,
-      int compressionMethod,
-      boolean setZeroTime)
-      throws IOException {
     byte[] buffer = content.getBuffer();
     int offset = content.getOffset();
     int length = content.getLength();
@@ -99,9 +89,7 @@
     zipEntry.setMethod(compressionMethod);
     zipEntry.setSize(length);
     zipEntry.setCrc(crc.getValue());
-    if (setZeroTime) {
-      zipEntry.setTime(0);
-    }
+    zipEntry.setTime(0);
     stream.putNextEntry(zipEntry);
     stream.write(buffer, offset, length);
     stream.closeEntry();