package com.turhanoz.android.reactivedirectorychooser.observer; import android.util.Log; import com.turhanoz.android.reactivedirectorychooser.event.DataSetChangedEvent; import com.turhanoz.android.reactivedirectorychooser.event.OperationFailedEvent; import com.turhanoz.android.reactivedirectorychooser.model.DirectoryTree; import java.io.File; import de.greenrobot.event.EventBus; import rx.Observer; public class ListDirectoryObserver implements Observer<File> { DirectoryTree dataSet; EventBus bus; public ListDirectoryObserver(DirectoryTree dataSet, EventBus bus) { this.dataSet = dataSet; this.bus = bus; dataSet.directoryList.clear(); } @Override public void onCompleted() { dataSet.directoryList.sort(); if(dataSet.getParentDirectory() !=null) { dataSet.directoryList.add(0, dataSet.getParentDirectory()); } bus.post(new DataSetChangedEvent()); Log.d("TAG", "onCompleted ListDirectoryObserver"); } @Override public void onError(Throwable e) { Log.d("TAG", "onError : " + e.toString()); bus.post(new OperationFailedEvent()); } @Override public void onNext(File file) { dataSet.directoryList.add(file); } }