summaryrefslogtreecommitdiffstats
path: root/sched/src/com/android/sched
diff options
context:
space:
mode:
authorBenoit Lamarche <benoitlamarche@google.com>2015-05-21 16:48:19 +0200
committerBenoit Lamarche <benoitlamarche@google.com>2015-05-29 11:52:08 +0200
commite4ad6f2404104556a4c7c4c356fd922117418c3c (patch)
tree7c4b9ade9fea17d2a65448f22b5447faa7c0d457 /sched/src/com/android/sched
parentb34fb65587616cb9da9fd30affa5bf1f49428dae (diff)
downloadtoolchain_jack-e4ad6f2404104556a4c7c4c356fd922117418c3c.tar.gz
toolchain_jack-e4ad6f2404104556a4c7c4c356fd922117418c3c.tar.bz2
toolchain_jack-e4ad6f2404104556a4c7c4c356fd922117418c3c.zip
Add getLastModified() to VFile
(cherry picked from commit 15013be7a1f51611e9d5b3ad697d031d268c9cc0) Change-Id: I74688ed5e90f2373753c2cef4e896b1eae81271a
Diffstat (limited to 'sched/src/com/android/sched')
-rw-r--r--sched/src/com/android/sched/util/file/InputZipFile.java5
-rw-r--r--sched/src/com/android/sched/vfs/BaseVFS.java2
-rw-r--r--sched/src/com/android/sched/vfs/BaseVFile.java5
-rw-r--r--sched/src/com/android/sched/vfs/CachedDirectFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/CaseInsensitiveFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/DeflateFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/DirectFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/GenericInputOutputVFile.java5
-rw-r--r--sched/src/com/android/sched/vfs/GenericInputVFile.java5
-rw-r--r--sched/src/com/android/sched/vfs/InputVFile.java3
-rw-r--r--sched/src/com/android/sched/vfs/MessageDigestFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/MessageDigestInputVFS.java6
-rw-r--r--sched/src/com/android/sched/vfs/PrefixedFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/ReadWriteZipFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/ReadZipFS.java5
-rw-r--r--sched/src/com/android/sched/vfs/VFSToVFSWrapper.java5
-rw-r--r--sched/src/com/android/sched/vfs/VFile.java2
-rw-r--r--sched/src/com/android/sched/vfs/WriteZipFS.java5
18 files changed, 83 insertions, 0 deletions
diff --git a/sched/src/com/android/sched/util/file/InputZipFile.java b/sched/src/com/android/sched/util/file/InputZipFile.java
index e8f1cc5a..3fdd68bf 100644
--- a/sched/src/com/android/sched/util/file/InputZipFile.java
+++ b/sched/src/com/android/sched/util/file/InputZipFile.java
@@ -99,4 +99,9 @@ public class InputZipFile extends StreamFile {
assert file != null;
return file.getName();
}
+
+ public long getLastModified() {
+ assert file != null;
+ return file.lastModified();
+ }
} \ No newline at end of file
diff --git a/sched/src/com/android/sched/vfs/BaseVFS.java b/sched/src/com/android/sched/vfs/BaseVFS.java
index 354cc98b..935a0e56 100644
--- a/sched/src/com/android/sched/vfs/BaseVFS.java
+++ b/sched/src/com/android/sched/vfs/BaseVFS.java
@@ -85,6 +85,8 @@ abstract class BaseVFS<DIR extends BaseVDir, FILE extends BaseVFile> implements
@Nonnull
abstract VPath getPathFromRoot(@Nonnull FILE file);
+ abstract long getLastModified(@Nonnull FILE file);
+
//
// Location related
//
diff --git a/sched/src/com/android/sched/vfs/BaseVFile.java b/sched/src/com/android/sched/vfs/BaseVFile.java
index c2313413..896a5562 100644
--- a/sched/src/com/android/sched/vfs/BaseVFile.java
+++ b/sched/src/com/android/sched/vfs/BaseVFile.java
@@ -72,6 +72,11 @@ abstract class BaseVFile extends BaseVElement implements VFile {
}
@Override
+ public long getLastModified() {
+ return vfs.getLastModified(this);
+ }
+
+ @Override
public void delete() throws CannotDeleteFileException {
vfs.delete(this);
}
diff --git a/sched/src/com/android/sched/vfs/CachedDirectFS.java b/sched/src/com/android/sched/vfs/CachedDirectFS.java
index ce1f6053..19affc30 100644
--- a/sched/src/com/android/sched/vfs/CachedDirectFS.java
+++ b/sched/src/com/android/sched/vfs/CachedDirectFS.java
@@ -366,6 +366,11 @@ public class CachedDirectFS extends BaseVFS<CachedParentVDir, CachedParentVFile>
}
@Override
+ public long getLastModified(@Nonnull CachedParentVFile file) {
+ return getNativeFile(file.getPath()).lastModified();
+ }
+
+ @Override
@Nonnull
FileLocation getVFileLocation(@Nonnull CachedParentVFile file) {
return new FileLocation(getNativeFile(file.getPath()));
diff --git a/sched/src/com/android/sched/vfs/CaseInsensitiveFS.java b/sched/src/com/android/sched/vfs/CaseInsensitiveFS.java
index 78ce7b28..46b18eae 100644
--- a/sched/src/com/android/sched/vfs/CaseInsensitiveFS.java
+++ b/sched/src/com/android/sched/vfs/CaseInsensitiveFS.java
@@ -478,6 +478,11 @@ public class CaseInsensitiveFS extends BaseVFS<CaseInsensitiveVDir, CaseInsensit
return list(dir).isEmpty();
}
+ @Override
+ public long getLastModified(@Nonnull CaseInsensitiveVFile file) {
+ return vfs.getLastModified(file.getEncodedFile());
+ }
+
//
// Location
//
diff --git a/sched/src/com/android/sched/vfs/DeflateFS.java b/sched/src/com/android/sched/vfs/DeflateFS.java
index f805c2e7..70fc31d2 100644
--- a/sched/src/com/android/sched/vfs/DeflateFS.java
+++ b/sched/src/com/android/sched/vfs/DeflateFS.java
@@ -119,6 +119,11 @@ public class DeflateFS extends BaseVFS<BaseVDir, BaseVFile> implements VFS{
}
@Override
+ long getLastModified(@Nonnull BaseVFile file) {
+ return vfs.getLastModified(file);
+ }
+
+ @Override
@Nonnull
BaseVFile createVFile(@Nonnull BaseVDir parent, @Nonnull String name)
throws CannotCreateFileException {
diff --git a/sched/src/com/android/sched/vfs/DirectFS.java b/sched/src/com/android/sched/vfs/DirectFS.java
index 4495439b..1464cb31 100644
--- a/sched/src/com/android/sched/vfs/DirectFS.java
+++ b/sched/src/com/android/sched/vfs/DirectFS.java
@@ -255,6 +255,11 @@ public class DirectFS extends BaseVFS<ParentVDir, ParentVFile> implements VFS {
}
@Override
+ public long getLastModified(@Nonnull ParentVFile file) {
+ return getNativeFile(file.getPath()).lastModified();
+ }
+
+ @Override
@Nonnull
FileLocation getVFileLocation(@Nonnull ParentVFile file) {
return new FileLocation(getNativeFile(file.getPath()));
diff --git a/sched/src/com/android/sched/vfs/GenericInputOutputVFile.java b/sched/src/com/android/sched/vfs/GenericInputOutputVFile.java
index b17adbcc..d5fab6f1 100644
--- a/sched/src/com/android/sched/vfs/GenericInputOutputVFile.java
+++ b/sched/src/com/android/sched/vfs/GenericInputOutputVFile.java
@@ -88,4 +88,9 @@ public class GenericInputOutputVFile implements InputOutputVFile {
public VPath getPathFromRoot() {
return file.getPathFromRoot();
}
+
+ @Override
+ public long getLastModified() {
+ return file.getLastModified();
+ }
} \ No newline at end of file
diff --git a/sched/src/com/android/sched/vfs/GenericInputVFile.java b/sched/src/com/android/sched/vfs/GenericInputVFile.java
index 74ea3aa3..14069965 100644
--- a/sched/src/com/android/sched/vfs/GenericInputVFile.java
+++ b/sched/src/com/android/sched/vfs/GenericInputVFile.java
@@ -79,4 +79,9 @@ public class GenericInputVFile implements InputVFile {
VFile getVFile() {
return file;
}
+
+ @Override
+ public long getLastModified() {
+ return file.getLastModified();
+ }
} \ No newline at end of file
diff --git a/sched/src/com/android/sched/vfs/InputVFile.java b/sched/src/com/android/sched/vfs/InputVFile.java
index cc494ed3..7f61ea3f 100644
--- a/sched/src/com/android/sched/vfs/InputVFile.java
+++ b/sched/src/com/android/sched/vfs/InputVFile.java
@@ -26,6 +26,9 @@ import javax.annotation.Nonnull;
public interface InputVFile extends InputVElement, InputStreamProvider {
void delete() throws CannotDeleteFileException;
+
@Nonnull
VPath getPathFromRoot();
+
+ long getLastModified();
}
diff --git a/sched/src/com/android/sched/vfs/MessageDigestFS.java b/sched/src/com/android/sched/vfs/MessageDigestFS.java
index 25f1b84b..7a181a15 100644
--- a/sched/src/com/android/sched/vfs/MessageDigestFS.java
+++ b/sched/src/com/android/sched/vfs/MessageDigestFS.java
@@ -291,6 +291,11 @@ public class MessageDigestFS extends BaseVFS<MessageDigestVDir, MessageDigestVFi
}
@Override
+ long getLastModified(@Nonnull MessageDigestVFile file) {
+ return vfs.getLastModified(file.getWrappedFile());
+ }
+
+ @Override
public synchronized void close() throws CannotCreateFileException, WrongPermissionException,
IOException {
if (!closed) {
diff --git a/sched/src/com/android/sched/vfs/MessageDigestInputVFS.java b/sched/src/com/android/sched/vfs/MessageDigestInputVFS.java
index bc06970d..adea71fc 100644
--- a/sched/src/com/android/sched/vfs/MessageDigestInputVFS.java
+++ b/sched/src/com/android/sched/vfs/MessageDigestInputVFS.java
@@ -97,6 +97,12 @@ public class MessageDigestInputVFS extends MessageDigestVFS implements InputVFS
}
@Override
+ public long getLastModified() {
+ // This implementation is obsolete anyway
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public void delete() {
// This implementation is obsolete anyway
throw new UnsupportedOperationException();
diff --git a/sched/src/com/android/sched/vfs/PrefixedFS.java b/sched/src/com/android/sched/vfs/PrefixedFS.java
index cc63ea4b..7b8bc3f2 100644
--- a/sched/src/com/android/sched/vfs/PrefixedFS.java
+++ b/sched/src/com/android/sched/vfs/PrefixedFS.java
@@ -158,6 +158,11 @@ public class PrefixedFS extends BaseVFS<BaseVDir, BaseVFile> implements VFS {
}
@Override
+ long getLastModified(@Nonnull BaseVFile file) {
+ return vfs.getLastModified(file);
+ }
+
+ @Override
@Nonnull
Location getVFileLocation(@Nonnull BaseVFile file) {
return vfs.getVFileLocation(file);
diff --git a/sched/src/com/android/sched/vfs/ReadWriteZipFS.java b/sched/src/com/android/sched/vfs/ReadWriteZipFS.java
index 0ada64d4..2ee080b7 100644
--- a/sched/src/com/android/sched/vfs/ReadWriteZipFS.java
+++ b/sched/src/com/android/sched/vfs/ReadWriteZipFS.java
@@ -168,6 +168,11 @@ public class ReadWriteZipFS extends BaseVFS<BaseVDir, BaseVFile> implements VFS
}
@Override
+ long getLastModified(@Nonnull BaseVFile file) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
@Nonnull
Location getVFileLocation(@Nonnull BaseVFile file) {
return vfs.getVFileLocation(file);
diff --git a/sched/src/com/android/sched/vfs/ReadZipFS.java b/sched/src/com/android/sched/vfs/ReadZipFS.java
index 60badadd..eeb3a6e2 100644
--- a/sched/src/com/android/sched/vfs/ReadZipFS.java
+++ b/sched/src/com/android/sched/vfs/ReadZipFS.java
@@ -293,6 +293,11 @@ public class ReadZipFS extends BaseVFS<ZipVDir, ZipVFile> implements VFS {
return list(dir).isEmpty();
}
+ @Override
+ long getLastModified(@Nonnull ZipVFile file) {
+ return inputZipFile.getLastModified();
+ }
+
//
// Location
//
diff --git a/sched/src/com/android/sched/vfs/VFSToVFSWrapper.java b/sched/src/com/android/sched/vfs/VFSToVFSWrapper.java
index 0a797576..df733f4d 100644
--- a/sched/src/com/android/sched/vfs/VFSToVFSWrapper.java
+++ b/sched/src/com/android/sched/vfs/VFSToVFSWrapper.java
@@ -219,6 +219,11 @@ public class VFSToVFSWrapper extends BaseVFS<BaseVDir, BaseVFile> implements VFS
}
@Override
+ long getLastModified(@Nonnull BaseVFile file) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
@Nonnull
Location getVFileLocation(@Nonnull BaseVFile file) {
return workVFS.getVFileLocation(file);
diff --git a/sched/src/com/android/sched/vfs/VFile.java b/sched/src/com/android/sched/vfs/VFile.java
index 75553e59..5e172d39 100644
--- a/sched/src/com/android/sched/vfs/VFile.java
+++ b/sched/src/com/android/sched/vfs/VFile.java
@@ -31,6 +31,8 @@ public interface VFile extends VElement, InputStreamProvider, OutputStreamProvid
@CheckForNull
String getDigest();
+ long getLastModified();
+
void delete() throws CannotDeleteFileException;
@Nonnull
VPath getPathFromRoot();
diff --git a/sched/src/com/android/sched/vfs/WriteZipFS.java b/sched/src/com/android/sched/vfs/WriteZipFS.java
index 8135220c..23701173 100644
--- a/sched/src/com/android/sched/vfs/WriteZipFS.java
+++ b/sched/src/com/android/sched/vfs/WriteZipFS.java
@@ -220,6 +220,11 @@ public class WriteZipFS extends BaseVFS<ZipVDir, ZipVFile> implements VFS {
throw new UnsupportedOperationException();
}
+ @Override
+ long getLastModified(@Nonnull ZipVFile file) {
+ throw new UnsupportedOperationException();
+ }
+
//
// Location
//