Commit graph

271 commits

Author SHA1 Message Date
d0c61bea52 Update dependencies and target sdk 2022-10-23 23:45:28 -06:00
3108114b60 Improve analytics
- Automatic page view tracking wasn't helpful since it was based on the Activities viewed, and SimpleMarkdown is a single-Activity app, so page views are now tracked manually
- User preferences are now reported so I can remove preferences that aren't used and focus my time on features that are actively used
- Opting out of crash reports is no longer possible. I need crash reports to be able to improve the app. It would also simplify the code a bit to not need to take that into account. Existing opt-outs will be respected but moving forward, new users will need to download the app from Fdroid if they'd like to avoid interactions with Google.
2022-10-23 23:44:02 -06:00
c315439763 Update dependencies 2021-06-27 19:35:51 -06:00
17d1bd28c5 Remove Billing permission from free variant 2021-06-27 10:46:27 -06:00
89d957c2d0 Bump version for release
Nothing new here, just a minor fix for F-Droid
2021-03-12 15:53:00 -07:00
94cdb70da7 Fix free flavor builds 2021-03-12 15:53:00 -07:00
62720ddd05 Bump version for release 2021-03-12 15:42:51 -07:00
50d7622172 Consolidate autosave URI persistence management 2021-02-21 18:32:53 -07:00
1522806e62 Prevent save/discard dialog from appearing when file contents haven't changed after loading 2021-02-21 17:57:41 -07:00
c2be2274e8 Prevent autosave when manual save is in progress 2021-02-21 17:56:53 -07:00
260c49d8d5 Fix PersistentTree logging to append 2021-02-21 17:29:02 -07:00
31e81f31b4 Fix URI logging in ViewModel 2021-02-21 17:14:02 -07:00
14dc55433a Use Timber for logging 2021-02-21 14:18:37 -07:00
96e7b7c6b3 Fix potential memory leak in ReviewHelper
There was a static reference to the currentActivity that was unnecessary
2021-02-21 14:18:36 -07:00
eb756e8525 Remove manual CoroutineScope implementations 2021-02-21 14:18:36 -07:00
b056e779e0 Grant WRITE_EXTERNAL_STORAGE permission for UI tests
The absence of this was causing the tests to fail on Firebase.
2021-02-20 22:23:58 -07:00
67bf1626a0 Run UI tests on API 29
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
2021-02-20 22:01:43 -07:00
027ae86953 Add flank/fladle to run UI tests 2021-02-20 21:07:16 -07:00
ed57785d0a Migrate autosave logic to viewmodel and fix failing UI tests 2021-02-20 20:35:28 -07:00
f2ed687b02 Update openApp test to use launch intent programmatically
Trying to go through the launcher was a bit too buggy and flaky. In the end, this should produce basically the same result.
2021-02-20 20:00:08 -07:00
6937cc7406 Bump dependency versions 2021-02-20 19:59:06 -07:00
72c2fb5719 Fix proguard rules for Crashlytics 2020-10-13 19:54:51 -07:00
84db6b3d80 Fix (yet another) potential issue with autosave overwriting files 2020-10-08 09:20:57 -07:00
2059d54b3b Bump version for release 2020-10-05 21:05:16 -07:00
0e7cdfa2b5 Fix an issue with deleting changes upon device rotation 2020-10-05 20:43:56 -07:00
1affb7069a (Hopefully) fix an issue with accidentally overwriting files with blank content upon 2020-09-22 13:40:56 -07:00
0ff5ccdbd6 Re-implement Crashlytics 2020-09-21 15:07:50 -07:00
f830657668 Bump version for release 2020-09-16 18:48:19 -07:00
ae673fc992 Fix navigation drawer handling on MainFragment 2020-09-16 18:46:51 -07:00
d854022691 Remove error handling entirely 2020-09-16 18:39:59 -07:00
c6728f1afa Add in-app reviews for play flavor
Signed-off-by: William Brawner <me@wbrawner.com>
2020-08-31 19:09:20 -07:00
76c45bb914 Bump dependency versions
Signed-off-by: William Brawner <me@wbrawner.com>
2020-08-31 19:09:20 -07:00
c16ed3cbbe Add some keyboard shortcuts 2020-08-23 05:02:36 -07:00
a1e114b162 Bump version for release
Signed-off-by: William Brawner <me@wbrawner.com>
2020-08-22 22:19:13 -07:00
fa11c7d070 Update gitignore files
Signed-off-by: William Brawner <me@wbrawner.com>
2020-08-22 22:18:06 -07:00
56f2efbb18 Fix losing data on screen rotation and weird behavior with loading files
Signed-off-by: William Brawner <me@wbrawner.com>
2020-08-22 22:16:37 -07:00
894fea4193 Add back samsung build flavor
This partially reverts commit 16185243

Signed-off-by: William Brawner <me@wbrawner.com>
2020-08-22 18:39:28 -07:00
baacef8f65 Update icon to use SVG for foreground instead of PNG
Signed-off-by: William Brawner <me@wbrawner.com>
2020-08-18 14:26:08 -07:00
8cf07491cf Re-implement ACRA
This reverts commit 0e70364c6e.

Signed-off-by: William Brawner <me@wbrawner.com>
2020-08-18 14:26:08 -07:00
0ff680d648 Fix issue with data loss upon device rotation 2020-07-09 21:25:43 -07:00
d9afb67d44 Convert (most) Activities to Fragments and use AndroidX navigation component
Signed-off-by: William Brawner <me@wbrawner.com>
2020-06-12 22:54:32 -07:00
a88eeb79e4 (Hopefully) fix crash due to accessing viewModel in fragment not attached to activity
Signed-off-by: William Brawner <me@wbrawner.com>
2020-06-11 21:00:05 -07:00
02363d9940 fixup! Use purple background for icon and different package suffix for debug builds
Signed-off-by: William Brawner <me@wbrawner.com>
2020-06-11 20:55:58 -07:00
367b91ed6d Move toolbar back to top of app
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>
2020-06-11 20:55:33 -07:00
e9dc70eed4 Use purple background for icon and different package suffix for debug builds
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>
2020-06-11 20:50:17 -07:00
9a0685a165 Implement freedom build flavors
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>
2020-06-10 11:46:05 -07:00
c3821fbfc9 fixup! Update dependencies
Signed-off-by: William Brawner <me@wbrawner.com>
2020-06-10 10:20:55 -07:00
d538111651 Update dependencies
Signed-off-by: William Brawner <me@wbrawner.com>
2020-06-10 10:18:49 -07:00
1cc0063b15 Replace Crashlytics with Sentry
Signed-off-by: William Brawner <me@wbrawner.com>
2020-06-10 10:16:53 -07:00
0e70364c6e Revert "Revert "Revert "Replace Crashlytics with ACRA"""
This reverts commit ab45f33e
2020-05-18 17:33:12 -07:00
b068a04dd4 Bump version for release
Signed-off-by: William Brawner <me@wbrawner.com>
2020-05-18 17:01:31 -07:00
2d01c427e1 Fix padding issue on editing view 2020-05-18 16:53:21 -07:00
7bb8b40c8f Mark editor as unimportant for autofill (should prevent related crashes) 2020-05-18 16:53:21 -07:00
ab45f33e38 Revert "Revert "Replace Crashlytics with ACRA""
This reverts commit 452f334d
2020-05-18 16:53:21 -07:00
551e1f1f57 Update dependencies
This includes a migration to Firebase Crashlytics with Google Analytics instead of Fabric Crashlytics which has been deprecated and is on the way out.
2020-04-20 16:13:49 -07:00
f01909eb83 Update dependencies 2020-04-19 21:19:28 -07:00
452f334dd1 Revert "Replace Crashlytics with ACRA"
This reverts commit 5c04dd0e8f.
2020-04-19 08:51:41 -07:00
5c04dd0e8f Replace Crashlytics with ACRA
Signed-off-by: William Brawner <me@wbrawner.com>
2020-04-19 08:51:32 -07:00
c01581dbd2 Update dependencies 2020-04-19 08:51:32 -07:00
Billy Brawner
c1a7efbadf Bump version for release 2020-04-08 07:59:50 -07:00
Billy Brawner
bcb045a70a Fix saving data to override any existing data in a file 2020-04-08 07:59:50 -07:00
Billy Brawner
c42223f796 Simplify loading/saving files to reduce bugs 2020-04-08 07:59:50 -07:00
Billy Brawner
21cd8d1324 Bump version number for release
Signed-off-by: Billy Brawner <billy@wbrawner.com>
2020-04-08 07:59:50 -07:00
Billy Brawner
ecf080388a Update Libraries file 2020-04-08 07:59:50 -07:00
Billy Brawner
d841fd0225 Fix various concurrency issues and simplify some logic throughout the app 2020-04-08 07:59:50 -07:00
Billy Brawner
810a334bb0 Minor updates for release
Signed-off-by: Billy Brawner <billy@wbrawner.com>
2020-04-08 07:59:50 -07:00
Billy Brawner
e08d03ef01 Fix dialog dismissal when returning from settings 2020-04-08 07:59:50 -07:00
Billy Brawner
d0736458b6 Split overflow menu into navigation menu
I also removed Dagger since it wasn't really being used, and fixed the CrashlyticsErrorHandler as I had previously imported the incorrect BuildConfig class.
2020-04-08 07:59:50 -07:00
Billy Brawner
070d580044 Add support page 2020-04-08 07:59:50 -07:00
Billy Brawner
5d61ccc4fb Use MaterialComponents theme 2020-04-08 07:59:50 -07:00
Billy Brawner
209c434f4e Update dependency versions 2020-04-08 07:59:50 -07:00
William 'Billy' Brawner
ef6810bf45 Make jacocoTestReport task not dependent on running UI tests 2020-04-08 07:59:50 -07:00
William 'Billy' Brawner
764c3fa72e Redo UI tests to cover basic markdown editing flows 2020-04-08 07:59:50 -07:00
William 'Billy' Brawner
112b776080 Add Save as... and improve preview/edit performance 2020-04-08 07:59:50 -07:00
Billy Brawner
04954b96f7 WIP: Migrate to ViewModel architecture
Signed-off-by: Billy Brawner <billy@wbrawner.com>
2020-04-08 07:59:50 -07:00
Billy Brawner
f03a91c1d3 Fix ReadabilityTest 2020-04-08 07:59:50 -07:00
Billy Brawner
278d78532b Convert ReadabilityTest to Kotlin 2020-04-08 07:59:50 -07:00
Billy Brawner
fe7da72ce5 Convert AutosaveTest to Kotlin 2020-04-08 07:59:50 -07:00
Billy Brawner
8ce43f74a8 Convert MainActivityTests to Kotlin 2020-04-08 07:59:50 -07:00
Billy Brawner
478034cf22 Delete MarkdownViewModel 2020-04-08 07:59:50 -07:00
Billy Brawner
50b494cef3 Convert AppModule to Kotlin 2020-04-08 07:59:50 -07:00
Billy Brawner
02069d8737 Convert AppComponent to Kotlin 2020-04-08 07:59:49 -07:00
Billy Brawner
927bdb9546 Convert DisableableViewPager to Kotlin 2020-04-08 07:59:49 -07:00
Billy Brawner
860407e5d0 Convert SafeListView to Kotlin 2020-04-08 07:59:49 -07:00
Billy Brawner
75ebd49aa5 Convert SettingsActivity to Kotlin 2020-04-08 07:59:49 -07:00
Billy Brawner
21c39ccc0f Remove ExampleInstrumentedTest 2020-04-08 07:59:49 -07:00
Billy Brawner
ed2b65583e Remove Utils 2020-04-08 07:59:49 -07:00
Billy Brawner
2284c20ab3 Remove Constants file 2020-04-08 07:59:49 -07:00
Billy Brawner
3fe3cdec68 Convert Sentence to Kotlin 2020-04-08 07:59:49 -07:00
Billy Brawner
787c044da6 Convert Readability to Kotlin 2020-04-08 07:59:49 -07:00
Billy Brawner
829dc11c12 Clean up much of the Kotlin usage and remove RxJava 2020-04-08 07:59:49 -07:00
Billy Brawner
e00d43f93c Convert MarkdownApplication to Kotlin 2020-04-08 07:59:49 -07:00
Billy Brawner
0b9eb26b4a Convert MarkdownPreviewView to Kotlin 2020-04-08 07:59:49 -07:00
Billy Brawner
2f60ed38aa Convert MarkdownEditView to Kotlin 2020-04-08 07:59:49 -07:00
Billy Brawner
c8547601e6 Convert SplashActivity to Kotlin 2020-04-08 07:59:49 -07:00
Billy Brawner
91a0e729db Fix MarkdownPresenterImpl Kotlin errors 2020-04-08 07:59:49 -07:00
Billy Brawner
b002881dc3 Convert MarkdownPresenterImpl to Kotlin 2020-04-08 07:59:49 -07:00
Billy Brawner
04e8bb1c03 Clean up MarkdownPresenter Kotlin changes 2020-04-08 07:59:49 -07:00
Billy Brawner
a927851a30 Convert MarkdownPresenter to Kotlin 2020-04-08 07:59:49 -07:00
Billy Brawner
a887a5b06a fixup! Clean up MarkdownFile Kotlin implementation 2020-04-08 07:59:49 -07:00