Commit Graph

3670 Commits

Author SHA1 Message Date
Danial Behzadi 31af6c3e0c Translated using Weblate (Persian)
Currently translated at 100.0% (610 of 610 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fa/
Translation: Tusky/Tusky
2023-07-29 12:53:03 +02:00
Konrad Pozniak 97713b06da
Always update the filter display, even when the list is empty (#3880)
Fixes #3839, https://github.com/tuskyapp/Tusky/issues/3525
2023-07-27 13:44:28 +02:00
Ihor Hordiichuk 500271d4b3 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/uk/
Translation: Tusky/Tusky
2023-07-27 13:07:46 +02:00
Konrad Pozniak ee711598c7
Cache locked state of connected accounts (#3790)
Small improvement to the behavior on bad/disconnected networks

Fixes https://github.com/tuskyapp/Tusky/issues/3773
2023-07-27 00:09:26 +02:00
Nik Clayton e852aa64a5
Show the throwable error message when an upload fails (#3838) 2023-07-26 23:36:29 +02:00
Nik Clayton 406152d5b9
Clear listeners, hide icons when appropriate (#3870)
Preferences are shown using view holders.

The previous code did not clear the listeners or hide the icons if
necessary.

The practical upshot of this was that if you had two or more slider
preferences, *and* they were situated more than a screen's height apart,
the viewholder from the first one would get reused.

And if the first one enabled icons then the second one would show them.
And clicking on the second one would also call the listeners for the
first one.
2023-07-26 17:00:08 +02:00
Sveinn í Felli 9824694b86 Translated using Weblate (Icelandic)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/is/
Translation: Tusky/Tusky
2023-07-24 21:48:21 +02:00
UlrichKu e4c2476f34
Retain text in search view when switching tabs before first search (#3540)
Fixes #3527
2023-07-19 11:40:08 +02:00
XoseM 1287614c2e Translated using Weblate (Galician)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: XoseM <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
2023-07-19 10:10:57 +02:00
Ümit Solmaz 9f6c86a880 Translated using Weblate (Turkish)
Currently translated at 99.8% (608 of 609 strings)

Co-authored-by: Ümit Solmaz <usnotv@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/tr/
Translation: Tusky/Tusky
2023-07-19 10:10:57 +02:00
Rhoslyn Prys 9ada8bad92 Translated using Weblate (Welsh)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: Rhoslyn Prys <post@meddal.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-07-19 10:10:57 +02:00
GunChleoc d500858b00 Translated using Weblate (Gaelic)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: GunChleoc <fios@foramnagaidhlig.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gd/
Translation: Tusky/Tusky
2023-07-19 10:10:57 +02:00
Konrad Pozniak f3e0ee56df
Check for empty trending response (#3853)
Fixes #3852
2023-07-19 09:39:07 +02:00
SpaceFox 9a7e456edf
Ensures AbsoluteTimeFormatterTest class is not locale-dependant (#3863)
As tests are run against locale JVM and test does not force
a locale to run, so some tests may fail due to a different result only
due to the locale of the JVM used.

Example here with test `same year formatting` in class
`AbsoluteTimeFormatterTest` line 30 on a French JVM. There may be other
lines to fail with other languages.

Fixes #3859
2023-07-19 08:50:41 +02:00
Levi Bard a75131246f
update rick roll domains (#3850) 2023-07-13 22:21:11 +02:00
Conny Duck 45e604a194 update rick roll domains 2023-07-13 22:07:03 +02:00
Nik Clayton b17d3a5042
Set statusView width/height to match_parent (#3844)
Fixes an issue where the view's width is only enough to wrap the image,
resulting in a very narrow view that obscures the text of the error.
2023-07-13 17:26:12 +02:00
Oliebol 1421d46797 Translated using Weblate (Dutch)
Currently translated at 96.5% (588 of 609 strings)

Co-authored-by: Oliebol <schrijfmedan@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/nl/
Translation: Tusky/Tusky
2023-07-12 12:54:46 +02:00
Hồ Nhất Duy 828f50d5c4 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: Hồ Nhất Duy <mastoduy@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
2023-07-12 12:54:46 +02:00
Nik Clayton 2a04edc69b
Set OldTargetApi to a warning (#3836)
`OldTargetApi` default behaviour is to warn
(https://googlesamples.github.io/android-custom-lint-rules/checks/OldTargetApi.md.html)

Set it back to that, so that CI runs on runners with newer versions of
the SDK installed do not fail.
2023-07-12 11:49:33 +02:00
Sotolf Flasskjegg f5ffe3cb52 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: Sotolf Flasskjegg <trym.karlsen@protonmail.ch>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/nb_NO/
Translation: Tusky/Tusky
2023-07-11 16:29:06 +02:00
Eric 1ed527ef02 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: Eric <alchemillatruth@purelymail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2023-07-11 16:29:06 +02:00
Danial Behzadi cc88e38123 Translated using Weblate (Persian)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fa/
Translation: Tusky/Tusky
2023-07-11 16:29:06 +02:00
Connyduck f53c1c60c6 Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: Connyduck <weblate@connyduck.at>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
2023-07-11 16:29:06 +02:00
XoseM 6f2b9db076 Translated using Weblate (Galician)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: XoseM <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
2023-07-11 16:29:06 +02:00
Hồ Nhất Duy 0b4a02a2a9 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: Hồ Nhất Duy <mastoduy@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
2023-07-11 16:29:06 +02:00
Goooler 060513508d
Migrate Glide compiler to KSP (#3791) 2023-07-11 15:34:14 +02:00
Nik Clayton bfc84e4b85
Prepare 23.0 (versionCode 113) (#3833) 2023-07-10 19:58:23 +02:00
Konrad Pozniak 0f18253ce2
Clarify that logging out deletes local data (#3832)
Fixes #3417
2023-07-10 12:10:22 +02:00
Nik Clayton 0d88f26bb3
Display the list's title in the array adapter (#3823)
Fixes #3819
2023-07-08 21:08:37 +02:00
Nik Clayton 201f2c757e
Prepare 23.0 beta 2 (versionCode 112) (#3817) 2023-07-07 22:13:19 +02:00
Nik Clayton 3406abcbb3 Translated using Weblate (Italian)
Currently translated at 99.1% (604 of 609 strings)

Co-authored-by: Nik Clayton <nik@ngo.org.uk>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/it/
Translation: Tusky/Tusky
2023-07-07 21:38:23 +02:00
Santiago Kozak 5019b47e0a Translated using Weblate (Spanish)
Currently translated at 99.3% (605 of 609 strings)

Co-authored-by: Santiago Kozak <kozaksantiago@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/es/
Translation: Tusky/Tusky
2023-07-07 21:38:23 +02:00
Sotolf Flasskjegg 8c0f1ef45d Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: Sotolf Flasskjegg <trym.karlsen@protonmail.ch>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/nb_NO/
Translation: Tusky/Tusky
2023-07-07 21:38:23 +02:00
TAKAHASHI Shuuji 6546672bb7 Translated using Weblate (Japanese)
Currently translated at 96.5% (588 of 609 strings)

Co-authored-by: TAKAHASHI Shuuji <shuuji3@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/ja/
Translation: Tusky/Tusky
2023-07-07 21:38:23 +02:00
Ümit Solmaz 3e2e5995e3 Translated using Weblate (Turkish)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: Ümit Solmaz <usnotv@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/tr/
Translation: Tusky/Tusky
2023-07-07 21:38:23 +02:00
Gera, Zoltan 6de49e5970 Translated using Weblate (Hungarian)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: Gera, Zoltan <gerazo@manioka.hu>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/hu/
Translation: Tusky/Tusky
2023-07-07 21:38:23 +02:00
Deleted User 255629af5a Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: Deleted User <noreply+289@weblate.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
2023-07-07 21:38:23 +02:00
GunChleoc 5664d3f20a Translated using Weblate (Gaelic)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: GunChleoc <fios@foramnagaidhlig.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gd/
Translation: Tusky/Tusky
2023-07-07 21:38:23 +02:00
Luna Jernberg 8b6182464e Translated using Weblate (Swedish)
Currently translated at 100.0% (609 of 609 strings)

Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/sv/
Translation: Tusky/Tusky
2023-07-07 21:38:23 +02:00
Manuel 58bb6ed403 Translated using Weblate (Italian)
Currently translated at 100.0% (604 of 604 strings)

Co-authored-by: Manuel <mannivuwiki@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/it/
Translation: Tusky/Tusky
2023-07-07 21:38:23 +02:00
Hồ Nhất Duy 518cf505d2 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (604 of 604 strings)

Co-authored-by: Hồ Nhất Duy <mastoduy@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
2023-07-07 21:38:23 +02:00
Eric 22c1589a62 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (604 of 604 strings)

Co-authored-by: Eric <alchemillatruth@purelymail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2023-07-07 21:38:23 +02:00
Oliebol a0fc40874b Translated using Weblate (Dutch)
Currently translated at 97.3% (588 of 604 strings)

Co-authored-by: Oliebol <schrijfmedan@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/nl/
Translation: Tusky/Tusky
2023-07-07 21:38:23 +02:00
Danial Behzadi 03887c9dea Translated using Weblate (Persian)
Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (604 of 604 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fa/
Translation: Tusky/Tusky
2023-07-07 21:38:23 +02:00
Nik Clayton 480d412e4c
Set default alt-text to media label when pasting images (#3800)
GBoard and other IME's support pasting images, which are converted to attachments.

Sometimes these have labels that describe the image. If present, set it as the default alt-text.

Fixes #3799
2023-07-07 18:50:19 +02:00
Nik Clayton c29a7dfe03
Convert lint "Typos" errors to warnings (#3811)
The typo database that lint uses may be incorrect, and it's unclear how to add or remove entries to it.
2023-07-07 17:14:57 +02:00
Konrad Pozniak c0cf5b2f0d
Fix caption dialog context menu background (#3787)
Fixes #3770, #3491
2023-07-07 15:10:15 +02:00
Nik Clayton 3c90f22b84
Fix ArrayIndexOutOfBoundsException (#3808)
Fixes https://github.com/tuskyapp/Tusky/issues/3807
2023-07-06 19:57:35 +02:00
Nik Clayton 121db1713d
Fix lint issues in AppDatabase.java (#3809) 2023-07-06 19:37:51 +02:00
Nik Clayton 961de796b7
Prepare 23.0 beta 1 (versionCode 111) (#3786) 2023-07-03 12:56:05 +02:00
Nik Clayton 25376170c2
Migrate "room" from "kapt" to "ksp" (#3777)
- Add ksp plugin
- Switch room to use ksp instead of kapt
- `ArrayList` -> `List` in a few places to fix errors about unbound generics
2023-06-29 18:37:46 +02:00
Nik Clayton 1f7a5f626d
Show notifications from workers (#3760)
Fix a crash where workers, in some conditions, should show a notification. These are sent to a dedicated channel with no importance.

Convert NotificationWorker to a CoroutineWorker and remove its use of `runBlocking`.

Fixes #3754
2023-06-29 18:37:27 +02:00
Nik Clayton 7fe4c9f317
Adjust list UX for platform consistency (#3142)
Most lists in the app use (explicitly or implicitly) platform metrics for dimensions, text size, colour, and so on, possibly via styles.

A few don't, inadvertently using the user's setting for status text size

Fix these, and simplify code where possible.

- Use android attributes for padding and height, for consistent UX.

- Remove explicit usage of app:tabTextAppearance, rely on the style.

- Remove ListSelectionAdapter and item_picker_list.xml, and adjust TabPreferenceActivity to use an ArrayAdapter with simple_list_item_1.xml

- Simplify item_followed_hashtag.xml, consistent with item_list.xml.

Fixes https://github.com/tuskyapp/Tusky/issues/3131
2023-06-29 18:36:19 +02:00
Nik Clayton fe7b1529df
Provide a preference to scale all UI text (#3248)
Font scaling is applied in addition to any scaling set in Android system preferences. So if the user set the Android font size to largest (a 1.3x increase) and then sets the preference to 120%, the total change is 1.56x.

Create SliderPreference to adjust the preference.

- Use Slider, which supports float values and step sizes > 1
- Display the selected value in the preference's summary
- Provide buttons to increment / decrement the value

Restart the activity if the preference changes so that the user sees the impact of the change immediately. Fix a bug in PreferencesActivity where the "EXTRA_RESTART_ON_BACK" intent was never processed. Fix this to ensure that other activities are restarted so the new font scale takes effect.

Implement the scaling in BaseActivity by overriding onAttachBaseContext, and providing a wrapped context with the font scaling applied.

Fixes https://github.com/tuskyapp/Tusky/issues/2982, https://github.com/tuskyapp/Tusky/issues/2461
2023-06-29 18:34:56 +02:00
Nik Clayton 153a9ad9c2
Simplify repeated code that shows errors (#3762)
Instead of repeating the same if/else check on the error type when setting up the background message, move this in to BackgroundMessageView.

Provide different `setup()` variants, including one that just takes a throwable and a handler, and figures out the correct drawables and error message.

Update and simplify call sites.
2023-06-19 23:49:20 +02:00
GunChleoc af7e883165 Translated using Weblate (Gaelic)
Currently translated at 100.0% (604 of 604 strings)

Co-authored-by: GunChleoc <fios@foramnagaidhlig.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gd/
Translation: Tusky/Tusky
2023-06-19 14:26:14 +02:00
XoseM 75d5f247c7 Translated using Weblate (Galician)
Currently translated at 100.0% (604 of 604 strings)

Co-authored-by: XoseM <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
2023-06-18 13:46:58 +02:00
Hồ Nhất Duy 7942d497b2 Translated using Weblate (Vietnamese)
Currently translated at 99.8% (603 of 604 strings)

Co-authored-by: Hồ Nhất Duy <mastoduy@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
2023-06-18 13:46:58 +02:00
Chaitanya eacdc40268 Translated using Weblate (Hindi)
Currently translated at 58.1% (351 of 604 strings)

Co-authored-by: Chaitanya <hellochaitanya@protonmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/hi/
Translation: Tusky/Tusky
2023-06-18 13:46:58 +02:00
Eric 4de9e1446b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (604 of 604 strings)

Co-authored-by: Eric <alchemillatruth@purelymail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2023-06-18 13:46:58 +02:00
junius 0273beb3bd Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (604 of 604 strings)

Co-authored-by: junius <fifteenkilos@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2023-06-18 13:46:58 +02:00
Quentí 7bbc4a9b00 Translated using Weblate (Occitan)
Currently translated at 100.0% (604 of 604 strings)

Co-authored-by: Quentí <quentinantonin@free.fr>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/oc/
Translation: Tusky/Tusky
2023-06-18 13:46:58 +02:00
GunChleoc 87a85fe875 Translated using Weblate (Gaelic)
Currently translated at 100.0% (603 of 603 strings)

Co-authored-by: GunChleoc <fios@foramnagaidhlig.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gd/
Translation: Tusky/Tusky
2023-06-18 13:46:58 +02:00
Oliebol 73ccc81764 Translated using Weblate (Dutch)
Currently translated at 97.3% (587 of 603 strings)

Co-authored-by: Oliebol <schrijfmedan@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/nl/
Translation: Tusky/Tusky
2023-06-18 13:46:58 +02:00
Danial Behzadi 7b344067a9 Translated using Weblate (Persian)
Currently translated at 100.0% (604 of 604 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (603 of 603 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fa/
Translation: Tusky/Tusky
2023-06-18 13:46:58 +02:00
Nik Clayton 100673aa9c
Handle status edit histories with < 2 entries (#3747)
This can happen if the edit history has not been propogated to the user's server.

If the edit history is missing then show an error with a link to the specifc Mastodon issue.

Fixes #3743
2023-06-15 19:59:30 +02:00
Konrad Pozniak 9fedb6d5b2
Fix trending tags being cut off (#3745)
Fixes https://github.com/tuskyapp/Tusky/issues/3742
2023-06-15 11:27:57 +02:00
Eric 885b54a683 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (603 of 603 strings)

Co-authored-by: Eric <alchemillatruth@purelymail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2023-06-15 11:27:03 +02:00
Oliebol cdb7194fec Translated using Weblate (Dutch)
Currently translated at 97.3% (587 of 603 strings)

Co-authored-by: Oliebol <schrijfmedan@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/nl/
Translation: Tusky/Tusky
2023-06-15 11:27:03 +02:00
L.Yo 0efd95b503 Translated using Weblate (Dutch)
Currently translated at 97.3% (587 of 603 strings)

Co-authored-by: L.Yo <pseudolyo@gmx.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/nl/
Translation: Tusky/Tusky
2023-06-15 11:27:03 +02:00
sk 30a2af70ea Translated using Weblate (Japanese)
Currently translated at 92.3% (556 of 602 strings)

Co-authored-by: sk <sk736b@protonmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/ja/
Translation: Tusky/Tusky
2023-06-15 11:27:03 +02:00
Prat 485a4c364e
Improve prompts when draft is empty (#3699)
When the user is closing the compose view,

    if it's new and empty, don't show a prompt.
    if it's an existing draft and now empty, ask if the user wants to delete it or continue editing. I don't think there is much value in saving an empty draft.
---------
2023-06-13 15:45:17 +02:00
Nik Clayton eedf6abf91
Catch missing classes in WorkerFactory (#3744)
When NotificationWorker was moved from ...components.notifications to
...worker.

Installing Tusky with this change doesn't remove any future periodic
jobs queued under the old class name. So when Class.forName() is
called the old class name is not found, and the exception is thrown.

Handle this the same way androidx.work.WorkerFactory does -- catch
the exception, log it, and return null.

Fixes #3740
2023-06-12 22:04:58 +02:00
Eric 5327c9f572 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (602 of 602 strings)

Co-authored-by: Eric <alchemillatruth@purelymail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2023-06-12 12:18:02 +02:00
Danial Behzadi ac49222d8c Translated using Weblate (Persian)
Currently translated at 100.0% (602 of 602 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fa/
Translation: Tusky/Tusky
2023-06-12 11:36:31 +02:00
Balázs Meskó 78f4954ee3 Translated using Weblate (Hungarian)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Balázs Meskó <mesko.balazs@fsf.hu>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/hu/
Translation: Tusky/Tusky
2023-06-12 11:36:31 +02:00
Konrad Pozniak 6e06e656b4
Make sure the active account is always correctly saved to database (#3720)
Fixes #3702
2023-06-11 20:24:26 +02:00
Konrad Pozniak 3698c72109
Correctly show non-square custom emojis (#3711)
Instead of forcing all emojis to be square, only the width is fixed now and the emoji scaled to fit.

Fixes #635
2023-06-11 20:06:34 +02:00
Nik Clayton 5755801e6f
Add a menu option to load the newest notifications (#3708)
- Create a flow with new items (arbitrary ints) when a reload from the top should happen
- Combine this flow with notificationFilter, so changes to either of them trigger a reload
- Provide a menu item in NotificationsFragment to initiate the reload
- Handle the action in the view model
2023-06-11 20:04:49 +02:00
Levi Bard 4cddd2c5e6
Add delete button to edit filter activity. (#3553)
Adds workaround for #3545
2023-06-11 19:59:26 +02:00
Nik Clayton 66a394245b
Remove ReplacementSpan, display diffs using CharacterStyle (#3431)
Remove the use of ReplacementSpan. It turns out this span type is incompatible with spans that occupy more than one line, and the result is that a longer diff can run off the end of the screen. The alternative means that the diff'd text doesn't have additional padding and rounded corners, but it's better than not being visible.

Display the most recent version of the status with larger text. Again, consistent with the thread view.

Display the avatar, name, and username of the poster in a pinned header at the top of the screen, instead of duplicating the information on every edit. This reduces the amount of redundant information on the screen.
2023-06-11 19:12:05 +02:00
Nik Clayton 84486c7f13
Ensure textview fields can be copy/pasted (#3707)
The Android libraries have a bug where a TextView can forget that it contains selectable text, can be pasted in to, etc.

See https://issuetracker.google.com/issues/37095917

Fix this with an extension method that toggles the selectable state to re-enable it, and use this on the profile fields when editing an account.

Fixes https://github.com/tuskyapp/Tusky/issues/3706
2023-06-11 18:39:48 +02:00
Nik Clayton 5fd532d69b
Notification tab cleanups (#3692)
- Use NO_POSITION instead of hardcoding 0.
- Don't set a state restoration policy, PagingDataAdapter already does that
- Return the closest item, not just the closest page, in getRefreshKey
2023-06-11 16:23:52 +02:00
Nik Clayton 327254d759
Remove android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small" (#3663)
It caused text size differences between the text in this view and all the other textviews in this layout.

It's not used in other layouts.

Fixes https://github.com/tuskyapp/Tusky/issues/3494
2023-06-11 15:50:34 +02:00
Nik Clayton 2a9ad92e55
Make AccountPreferenceDataStore injectable (#3653)
This will make tests that need it easier.

- Rename from AccountPreferenceHandler
- Inject its dependencies
- Create an injectable CoroutineScope it can use for launching coroutines
- Use it in AccountPreferences
2023-06-11 15:34:58 +02:00
João Alves fc3b3f76bf Translated using Weblate (Portuguese (Portugal))
Currently translated at 84.6% (509 of 601 strings)

Co-authored-by: João Alves <joao.2003.couto+weblate@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/pt_PT/
Translation: Tusky/Tusky
2023-06-11 15:14:11 +02:00
Hồ Nhất Duy ea064edddf Translated using Weblate (Vietnamese)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Hồ Nhất Duy <mastoduy@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
2023-06-11 15:14:11 +02:00
Nik Clayton 152ca710c9 Translated using Weblate (Persian)
Currently translated at 100.0% (601 of 601 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (601 of 601 strings)

Translated using Weblate (Icelandic)

Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Nik Clayton <nik@ngo.org.uk>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fa/
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/is/
Translation: Tusky/Tusky
2023-06-11 15:14:11 +02:00
Danial Behzadi 48c435d499 Translated using Weblate (Persian)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fa/
Translation: Tusky/Tusky
2023-06-11 15:14:11 +02:00
Quentí d131df06a4 Translated using Weblate (Occitan)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Quentí <quentinantonin@free.fr>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/oc/
Translation: Tusky/Tusky
2023-06-11 15:14:11 +02:00
Mārtiņš Bruņenieks c3229760c1 Translated using Weblate (Latvian)
Currently translated at 92.8% (558 of 601 strings)

Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/lv/
Translation: Tusky/Tusky
2023-06-11 15:14:11 +02:00
Sveinn í Felli 97b44228b7 Translated using Weblate (Icelandic)
Currently translated at 100.0% (601 of 601 strings)

Translated using Weblate (Icelandic)

Currently translated at 99.8% (600 of 601 strings)

Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/is/
Translation: Tusky/Tusky
2023-06-11 15:14:11 +02:00
Nik Clayton 8fec41c2ae
Send UI errors to a channel instead of a shared flow (#3652)
In the previous code any errors that occured *before* a subscriber was
listening to `uiError` would be dropped, so the user would be unware
of them.

By implementing as a channel these errors will be shown to the user,
with an opportunity to retry the operation or report the error.
2023-06-11 14:00:05 +02:00
Nik Clayton 5e8a63a046
Throttle UI actions instead of debouncing (#3651)
Introduce Flow<T>.throttleFirst(). In a flow this emits the first value,
and each value afterwards that is > some timeout after the previous
value.

This prevents accidental double-taps on UI elements from generating
multiple-actions.

The previous code used debounce(). That has a similar effect, but with
debounce() the code has to wait until after the timeout period has
elapsed before it can process the action, leading to an unnecessary
UI delay.

With throttleFirst a value is emitted immediately, there's no need
to wait. It's subsequent values that are potentially throttled.
2023-06-11 13:34:22 +02:00
Nik Clayton 4025ab35ff
Move cache pruning to a WorkManager worker (#3649)
- Extend what was `NotificationWorkerFactory` to `WorkerFactory`. This
  can construct arbitrary Workers as long as they provide their own
  Factory for construction.

  The per-Worker factory contains any injected components just for that
  worker type, keeping `WorkerFactory` clean.

- Move `NotificationWorkerFactory` to the new model.

- Implement `PruneCacheWorker`, and remove the code from
 `CachedTimelineViewModel`.

- Create the periodic worker in `TuskyApplication`, ensuring that the
  database is only pruned when the device is idle.
2023-06-11 13:17:30 +02:00
Konrad Pozniak 85b7caa887
Replace deprecated getParcelable* methods with compat versions (#3633) 2023-06-11 12:58:55 +02:00
Konrad Pozniak f23c0cc634
Refactor "trending hashtags" code (#3595)
- Fix codeformatting
- Add new refreshing state
- Disable LogConditional lint rule
- Update lint-baseline
2023-06-10 19:47:07 +02:00
Nik Clayton 071e00774e
Replace shortNumber() with formatNumber() (#3519)
formatNumber() was existing code to show numbers with suffixes like K, M, etc, so re-use that code and delete shortNumber().

Update the tests to (a) test formatNumber(), and (b) be parameterised.
2023-06-10 16:29:26 +02:00
Nik Clayton 039f18ce25
Prepare 22.0 (versionCode 110) (#3718) 2023-06-08 12:35:09 +02:00