Commit graph

290 commits

Author SHA1 Message Date
c2cc9fbd1c Add tests for MarkdownViewModel#load 2024-02-15 16:35:23 -07:00
ae5b13dfd0 Finish compose migration and remove unnecessary assets/code 2024-02-15 16:35:23 -07:00
493444aaab Implement Readability Highlighting in compose
This could still use some performance tweaks to make it run a bit better but at least it works
2024-02-15 16:35:23 -07:00
c7e54f21d9 Migrate some more to Jetpack Compose + Material3 2024-02-15 16:35:23 -07:00
643345493e Migrate to Jetpack Compose + Material3 2024-02-15 16:35:23 -07:00
8b7d83c6ae Fix UI tests 2023-12-15 19:54:40 -07:00
f69bf81630
Implement semi-automated releases
This still requires manually running the gradle task but the next step will be getting a GitHub workflow to perform the release whenever a new tag is pushed
2023-09-28 20:15:38 -06:00
fe2f36f06a Add support for themed icon 2023-03-28 06:34:40 -06:00
c5355d1565 Skip permissions checking for saving and loading files
At some point I refactored to an API that doesn't require any permissions at all but never removed the permissions check. This corrects that
2023-03-27 20:23:28 -06:00
13bfe236a3
Convert .gradle files to gradle.kts 2023-01-29 20:41:15 -07:00
b9bc147bde
Bump dependency versions 2023-01-29 20:10:53 -07:00
c54f6c00ac
Disable Plausible for debug builds 2023-01-27 18:15:01 -07:00
5fe4942d84
Bump AGP 2023-01-27 18:13:53 -07:00
b8bbd267c7 Track app build info in plausible 2022-11-03 09:15:52 -06:00
40e8326d14 Drop Samsung builds
I haven't updated the app in the Galaxy store for years anyways, and it probably doesn't have any active users.
2022-11-03 07:06:09 -06:00
b231a56c9a Fix tests 2022-11-03 06:57:18 -06:00
47dd47aa7e Use snapshot release of plausible-android 2022-11-03 06:10:54 -06:00
5af4d2028f Replace Firebase analytics with Plausible 2022-10-29 22:03:39 -06:00
6ac4c94937 Bump version for release 2022-10-23 23:48:54 -06:00
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