Search in sources :

Example 16 with Book

use of com.orgzly.android.Book in project orgzly-android by orgzly.

the class BookFragment method onLoadFinished.

@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
    if (BuildConfig.LOG_DEBUG)
        LogUtils.d(TAG, loader);
    if (mIsViewCreated) {
        if (loader.getId() == Loaders.BOOK_FRAGMENT_BOOK) {
            Book book = null;
            if (cursor.moveToFirst()) {
                book = BooksClient.fromCursor(cursor);
            }
            bookLoaded(book);
            mLastBookId = mBookId;
        } else if (loader.getId() == Loaders.BOOK_FRAGMENT_NOTES) {
            notesLoaded(cursor);
        }
        /* Refresh action bar items (hide or display, depending on if the book has been loaded. */
        FragmentActivity activity = getActivity();
        if (activity != null) {
            activity.invalidateOptionsMenu();
        }
    }
}
Also used : FragmentActivity(android.support.v4.app.FragmentActivity) Book(com.orgzly.android.Book)

Example 17 with Book

use of com.orgzly.android.Book in project orgzly-android by orgzly.

the class StructureTest method testDemoteNoChanges.

@Test
public void testDemoteNoChanges() throws IOException {
    Book book = shelfTestUtils.setupBook("notebook", "" + "description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "*** Note 1.1.1\n" + "* Note 2\n" + "** Note 2.1\n" + "*** Note 2.1.1\n");
    /* Demote 2.1. */
    assertEquals(0, shelf.demote(book.getId(), shelf.getNote("Note 2.1").getId()));
    assertEquals("description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "*** Note 1.1.1\n" + "* Note 2\n" + "** Note 2.1\n" + "*** Note 2.1.1\n", shelf.getBookContent("notebook", BookName.Format.ORG));
}
Also used : Book(com.orgzly.android.Book) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 18 with Book

use of com.orgzly.android.Book in project orgzly-android by orgzly.

the class StructureTest method testPasteUnder.

@Test
public void testPasteUnder() throws IOException {
    Book book = shelfTestUtils.setupBook("notebook", "" + "description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "*** Note 1.1.1\n" + "** Note 1.2\n" + "*** Note 1.2.1\n" + "*** Note 1.2.2\n" + "* Note 2\n");
    /* Cut & paste 1.1 under 1.2. */
    shelf.cut(book.getId(), shelf.getNote("Note 1.1").getId());
    Note n = shelf.getNote("Note 1.2");
    shelf.paste(n.getPosition().getBookId(), n.getId(), Place.UNDER);
    assertEquals("description\n" + "\n" + "* Note 1\n" + "** Note 1.2\n" + "*** Note 1.2.1\n" + "*** Note 1.2.2\n" + "*** Note 1.1\n" + "**** Note 1.1.1\n" + "* Note 2\n", shelf.getBookContent("notebook", BookName.Format.ORG));
    NotePosition n1 = shelf.getNote("Note 1").getPosition();
    NotePosition n12 = shelf.getNote("Note 1.2").getPosition();
    NotePosition n121 = shelf.getNote("Note 1.2.1").getPosition();
    NotePosition n122 = shelf.getNote("Note 1.2.2").getPosition();
    NotePosition n11 = shelf.getNote("Note 1.1").getPosition();
    NotePosition n111 = shelf.getNote("Note 1.1.1").getPosition();
    NotePosition n2 = shelf.getNote("Note 2").getPosition();
    assertEquals(shelf.getNote("Note 1.2").getId(), n11.getParentId());
    assertEquals(1, n1.getLevel());
    assertEquals(2, n12.getLevel());
    assertEquals(3, n121.getLevel());
    assertEquals(3, n122.getLevel());
    assertEquals(3, n11.getLevel());
    assertEquals(4, n111.getLevel());
    assertEquals(1, n2.getLevel());
    assertTrue(n1.getLft() < n12.getLft());
    assertTrue(n12.getLft() < n121.getLft());
    assertTrue(n121.getLft() < n121.getRgt());
    assertTrue(n121.getRgt() < n122.getLft());
    assertTrue(n122.getLft() < n122.getRgt());
    assertTrue(n122.getRgt() < n11.getLft());
    assertTrue(n11.getLft() < n111.getLft());
    assertTrue(n111.getLft() < n111.getRgt());
    assertTrue(n111.getRgt() < n11.getRgt());
    assertTrue(n11.getRgt() < n12.getRgt());
    assertTrue(n12.getRgt() < n1.getRgt());
    assertTrue(n1.getRgt() < n2.getLft());
    assertTrue(n2.getLft() < n2.getRgt());
    assertEquals(5, n1.getDescendantsCount());
    assertEquals(4, n12.getDescendantsCount());
    assertEquals(0, n121.getDescendantsCount());
    assertEquals(0, n122.getDescendantsCount());
    assertEquals(1, n11.getDescendantsCount());
    assertEquals(0, n111.getDescendantsCount());
    assertEquals(0, n2.getDescendantsCount());
}
Also used : Book(com.orgzly.android.Book) NotePosition(com.orgzly.android.NotePosition) Note(com.orgzly.android.Note) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 19 with Book

use of com.orgzly.android.Book in project orgzly-android by orgzly.

the class StructureTest method testPasteToDifferentBook.

@Test
public void testPasteToDifferentBook() throws IOException {
    shelfTestUtils.setupBook("notebook-1", "" + "description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "*** Note 1.1.1\n");
    Book book2 = shelfTestUtils.setupBook("notebook-2", "" + "description\n" + "\n" + "* Note A\n" + "** Note A.A\n" + "*** Note A.A.A\n");
    shelf.cut(book2.getId(), shelf.getNote("Note A.A").getId());
    Note n = shelf.getNote("Note 1.1.1");
    shelf.paste(n.getPosition().getBookId(), n.getId(), Place.UNDER);
    assertEquals("description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "*** Note 1.1.1\n" + "**** Note A.A\n" + "***** Note A.A.A\n", shelf.getBookContent("notebook-1", BookName.Format.ORG));
    assertEquals("description\n" + "\n" + "* Note A\n", shelf.getBookContent("notebook-2", BookName.Format.ORG));
}
Also used : Book(com.orgzly.android.Book) Note(com.orgzly.android.Note) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 20 with Book

use of com.orgzly.android.Book in project orgzly-android by orgzly.

the class StructureTest method testPromoteFolded.

@Test
public void testPromoteFolded() throws IOException {
    Book book = shelfTestUtils.setupBook("notebook", "" + "description\n" + "\n" + "* Note 1\n" + "** Note 1.1\n" + "*** Note 1.1.1\n" + "** Note 1.2\n" + "* Note 2\n");
    Note note = shelf.getNote("Note 1.1");
    /* Promote folded 1.1 */
    shelf.toggleFoldedState(note.getId());
    assertEquals(1, shelf.promote(book.getId(), note.getId()));
    assertEquals("description\n" + "\n" + "* Note 1\n" + "** Note 1.2\n" + "* Note 1.1\n" + "** Note 1.1.1\n" + "* Note 2\n", shelf.getBookContent("notebook", BookName.Format.ORG));
    NotePosition n1 = shelf.getNote("Note 1").getPosition();
    NotePosition n12 = shelf.getNote("Note 1.2").getPosition();
    NotePosition n11 = shelf.getNote("Note 1.1").getPosition();
    NotePosition n111 = shelf.getNote("Note 1.1.1").getPosition();
    NotePosition n2 = shelf.getNote("Note 2").getPosition();
    assertEquals(1, n1.getDescendantsCount());
    assertEquals(0, n12.getDescendantsCount());
    assertEquals(1, n11.getDescendantsCount());
    assertEquals(0, n111.getDescendantsCount());
    assertEquals(0, n2.getDescendantsCount());
    assertEquals(1, n1.getLevel());
    assertEquals(2, n12.getLevel());
    assertEquals(1, n11.getLevel());
    assertEquals(2, n111.getLevel());
    assertEquals(1, n2.getLevel());
    assertEquals(0, n1.getFoldedUnderId());
    assertEquals(0, n12.getFoldedUnderId());
    assertEquals(0, n11.getFoldedUnderId());
    assertEquals(shelf.getNote("Note 1.1").getId(), n111.getFoldedUnderId());
    assertEquals(0, n2.getFoldedUnderId());
    assertFalse(n1.isFolded());
    assertFalse(n12.isFolded());
    assertTrue(n11.isFolded());
    assertFalse(n111.isFolded());
    assertFalse(n2.isFolded());
    assertTrue(n1.getLft() < n12.getLft());
    assertTrue(n12.getLft() < n12.getRgt());
    assertTrue(n12.getRgt() < n11.getRgt());
    assertTrue(n1.getRgt() < n11.getLft());
    assertTrue(n11.getLft() < n111.getLft());
    assertTrue(n111.getLft() < n111.getRgt());
    assertTrue(n111.getRgt() < n11.getRgt());
    assertTrue(n11.getRgt() < n2.getLft());
    assertTrue(n2.getLft() < n2.getRgt());
}
Also used : Book(com.orgzly.android.Book) NotePosition(com.orgzly.android.NotePosition) Note(com.orgzly.android.Note) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Aggregations

Book (com.orgzly.android.Book)60 OrgzlyTest (com.orgzly.android.OrgzlyTest)47 Test (org.junit.Test)47 Note (com.orgzly.android.Note)21 NotePosition (com.orgzly.android.NotePosition)11 IOException (java.io.IOException)8 Shelf (com.orgzly.android.Shelf)6 Uri (android.net.Uri)5 Context (android.content.Context)4 Intent (android.content.Intent)4 TypedArray (android.content.res.TypedArray)4 NavigationView (android.support.design.widget.NavigationView)4 SearchView (android.support.v7.widget.SearchView)4 MenuItem (android.view.MenuItem)4 View (android.view.View)4 TextView (android.widget.TextView)4 Query (com.orgzly.android.query.Query)4 File (java.io.File)4 Activity (android.app.Activity)3 AlertDialog (android.app.AlertDialog)3