@@ -717,8 +717,9 @@ class ItemsAdapter(
717717 val zout = password?.let { ZipOutputStream (fos, password.toCharArray()) } ? : ZipOutputStream (fos)
718718 var res: Closeable = fos
719719
720- fun zipEntry (name : String ) = ZipParameters ().also {
720+ fun zipEntry (name : String , lastModified : Long ) = ZipParameters ().also {
721721 it.fileNameInZip = name
722+ it.lastModifiedFileTime = lastModified
722723 if (password != null ) {
723724 it.isEncryptFiles = true
724725 it.encryptionMethod = EncryptionMethod .AES
@@ -734,9 +735,11 @@ class ItemsAdapter(
734735 queue.push(mainFilePath)
735736 if (activity.getIsPathDirectory(mainFilePath)) {
736737 name = " ${mainFilePath.getFilenameFromPath()} /"
738+ val dirModified = File (mainFilePath).lastModified()
737739 zout.putNextEntry(
738740 ZipParameters ().also {
739741 it.fileNameInZip = name
742+ it.lastModifiedFileTime = dirModified
740743 }
741744 )
742745 }
@@ -751,9 +754,9 @@ class ItemsAdapter(
751754 if (activity.getIsPathDirectory(file.path)) {
752755 queue.push(file.path)
753756 name = " ${name.trimEnd(' /' )} /"
754- zout.putNextEntry(zipEntry(name))
757+ zout.putNextEntry(zipEntry(name, file.modified ))
755758 } else {
756- zout.putNextEntry(zipEntry(name))
759+ zout.putNextEntry(zipEntry(name, file.modified ))
757760 activity.getFileInputStreamSync(file.path)!! .copyTo(zout)
758761 zout.closeEntry()
759762 }
@@ -766,9 +769,9 @@ class ItemsAdapter(
766769 if (activity.getIsPathDirectory(file.absolutePath)) {
767770 queue.push(file.absolutePath)
768771 name = " ${name.trimEnd(' /' )} /"
769- zout.putNextEntry(zipEntry(name))
772+ zout.putNextEntry(zipEntry(name, file.lastModified() ))
770773 } else {
771- zout.putNextEntry(zipEntry(name))
774+ zout.putNextEntry(zipEntry(name, file.lastModified() ))
772775 activity.getFileInputStreamSync(file.path)!! .copyTo(zout)
773776 zout.closeEntry()
774777 }
@@ -777,7 +780,8 @@ class ItemsAdapter(
777780
778781 } else {
779782 name = if (base == currentPath) currentPath.getFilenameFromPath() else mainFilePath.relativizeWith(base)
780- zout.putNextEntry(zipEntry(name))
783+ val fileModified = File (mainFilePath).lastModified()
784+ zout.putNextEntry(zipEntry(name, fileModified))
781785 activity.getFileInputStreamSync(mainFilePath)!! .copyTo(zout)
782786 zout.closeEntry()
783787 }
0 commit comments