package com.google.android.diskusage.datasource.fast; import java.io.File; import com.google.android.diskusage.datasource.LegacyFile; public class LegacyFileImpl implements LegacyFile { private final File file; private LegacyFileImpl(File file) { this.file = file; } static LegacyFile createRoot(String root) { return new LegacyFileImpl(new File(root)); } @Override public String getName() { return file.getName(); } @Override public boolean isLink() { try { if (file.getCanonicalPath().equals(file.getPath())) return false; } catch(Throwable t) {} return true; } @Override public boolean isFile() { return file.isFile(); } @Override public long length() { return file.length(); } @Override public LegacyFile[] listFiles() { File[] children = file.listFiles(); LegacyFile[] res = new LegacyFile[children.length]; for (int i = 0; i < children.length; i++) { res[i] = new LegacyFileImpl(children[i]); } return res; } @Override public String[] list() { return file.list(); } @Override public LegacyFile getChild(String childName) { return new LegacyFileImpl(new File(file, childName)); } }