Commit graph

55 commits

Author SHA1 Message Date
Adam Brown
85c7913eba Strip dep info blob from fdroid builds 2026-06-22 02:08:29 -07:00
Adam Brown
a2998adcba
Re-enable public-storage projects on F-Droid builds (#568)
Restores the "store projects in public storage" feature, gated to F-Droid builds (the required MANAGE_EXTERNAL_STORAGE permission is disallowed on Google Play).

- Expose the build channel at runtime via BuildConfig.FDROID in the common module.
- Declare the storage permissions only in src/fdroid/AndroidManifest.xml, swapped in for F-Droid builds.
- Restore the storage-location toggle + file-access UI, gated on BuildConfig.FDROID; reconcile the toggle with the real location on open.
- Build the GitHub release APK as the F-Droid flavor.
- Extract the directory move into a tested FileSystem.moveDirectory() helper (fixes the same-path data-loss crash; runs off the UI thread).
- Read the fdroid flag consistently across settings.gradle.kts and module scripts.
- Document the F-Droid build flag in DEVELOPMENT.md.
2026-06-07 19:16:42 -07:00
Adam Brown
da516e1772
Android e2e UI test harness (on-device project lifecycle) (#516)
ProjectLifecycleTest launches the real ProjectSelectActivity, creates a project,
waits for it to appear in the list, and confirms opening it launches
ProjectRootActivity (via ActivityMonitor). Cleans up in @After.

- Wire jetbrains-compose ui-test-junit4 into the androidTest source set.
- Tag the create-project affordance (CreateProjectButtonTestTag); "Create
  Project" otherwise appears as three separate on-screen texts.
- Run the instrumented suite on an emulator in CI (android-emulator-runner) with
  AVD snapshot caching.
- Convert HashTest from JUnit Jupiter to JUnit4 so the AndroidJUnit4 runner can
  execute it on-device (it had "no runnable methods" otherwise); use assertEquals
  since assert() is a no-op when assertions are disabled on a device. It now
  verifies EntityHasher's golden vector on Android ART.
- Fix a scope-close crash: getSceneBufferDirectory used a non-recursive
  createDirectory, so closing a project whose scenes/ dir is absent threw on the
  teardown path and crashed the process. Use createDirectories (matching its
  siblings) and order the test teardown so it doesn't delete the project mid-close.
2026-06-03 22:11:14 -07:00
Adam Brown
73185ee7b2
Compile the Android instrumented tests in CI (#518)
buildDebug never touched the androidTest source set, so a stale instrumented
test could - and did - rot unnoticed: HashTest stopped compiling after `tags`
was added to EntityHasher.hashNote.

- Add a :android:assembleDebugAndroidTest step: a fast, emulator-free gate that
  compiles + packages the androidTest source set on every PR.
- Fix the stale HashTest to match the current hashNote signature.
- Exclude the duplicate META-INF/LICENSE files the test deps ship so the
  androidTest APK packages.
2026-05-28 23:07:18 -07:00
Wavesonics
7664c1fe8d Upgrade to Gradle and AGP 9 2026-05-18 18:48:39 -07:00
Adam Brown
95361e7761
Fix android build 2026-05-17 13:45:19 -07:00
Adam Brown
456c38fb59
Restyle Add Note widget with editorial design 2026-05-12 00:11:00 -07:00
Adam Brown
2466ed509a Library updates 2025-12-20 13:46:36 -08:00
Adam Brown
bc9fdf0c6c Upgrading more libraries 2025-12-02 18:34:33 -08:00
Adam Brown
47e076ca28 android.defaults.buildfeatures.buildconfig is deprecated 2025-05-29 01:17:51 -07:00
Adam Brown
aba22b4920 Updated aboutLibraries data 2025-04-01 17:13:46 -07:00
Adam Brown
5e1b8f3840 Enable progaurd for Android 2024-11-01 20:35:12 -07:00
Adam Brown
a8818a0c2a Finished adding rename to client 2024-10-03 00:15:27 -07:00
Adam Brown
df108cf659 Adding rename Project API endpoint
Adding tests for it, and I upgraded to JUnit 5 at the same time
2024-10-02 21:23:43 -07:00
Adam Brown
4cf9736b73 Android clients can now use external data storage! 2024-09-04 00:09:15 -07:00
Adam Brown
f43f9b9392 Some more upgrades 2024-06-14 17:48:24 -07:00
Adam Brown
22178d2027 Upgrade to Kotlin 2.0 2024-05-26 13:44:36 -07:00
Adam Brown
07fc5c2a71
Decompose 3.0 upgrade (#263)
* Remove parcelize
2024-05-25 22:38:30 -08:00
Wavesonics
772b093d3c Calculate android version code 2024-01-25 23:44:55 -08:00
Adam Brown
e3860bb124 Wire up Android keep screen on 2024-01-13 22:13:21 -08:00
Wavesonics
51ac0afab0 Fix android build 2023-09-08 00:25:02 -07:00
Wavesonics
df4fce9079 Add Note widget overhaul
You can now configure the widget to always add to a particular story
2023-08-25 23:53:05 -07:00
Adam Brown
2a4e467309
Aboutlib (#45)
* Library UI now working
2023-08-21 20:55:05 -08:00
Wavesonics
39e1c857cc Drive JVM version from libs.versions.toml 2023-08-07 11:54:25 -07:00
Wavesonics
e35547650a Fix resources 2023-07-27 22:50:46 -07:00
Wavesonics
b4209fecc5 Move more versions to cataloge 2023-07-27 22:50:46 -07:00
Wavesonics
6bd949b96d Lots of progress on updating build files 2023-07-27 22:50:46 -07:00
Wavesonics
2446e6e8b8 Android Dev
Can now install debug alongside prod
2023-07-23 21:25:17 -07:00
Adam Brown
5ee38413e6 version catalogue
android versions
2023-07-16 22:45:03 -07:00
Adam Brown
55e7ecc4e8 version catalogue
plugins
2023-07-16 22:07:31 -07:00
Adam Brown
c573be3e19 version catalogue
jvm, app
2023-07-16 21:58:36 -07:00
Adam Brown
f01c02e23f version catalogue
kotlin plugins
2023-07-16 21:53:44 -07:00
Adam Brown
08132b0062 version catalogue
decompose, koin
2023-07-16 20:46:58 -07:00
Wavesonics
5abc84e08b Fixed AddNote widget 2023-06-27 18:18:37 -07:00
Adam Brown
ff70337ae8 Hasher tests
Just getting started
2023-05-10 00:41:32 -07:00
Wavesonics
8de3e0d0a9 Update Java to VERSION_17 2023-05-06 23:10:58 -07:00
Wavesonics
4dd016ae8f Better version number handling 2023-04-28 18:00:40 -07:00
Adam Brown
ef5667ace5 Prep for Google Play release 2023-04-24 17:55:05 -07:00
Adam Brown
8a06cc58a5 Added Github release action 2023-04-23 15:42:39 -07:00
Adam Brown
13271e0698 Added Android Add Note widget
Lots of work for setting up and tearing down Project Scope
2023-04-17 23:01:40 -07:00
Wavesonics
77082ba843 Enabled merged Kover report 2023-02-09 17:59:35 -08:00
Adam Brown
cfddd38fe7 Moved package name to gradle 2023-02-03 22:26:27 -08:00
Wavesonics
06dec5ef73 Tons of lib upgrades 2023-02-02 21:58:05 -08:00
Wavesonics
39d6e0d71b Android build is working again 2022-12-29 13:59:28 -08:00
Wavesonics
33f84e9893 Working on building Android 2022-12-29 13:15:06 -08:00
Adam Brown
44dff44544 A ton of reorg
Starting work on drafts
2022-11-09 22:06:33 -08:00
Adam Brown
ba80436e04 Added Global Settings
Projects directory is now driven from this config
2022-10-18 17:31:03 -07:00
Adam Brown
a3bd70ed08 Fixed Android 2022-08-17 17:12:13 -07:00
Adam Brown
1e668c35e4 Editor is sorta working! 2022-06-23 17:39:00 -07:00
Adam Brown
75e5f9adca Serialization is compiling in now 2022-06-15 21:03:53 -07:00