Not all Robolectric tests interact with activities, so lazy loading the activity can speed them up.
I benchmarked the impact with gradle-profiler. Each test run performed 6 warmup runs, and then 10 benchmarked runs with and without this change.
Without this change (all values rounded to nearest second):
Mean: 151
Median: 149
P75: 157
StdDev: 10
With this change:
Mean: 127
Median: 125
P75: 130
StdDev: 7
So a ~ 18% reduction in median and P75 times,
* 3204: Add an account based preference store
* 3204: (related) reformat a bit, add todo
* 3204: Use the preference data store for all three account settings
* 3204: Move event handling to account settings handler
* 3204: Correct includes
* 3204: Appease linter
* 3204: Appease linter again
* 3204: Add an account based preference store
* 3204: Use the preference data store for all three account settings
* 3204: Move event handling to account settings handler
* 3204: Correct includes
* 3204: Add general "preference upgrade loop stepper"; use it for removing obsolete account settings (in shared)
* 3204: Add missing spaces
* 3204: Key is non-nullable
* 3204: Upgrade to new settings migration code
* 3204: Remove (commented) DI code
* 3311: Add a zig-zag line to top and bottom of "load more"
* 3311: Remove unneeded extensions
* 3311: Use a simple gradient instead of zigzag line
* 3311: Use a simple gradient drawable (remove custom view)
* 3311: Remove gradient lines
* Ignore clicks outside the start/end of a line
`LinkMovementMethod` has a bug in its calculation of the clickable width of a span on a line. If the span is the last thing on the line the clickable area extends to the end of the view. So the user can tap what appears to be whitespace and open a link.
Previous code tried to fix this by adding a zero-width space after the link so that `LinkMovementMethod` wouldn't consider it empty. However the ZWS was selected by copy/paste operations, resulting in junk results if users tried to copy the link.
Fix this by subclassing `LinkMovementMethod` and fixing the click detection code to ignore clicks that are outside the bounds of the line that was clicked on.
Remove the code that adds the ZWS.
Fixes https://github.com/tuskyapp/Tusky/issues/1567
* Assume arguments are all non-null
* Use `object` for singleton
* getInstance as a one-liner
* Use an explicit SCHEMA_VERSION instead of BuildConfig.VERSION_CODE
Every nightly release has a new BuildConfig.VERSION_CODE, so the previous
code would not do the right thing.
Require the schema version to be explicitly set. While I'm here, provide
a clear set of guidelines as to what has to happen when the schema changes.
* Improve documentation links
* Update ViewVideoFragment.kt
Testing
- Open audio attachment: https://solarpunk.moe/@vv/109562659215759090
- Ensure media control UI and alt text is shown once playback starts
Fixes#3261
* Fix commit issue
* Fix spacing
* Make "Up" and "Overflow" menu icons more visible in AccountProfile
The toolbar in AccountProfile is transparent, so any profile image the user
has chosen is shown under it.
This makes the "Up" and "Overflow" menu icons also have transparent
backgrouns.
Consequently, they can be hard to spot, or possibly invisible, on backgrounds
that are very dark or very light.
Fix this by compositing the icons in a LayerDrawable, with a circular
background identical to the surface colour. This ensures they stand out
against the background image, and blend in when the user scrolls.
* Get and reuse the background drawable
* Apply a smidgen of transparency
Currently translated at 100.0% (566 of 566 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (564 of 564 strings)
Co-authored-by: Hồ Nhất Duy <mastoduy@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
Currently translated at 100.0% (566 of 566 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (564 of 564 strings)
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/uk/
Translation: Tusky/Tusky
Currently translated at 100.0% (566 of 566 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (564 of 564 strings)
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky