// Path: app/src/main/java/com/koma/filemanager/data/FileRepository.java
// public class FileRepository implements FileDataSource {
//     private static volatile FileRepository sRespository;
//     private LocalDataSource mLocalDataSource;
// 
//     private FileRepository() {
//         mLocalDataSource = new LocalDataSource(FileManagerApplication.getContext());
//     }
// 
//     public static FileRepository getInstance() {
//         if (sRespository == null) {
//             synchronized (FileRepository.class) {
//                 if (sRespository == null) {
//                     sRespository = new FileRepository();
//                 }
//             }
//         }
//         return sRespository;
//     }
// 
//     @Override
//     public Observable<String> getAuidoCounts() {
//         return mLocalDataSource.getAuidoCounts();
//     }
// 
//     @Override
//     public Observable<String> getVideoCounts() {
//         return mLocalDataSource.getVideoCounts();
//     }
// 
//     @Override
//     public Observable<String> getImageCounts() {
//         return mLocalDataSource.getImageCounts();
//     }
// 
//     @Override
//     public Observable<String> getDocumentsCounts() {
//         return mLocalDataSource.getDocumentsCounts();
//     }
// 
//     @Override
//     public Observable<String> getZipCounts() {
//         return mLocalDataSource.getZipCounts();
//     }
// 
//     @Override
//     public Observable<String> getApkCounts() {
//         return mLocalDataSource.getApkCounts();
//     }
// 
//     @Override
//     public Observable<ArrayList<Disk>> getDisks() {
//         return mLocalDataSource.getDisks();
//     }
// 
//     @Override
//     public Observable<ArrayList<AudioFile>> getAudioFiles() {
//         return mLocalDataSource.getAudioFiles();
//     }
// 
//     @Override
//     public Observable<ArrayList<ImageFile>> getImageFiles() {
//         return mLocalDataSource.getImageFiles();
//     }
// 
//     @Override
//     public Observable<ArrayList<VideoFile>> getVideoFiles() {
//         return mLocalDataSource.getVideoFiles();
//     }
// 
//     @Override
//     public Observable<ArrayList<DocumentFile>> getDocumentFiles() {
//         return null;
//     }
// 
//     @Override
//     public Observable<ArrayList<ZipFile>> getZipFiles() {
//         return mLocalDataSource.getZipFiles();
//     }
// 
//     @Override
//     public Observable<ArrayList<ApkFile>> getApkFiles() {
//         return null;
//     }
// 
//     @Override
//     public Observable<ArrayList<BaseFile>> getFiles(String path) {
//         return mLocalDataSource.getFiles(path);
//     }
// }
// 
// Path: app/src/main/java/com/koma/filemanager/data/model/AudioFile.java
// public class AudioFile extends BaseFile {
//     private long mAlbumId;
//     private String mDisplayName;
// 
//     public AudioFile() {
//         super("", "", 0, null);
//         mDisplayName = "";
//     }
// 
//     public AudioFile(String fileName, String parent, long fileSize, Date fileModifiedTime, String displayName) {
//         super(fileName, parent, fileSize, fileModifiedTime);
//         mDisplayName = displayName;
//     }
// 
//     public void setDisplayName(String displayName) {
//         mDisplayName = displayName;
//     }
// 
//     public String getDisplayTime() {
//         return mDisplayName;
//     }
// 
//     public long getAlbumId() {
//         return mAlbumId;
//     }
// 
//     public void setAlbumId(long albumId) {
//         mAlbumId = albumId;
//     }
// }
// 
// Path: app/src/main/java/com/koma/filemanager/util/LogUtils.java
// public class LogUtils {
//     private static final boolean IS_DEBUG = true;
//     private static final String TAG = "FileManager";
// 
//     public static void i(String tag, String msg) {
//         if (IS_DEBUG) {
//             Log.i(TAG, buildString(tag, msg));
//         }
//     }
// 
//     public static void e(String tag, String msg) {
//         if (IS_DEBUG) {
//             Log.e(TAG, buildString(tag, msg));
//         }
//     }
// 
//     private static String buildString(String tag, String msg) {
//         StringBuilder sb = new StringBuilder(tag);
//         sb.append("----");
//         sb.append(msg);
//         return sb.toString();
//     }
// }


import android.support.annotation.NonNull;
import com.koma.filemanager.data.FileRepository;
import com.koma.filemanager.data.model.AudioFile;
import com.koma.filemanager.util.LogUtils;
import java.util.ArrayList;
import rx.Subscriber;
import rx.Subscription;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import rx.subscriptions.CompositeSubscription;
package com.koma.filemanager.audio;





/**
 * Created by koma on 11/24/16.
 */

public class AudioPresenter implements AudioConstract.Presenter {
    private static final String TAG = "AudioPresenter";
    private CompositeSubscription mSubscription;
    @NonNull
    private AudioConstract.View mView;
    @NonNull
    private FileRepository mFileRepository;
    private Subscription mAudioFilesSubsription;

    public AudioPresenter(@NonNull AudioConstract.View view, @NonNull FileRepository repository) {
        mFileRepository = repository;
        mView = view;
        mSubscription = new CompositeSubscription();
        mView.setPresenter(this);
    }

    @Override
    public void subscribe() {
        LogUtils.i(TAG, "subscribe");
        getAudioFiles();
    }

    @Override
// Path: app/src/main/java/com/koma/filemanager/data/FileRepository.java
// public class FileRepository implements FileDataSource {
//     private static volatile FileRepository sRespository;
//     private LocalDataSource mLocalDataSource;
// 
//     private FileRepository() {
//         mLocalDataSource = new LocalDataSource(FileManagerApplication.getContext());
//     }
// 
//     public static FileRepository getInstance() {
//         if (sRespository == null) {
//             synchronized (FileRepository.class) {
//                 if (sRespository == null) {
//                     sRespository = new FileRepository();
//                 }
//             }
//         }
//         return sRespository;
//     }
// 
//     @Override
//     public Observable<String> getAuidoCounts() {
//         return mLocalDataSource.getAuidoCounts();
//     }
// 
//     @Override
//     public Observable<String> getVideoCounts() {
//         return mLocalDataSource.getVideoCounts();
//     }
// 
//     @Override
//     public Observable<String> getImageCounts() {
//         return mLocalDataSource.getImageCounts();
//     }
// 
//     @Override
//     public Observable<String> getDocumentsCounts() {
//         return mLocalDataSource.getDocumentsCounts();
//     }
// 
//     @Override
//     public Observable<String> getZipCounts() {
//         return mLocalDataSource.getZipCounts();
//     }
// 
//     @Override
//     public Observable<String> getApkCounts() {
//         return mLocalDataSource.getApkCounts();
//     }
// 
//     @Override
//     public Observable<ArrayList<Disk>> getDisks() {
//         return mLocalDataSource.getDisks();
//     }
// 
//     @Override
//     public Observable<ArrayList<AudioFile>> getAudioFiles() {
//         return mLocalDataSource.getAudioFiles();
//     }
// 
//     @Override
//     public Observable<ArrayList<ImageFile>> getImageFiles() {
//         return mLocalDataSource.getImageFiles();
//     }
// 
//     @Override
//     public Observable<ArrayList<VideoFile>> getVideoFiles() {
//         return mLocalDataSource.getVideoFiles();
//     }
// 
//     @Override
//     public Observable<ArrayList<DocumentFile>> getDocumentFiles() {
//         return null;
//     }
// 
//     @Override
//     public Observable<ArrayList<ZipFile>> getZipFiles() {
//         return mLocalDataSource.getZipFiles();
//     }
// 
//     @Override
//     public Observable<ArrayList<ApkFile>> getApkFiles() {
//         return null;
//     }
// 
//     @Override
//     public Observable<ArrayList<BaseFile>> getFiles(String path) {
//         return mLocalDataSource.getFiles(path);
//     }
// }
// 
// Path: app/src/main/java/com/koma/filemanager/data/model/AudioFile.java
// public class AudioFile extends BaseFile {
//     private long mAlbumId;
//     private String mDisplayName;
// 
//     public AudioFile() {
//         super("", "", 0, null);
//         mDisplayName = "";
//     }
// 
//     public AudioFile(String fileName, String parent, long fileSize, Date fileModifiedTime, String displayName) {
//         super(fileName, parent, fileSize, fileModifiedTime);
//         mDisplayName = displayName;
//     }
// 
//     public void setDisplayName(String displayName) {
//         mDisplayName = displayName;
//     }
// 
//     public String getDisplayTime() {
//         return mDisplayName;
//     }
// 
//     public long getAlbumId() {
//         return mAlbumId;
//     }
// 
//     public void setAlbumId(long albumId) {
//         mAlbumId = albumId;
//     }
// }
// 
// Path: app/src/main/java/com/koma/filemanager/util/LogUtils.java
// public class LogUtils {
//     private static final boolean IS_DEBUG = true;
//     private static final String TAG = "FileManager";
// 
//     public static void i(String tag, String msg) {
//         if (IS_DEBUG) {
//             Log.i(TAG, buildString(tag, msg));
//         }
//     }
// 
//     public static void e(String tag, String msg) {
//         if (IS_DEBUG) {
//             Log.e(TAG, buildString(tag, msg));
//         }
//     }
// 
//     private static String buildString(String tag, String msg) {
//         StringBuilder sb = new StringBuilder(tag);
//         sb.append("----");
//         sb.append(msg);
//         return sb.toString();
//     }
// }


// Path: app/src/main/java/com/koma/filemanager/audio/AudioPresenter.java
import android.support.annotation.NonNull;
import com.koma.filemanager.data.FileRepository;
import com.koma.filemanager.data.model.AudioFile;
import com.koma.filemanager.util.LogUtils;
import java.util.ArrayList;
import rx.Subscriber;
import rx.Subscription;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
import rx.subscriptions.CompositeSubscription;

package com.koma.filemanager.audio;





/**
 * Created by koma on 11/24/16.
 */

public class AudioPresenter implements AudioConstract.Presenter {
    private static final String TAG = "AudioPresenter";
    private CompositeSubscription mSubscription;
    @NonNull
    private AudioConstract.View mView;
    @NonNull
    private FileRepository mFileRepository;
    private Subscription mAudioFilesSubsription;

    public AudioPresenter(@NonNull AudioConstract.View view, @NonNull FileRepository repository) {
        mFileRepository = repository;
        mView = view;
        mSubscription = new CompositeSubscription();
        mView.setPresenter(this);
    }

    @Override
    public void subscribe() {
        LogUtils.i(TAG, "subscribe");
        getAudioFiles();
    }

    @Override
    public void unSubscribe() {