mirror of
https://github.com/MinimalBible/MinimalBible
synced 2025-07-01 22:05:57 -04:00
Revert "The kotlin migration continues..."
I like my DI annotations too much...
This reverts commit 540426a0a2
.
This commit is contained in:
@ -98,7 +98,6 @@ public class BibleViewerModules {
|
||||
return new BookManager();
|
||||
}
|
||||
|
||||
// If this is ever injected by more than one person, switch to extension functions in Kotlin
|
||||
@Provides
|
||||
VersificationUtil provideVersificationUtil() {
|
||||
return new VersificationUtil();
|
||||
|
@ -40,7 +40,6 @@ public class BookFragment extends BaseFragment {
|
||||
@Inject
|
||||
@Named("MainBook")
|
||||
Lazy<Book> mBook;
|
||||
// TODO: Once
|
||||
@Inject
|
||||
VersificationUtil vUtil;
|
||||
// TODO: Factory?
|
||||
|
@ -0,0 +1,62 @@
|
||||
package org.bspeice.minimalbible.activity.viewer.bookutil;
|
||||
|
||||
import org.bspeice.minimalbible.util.IteratorUtil;
|
||||
import org.crosswire.jsword.book.Book;
|
||||
import org.crosswire.jsword.book.BookMetaData;
|
||||
import org.crosswire.jsword.versification.BibleBook;
|
||||
import org.crosswire.jsword.versification.Versification;
|
||||
import org.crosswire.jsword.versification.system.Versifications;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import rx.Observable;
|
||||
import rx.functions.Func1;
|
||||
|
||||
/**
|
||||
* Created by bspeice on 7/11/14.
|
||||
*/
|
||||
public class VersificationUtil {
|
||||
|
||||
private static final List<BibleBook> INTROS = new ArrayList<BibleBook>() {{
|
||||
add(BibleBook.INTRO_BIBLE);
|
||||
add(BibleBook.INTRO_OT);
|
||||
add(BibleBook.INTRO_NT);
|
||||
}};
|
||||
|
||||
// TODO: Cache the versification?
|
||||
public Versification getVersification(Book b) {
|
||||
return Versifications.instance().getVersification(
|
||||
(String) b.getBookMetaData().getProperty(BookMetaData.KEY_VERSIFICATION)
|
||||
);
|
||||
}
|
||||
|
||||
public Observable<BibleBook> getBooks(Book b) {
|
||||
Versification v = getVersification(b);
|
||||
return Observable.from(IteratorUtil.copyIterator(v.getBookIterator()))
|
||||
.filter(new Func1<BibleBook, Boolean>() {
|
||||
@Override
|
||||
public Boolean call(BibleBook bibleBook) {
|
||||
return !INTROS.contains(bibleBook);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public Observable<String> getBookNames(final Book b) {
|
||||
return getBooks(b)
|
||||
.map(new Func1<BibleBook, String>() {
|
||||
@Override
|
||||
public String call(BibleBook bibleBook) {
|
||||
return getBookName(b, bibleBook);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public Integer getChapterCount(Book b, BibleBook bibleBook) {
|
||||
return getVersification(b).getLastChapter(bibleBook);
|
||||
}
|
||||
|
||||
public String getBookName(Book book, BibleBook bibleBook) {
|
||||
return getVersification(book).getLongName(bibleBook);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user