/** * Build Table-of-Contents * * @param referencePageModel */ private void buildTOCMenu(PageModel referencePageModel) { Log.d(TAG, "Trying to create TOC"); try { BookModel book = referencePageModel.getBook(false); if (book != null) { ArrayList<PageModel> chapters = book.getChapterCollection(); for (PageModel chapter : chapters) { if (chapter.getPage().contentEquals(referencePageModel.getPage())) { chapter.setHighlighted(true); } else chapter.setHighlighted(false); } Log.d(TAG, "TOC Found: " + chapters.size()); int resourceId = R.layout.jumpto_list_item; // if (UIHelper.IsSmallScreen(this)) { // resourceId = R.layout.jumpto_list_item; // } jumpAdapter = new PageModelAdapter(this, resourceId, chapters); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(getResources().getString(R.string.content_toc)); builder.setAdapter( jumpAdapter, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { PageModel page = jumpAdapter.getItem(which); jumpTo(page); } }); builder.setNegativeButton( R.string.back_to_index, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { backToIndex(); } }); tocMenu = builder.create(); } } catch (Exception e) { Log.e(TAG, "Cannot get current page for TOC menu.", e); } }