MinimalBible-Legacy/MinimalBible
Bradlee Speice d9f6eaa339 Squashed commit of the following: (enable Rx)
commit 4269988b7c
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Sat Jun 14 16:41:11 2014 -0400

    Backport to Java 6...
    Android Studio automatically folds lambda-style, so it won't get too out of hand.

commit e945ef51a7
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Sat Jun 14 16:25:13 2014 -0400

    Get the unit tests passing again
    Note: I need to write more. Lots more.

commit 04fe4d13b4
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Sat Jun 14 15:13:44 2014 -0400

    Add lots of Lint fixes

commit dda5c79299
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Sat Jun 14 15:04:17 2014 -0400

    Fix books not being removed...

commit 93abe065a2
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Sat Jun 14 14:10:43 2014 -0400

    Fix a NetworkOnMainThreadException

commit ba3c6ebe6c
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Sat Jun 14 14:08:50 2014 -0400

    Some refactoring and Async fixes.

commit 3869cf0b9b
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Tue Jun 10 23:46:29 2014 -0400

    Synchronization needs fixing, otherwise works.

commit 8d17b6db64
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Tue Jun 10 23:44:35 2014 -0400

    Silly DownloadManager
    Injects are for classes that need them.

commit 7070c933d1
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Tue Jun 10 23:41:35 2014 -0400

    Fix the dagger compile errors
    If you have an @Singleton with no @Injects inside it, you need to add an
    @Injects constructor for Dagger to validate.

commit 28dfec81d7
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Tue Jun 10 23:17:20 2014 -0400

    [broken probably] Refactoring to Rx should be done...
    But having issues with compiling. Checking if Dagger and retrolambda
    play nice.

commit fb0c5fdaaa
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Tue Jun 10 22:56:52 2014 -0400

    [broken] BookListFragment to Rx

commit 6eb5f66dcc
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Tue Jun 10 22:49:47 2014 -0400

    [broken] BookItemHolder to Rx

commit e356c8d1fc
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Tue Jun 10 22:40:46 2014 -0400

    Revert "[broken] Remove the BookDownloadThread again"

    This reverts commit 8f346f17e4.

commit 287b8cb40d
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Tue Jun 10 22:39:06 2014 -0400

    [broken] Add a note on the InstalledManager

commit 899b054c8b
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Tue Jun 10 22:37:53 2014 -0400

    [broken] Slight semantic change to RefreshManager

commit 8f346f17e4
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Tue Jun 10 22:36:12 2014 -0400

    [broken] Remove the BookDownloadThread again

commit 1a7364da86
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Tue Jun 10 22:35:40 2014 -0400

    [broken] Convert BookDownloadManager to Rx

commit ca1ccd9942
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Tue Jun 10 22:04:53 2014 -0400

    [broken] Convert RefreshManager to Rx

commit 5770e8dd74
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Tue Jun 10 19:32:23 2014 -0400

    Add RxAndroid support, remove eventbus

commit 3f5909be08
Author: Bradlee Speice <bspeice.nc@gmail.com>
Date:   Tue Jun 10 19:30:45 2014 -0400

    Add retrolambda support
2014-06-14 16:43:21 -04:00
..
.settings Remove jSword from the classpath, use a JAR 2014-04-16 22:01:38 -04:00
libs Dependencies are now fetched via Gradle 2014-05-01 00:03:35 -04:00
src Squashed commit of the following: (enable Rx) 2014-06-14 16:43:21 -04:00
.classpath Remove jSword from the classpath, use a JAR 2014-04-16 22:01:38 -04:00
.gitignore Remove the maven build of jSword, use the proper Ant build 2014-04-18 22:21:09 -04:00
.project Add the appcompat project to the repository 2014-04-14 22:38:12 -04:00
AndroidManifest.xml Refactor download prefs, when to d/l over internet 2014-05-08 21:39:29 -04:00
build.gradle Squashed commit of the following: (enable Rx) 2014-06-14 16:43:21 -04:00
ic_launcher-web.png Add the appcompat project to the repository 2014-04-14 22:38:12 -04:00
proguard-project.txt Add the appcompat project to the repository 2014-04-14 22:38:12 -04:00
project.properties Add the appcompat project to the repository 2014-04-14 22:38:12 -04:00
README.md And update the README because Markdown syntax issues 2014-04-16 22:56:13 -04:00

MinimalBible

A Bible app for android designed to be more focused in both UI and feature set.

Project Outline

This outline is intended to show the tasks needing to be accomplished, and give an idea of when releases will happen.

Core:

These are the tasks that will need to be accomplished before the 1.0 major release.

  • Project setup
    • Add the appcompat project to the Git repository

Done as of d6c7f498e6e1f5bbd7895f979dc25c5537e7cae5

  • Integration with JSword
    • Build JSword
    • Distribute an Android binary that contains JSword and 3rd party libraries

Done as of fd6c0630799d360cef83871cc6b3af05e4dc3a0d

  • Download Manager

    • Bible browser
    • Can download Bibles
    • Can remove Bibles
    • Generate search indexes for Bibles
  • Bible Viewer

    • UI design finalized
      • Use Immersive mode for 4.4+?
      • Panels for footnotes, commentary?
      • Navigation drawer for books?
      • What gestures should be used? (Swipe left/right for chapter search?)
      • How to get to Download Manager / some form of home page?
    • Navigation of books working
    • Can display Bible text
      • Time from launch to viewing text under 5s. Ideally, under 3s. as well.
    • Can use navigation drawer to open a book
    • Infinite scroll between chapters
      • Research how to accomplish infinite scroll
      • Implement infinite scroll
    • Red letter enabled
  • Cleanup

    • Include only necessary libraries for jSword, rather than all dependencies. APK ~20MB is way too big.

Release v.1 to Play store


  • Search
    • UI design finalized (integration in Bible Viewer, separate activity?)
    • Search functionality implemented
      • Get Lucene search working (included in JSword)
      • Tweak search (fuzzy? Lord -> LORD? Are we actually getting results we want?)
    • Search history recorded
      • Record when search took place?

Release v.2


  • Download Manager

    • Download manager can fetch commentaries
  • Footnotes/Commentaries

    • UI design finalized
      • Frame on bottom of Bible Viewer a la this?
      • Switch between footnotes/commentaries by swiping on panel?
      • Right-side nav drawer like FB?
      • Can we synchronize scroll between commentaries/footnotes?
      • Should Bible search also search commentaries?
    • Implement/Show commentaries/footnotes
    • Synchronize scrolling Bible to footnotes/commentaries
      • Is this possible?
      • Implement it!
    • Clicking on note in text opens commentary

Release v.3


  • Settings Manager

    • Night mode?
    • Automatic night mode?
    • Text font/size
    • Clear searches?
    • Disable red-letter?
    • Send feedback
  • Home screen

    • Allow access to settings, download manager, and Bible Viewer

Release v1.0
Party!


Feature Addition

These are features I want to add, but are not considered part of the "core" product. Many (most) are necessary features of a modern app, but follow after the first major release.

Usage statistics

  • Include usage statistics?
    • Only send statistics on WiFi?
    • Disable by default? Prompt user?

Sharing

  • UI Design finalized
    • Click on text to select it, then share?
    • Long-click text to share?
    • Share currently active text?
    • Dialog to select what range of text is included?
    • Share commentary/footnotes?
  • Intent filter created to share via FB, email, etc.
  • Settings
    • Share link to app alongside text? Allow disabling?

Highlighting

  • UI Design finalized

    • Click on text to select like share?
    • Highlight colors / custom colors?
    • Multiple highlight colors?
    • Remove highlights?
  • Database backing

    • First feature to need a database! Success!
    • How to store sections of highlighted material?
    • Store start/end range, along with highlight color?
    • Store when highlight was created?
  • Bible Viewer

    • How to show highlights?
      • More specifically, how does showing highlights impact performance on start?
      • Show text first, then highlights after loaded?

Notes

  • UI Design finalized

    • Likely very similar to highlighting
  • Database backing

    • Likely very similar to highlighting
    • Store note instead of highlight color?
    • Store when note was created / updated?
  • Bible Viewer

    • Same concerns as highlighting, how does it impact speed?
    • How do we display notes? Highlighting changes background color, have a separate link for our notes?
    • Do notes get added to a panel on bottom? Can user browse notes?
  • Home Screen

    • Notes browser

Widgets

  • Text to display here?
  • Shortcut to specific verse/chapter?
    • How to create shortcuts?

Cloud support

  • Backup notes/highlights to cloud service?
  • Just backup entire app database to cloud?
  • Google Drive/Dropbox?
  • Settings
    • Automated backups?
    • Backup on WiFi only?

Plenty to get done!