package com.openfarmanager.android.filesystem;
import com.openfarmanager.android.App;
import com.openfarmanager.android.core.archive.MimeTypes;
import com.openfarmanager.android.googledrive.model.File;
import com.openfarmanager.android.model.Bookmark;
import java.util.HashMap;
import java.util.List;
import static com.openfarmanager.android.utils.Extensions.isNullOrEmpty;
/**
* author: Vlad Namashko
*/
public class GoogleDriveFile implements FileProxy {
private File mFile;
private String mFullPath;
public GoogleDriveFile(File file, String parentPath) {
mFile = file;
if (!parentPath.endsWith("/")) {
parentPath += "/";
}
mFullPath = parentPath + getName();
}
@Override
public String getId() {
return mFile.getId();
}
@Override
public String getName() {
return mFile.getName();
}
@Override
public boolean isDirectory() {
return mFile.isDirectory();
}
@Override
public long getSize() {
return mFile.getSize();
}
@Override
public long lastModifiedDate() {
return mFile.getLastModifiedDate();
}
@Override
public List getChildren() {
return null;
}
@Override
public String getFullPath() {
return mFile.getId();
}
@Override
public String getFullPathRaw() {
return mFullPath;
}
@Override
public String getParentPath() {
return mFile.getParentPath();
}
@Override
public boolean isUpNavigator() {
return false;
}
@Override
public boolean isRoot() {
return false;
}
@Override
public boolean isVirtualDirectory() {
return mFile.isVirtual();
}
@Override
public boolean isBookmark() {
return false;
}
@Override
public Bookmark getBookmark() {
return null;
}
@Override
public String getMimeType() {
String type = mFile.getMimeType();
if (type.startsWith("image")) {
return MimeTypes.MIME_IMAGE;
} else if (type.startsWith("video")) {
return MimeTypes.MIME_VIDEO;
} else if (type.startsWith("audio")) {
return MimeTypes.MIME_AUDIO;
}
return type;
}
public String getDownloadLink() {
return mFile.getDownloadLink();
}
public HashMap<String, String> getExportLinks() {
return mFile.getExportLinks();
}
public boolean hasOpenWithLink() {
return getOpenWithLink() != null;
}
public String getOpenWithLink() {
return mFile.getOpenWithLink();
}
public boolean isStarred() {
return mFile.isStarred();
}
}