@Override public VerseRange toRange(Versification v11n, Verse verse, int count) { Verse end = verse; if (count > 1) { end = v11n.add(verse, count - 1); } return new VerseRange(v11n, verse, end); } },
@Override public VerseRange toRange(Versification v11n, Verse verse, int count) { Verse end = v11n.add(verse, count - 1); return new VerseRange(v11n, verse, end); } };
public VerseRange reversify(Versification newVersification) { if (v11n.equals(newVersification)) { return this; } Verse newStart = start.reversify(newVersification); if (newStart == null) { return null; } Verse newEnd = end.reversify(newVersification); if (newEnd == null) { return null; } return new VerseRange(newVersification, newStart, newEnd); }
@Override public VerseRange blur(Versification v11n, Verse verse, int blurDown, int blurUp) { Verse start = v11n.subtract(verse, blurDown); Verse end = v11n.add(verse, blurUp); return new VerseRange(v11n, start, end); }
public VerseRange getVerseRange(Versification v11n) { return new VerseRange(v11n, startVerse.getVerse(v11n), endVerse.getVerse(v11n)); }
public VerseRange getWhole() { if (isWhole()) { return this; } return new VerseRange(v11n, start.getWhole(), end.getWhole()); }
public VerseRange convert(VerseRange verseRange, Versification toVersification) { Verse startVerse = verseRange.getStart(); Verse endVerse = verseRange.getEnd(); Verse convertedStartVerse = convert(startVerse, toVersification); Verse convertedEndVerse = convert(endVerse, toVersification); return new VerseRange(toVersification, convertedStartVerse, convertedEndVerse); }
@Override public VerseRange blur(Versification v11n, VerseRange range, int blurDown, int blurUp) { Verse start = v11n.subtract(range.getStart(), blurDown); Verse end = v11n.add(range.getEnd(), blurUp); return new VerseRange(v11n, start, end); }
@Override public VerseRange blur(Versification v11n, Verse verse, int blurDown, int blurUp) { BibleBook book = verse.getBook(); int chapter = verse.getChapter(); int startVerse = verse.getVerse() - blurDown; int endVerse = verse.getVerse() + blurUp; startVerse = Math.max(startVerse, 0); endVerse = Math.min(endVerse, v11n.getLastVerse(book, chapter)); Verse start = new Verse(v11n, book, chapter, startVerse); Verse end = new Verse(v11n, book, chapter, endVerse); return new VerseRange(v11n, start, end); }
public VerseRange getIntentVerseRangeOrDefault(Intent intent) { //fetch verse from intent if set CurrentBiblePage currentDoc = BibleApplication.Companion.getApplication().getApplicationComponent().activeWindowPageManagerProvider().getActiveWindowPageManager().getCurrentBible(); Versification currentV11n = currentDoc.getCurrentPassageBook().getVersification(); try { Bundle extras = intent.getExtras(); if (extras != null && extras.containsKey(VERSE_RANGE)) { return VerseRangeFactory.fromString(currentV11n, extras.getString(VERSE_RANGE)); } } catch (Exception e) { Log.e(TAG, "Error getting Verse Range from intent, using default"); } // if we got this far there was no verse in the intent final Verse defaultVerse = currentDoc.getSingleKey(); return new VerseRange(currentV11n, defaultVerse); }
public static Key getWholeChapter(Verse currentVerse) { Log.i(TAG, "Get Chapter for:"+currentVerse.getOsisID()); Versification versification = currentVerse.getVersification(); BibleBook book = currentVerse.getBook(); int chapter = currentVerse.getChapter(); Verse targetChapterFirstVerse = new Verse(versification, book, chapter, 0); Verse targetChapterLastVerse = new Verse(versification, book, chapter, versification.getLastVerse(book, chapter)); // convert to full chapter before returning because bible view is for a full chapter return new VerseRange(versification, targetChapterFirstVerse, targetChapterLastVerse); }
@Override public ConvertibleVerseRange getConvertibleVerseRange() { return new ConvertibleVerseRange(new VerseRange(v11n, new Verse(v11n, BibleBook.JOHN, 3, 16))); } };
/** * Get a VerseRange encompassing this Versification. * * @return a VerseRange for the whole versification */ public VerseRange getAllVerses() { Verse first = new Verse(this, bookList.getFirstBook(), 0, 0); BibleBook book = bookList.getLastBook(); int chapter = getLastChapter(book); Verse last = new Verse(this, book, chapter, getLastVerse(book, chapter)); return new VerseRange(this, first, last); }
@Override public VerseRange blur(Versification v11n, VerseRange range, int blurDown, int blurUp) { Verse start = range.getStart(); BibleBook startBook = start.getBook(); int startChapter = start.getChapter(); int startVerse = start.getVerse() - blurDown; Verse end = range.getEnd(); BibleBook endBook = end.getBook(); int endChapter = end.getChapter(); int endVerse = end.getVerse() + blurUp; startVerse = Math.max(startVerse, 0); endVerse = Math.min(endVerse, v11n.getLastVerse(endBook, endChapter)); Verse newStart = new Verse(v11n, startBook, startChapter, startVerse); Verse newEnd = new Verse(v11n, endBook, endChapter, endVerse); return new VerseRange(v11n, newStart, newEnd); }
public VerseRange getNextVerseRange(AbstractPassageBook document, VerseRange verseRange, boolean continueToNextChapter) { Versification v11n = verseRange.getVersification(); int verseCount = verseRange.getCardinality(); // shuffle forward Verse start = verseRange.getStart(); Verse end = verseRange.getEnd(); int i=0; while (i++<verseCount && (continueToNextChapter || !v11n.isEndOfChapter(end))) { start = getNextVerse(document, start); end = getNextVerse(document, end); } return new VerseRange(v11n, start, end); }
public VerseRange getPreviousVerseRange(AbstractPassageBook document, VerseRange verseRange, boolean continueToPreviousChapter) { Versification v11n = verseRange.getVersification(); int verseCount = verseRange.getCardinality(); // shuffle backward Verse start = verseRange.getStart(); Verse end = verseRange.getEnd(); int i=0; while (i++<verseCount && (continueToPreviousChapter || !v11n.isStartOfChapter(start))) { start = getPrevVerse(document, start); end = getPrevVerse(document, end); } return new VerseRange(v11n, start, end); }
private BookmarkDto getBookmark(Versification v11n, BibleBook book, int chapter, int verse) { BookmarkDto newBookmarkDto = new BookmarkDto(); final VerseRange verseRange = new VerseRange(v11n, new Verse(v11n, book, chapter, verse), new Verse(v11n, book, chapter, verse)); newBookmarkDto.setVerseRange(verseRange); return newBookmarkDto; } }
@Test public void testIsBookmarkForAnyVerseRangeWithSameStart() { BookmarkDto newBookmarkDto = new BookmarkDto(); final VerseRange verseRange = new VerseRange(KJV_VERSIFICATION, new Verse(KJV_VERSIFICATION, BibleBook.PS, 17, 10)); newBookmarkDto.setVerseRange(verseRange); bookmarkControl.addOrUpdateBookmark(newBookmarkDto); Verse startVerse = new Verse(KJV_VERSIFICATION, BibleBook.PS, 17, 10); assertThat(bookmarkControl.isBookmarkForKey(startVerse), equalTo(true)); // 1 has the same start as 10 but is not the same Verse verseWithSameStart = new Verse(KJV_VERSIFICATION, BibleBook.PS, 17, 1); assertThat(bookmarkControl.isBookmarkForKey(verseWithSameStart), equalTo(false)); }
@Test public void testVerseRange() { BookmarkDto newBookmarkDto = new BookmarkDto(); final VerseRange verseRange = new VerseRange(KJV_VERSIFICATION, new Verse(KJV_VERSIFICATION, BibleBook.PS, 17, 2), new Verse(KJV_VERSIFICATION, BibleBook.PS, 17, 5)); newBookmarkDto.setVerseRange(verseRange); BookmarkDto newDto = bookmarkControl.addOrUpdateBookmark(newBookmarkDto); assertThat(newDto.getVerseRange(), equalTo(verseRange)); assertThat(bookmarkControl.isBookmarkForKey(verseRange.getStart()), equalTo(true)); }
private MyNoteDto getMyNote(Versification v11n, BibleBook book, int chapter, int verse) { MyNoteDto newMyNoteDto = new MyNoteDto(); final VerseRange verseRange = new VerseRange(v11n, new Verse(v11n, book, chapter, verse), new Verse(v11n, book, chapter, verse)); newMyNoteDto.setVerseRange(verseRange); newMyNoteDto.setNoteText("Some test note text"); return newMyNoteDto; }