For some reason running the tests on API 30 fails with the below exception. Interestingly enough the tests run just fine on my local API 30 emulator.
java.lang.RuntimeException: Exception thrown in onCreate() of ComponentInfo{com.wbrawner.simplemarkdown.test/androidx.test.runner.AndroidJUnitRunner}: java.lang.IllegalStateException: Cannot connect to androidx.test.orchestrator.OrchestratorService
FATAL EXCEPTION: main
Process: com.wbrawner.simplemarkdown, PID: 21960
java.lang.RuntimeException: Exception thrown in onCreate() of ComponentInfo{com.wbrawner.simplemarkdown.test/androidx.test.runner.AndroidJUnitRunner}: java.lang.IllegalStateException: Cannot connect to androidx.test.orchestrator.OrchestratorService
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6709)
at android.app.ActivityThread.access$1300(ActivityThread.java:237)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.IllegalStateException: Cannot connect to androidx.test.orchestrator.OrchestratorService
at androidx.test.internal.events.client.TestEventServiceConnectionBase.connect(TestEventServiceConnectionBase.java:91)
at androidx.test.internal.events.client.TestEventClient.connect(TestEventClient.java:125)
at androidx.test.runner.AndroidJUnitRunner.isOrchestratorServiceProvided(AndroidJUnitRunner.java:347)
at androidx.test.runner.AndroidJUnitRunner.onCreate(AndroidJUnitRunner.java:319)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6704)
... 8 more
It seems like very few apps have the toolbar at the bottom, so while it may be more ergonomically sound, it's also a bit unintuitive. It's probably wise to not stray too far from the norms. By having the toolbar at the top, I can also hide it when scrolling in various views, allowing even more of the content to be visible on the screen.
Signed-off-by: William Brawner <me@wbrawner.com>
This will allow me to keep both the Play Store version and the development version on my device simultaneously and still tell them apart at a glance
Signed-off-by: William Brawner <me@wbrawner.com>
This is a necessary step in separating the proprietary code (like Google Play Billing) from the FLOSS code so that I can eventually get around to publishing the app on fdroid
Signed-off-by: William Brawner <me@wbrawner.com>
I also removed Dagger since it wasn't really being used, and fixed the CrashlyticsErrorHandler as I had previously imported the incorrect BuildConfig class.
Personally, I'm a terrible writer and I've found simple aids really help keep my prose tight.
These changes will highlight sentences that are hard to read, based on the number of syllables they contain.
Here's what happens based on syllable count:
- less than 25 syllables: its easy to read (heuristically speaking), and has no background colour
- between 25 and 35 syllables, it's a bit hard to understand, and has a yellow background colour
- over 35 syllables, its quite hard to read, and has a red background color
This might be well outside the scope of what you had in mind, but I personally find it usefull.
At the moment it's on by default, in a seperate observer.
Maybe you could add add a setting for it