Keep the BookDetailsFragment alive even when the Activity is re-created due to orientation changes
Open files when listing so we can get the book's title. This solution makes the listing slower because EPubHelper.openBookFromFile(file) takes too long.

As a solution I will run that code in a separate thread. Then I just need to dispatch an event to update the book's title.
Prevent LIbraryActivity to be restarted when orientation and screenSize changes occur.
Since the Activity is no longer restarted on orientation changes there is no need to force fragments to be alive.
Added a method to shutdown the Dropbox Sync API; and a second one to listen paths. In our case we will use it to track changes in the Dropbox's root path
Minor name changes.
Fixed important bug! we didn't get the comparator reference at the init method!. The app crashes when we try to add an element before calling sortby().
Refactor DropboxManager. I isolated the use of DbxFile because I realized that the Dropbox API does not permit the same file to be opened twice. Now DbxFiles are used only within DropboxManager. Communication to/from DropboxManager is done now using DbxFileInfo or DbxPath. Removed unused methods
Refactor EPubHelper. Open a book is a time expensive operation due to IO. Now it is done in a separate thread.
Added a attribute to DbxEPubInfo to know if the book's title is available.
Added methods to set the book title. All IO operations are done in separate threads and hence are not blocking the UI thread.
Adapt fragments to the Code.
Debug log messages removed.
Added listeners to folders so whenever a user adds an epub file to its dropbox the change will be also visible in our app.
Improved doc