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();