package org.bookdash.android.data.book;
import org.bookdash.android.domain.model.firebase.FireBookDetails;
import org.bookdash.android.domain.model.firebase.FireContributor;
import org.bookdash.android.domain.model.firebase.FireLanguage;
import java.util.ArrayList;
import java.util.List;
import rx.Observable;
import rx.functions.Func1;
public class FakeBookServiceApiImpl implements BookService {
FireLanguage fireLanguageEnglish = new FireLanguage("English", "EN", true, "1");
FireLanguage fireLanguageZulu = new FireLanguage("Zulu", "ZU", true, "2");
List<FireLanguage> fireLanguages = new ArrayList<>();
List<FireBookDetails> fireBookDetailses = new ArrayList<>();
FireBookDetails fireBookDetails1 = new FireBookDetails("Searching for the Spirit of Spring",
"https://storage.googleapis.com/bookdash_books/books/50-itwasntme/itwasntme-en.zip",
"https://storage.googleapis.com/bookdash_books/books/50-itwasntme/Page_01.jpg", true, "description_dummy",
fireLanguageEnglish, System.currentTimeMillis());
FireBookDetails fireBookDetails2 = new FireBookDetails("Searching for the Spirit of Spring Zulu",
"https://storage.googleapis.com/bookdash_books/books/50-itwasntme/itwasntme-en.zip",
"https://storage.googleapis.com/bookdash_books/books/50-itwasntme/Page_01.jpg", true, "description_dummy",
fireLanguageZulu, System.currentTimeMillis());
public FakeBookServiceApiImpl() {
fireLanguages.add(fireLanguageEnglish);
fireLanguages.add(fireLanguageZulu);
fireBookDetailses.add(fireBookDetails1);
fireBookDetailses.add(fireBookDetails2);
}
@Override
public Observable<List<FireLanguage>> getLanguages() {
return Observable.just(fireLanguages);
}
@Override
public Observable<List<FireBookDetails>> getBooksForLanguage(final FireLanguage fireLanguage) {
return Observable.from(fireBookDetailses).filter(new Func1<FireBookDetails, Boolean>() {
@Override
public Boolean call(final FireBookDetails fireBookDetails) {
return fireBookDetails.getBookLanguage().equals(fireLanguage.getId());
}
}).toList();
}
@Override
public Observable<List<FireContributor>> getContributorsForBook(final FireBookDetails bookDetails) {
List<FireContributor> fireContributors = new ArrayList<>();
FireContributor fireContributor = new FireContributor("Rebecca Franks",
"https://riggaroo.co.za/wp-content/uploads/2016/03/rebeccafranks_circle.png", "1");
fireContributors.add(fireContributor);
return Observable.just(fireContributors);
}
@Override
public Observable<List<FireBookDetails>> getDownloadedBooks() {
return Observable.from(fireBookDetailses).filter(new Func1<FireBookDetails, Boolean>() {
@Override
public Boolean call(final FireBookDetails fireBookDetails) {
return fireBookDetails.isDownloadedAlready();
}
}).toList();
}
@Override
public Observable<List<FireBookDetails>> searchBooks(final String searchTerm) {
return Observable.from(fireBookDetailses).toList();
}
}