// Path: app/src/main/java/com/koma/filemanager/base/BaseFile.java
// public class BaseFile implements Comparable<BaseFile> {
//     private String mFileName;
//     private Date mFileModifiedTime;
//     private long mFileSize;
//     private String mParent;
//     private boolean mIsDirectory;
// 
//     public BaseFile(String fileName, String parent, long fileSize, Date fileModifiedTime) {
//         mFileName = fileName;
//         mFileSize = fileSize;
//         mFileModifiedTime = fileModifiedTime;
//         mParent = parent;
//         mIsDirectory = true;
//     }
// 
//     public BaseFile(String fileName, String parent, long fileSize, Date fileModifiedTime, boolean isDirectory) {
//         mFileName = fileName;
//         mFileSize = fileSize;
//         mFileModifiedTime = fileModifiedTime;
//         mParent = parent;
//         mIsDirectory = isDirectory;
//     }
// 
// 
//     public void setFileName(String fileName) {
//         mFileName = fileName;
//     }
// 
//     public String getFileName() {
//         return mFileName;
//     }
// 
//     public void setFileSize(long fileSize) {
//         mFileSize = fileSize;
//     }
// 
//     public long getFileSize() {
//         return mFileSize;
//     }
// 
//     public void setFileModifiedTime(Date modifiedTime) {
//         mFileModifiedTime = modifiedTime;
//     }
// 
//     public Date getFileModifiedTime() {
//         return mFileModifiedTime;
//     }
// 
//     public void setParent(String parent) {
//         mParent = parent;
//     }
// 
//     public String getParent() {
//         return mParent;
//     }
// 
//     public boolean getIsDirectory() {
//         return mIsDirectory;
//     }
// 
//     public void setIsDirectory(boolean isDirectory) {
//         mIsDirectory = isDirectory;
//     }
// 
//     public String getFullPath() {
//         StringBuilder stringBuilder = new StringBuilder(mParent);
//         if (FileHelper.isRootDirectory(this)) {
//             return FileHelper.ROOT_DIRECTORY;
//         } else if (FileHelper.isParentRootDirectory(this)) {
//             if (this.mParent == null) {
//                 return FileHelper.ROOT_DIRECTORY + mFileName;
//             }
//             return stringBuilder.append(mFileName).toString();
//         }
//         return stringBuilder.append(File.separator).append(mFileName).toString();
//     }
// 
//     @Override
//     public int compareTo(BaseFile another) {
//         String o1 = this.getFullPath();
//         String o2 = another.getFullPath();
//         return o1.compareTo(o2);
//     }
// }
// 
// Path: app/src/main/java/com/koma/filemanager/base/BasePresenter.java
// public interface BasePresenter {
//     void subscribe();
// 
//     void unSubscribe();
// }
// 
// Path: app/src/main/java/com/koma/filemanager/base/BaseView.java
// public interface BaseView<T> {
//     void setPresenter(T presenter);
// }
// 
// Path: app/src/main/java/com/koma/filemanager/helper/event/SortEvent.java
// public class SortEvent {
//     private FileSortHelper.SortKey mSortKey;
//     private FileSortHelper.SortMethod mSortMethod;
// 
//     public SortEvent(FileSortHelper.SortKey sortKey, FileSortHelper.SortMethod sortMethod) {
//         this.mSortKey = sortKey;
//         this.mSortMethod = sortMethod;
//     }
// 
//     public void setSortKey(FileSortHelper.SortKey sortKey) {
//         this.mSortKey = sortKey;
//     }
// 
//     public FileSortHelper.SortKey getSortKey() {
//         return mSortKey;
//     }
// 
//     public void setSortMethod(FileSortHelper.SortMethod sortMethod) {
//         this.mSortMethod = sortMethod;
//     }
// 
//     public FileSortHelper.SortMethod getSortMethod() {
//         return mSortMethod;
//     }
// }


import com.koma.filemanager.base.BaseFile;
import com.koma.filemanager.base.BasePresenter;
import com.koma.filemanager.base.BaseView;
import com.koma.filemanager.helper.event.SortEvent;
import java.util.ArrayList;
package com.koma.filemanager.fileview;



/**
 * Created by koma on 12/1/16.
 */

public interface FileViewContract {
    interface View extends BaseView<Presenter> {
        void refreshAdapter(ArrayList<BaseFile> files);

        void showLoadingView();

        void hideLoadingView();

        void showEmptyView();

        String getPath();

        void onSortSuccess();
    }

    interface Presenter extends BasePresenter {
        void getFiles(String path);

// Path: app/src/main/java/com/koma/filemanager/base/BaseFile.java
// public class BaseFile implements Comparable<BaseFile> {
//     private String mFileName;
//     private Date mFileModifiedTime;
//     private long mFileSize;
//     private String mParent;
//     private boolean mIsDirectory;
// 
//     public BaseFile(String fileName, String parent, long fileSize, Date fileModifiedTime) {
//         mFileName = fileName;
//         mFileSize = fileSize;
//         mFileModifiedTime = fileModifiedTime;
//         mParent = parent;
//         mIsDirectory = true;
//     }
// 
//     public BaseFile(String fileName, String parent, long fileSize, Date fileModifiedTime, boolean isDirectory) {
//         mFileName = fileName;
//         mFileSize = fileSize;
//         mFileModifiedTime = fileModifiedTime;
//         mParent = parent;
//         mIsDirectory = isDirectory;
//     }
// 
// 
//     public void setFileName(String fileName) {
//         mFileName = fileName;
//     }
// 
//     public String getFileName() {
//         return mFileName;
//     }
// 
//     public void setFileSize(long fileSize) {
//         mFileSize = fileSize;
//     }
// 
//     public long getFileSize() {
//         return mFileSize;
//     }
// 
//     public void setFileModifiedTime(Date modifiedTime) {
//         mFileModifiedTime = modifiedTime;
//     }
// 
//     public Date getFileModifiedTime() {
//         return mFileModifiedTime;
//     }
// 
//     public void setParent(String parent) {
//         mParent = parent;
//     }
// 
//     public String getParent() {
//         return mParent;
//     }
// 
//     public boolean getIsDirectory() {
//         return mIsDirectory;
//     }
// 
//     public void setIsDirectory(boolean isDirectory) {
//         mIsDirectory = isDirectory;
//     }
// 
//     public String getFullPath() {
//         StringBuilder stringBuilder = new StringBuilder(mParent);
//         if (FileHelper.isRootDirectory(this)) {
//             return FileHelper.ROOT_DIRECTORY;
//         } else if (FileHelper.isParentRootDirectory(this)) {
//             if (this.mParent == null) {
//                 return FileHelper.ROOT_DIRECTORY + mFileName;
//             }
//             return stringBuilder.append(mFileName).toString();
//         }
//         return stringBuilder.append(File.separator).append(mFileName).toString();
//     }
// 
//     @Override
//     public int compareTo(BaseFile another) {
//         String o1 = this.getFullPath();
//         String o2 = another.getFullPath();
//         return o1.compareTo(o2);
//     }
// }
// 
// Path: app/src/main/java/com/koma/filemanager/base/BasePresenter.java
// public interface BasePresenter {
//     void subscribe();
// 
//     void unSubscribe();
// }
// 
// Path: app/src/main/java/com/koma/filemanager/base/BaseView.java
// public interface BaseView<T> {
//     void setPresenter(T presenter);
// }
// 
// Path: app/src/main/java/com/koma/filemanager/helper/event/SortEvent.java
// public class SortEvent {
//     private FileSortHelper.SortKey mSortKey;
//     private FileSortHelper.SortMethod mSortMethod;
// 
//     public SortEvent(FileSortHelper.SortKey sortKey, FileSortHelper.SortMethod sortMethod) {
//         this.mSortKey = sortKey;
//         this.mSortMethod = sortMethod;
//     }
// 
//     public void setSortKey(FileSortHelper.SortKey sortKey) {
//         this.mSortKey = sortKey;
//     }
// 
//     public FileSortHelper.SortKey getSortKey() {
//         return mSortKey;
//     }
// 
//     public void setSortMethod(FileSortHelper.SortMethod sortMethod) {
//         this.mSortMethod = sortMethod;
//     }
// 
//     public FileSortHelper.SortMethod getSortMethod() {
//         return mSortMethod;
//     }
// }


// Path: app/src/main/java/com/koma/filemanager/fileview/FileViewContract.java
import com.koma.filemanager.base.BaseFile;
import com.koma.filemanager.base.BasePresenter;
import com.koma.filemanager.base.BaseView;
import com.koma.filemanager.helper.event.SortEvent;
import java.util.ArrayList;

package com.koma.filemanager.fileview;



/**
 * Created by koma on 12/1/16.
 */

public interface FileViewContract {
    interface View extends BaseView<Presenter> {
        void refreshAdapter(ArrayList<BaseFile> files);

        void showLoadingView();

        void hideLoadingView();

        void showEmptyView();

        String getPath();

        void onSortSuccess();
    }

    interface Presenter extends BasePresenter {
        void getFiles(String path);

        void sortFiles(ArrayList<BaseFile> files, SortEvent sortEvent);