/* * Copyright (C) 2015 Actor LLC. <https://actor.im> */ package im.actor.runtime.android.files; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import im.actor.runtime.files.FileSystemReference; import im.actor.runtime.files.InputFile; import im.actor.runtime.files.OutputFile; import im.actor.runtime.promise.Promise; public class AndroidFileSystemReference implements FileSystemReference { private String fileName; public AndroidFileSystemReference(String fileName) { this.fileName = fileName; } @Override public String getDescriptor() { return fileName; } @Override public boolean isExist() { return new File(fileName).exists(); } @Override public boolean isInAppMemory() { // TODO: Implement return false; } @Override public boolean isInTempDirectory() { // TODO: Implement return false; } @Override public int getSize() { return (int) new File(fileName).length(); } @Override public Promise<OutputFile> openWrite(int size) { try { return Promise.success(new AndroidOutputFile(fileName, size)); } catch (IOException e) { return Promise.failure(e); } } @Override public Promise<InputFile> openRead() { try { return Promise.success(new AndroidInputFile(fileName)); } catch (IOException e) { return Promise.failure(e); } } }