Commit Graph

4109 Commits

Author SHA1 Message Date
Luna Jernberg 9ebd484e24 Translated using Weblate (Swedish)
Currently translated at 100.0% (632 of 632 strings)

Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/sv/
Translation: Tusky/Tusky
2023-11-09 17:27:27 +00:00
Rhoslyn Prys 71e8f1e213 Translated using Weblate (Welsh)
Currently translated at 100.0% (632 of 632 strings)

Co-authored-by: Rhoslyn Prys <post@meddal.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-11-09 17:27:27 +00:00
XoseM 6942c7b9b6 Translated using Weblate (Galician)
Currently translated at 100.0% (632 of 632 strings)

Co-authored-by: XoseM <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
2023-11-09 17:27:27 +00:00
Hồ Nhất Duy 3952b99a88 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (632 of 632 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-11-09 17:27:27 +00:00
Konrad Pozniak de70f08066
make blockquotes pretty (#4091)
closes https://github.com/tuskyapp/Tusky/issues/1271

before:
<img
src="https://github.com/tuskyapp/Tusky/assets/10157047/bfb4dcab-a6a7-4373-acf2-337363d63908"
width="380"/>

after:
<img
src="https://github.com/tuskyapp/Tusky/assets/10157047/79d90c22-dfd6-44fa-a600-a0e13d992bfc"
width="380"/>
2023-11-01 09:22:48 +01:00
Konrad Pozniak 6773342b60
Support code blocks (#4090)
before
<img
src="https://github.com/tuskyapp/Tusky/assets/10157047/452b959f-7f97-4d04-a464-0dcf0bf56f79"
width="380"/>

after
<img
src="https://github.com/tuskyapp/Tusky/assets/10157047/0fb5b41c-dda3-4d46-878e-689d6ae51b0a"
width="380"/>
2023-11-01 09:22:23 +01:00
mcclure ede66c4eb8
Exoplayer: Increase space between rewind, pause, ffwd buttons (#4077)
I [posted our new video player layout] on Mastodon for comments and
multiple people said the buttons were too close together. I agree. I
added some space (I eyeballed it, I made it bigger until it felt too big
and then I narrowed it), I think we have now increased the space from
10dp to 25dp. I added the space by wrapping the buttons in
LinearLayouts, because they are <include>s and could theoretically
insert more than one button.

Concerns: If the "next"/"prev" buttons ever become active, the space
will not be correctly applied to those. We can fix that if it ever comes
up (we don't display those buttons). If people think the buttons should
be placed even further apart we can do this by just increasing the
number in styles.xml.

This is what it looks like now. See previous look and comparison with
23.0 in #4071

<img width=400
src="https://files.mastodon.social/media_attachments/files/111/293/547/524/867/101/original/91b83e1717111444.png">
2023-11-01 09:21:43 +01:00
XoseM f7b821acf1 Translated using Weblate (Galician)
Currently translated at 100.0% (632 of 632 strings)

Co-authored-by: XoseM <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
2023-11-01 04:45:00 +00:00
Ümit Solmaz c9bc6c3fdf Translated using Weblate (Turkish)
Currently translated at 100.0% (632 of 632 strings)

Co-authored-by: Ümit Solmaz <usnotv@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/tr/
Translation: Tusky/Tusky
2023-11-01 04:45:00 +00:00
Levi Bard 0301bed0ac
Fix showing filtered (warn) boosts in timelines (#4079) 2023-10-30 08:42:16 +01:00
Eric b870088050 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (632 of 632 strings)

Co-authored-by: Eric <ekhfcxwuvxqfdb@hldrive.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2023-10-30 04:45:00 +00:00
puf 685c51db53 Translated using Weblate (Welsh)
Currently translated at 100.0% (632 of 632 strings)

Co-authored-by: puf <puffinux@tutanota.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-10-30 04:45:00 +00:00
Levi Bard 55ed6841ff
Support "replies policy" for lists (#4072) 2023-10-26 11:21:04 +02:00
Weblate 99e16e9918 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/
Translation: Tusky/Tusky
2023-10-25 10:27:37 +00:00
Levi Bard 131ebabe85
Add support for v2/instance (#4062)
…with fallback to v1
2023-10-25 12:53:10 +02:00
Markus Unterwaditzer 6e6cf05d11
Remove garbage alt text from images attached via Gboard (#4068)
Steps to reproduce:

1. install Gboard

(https://play.google.com/store/apps/details?id=com.google.android.inputmethod.latin)

2. open a direct link to any image in Firefox
3. long-press the image to get a "Copy Image" dialogue (and copy the
   image)
4. compose a new post in Tusky
5. Gboard will suggest to paste the image from clipboard
6. paste image, see that when opening alt text editor, it is filled out
   with this garbage string

Why is this bad? It's not when I just fix the alt text. But it breaks
every mechanism that is supposed to remind me of adding alt text.

It's hard to argue that this is within scope of Tusky but I also don't
see it getting fixed in Gboard, so here we go.
2023-10-25 12:52:42 +02:00
UlrichKu 73ce9ffda5
4063: Make dialog size more stable (#4066)
Fixes: #4063

Switching from an AlertDialog to only a DialogFragment.

I didn't get the AlertDialog to be sized correctly.
It also opens now directly with the right (full screen) size. When the
imageView fails to load (i.e. with an audio file) it will be hidden.

This changes the button layout somewhat.

One observation: The placeholder text "... visually impaired..." is not
quite right as a description for an audio file is not intended for the
visually impaired. But I couldn't think of a better text just yet.


![grafik](https://github.com/tuskyapp/Tusky/assets/1618905/fd49d5bd-b86c-4659-abb9-f1776cbb2a55)
2023-10-25 11:59:59 +02:00
Weblate 85af732ec6 Added translation using Weblate (French (Belgium))
Added translation using Weblate (Telugu)

Added translation using Weblate (Punjabi)

Added translation using Weblate (Luxembourgish)

Added translation using Weblate (English (Australia))

Co-authored-by: Weblate <noreply@weblate.org>
2023-10-25 04:45:14 +00:00
puf eb849194e0 Translated using Weblate (Welsh)
Currently translated at 100.0% (629 of 629 strings)

Co-authored-by: puf <puffinux@tutanota.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-10-25 04:45:14 +00:00
mcc 98c3946ad9 Put semitransparent curtain back behind controls. This requires moving the stanza up in the file. 2023-10-24 12:32:26 -04:00
mcc 7590456dc1 Hide dark layer behind exoplayer controls 2023-10-23 17:15:47 -04:00
mcc 04ae4800ad Custom exo_player_control_view.xml file 2023-10-23 17:09:40 -04:00
UlrichKu b286255630
3532: Show badge on conversations tab on new conversations (#3890)
Fixes #3532

(Old PR, now closed: https://github.com/tuskyapp/Tusky/pull/3533)

Listens on new notifications and if a "direct mention" is detected a
badge (red dot) is shown on the conversations tab if present.

I am missing things like this a lot and also big accounts are unhappy
with the usability so far:
https://mastodon.social/@pallenberg/110129889996182814
2023-10-15 21:39:38 +02:00
Konrad Pozniak ff1c4a4b27
fix theme preference defaults (#4061)
closes #4060 

Also I noticed that we had the theme defaults twice in the code so I
refactored a bit so only one are still in there.
2023-10-14 14:20:20 +02:00
Lakoja 948d3b30cf 2512: Set style properly 2023-10-11 21:00:59 +02:00
Lakoja 7841209286 2512: Some in-vain efforts to fix wrong tab color 2023-10-11 19:48:21 +02:00
Weblate eb61ab4900 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/
Translation: Tusky/Tusky
2023-10-11 07:29:36 +00:00
UlrichKu 81a04c8977
2512: Allow more than 5 tabs (#4051)
Fixes #2512 


![grafik](https://github.com/tuskyapp/Tusky/assets/1618905/f8199d10-e26a-4f14-93c3-95cb890ea663)

Can add an arbitrary number of tabs.
Graphical behavior is unchanged for small numbers: the whole space if
filled with the tabs - they are enlarged if needed.

If there are more the mode switches to "scrollable".
This does not, however, look very differently (see screenshot with the
current tab scrolled out).

---------

Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
2023-10-11 09:54:01 +02:00
Ümit Solmaz a3081bff5a Translated using Weblate (Turkish)
Currently translated at 100.0% (630 of 630 strings)

Co-authored-by: Ümit Solmaz <usnotv@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/tr/
Translation: Tusky/Tusky
2023-10-11 07:08:57 +00:00
Deleted User 5ff70923b7 Translated using Weblate (German)
Currently translated at 100.0% (630 of 630 strings)

Co-authored-by: Deleted User <noreply+304@weblate.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
2023-10-11 07:08:57 +00:00
sanao 3f7480fb73
Displayed the date of each announcement. (#4041)
## Issue
Close #3967 

# What I did
- Displayed the date of each announcement.
  - Date is placed in the lower left corner of the Announcement
- Supported date format internationalization using
getBestDateTimePattern

# Screenshot
<image
src="https://github.com/tuskyapp/Tusky/assets/62137820/7c124183-1a13-4cae-8667-ff82ca99b60c"
width="500"/>

## Note
I am not good at English so I use machine translation a bit. So, you may
find my writing style a little strange...
2023-10-10 19:17:06 +02:00
Konrad Pozniak 150d3854bc
don't cut off names on profiles (#4052)
We cut them off everywhere but there should be at least one place where
one can read full display/usernames

closes #4000 

<img
src="https://github.com/tuskyapp/Tusky/assets/10157047/21d22eb3-a6fc-4397-bdd0-551a3cce12d5"
width="400"/>
2023-10-09 15:43:02 +02:00
Salif Mehmed ef3bd4f919 Translated using Weblate (Bulgarian)
Currently translated at 87.4% (551 of 630 strings)

Co-authored-by: Salif Mehmed <mail@salif.eu>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/bg/
Translation: Tusky/Tusky
2023-10-07 15:40:54 +00:00
puf ab64525f4c Translated using Weblate (Welsh)
Currently translated at 99.8% (629 of 630 strings)

Co-authored-by: puf <puffinux@tutanota.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-10-07 15:40:54 +00:00
Rhys Wynne 7b0b3d8f0d Translated using Weblate (Welsh)
Currently translated at 99.8% (629 of 630 strings)

Co-authored-by: Rhys Wynne <rhysw1@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-10-07 15:40:54 +00:00
Konrad Pozniak 9412ffba0f
fix boost button not updating when boosting (#4048) 2023-10-07 08:59:36 +02:00
Rhoslyn Prys 99cbd3a8f6 Translated using Weblate (Welsh)
Currently translated at 99.8% (629 of 630 strings)

Co-authored-by: Rhoslyn Prys <post@meddal.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-10-04 11:40:54 +00:00
Weblate 0efe314279 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/
Translation: Tusky/Tusky
2023-10-04 11:40:54 +00:00
Levi Bard 1badf68531
Refresh timelines when filters are added/edited/removed (#3552)
Fixes #3546
2023-09-28 20:01:44 +02:00
Konrad Pozniak 14d4934172
Fix weblate conflict (#4038)
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Oliebol <schrijfmedan@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Hồ Nhất Duy <mastoduy@gmail.com>
Co-authored-by: Manuel <mannivuwiki@gmail.com>
Co-authored-by: xzFantom <xzfantom@gmail.com>
Co-authored-by: Yusuke Matsubara <whym@whym.org>
Co-authored-by: XoseM <xosem@disroot.org>
Co-authored-by: Deleted User <noreply+143@weblate.org>
Co-authored-by: Salif Mehmed <mail@salif.eu>
Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Co-authored-by: ButterflyOfFire <butterflyoffire@protonmail.com>
2023-09-27 19:39:23 +02:00
UlrichKu 24985f0206
#3570: Also provide a "direct" back with the hardware button (#3571)
Fixes #3570
2023-09-27 08:56:09 +02:00
UlrichKu 2dc27bca2a
use link icon instead of emoji when showing hidden urls (#4031)
Looks way better imho. Also closes #4028.

Before vs After:


![Screenshot_20230924_163714](https://github.com/tuskyapp/Tusky/assets/10157047/5b0b745a-4574-4e37-988e-b04997ac55f1)


![Screenshot_20230924_162657](https://github.com/tuskyapp/Tusky/assets/10157047/58a3482f-6afb-4b10-9891-f7a86af7f2bf)
2023-09-26 21:46:05 +02:00
Levi Bard 2dceecb591
Fix build after logical conflict (#4036)
Ugh, I didn't notice that #3480 was affected by the notification
fragment rollback
2023-09-26 20:04:06 +02:00
Konrad Pozniak 54e92b2156
improve local status updates (#3480)
The idea here is: Everytime we get hold of a new version of a post, we
update everything about that post everywhere.
This makes the distincion between different event types unnecessary, as
everythng is just a `StatusChangedEvent`.
The main benefit is that posts should be up-to-date more often, which is
important considering there is now editing and #3413
2023-09-26 09:08:58 +02:00
Konrad Pozniak 5764c903e1
add role badges (#4029)
This adds support for the new Mastodon 4.2 role badges. Admins can
define if a role should be visible in the interface and then we get it
delivered by the Api on the `Account` object like this:
```
"roles": [
        {
              "id": "4",
              "name": "TEST",
              "color": "#ffee00"
        }
  ]
```

- keeps compatibility with older Mastodon version and non Mastodon
servers
- Took me a while, but I figured out a way to use the color and have it
look ok on all backgrounds (Mastodon itself ignores the color and just
always uses its brand color)
- falls back to Tusky blue in case no color is configured
- I adjusted the "Follows you" and "Bot" badges so they match the new
badge style
- In case the "Follows you" and "Bot" badges are visible at the same
time, "Follows you" gets its own line and "Bot" goes into the same line
as the role badge.
- Will work even with a lot of role badges (right now users can only
have 1 role at once though)
- Will work even when the badges federate (right now they don't)

<img
src="https://github.com/tuskyapp/Tusky/assets/10157047/24cbe889-ae46-408e-bfa0-cf3fd3c24f74"
width="320" />
2023-09-25 09:47:27 +02:00
UlrichKu 82bc48c3ae
Avoid crash on notification worker (#4025)
Not quite sure why/when this happens - every stack trace is not our
code, but I do get an ClassNotFoundException for Notification$Type with
the new reverted code.

The notification fetching (worker) then stops/crashes so I never get an
Android notification.

It might have something to do with
https://github.com/tuskyapp/Tusky/pull/3732 ?
2023-09-25 09:44:01 +02:00
Conny Duck 31ad946e1a use link icon instead of emoji when showing hidden urls 2023-09-24 16:28:53 +02:00
Angelo Suzuki fa80a0123a
Add "Trending posts" (statuses) feed (#4007)
Add "Trending posts" (statuses) feed.

This feed is a good source of interesting accounts to follow and,
personally, a sort of "Front page of the Fediverse".

Since #3908 and #3910 (which would provide a more thorough, albeit
complex, access to trending things) won't get merged, I'd like to
address this missing feed by simply adding another tab/feed.

~~If desired, I can move the second commit (fixing lint) to another
PR.~~

## Screenshots
### Tab
<img
src="https://github.com/tuskyapp/Tusky/assets/1063155/6a71a97e-673e-44c7-b67d-9b1df0bed4f5"
width=320 /> <img
src="https://github.com/tuskyapp/Tusky/assets/1063155/9bf60b23-d2f3-4dd8-8af6-e96647b02121"
width=320 />

### Activity
<img
src="https://github.com/tuskyapp/Tusky/assets/1063155/4e07dea3-d97f-42c6-8551-492a3116fcfa"
width=320 /> <img
src="https://github.com/tuskyapp/Tusky/assets/1063155/ad00a134-d622-43f4-8305-84cfa7fed706"
width=320 />
2023-09-14 22:37:41 +02:00
Mylloon bb1868fd67
Add system black theme (#3957)
Close #1222
2023-09-13 11:14:20 +02:00
UlrichKu f63c662275
Add the special appbar for the notifications again (#4022) 2023-09-13 09:21:08 +02:00
Levi Bard f99cb6d1d5
Fix lint warnings (#4019)
Clears the baseline of issues in our code, and resolves most of the
straightforward warnings from the report
2023-09-13 09:20:53 +02:00
Konrad Pozniak 7dfc8790c7
update minSdk to 24, cleanup code (#4014)
closes https://github.com/tuskyapp/Tusky/issues/2607
redo of https://github.com/tuskyapp/Tusky/pull/3593
2023-09-12 19:25:45 +02:00
Konrad Pozniak 0768dcd374
Cleanup unused resources (#4013)
redo of https://github.com/tuskyapp/Tusky/pull/3599
2023-09-12 18:11:06 +02:00
Levi Bard 8fb8fc8f02
Gradle 8.3 & AGP 8.1.1 (#3984) 2023-09-12 11:14:24 +02:00
Levi Bard c39769f6dd
Update Spanish translations (#4004)
Fix some typos and translations, hope it helps 👍🏻
2023-09-12 11:09:49 +02:00
Ümit Solmaz 210423da8b Translated using Weblate (Turkish)
Currently translated at 100.0% (628 of 628 strings)

Co-authored-by: Ümit Solmaz <usnotv@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/tr/
Translation: Tusky/Tusky
2023-09-12 08:14:09 +00:00
Sveinn í Felli 2ba0d60896 Translated using Weblate (Icelandic)
Currently translated at 100.0% (628 of 628 strings)

Translated using Weblate (Icelandic)

Currently translated at 99.6% (626 of 628 strings)

Translated using Weblate (Icelandic)

Currently translated at 96.6% (607 of 628 strings)

Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/is/
Translation: Tusky/Tusky
2023-09-12 08:14:09 +00:00
Ihor Hordiichuk e6481b5ac0 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (628 of 628 strings)

Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/uk/
Translation: Tusky/Tusky
2023-09-12 08:14:09 +00:00
Eduardo 38b060f933 Translated using Weblate (Portuguese (Brazil))
Currently translated at 89.1% (560 of 628 strings)

Co-authored-by: Eduardo <edu200399lim@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/pt_BR/
Translation: Tusky/Tusky
2023-09-12 08:14:09 +00:00
XoseM d313bedcbc Translated using Weblate (Galician)
Currently translated at 100.0% (628 of 628 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (626 of 626 strings)

Co-authored-by: XoseM <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
2023-09-12 08:14:09 +00:00
eira lindgren 8fbed6c864 Translated using Weblate (Swedish)
Currently translated at 99.6% (624 of 626 strings)

Co-authored-by: eira lindgren <newt@nonbinary.me>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/sv/
Translation: Tusky/Tusky
2023-09-12 08:14:09 +00:00
Hồ Nhất Duy 44875a0cbc Translated using Weblate (Vietnamese)
Currently translated at 100.0% (628 of 628 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (619 of 619 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-09-12 08:14:09 +00:00
Eric 120abbc63e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (628 of 628 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (619 of 619 strings)

Co-authored-by: Eric <alchemillatruth@purelymail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2023-09-12 08:14:09 +00:00
Oliebol 4266731bb0 Translated using Weblate (Dutch)
Currently translated at 97.4% (603 of 619 strings)

Co-authored-by: Oliebol <schrijfmedan@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/nl/
Translation: Tusky/Tusky
2023-09-12 08:14:09 +00:00
Manuel dc7ae0bce5 Translated using Weblate (Italian)
Currently translated at 100.0% (619 of 619 strings)

Co-authored-by: Manuel <mannivuwiki@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/it/
Translation: Tusky/Tusky
2023-09-12 08:14:09 +00:00
Danial Behzadi 1a032d2c70 Translated using Weblate (Persian)
Currently translated at 100.0% (628 of 628 strings)

Translated using Weblate (Persian)

Currently translated at 99.0% (620 of 626 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (619 of 619 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fa/
Translation: Tusky/Tusky
2023-09-12 08:14:09 +00:00
puf 6380163de0 Translated using Weblate (Welsh)
Currently translated at 100.0% (619 of 619 strings)

Co-authored-by: puf <puffinux@tutanota.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-09-12 08:14:09 +00:00
Levi Bard eaeb673e19
use PrefKeys everywhere (#4016) 2023-09-12 09:57:05 +02:00
Levi Bard 765ee605c2
upgrade glide to 4.16.0 (#4017)
They added some nullability annotations to their Java code, which is
nice but requires some changes in our Kotlin code.
closes #3975
2023-09-12 09:52:05 +02:00
Levi Bard a525cab52b
Rollback aggressive linting (#4003)
- Revise linting rules
  - Make lint failures opt-in (for the project) instead of opt-out
  - Reduce noise
- Add explicit errors for things we would ask somebody to change in a
code review
  - Update baseline to only include the new errors
  - Remove baseline autoupdate task since:
    - We want this to happen very rarely
    - The autoupdater also adds warnings
- Remove reviewdog github action (that autoadds lint comments to PRs)
2023-09-12 09:46:59 +02:00
Lakoja 3ad8588019 Remove unneeded code 2023-09-11 22:41:57 +02:00
Lakoja 4f865ec95f Add a bunch of "old" methods to be able to still use java code 2023-09-11 22:19:34 +02:00
Lakoja 4af160853d Remove unneeded code 2023-09-11 21:58:56 +02:00
Conny Duck 42c033c5ae upgrade glide to 4.16.0 2023-09-11 19:29:50 +02:00
Conny Duck af5ec068e8 use PrefKeys everywhere 2023-09-11 19:12:33 +02:00
Lakoja add62129f8 Resets the paging3 changes of 3159 back to the (java) fragment code before.
Should be the basis for further not-so-rattling improvements.
2023-09-09 21:29:24 +02:00
Levi Bard 40d771d60f
Kotlin - Enable trailing comma (#3959)
Trailing commas on Kotlin sources [has many
advantages](https://pinterest.github.io/ktlint/0.49.0/rules/standard/#trailing-comma-on-call-site):
- It makes version-control diffs cleaner – as all the focus is on the
changed value.
- It makes it easy to add and reorder elements – there is no need to add
or delete the comma if you manipulate elements.
- It simplifies code generation, for example, for object initializers.
The last element can also have a comma.

This PR doesn't go as far as require it, but tweaks KtLint to at least
allow it.

The two `.kt` files prove that the KtLint rules have been properly
disabled.
2023-09-08 09:17:50 +02:00
Elena.NET 54be828d6c
Update Spanish translations 2023-09-07 17:20:55 +02:00
Tak! 1e553ebd8a Remove newLintBaseline task since we only want errors in the baseline 2023-09-07 14:20:30 +02:00
Tak! 26d963dda9 Make linting failures opt-in instead of opt-out 2023-09-07 14:20:30 +02:00
Tak! a96460cb16 Merge branch 'develop' into refactor_instancemute 2023-09-06 08:55:34 +02:00
Levi Bard b0150212c3
3891 better hashtag filtering (#3893)
Fixes #3891 (the first two observerations; the rest is either ok or has
another issue)
2023-09-05 09:35:33 +02:00
Levi Bard 5f0f4b82b9
3530: Provide a help text on the empty conversations view (#3531)
Fixes #3530
2023-09-05 09:34:50 +02:00
Levi Bard 7016fa3abc
don't crash on unexpected json responses (#3635) 2023-09-05 09:34:20 +02:00
Levi Bard 02404564e0
Detect Bookwyrm URL formats (#3936)
While helping test an issue with
[Bookwyrm](https://github.com/bookwyrm-social/bookwyrm) I noticed that
the URL formats used by that project aren't checked as possible profile
or post links. They're quite close to a couple of others, so I just
copied close examples and edited a couple of terms.

It's pretty minor, I just used a previous commit as a reference. Let me
know if it needs anything more though. I've only quickly tested it on a
local build with a couple of links against a live Bookwyrm and it picks
them up as expected now.
2023-09-05 09:33:51 +02:00
Conny Duck ee4f6f4b7f fix links sometimes being underlined 2023-08-30 18:49:59 +02:00
Goooler 1e9bb3a980
Merge branch 'tuskyapp:develop' into agp811 2023-08-29 19:53:44 +08:00
Levi Bard 10a6b1616a
Editing profile: No change warning on leave. (#3972)
### Objective
* Prevent data loss when the user inadvertently hits back or wants to
leave the profile edition with unsaved changes.

### Description
* To limit the number of changes to the existing codebase, I merely
re-used the same method used by `save()` in the ViewModel to decide
whether to make a network request or simply return the profile as-is.
* ~A bit of code juggling around in the ViewModel and I was able to use
the logic for all the encoding of each profile field (Which is what the
ViewModel caches in memory).~ Thanks @Lakoja for improving this in the
VM.
* A couple of internal data classes used as helpers to move all the
fields around (now that they are no longer used in one single place)
were introduced.

### Potential Optimizations
* ~The profile encoding is done twice (once for checking, and then again
if the user has to actually save it). I'd say this is a negligible price
to pay, since the alternative would be to create a different set of
comparisons and/or keeping another profile in memory for the purpose of
comparison.~

### Visual Improvement
* I believe the Dialog is difficult to see, but it's being displayed
with Tusky's theme. Perhaps there's a better style to apply in this
case? (or maybe the edit profile activity shouldn't have the same
background color as dialogs?!)


### Issue
* #3486
2023-08-28 14:13:24 +02:00
Goooler 0b67be9932 Use configureEach 2023-08-25 10:22:32 +08:00
Goooler 268a689f3d Remove compileOptions 2023-08-25 10:21:47 +08:00
Mike Haynes 5764efa5d4
Allow the user to add a "bookmarks" tab (#3983)
Fixes #2368
2023-08-24 16:21:43 +02:00
Lakoja 70d86345a8 3891: Match (only) title for muting state 2023-08-24 15:00:52 +02:00
Martin Marconcini 387c3989d7
Apply PR suggestions:
* Remove dialog title and string
* Rename Data Class
* Use liveData.value directly when possible
2023-08-24 10:06:25 +02:00
Martin Marconcini 2d52ab9072
Merge branch 'develop' into prompt_to_save_before_leaving_changed_profile 2023-08-23 15:50:43 +02:00
Lakoja 45d2fa1570 3486: (Appease linter) 2023-08-23 15:06:08 +02:00
SpaceFox 85888ac238
Uses the system theme as default theme (#3813)
Set the "System Design" as the default theme.

This ensures that the app's initial behaviour respect's the user's system-wide theme choice, while still allowing the user to adjust it later.

This is only done for new installs of Tusky. If the user is upgrading from a previous release and they did not have an explicit theme set then the dark theme is used, and the UX does not change.
2023-08-23 15:04:24 +02:00
Weblate dd0cf9c366
Translations update from Weblate (#3971)
Translations update from [Weblate](https://weblate.tusky.app) for
[Tusky/Tusky](https://weblate.tusky.app/projects/tusky/tusky/).



Current translation status:

![Weblate translation
status](https://weblate.tusky.app/widgets/tusky/-/tusky/horizontal-auto.svg)

---------

Co-authored-by: ButterflyOfFire <butterflyoffire@protonmail.com>
Co-authored-by: puf <puffinux@tutanota.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Oliebol <schrijfmedan@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Hồ Nhất Duy <mastoduy@gmail.com>
Co-authored-by: XoseM <xosem@disroot.org>
Co-authored-by: Nik Clayton <nik@ngo.org.uk>
2023-08-22 22:23:07 +02:00
Lakoja 3a40274003 3486: Re-introduce separate check method to not need a synthetic accessor (lint error) 2023-08-22 21:17:22 +02:00
Nik Clayton f49b1cc744
Fix exception when updating summary notifications (#3976)
dc9e9f2aeb
modifed the code that fetched the value of EXTRA_NOTIFICATION_TYPE in an
intent, to use getSerializable().

However, the value was being placed in to the intent using putString().

This caused an exception when trying to update the summary notification,
so it would never update.

```
java.lang.ClassCastException: java.lang.String cannot be cast to com.keylesspalace.tusky.entity.Notification$Type
    at com.keylesspalace.tusky.components.notifications.NotificationHelper.updateSummaryNotifications(NotificationHelper.java:321)
    at com.keylesspalace.tusky.components.notifications.NotificationFetcher.fetchAndShow(NotificationFetcher.kt:87)
    at com.keylesspalace.tusky.components.notifications.NotificationFetcher$fetchAndShow$1.invokeSuspend(Unknown Source:14)
```

Fix this by placing the value in to the intent using putSerializable(),
to match how it will be fetched.
2023-08-22 18:22:45 +02:00
Lakoja ba50ff5686 3486: Separate diff and encoding 2023-08-22 16:12:03 +02:00
Lakoja f09f464667 3486: Rename stuff 2023-08-22 15:52:09 +02:00
Martin Marconcini 84915e6af5
Merge branch 'develop' into prompt_to_save_before_leaving_changed_profile 2023-08-22 13:06:27 +02:00
Martin Marconcini e56c0cb5a3
Avoid synthetic accessors. 2023-08-22 12:49:33 +02:00
Martin Marconcini 8edc8d6422
Make profileData internal so there's no synthetic accessor required. 2023-08-22 12:19:38 +02:00
Martin Marconcini c446d510e4
Fix lint double space. 2023-08-22 12:08:13 +02:00
Martin Marconcini 06239bb8a1
Fix synthetic accessor lint error. 2023-08-22 12:05:11 +02:00
Martin Marconcini 634f020ffa
Apply klint recommendations. 2023-08-19 17:57:25 +02:00
Martin Marconcini 461ec8d722
Prompt user before leaving edit profile when any field has been modified. 2023-08-19 17:36:00 +02:00
Nik Clayton 059352f471
Display notification filter/clear actions as menu items (#3877)
Previously the notification filter and clear actions were shown as
buttons in the UI, with a preference that determined whether they were
displayed.

Remove this preference, and display them as menu items.

- "Filter notifications" is shown as an icon, if possible
- "Clear notifications" is only ever shown as a menu item, to reduce the
chance the user inadvertently selects it

To ensure that the options menu appears correctly, remove the code that
creates a "fake" action bar, and adjust the layouts so that there are
three toolbars;

- mainToolbar -- displays the icons, and the current "location" (Home,
Notifications, etc)
- topNav -- displays the row of tabs at the top
- bottomNav -- displays the row of tabs at the bottom

Only one of them is set as the support action bar (depending on the
user's preferences). This provides the "show a logo" and "show the
options menu" functionality as standard, without needing to re-implement
as the previous code did.
2023-08-19 14:41:10 +02:00
Angelo Suzuki c7ffc6ad93
Hide option to mute own domain from account profile page (it is a no-op). (#3937)
Muting your own server domain is a no-op. Check for this case, and remove the "mute" menu item if true.

Fixes #3798
2023-08-19 14:17:04 +02:00
Nik Clayton b6102a755a
Rename "Trending" to "TrendingTags" or similar where necessary (#3906)
The "trending" functionality will expand to include trending links and
posts. But at the moment the "Trending" references in the code are
exclusively to hashtags.

Rename "Trending" to "TrendingTags" or similar everywhere necessary in
order to prepare for this.

This includes a database migration, as the identifier for the "Trending
tags" tab in the account preferences was changed from "Trending" to
"TrendingTags". The migration updates the stored value if necessary.
2023-08-19 12:54:35 +02:00
Konrad Pozniak dc9e9f2aeb
Improve account switching intents (#3732)
Before, intent creation was scattered across multiple sites, with account switching logic in both `ComposeActivity` and `MainActivity`.

Now, intents are only created in `MainActivity` Companion, and account switching only occurs in `MainActivity`

Fixes #3695
2023-08-19 12:31:47 +02:00
Martin Marconcini 85f0b1f320
Prompt the user before deleting a filter
Prevent users from accidentally deleting filters by prompting them to confirm.

Add an AlertDialog extension that converts AlertDialog callbacks to linear control flow.

Fixes #3736.
2023-08-17 22:26:46 +02:00
puf 22b7afb62d Translated using Weblate (Welsh)
Currently translated at 100.0% (617 of 617 strings)

Co-authored-by: puf <puffinux@tutanota.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-08-17 17:12:22 +02:00
Angelo Suzuki cf42b687e6 Kotlin - Enable trailing comma 2023-08-16 20:28:19 +02:00
Lakoja 35fd702472 3891: Remove unnecessary if (use "this.hashtag" consistently) 2023-08-15 09:09:59 +02:00
Lakoja 6bd1c234d2 3891: Change length to short consistently 2023-08-15 09:09:59 +02:00
Lakoja 96028c841a 3891: (use string templates) 2023-08-15 09:09:59 +02:00
Lakoja e5456b0197 3891: Directly start the edit filter activity 2023-08-15 09:09:59 +02:00
Lakoja a883ec71d5 3891: Only mute the actual hashtag (with #) 2023-08-15 09:09:58 +02:00
Lakoja b0a50f9f50 3891: Add feedback (snackbars) for hashtag actions 2023-08-15 09:09:58 +02:00
Ümit Solmaz 64264ead68 Translated using Weblate (Turkish)
Currently translated at 100.0% (617 of 617 strings)

Co-authored-by: Ümit Solmaz <usnotv@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/tr/
Translation: Tusky/Tusky
2023-08-14 12:00:59 +02:00
Hồ Nhất Duy 2e25431f40 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (617 of 617 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-08-14 12:00:59 +02:00
Nik Clayton 58521b3370
Remove unnecessary log message in CompositeWithOpaqueBackground (#3955) 2023-08-14 12:00:21 +02:00
Hồ Nhất Duy 1275a35ebf Translated using Weblate (Vietnamese)
Currently translated at 100.0% (617 of 617 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-08-13 23:35:59 +02:00
S. Lee 452e305464 Translated using Weblate (Korean)
Currently translated at 57.0% (352 of 617 strings)

Co-authored-by: S. Lee <ssharp0614@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/ko/
Translation: Tusky/Tusky
2023-08-13 23:35:59 +02:00
Eric 4cc97b1c5d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (617 of 617 strings)

Co-authored-by: Eric <alchemillatruth@purelymail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2023-08-13 23:35:59 +02:00
Oliebol bd141983f2 Translated using Weblate (Dutch)
Currently translated at 96.9% (598 of 617 strings)

Co-authored-by: Oliebol <schrijfmedan@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/nl/
Translation: Tusky/Tusky
2023-08-13 23:35:59 +02:00
Danial Behzadi 0592de0530 Translated using Weblate (Persian)
Currently translated at 100.0% (617 of 617 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fa/
Translation: Tusky/Tusky
2023-08-13 23:35:59 +02:00
puf 63848291b6 Translated using Weblate (Welsh)
Currently translated at 100.0% (617 of 617 strings)

Co-authored-by: puf <puffinux@tutanota.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-08-13 23:35:59 +02:00
Nik Clayton 8529f309ff
Migrate to androidx-media3 video player (#3857)
Behaviour is consistent with previous player except that:

- Swapping apps while a video is playing, and then returning to Tusky,
will keep the seek position in the video instead of returning to the
start
- The controls/media description can be shown by tapping anywhere, not
just on the video itself
- The media description is on-screen for the same duration as the player
controls (5 seconds here, 3 seconds in the previous code)
- The user has options to control the playback speed
- Rotating the device does not squash/stretch the video
- Show the media preview when playing audio-only files

Fixes https://github.com/tuskyapp/Tusky/issues/3329,
https://github.com/tuskyapp/Tusky/issues/3141,
https://github.com/tuskyapp/Tusky/issues/3126,
https://github.com/tuskyapp/Tusky/issues/2753,
https://github.com/tuskyapp/Tusky/issues/3508,
https://github.com/tuskyapp/Tusky/issues/3291

---------

Co-authored-by: mcc <andi.m.mcclure@gmail.com>
2023-08-10 19:31:55 +02:00
Nik Clayton 09d4f62004
Start/end the thread divider in the middle of the avatar (#3892)
Previously, the thread indicator would start at the top of the avatar
for the status at the start of the thread, and end at the top of the
avatar for the status at the end of the thread.

If these avatars were partially transparent the thread indicator could
either (a) poke out of the top of the avatar at the start of the thread,
(b) not properly connect with the avatar at the end of the thread, or
(c) both.

Partially fix this by making the divider start/stop in the middle of the
avatar. This assumes that this area will typically have opaque content,
even if some of the rest of the avatar is transparent. This is not
always true, but it's still better than the current behaviour.
2023-08-10 19:25:33 +02:00
GunChleoc b79adf3ba6 Translated using Weblate (Gaelic)
Currently translated at 100.0% (616 of 616 strings)

Co-authored-by: GunChleoc <fios@foramnagaidhlig.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gd/
Translation: Tusky/Tusky
2023-08-10 15:05:22 +02:00
Ihor Hordiichuk e719c38599 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (616 of 616 strings)

Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/uk/
Translation: Tusky/Tusky
2023-08-10 15:05:22 +02:00
puf a261450eb2 Translated using Weblate (Welsh)
Currently translated at 100.0% (616 of 616 strings)

Co-authored-by: puf <puffinux@tutanota.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-08-10 15:05:22 +02:00
Nik Clayton 4169dc34c0
Composite semi-transparent avatars over a solid background (#3874)
Avatars that are semi-transparent are a problem when viewing a thread,
as the line that connects different statuses in the same thread is drawn
underneath the avatar and is visible.

Fix this with a CompositeWithOpaqueBackground Glide transformation that:

1. Extracts the alpha channel from the avatar image
2. Converts the alpha to a 1bpp mask
3. Draws that mask on a new bitmap, with the appropriate background
colour
4. Draws the original bitmap on top of that

So any partially transparent areas of the original image are drawn over
a solid background colour, so anything drawn under them will not appear.
2023-08-08 23:09:59 +02:00
Angelo Suzuki bc310ca3fb
Add background to sensitive media button (#3939)
Using the same background and margin as the ALT button.

Fixes #3772
2023-08-08 23:08:35 +02:00
Hồ Nhất Duy 1f3904b139 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (616 of 616 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-08-08 17:33:39 +02:00
Ümit Solmaz 58738c48f0 Translated using Weblate (Turkish)
Currently translated at 100.0% (616 of 616 strings)

Co-authored-by: Ümit Solmaz <usnotv@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/tr/
Translation: Tusky/Tusky
2023-08-08 17:33:39 +02:00
Danial Behzadi d47f646fc2 Translated using Weblate (Persian)
Currently translated at 100.0% (616 of 616 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fa/
Translation: Tusky/Tusky
2023-08-08 17:33:39 +02:00
Deleted User 196b0949bd Translated using Weblate (German)
Currently translated at 100.0% (616 of 616 strings)

Co-authored-by: Deleted User <noreply+295@weblate.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
2023-08-08 17:33:39 +02:00
puf 55af7fc364 Translated using Weblate (Welsh)
Currently translated at 100.0% (616 of 616 strings)

Co-authored-by: puf <puffinux@tutanota.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-08-08 17:33:39 +02:00
Mike Barnes 5596e31769
Merge branch 'tuskyapp:develop' into bookwyrm-urls 2023-08-08 20:05:04 +10:00
Mike Barnes 83de22950d
Update LinkHelperTest.kt
Remove negative test for a URL that's invalid for Pleroma, but valid for Bookwyrm
2023-08-08 19:10:36 +10:00
Angelo Suzuki b88f1d810b
Make CW description selectable (#3926)
While the status text in the detailed layout was selectable, CW
description wasn't.

Fixes #3826.
2023-08-07 20:32:17 +02:00
Nik Clayton 791092ef13
Fix extra clicks on media tab (#3930)
If:

1. You're viewing an account's media tab
2. Some of the media was marked sensitivei
3. The `alwaysShowSensitiveMedia` setting was `true`

tapping on the image (once) would do nothing visible, because it was
treated as the "reveal sensitive media" tap. You had to tap on it a
second time to open it.

Fix this, by passing the preference value through to the relevant code.

---------

Co-authored-by: Tiga! <maxiinne@proton.me>
2023-08-07 19:30:56 +02:00
Nik Clayton 498c7646b0
Add `newLintBaseline` task (#3925)
Add a task to regenerate the lint baseline.
2023-08-07 19:30:21 +02:00
Nik Clayton 5d4c14aed9
Correct the calculations for choosing the earliest day to show in the calendar / selected day (#3923)
To determine the earliest day to show in the calendar, take the current
date/time, add the minimum scheduled seconds buffer (which may roll the
date/time over to the next day), and then clamp to the start of that
day. So it's either today (if the current time + minimum scheduled
seconds is less than midnight) or it's tomorrow.

When displaying the calendar work around a misfeature in Material Date
Picker. It accepts UTC seconds-since-epoch, but does not convert it to
the local time for display.

While I'm here, show the selected day in the time picker's title.

Fixes https://github.com/tuskyapp/Tusky/issues/3916
2023-08-07 19:30:08 +02:00
Mike Barnes e290df5499
Update LinkHelperTest.kt
Add test URLs for Bookwyrm
2023-08-07 19:43:03 +10:00
Mike Barnes 28fd9911b0
Update LinkHelper.kt
Add URL formats used by Bookwyrm
2023-08-07 19:39:54 +10:00
Lakoja 8de23d33b8 3530: Change (remove) quotes 2023-08-07 09:44:58 +02:00
Lakoja 7347ab96dd 3530: Hide help text if the message view is reconfigured (ie an error occurred). 2023-08-07 09:44:58 +02:00
Lakoja 0d1340781b 3530: Add help text for empty lists view. 2023-08-07 09:44:58 +02:00
Lakoja c9f59aace4 3530: Provide a help text on the empty conversations view 2023-08-07 09:44:58 +02:00
Nik Clayton 846289b8cc
Add support for setting a list's "exclusivity" option (#3932)
Fixes #3831
2023-08-06 20:29:34 +02:00
Mike Barnes 6766509977
Use case-insensitive checks when comparing account URLs in search (#3931)
Fixes #3929
2023-08-06 13:45:48 +02:00
Angelo Suzuki a84d7f56a0
Filters> Tabs: use checkbox instead of switch (#3927)
Nowhere else in the preferences are checkboxes used.

Also removed the now unused extension function.

Fixes #3535
2023-08-06 11:50:11 +02:00
Hồ Nhất Duy ef8afe02b6 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (616 of 616 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-08-06 11:48:49 +02:00
Eric bfe907f4f6 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (616 of 616 strings)

Co-authored-by: Eric <alchemillatruth@purelymail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2023-08-06 11:48:49 +02:00
Quentí 48a88dea9e Translated using Weblate (Occitan)
Currently translated at 99.0% (610 of 616 strings)

Co-authored-by: Quentí <quentinantonin@free.fr>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/oc/
Translation: Tusky/Tusky
2023-08-06 11:48:49 +02:00
Danial Behzadi 51370cc22f Translated using Weblate (Persian)
Currently translated at 100.0% (616 of 616 strings)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fa/
Translation: Tusky/Tusky
2023-08-06 11:48:49 +02:00
puf f3bbfa90fc Translated using Weblate (Welsh)
Currently translated at 100.0% (616 of 616 strings)

Co-authored-by: puf <puffinux@tutanota.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-08-06 11:48:49 +02:00
UlrichKu cb8a09d3f7
Officially rename error elephant to errorphant (#3922)
In honor of
https://strangeobject.space/@esther/109866090382540100
https://masto.ai/@mynotaurus/110826349670549779
2023-08-05 15:39:07 +02:00
Nik Clayton d5e2ce9608
Use colorPrimary for the "edit" schedule icon (#3917)
The "edit" icon when showing a scheduled status' time was grey, so it's
not obvious that this section is clickable.

Use colorPrimary, so it looks more like a button.
2023-08-04 13:37:31 +02:00
Nik Clayton f5b89f855f
Show the correct tab title when opening the activity (#3915)
The previous code used `notificationTabPosition`, which was never
changed, so always 0.

This meant that if you e.g., got to `MainActivity` by clicking on a
notification, and the notification tab was current, the title would
still show "Home".

Fix that by using the existing `position` variable which represents the
currently selected tab, and ensure the correct title is shown.

Fixes #3864.
2023-08-03 21:49:19 +02:00
Ümit Solmaz 79b637c97a Translated using Weblate (Turkish)
Currently translated at 100.0% (610 of 610 strings)

Co-authored-by: Ümit Solmaz <usnotv@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/tr/
Translation: Tusky/Tusky
2023-08-03 14:30:32 +02:00
puf 1f18f3e786 Translated using Weblate (Welsh)
Currently translated at 100.0% (610 of 610 strings)

Co-authored-by: puf <puffinux@tutanota.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-08-03 14:30:32 +02:00
Nik Clayton 9cda091d03
Show additional bug report info in AboutActivity (#3802)
Make it easier for people to find information we need for a bug report,
and show it on AboutActivity.

New info is:

- Device manufacturer (e.g., "Google") and model (e.g., "Pixel 4a (5G)")
- Android version (e.g., "13")
- SDK version (e.g., "33")
- Active account (e.g., "@Tusky@mastodon.social")
- Server's version (e.g., "4.1.2+nightly-20230627")

All info is copyable to make it easy to include in a bug report. A
button to copy the information is also shown.
2023-08-03 12:20:35 +02:00
Goooler 40bd95d752
Kotlin 1.9.0 (#3835)
Update to Kotlin 1.9.0 and migrate to newer language idioms.

- Remove unnecessary @OptIn for features migrated to mainstream
- Use `data object` where appropriate
- Use new enum `entries` property
2023-08-02 09:04:24 +02:00
Suguru Hirahara 5391b5f797 Translated using Weblate (Japanese)
Currently translated at 97.7% (596 of 610 strings)

Co-authored-by: Suguru Hirahara <marveled_whitcomb@hostux.ninja>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/ja/
Translation: Tusky/Tusky
2023-07-31 14:22:23 +02:00
Nik Clayton 79ee2dc32c
Fix image zoom / pan / scroll / swipe (#3894)
Migrate to touchimageview from photoview, and adjust the touch logic to correctly handle single finger drag, two finger pinch/stretch, flings, taps, and swipes.

As before, the features are:

- Single tap, show/hide controls and media description
- Double tap, zoom in/out
- Single finger drag up/down, scale/translate image, dismiss if scrolled too far
- Single finger drag left/right
  - When not zoomed, swipe to next image if multiple images present
- When zoomed, scroll to edge of image, then to next image if multiple images present
- Two finger pinch/zoom, zoom in/out on the image

Behaviour differences to previous code

1. Bug fix: The image can't get "stuck" when zoomed, and impossible to scroll
2. Bug fix: Pinching is not mis-interpreted as a fling, closing the image
3. Bug fix: The zoom state of images is not lost or misinterpreted when the user swipes through multiple images
4. Bug fix: Double-tap zooms all the way, instead of stopping
5. Tapping outside the image does not dismiss it, controls and description show/hide

Fixes https://github.com/tuskyapp/Tusky/issues/3562, https://github.com/tuskyapp/Tusky/issues/2297
2023-07-31 12:44:01 +02:00
Nik Clayton 30be3ce1f0
Use lint version 8.1.0 to fix erroneous warning about forEach (#3903)
Android lint was erroneously warning that the forEach construct in
Kotlin required API 24+, which is incorrect, see
https://issuetracker.google.com/issues/185418482.

Work around that by forcing the Android lint version to 8.1.0.

This triggered some additional checks, which have been ignored, and a
new baseline.
2023-07-30 21:45:43 +02:00
Nik Clayton 839d8bcc04
Migrate to AGP 8.0.2 / Android Studio Flamingo / Java 17 (#3541)
- Update AGP in version catalog to 8.0.2
- Set Java version to 17
- Enable non-final resource IDs
2023-07-30 15:50:04 +02:00
Connyduck 0f74a6b3dc Added translation using Weblate (Hebrew)
Co-authored-by: Connyduck <weblate@connyduck.at>
2023-07-30 15:30:24 +02:00
Yannis D b5bed897c6 Translated using Weblate (Greek)
Currently translated at 17.2% (105 of 610 strings)

Co-authored-by: Yannis D <i.doganos@tutamail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/el/
Translation: Tusky/Tusky
2023-07-29 12:53:03 +02:00
XoseM b58219f8cf Translated using Weblate (Galician)
Currently translated at 100.0% (610 of 610 strings)

Co-authored-by: XoseM <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
2023-07-29 12:53:03 +02:00
Hồ Nhất Duy fb94585a85 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (610 of 610 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-29 12:53:03 +02:00
Ihor Hordiichuk c4a7532ee5 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (610 of 610 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-29 12:53:03 +02:00
Eric 18dfc39bd1 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (610 of 610 strings)

Co-authored-by: Eric <alchemillatruth@purelymail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
2023-07-29 12:53:03 +02:00
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
Conny Duck f919252ede remove import wrongly added by auto refactoring 2023-07-05 20:43:24 +02:00
Conny Duck 1a849a7385 update lint-baseline.xml 2023-07-05 20:21:32 +02:00
Conny Duck c84815525f ui improvements 2023-07-05 20:11:12 +02:00
Conny Duck f8a6e0d8b8 introduce DomainBlocksRepository 2023-07-05 20:09:16 +02:00
Conny Duck 8e56b5429b introduce SnackbarEvent instead of DomainBlockEvent 2023-07-05 19:42:30 +02:00
Conny Duck 2393ff1e4d rename item_muted_domain to item_blocked_domain 2023-07-05 19:23:04 +02:00
Conny Duck 4670964362 rename module and classes to domainblocks 2023-07-04 19:41:36 +02:00
Conny Duck 626a8760ae refactor instance blocks to paging 2023-07-04 19:30:57 +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
Nik Clayton 3be1e1150a
Prepare 22.0 beta 7 (versionCode 109) (#3710) 2023-06-05 13:02:32 +02:00
Nik Clayton 01b3cb3a53
Fetch all outstanding Mastodon notifications when creating Android notifications (#3700)
* Fetch all outstanding Mastodon notifications when creating Android notifications

Previous code fetched the oldest page of unfetched Mastodon notifications.

If you had more than a page of Mastodon notifications you'd get Android notifications for that page, then ~ 15 minutes later Android notifications for the next page, and so on.

This code fetches all the outstanding notifications at once.

If this results in more than 40 total notifications the list is still trimmed so that a maximum of 40 Android notifications is displayed.

Fixes https://github.com/tuskyapp/Tusky/issues/3648

* Build the list using buildList
2023-06-01 19:31:30 +02:00
Nik Clayton 346dabffc5
Write notification account information to the correct account (#3697)
Don't use `accountManager.activeAccount` throughout the code.

Instead, get the active account once, and use that over the life of the viewmodel.

As shown in https://github.com/tuskyapp/Tusky/issues/3689#issuecomment-1567219338 the active account can change before the view model is destroyed, and if that happens account information for the account will be written to the wrong account.
2023-06-01 19:19:18 +02:00
Manuel 61374c5180 Translated using Weblate (Italian)
Currently translated at 93.5% (562 of 601 strings)

Co-authored-by: Manuel <mannivuwiki@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/it/
Translation: Tusky/Tusky
2023-05-29 23:35:34 +02:00
Nik Clayton 34de33220c
Don't overwrite the active account when composing from a notification (#3688)
Fix a bug where the active account can be overwritten.

1. Have two accounts logged in to Tusky, A and B
2. Open Tusky as account A
3. Send a DM to account B (doesn't have to be a DM, just anything that creates a notification for account B)
4. Restart Tusky so the Android notification for the DM is displayed immediately. You are still acting as account A.
5. Drag down the Android notification, you should see two options, "Quick reply" and "Compose"
6. Tap "Compose"
7. ComposeActivity will start. You are now acting as account B. Compose and send a reply
8. You'll be returned to the "Home" tab.

The UI will show you are still account A (i.e., it's account A's avatar at the top of the screen, if you have the "Show username in toolbars" option turned on it will be account A's username in the toolbar).

But you are now seeing the home timeline for account B.

Fix this.

ComposeViewModel
- Do not rely on the active account in sendStatus(), receive the account ID as a parameter

ComposeActivity
- Use either the account ID from the intent, or the current active account. **Do not** change the active account
- Pass the account ID to use in the sendStatus() call
2023-05-29 13:32:56 +02:00
Deleted User 8183ef29e4 Translated using Weblate (German)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Deleted User <noreply+280@weblate.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
2023-05-27 16:21:10 +02:00
Nik Clayton d5fdcc9578
Prepare 22.0 beta 6 (versionCode 108) (#3687) 2023-05-24 22:05:25 +02:00
Nik Clayton 57e79b3f00
Save and restore the user's reading position more frequently (#3685)
The previous code gets the user's reading position *once*, when the
viewmodel is created, and uses that whenever it needs to be restored.

This is a problem. Suppose the user is a few days behind on their
notifications, and opens the app.

The reading position is restored, as expected. They scroll up to start
reading newer notifications.

Then they change their notification filters. This causes the
notifications list to change, and when it does their reading position
is set back to what it was when they first switched to the Notifications
tab.

Fix this by:

NotificationsFragment:
- Save the reading position whenever the user stops scrolling.

NotificationsViewModel:
- Use the saved reading position whenever the list of notifications
  can change, not just when the view model is created.
2023-05-23 20:07:39 +02:00
Mārtiņš Bruņenieks 16eabc9d3c Translated using Weblate (Latvian)
Currently translated at 92.5% (556 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-05-22 17:22:46 +02:00
Gordot Forrot 01c7e2c860 Translated using Weblate (Spanish)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Gordot Forrot <grdofrro@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/es/
Translation: Tusky/Tusky
2023-05-22 17:22:46 +02:00
Andrés Blasco Arnáiz cd211fa157 Translated using Weblate (Spanish)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Andrés Blasco Arnáiz <andresbarnaiz@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/es/
Translation: Tusky/Tusky
2023-05-22 17:22:46 +02:00
Nik Clayton 867232ce88
Prepare 22.0 beta 5 (versionCode 107) (#3678) 2023-05-20 15:32:45 +02:00
Deleted User 931a09eab7 Translated using Weblate (German)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Deleted User <noreply+279@weblate.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
2023-05-20 10:18:17 +02:00
Hồ Nhất Duy 7343d3261c 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-05-20 10:18:17 +02:00
Nik Clayton d644f6e6f3
Save the a copy of the notification marker ID locally (#3672)
Not all servers support the marker API. If they don't the user will
potentially get duplicate Android notifications.

To resolve this, store a copy of the notification marker ID locally as
well. Defer to the remote marker if it exists (and is newer than the
local marker).

Fixes https://github.com/tuskyapp/Tusky/issues/3671
2023-05-18 23:23:42 +02:00
Quentí 7e6beb5b1f 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-05-17 20:35:54 +00:00
Deleted User 4723321764 Translated using Weblate (German)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Deleted User <noreply+278@weblate.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
2023-05-16 17:35:54 +00:00
Nik Clayton 252d1054ce
Prepare v22.0 beta 4 release (#3664) 2023-05-16 19:31:12 +02:00
Nik Clayton 158f9b83fb
updateMarkersWithAuth(): Require DOMAIN header (#3660)
Otherwise markers are updated for the wrong account.

Fixes https://github.com/tuskyapp/Tusky/issues/3658
2023-05-16 18:24:38 +02:00
Nik Clayton 92ba53a8c3
Compare notification IDs by length as well as value (#3657) 2023-05-15 23:11:14 +02:00
Nik Clayton 36ebb0e16c
Prepare v22.0 beta 3 release (#3656) 2023-05-15 14:19:54 +02:00
Hồ Nhất Duy 6749016d9c 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-05-14 15:35:54 +00:00
Nik Clayton 81b15e72f3
Only fetch and display a given notification once (#3626)
When fetching:

- Maintain a marker with the position of the newest fetched notification
- Use the marker to determine which notifications to fetch
- Fetch notifications with min_id to ensure that none are lost
- Update the marker as necessary
- Perform a one-time immediate fetch of notifications on startup

When creating notifications:

- Identify each notification with tag=${MastodonNotificationId}, id=${account.id}
- Remove activeNotifications field, it's no longer necessary
- Use the tag/id tuple to reliably identify existing notifications and avoid creating duplicates
- Cancelling notifications for an account must iterate over all the notifications, and individually remove the notifications that exist for that account.
- Limit notifications to a maximum of 40 (excluding summary notifications)
- Remove notifications (oldest first) to get under this limit
- Rate limit notification creation to 1 per second, so the OS won't drop them

Adjust the summary notification:

- Ensure the summary notification and the child notifications have the same group key
- Dismiss the summary notification if there is only one child notification

NotificationClearBroadcastReceiver is no longer needed, so remove it, and the need for deletePendingIntent.

Fixes #3625, #3539
2023-05-13 16:00:28 +02:00
Konrad Pozniak 74a00c0591
Make links in bios of follow request and follow notifications work (#3646)
* make links in bios of follow request and follow notifications work
* use ClickableSpanTextView to display account notes
2023-05-13 15:32:56 +02:00
Ihor Hordiichuk 82ff7e0b5c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/uk/
Translation: Tusky/Tusky
2023-05-13 02:35:54 +00:00
puf 7c294268de Translated using Weblate (Welsh)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: puf <puffinux@tutanota.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
2023-05-13 02:35:54 +00:00
Deleted User 6df8ccdc60 Translated using Weblate (German)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Deleted User <noreply+277@weblate.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
2023-05-11 11:20:19 +00:00
Nik Clayton c4b3b9c53f
Merge pull request #3574 from nailyk-weblate/weblate-tusky-tusky
Translations update from Weblate
2023-05-11 13:33:07 +02:00
Nik Clayton baac55b6f6
Update app/src/main/res/values-fr/strings.xml 2023-05-11 13:23:08 +02:00
Nik Clayton 69ce3af1b1
Add missing "one" plural string for FR / hint_describe_for_visually_impaired 2023-05-11 13:21:09 +02:00
Nik Clayton 7f8f04460c
Add entry for "or" to locales_config.xml and donottranslate.xml (#3584) 2023-05-11 12:54:51 +02:00
Nik Clayton b12e772a0b
FilterResult.status_matches is a List<String>? (#3634)
See https://github.com/mastodon/documentation/pull/1214
2023-05-09 17:56:48 +02:00
Deleted User 718a7b125d Translated using Weblate (German)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Deleted User <noreply+276@weblate.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
2023-05-09 15:44:10 +00:00
Paul Sanz 95fd4918c5 Translated using Weblate (Spanish)
Currently translated at 95.1% (572 of 601 strings)

Co-authored-by: Paul Sanz <registro@polkillas.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/es/
Translation: Tusky/Tusky
2023-05-09 15:44:10 +00:00
Hakan e4f766d447 Translated using Weblate (Turkish)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Hakan <hakanutku@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/tr/
Translation: Tusky/Tusky
2023-05-09 15:44:10 +00:00
GunChleoc 0fe45c5238 Translated using Weblate (Gaelic)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: GunChleoc <fios@foramnagaidhlig.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gd/
Translation: Tusky/Tusky
2023-05-09 15:44:10 +00:00
TAKAHASHI Shuuji d9b1abc90e Translated using Weblate (Japanese)
Currently translated at 92.5% (556 of 601 strings)

Co-authored-by: TAKAHASHI Shuuji <shuuji3@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/ja/
Translation: Tusky/Tusky
2023-05-09 15:44:10 +00:00
xzFantom 18a224c53b Translated using Weblate (Belarusian)
Currently translated at 98.0% (589 of 601 strings)

Translated using Weblate (Belarusian)

Currently translated at 95.0% (571 of 601 strings)

Co-authored-by: xzFantom <xzfantom@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/be/
Translation: Tusky/Tusky
2023-05-09 15:44:10 +00:00
Subham Jena be8be43bc4 Translated using Weblate (Odia)
Currently translated at 2.3% (14 of 601 strings)

Co-authored-by: Subham Jena <subhamjena8465@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/or/
Translation: Tusky/Tusky
2023-05-09 15:44:10 +00:00
codl 22b1a2c1e0 Translated using Weblate (French)
Currently translated at 100.0% (601 of 601 strings)

Translated using Weblate (French)

Currently translated at 97.8% (588 of 601 strings)

Translated using Weblate (French)

Currently translated at 89.5% (538 of 601 strings)

Translated using Weblate (French)

Currently translated at 79.5% (478 of 601 strings)

Co-authored-by: codl <codl@codl.fr>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fr/
Translation: Tusky/Tusky
2023-05-09 15:44:10 +00:00
Deleted User f7aaeedabf Translated using Weblate (German)
Currently translated at 100.0% (601 of 601 strings)

Co-authored-by: Deleted User <noreply+272@weblate.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
2023-05-09 15:44:10 +00:00
Connyduck 05850ec216 Added translation using Weblate (Odia)
Co-authored-by: Connyduck <weblate@connyduck.at>
2023-05-09 15:44:10 +00:00
Conny Duck b18193e6c3 add logging to NetworkTimelineRemoteMediator 2023-05-08 19:27:00 +02:00
Conny Duck 3ac78c82c9 don't crash on unexpected json responses 2023-05-08 19:24:57 +02:00
Nik Clayton 367240a612
Save the user's reading position in the home timeline (#3614)
- Add a field to AccountEntity to hold the reading position
- Provide a method to save in the viewmodel to save the position
- Save the position when TimelineFragment pauses

Does not restore the position yet.
2023-05-08 13:57:17 +02:00
Konrad Pozniak d2747811be
Fix crash in ViewThreadFragment.removeItem (#3622) 2023-05-05 12:03:42 +02:00
Nik Clayton 80774f35f8
Prepare v22.0 beta 2 release (#3611)
- Bump versionCode and versionName
- Create new fastlane changelog
- Update CHANGELOG.md
2023-05-04 16:01:00 +02:00
Nik Clayton 7ce5048752
Show the requester's bio in a "wants to follow you" notification (#3284) 2023-05-04 16:00:30 +02:00
UlrichKu 1040358f3c
Ensure text field has focus when reporting statuses 2023-05-04 14:53:27 +02:00
Nik Clayton c154aaa17d
Ignore LogConditional issues (#3615)
Logs are stripped in release builds, this is an unnecessary lint
2023-05-04 14:50:21 +02:00
Nik Clayton a7001eecb8
Use the tab's contentDescription as the toolbar title (#3609)
Previous code had an IndexOutOfBoundsException where tab.position could be larger than the tabs array.
2023-05-04 13:19:44 +02:00
Nik Clayton 4da758c1f7
Check for non-empty pages when falling back (#3603)
Requesting a non-existent notification ID will cause the fall-back requests to succeed but return empty lists which stops pagination.

Check for this, and in the worst case, fall back to returning the most recent notifications.
2023-05-04 13:19:28 +02:00
Konrad Pozniak 62b91664e9
Allow multiline polls (this time for real) (#3608) 2023-05-03 09:05:05 +02:00
Konrad Pozniak 5abd3dc9fe
fix reporting (#3607) 2023-05-02 18:20:02 +02:00
UlrichKu 5cac17b7a9
#3430: (fix) do not hide the anchor of the FAB (#3561)
On Account preferences > Filters

With the list hidden on an empty view the FAB is erroneouly placed on the top left of the screen.

(Introduced with #3430)
2023-04-30 21:51:36 +02:00
Nik Clayton 0a39ee7ded
Force a layout pass to ensure spans are measured correctly (#3600)
Fixes https://github.com/tuskyapp/Tusky/issues/3596
2023-04-30 21:50:52 +02:00
Konrad Pozniak 11cf93fa55
Remove unused class PairedList (#3602) 2023-04-30 21:49:05 +02:00
Nik Clayton ccab33dd0f
Add additional margin after the "X <performed an action>" view (#3597)
Add additional 6dp margin to the top of the username view, to provide more space after the "X <performed an action>" view, consistent with item_follow.xml.
2023-04-30 14:28:01 +02:00
Nik Clayton 03031e5716
Set initialLoadSize = pageSize (#3598)
The pageSize is large enough that there's no need for the default 3 x pageSize initialLoadSize value, and this improves performance.

Fixes https://github.com/tuskyapp/Tusky/issues/3578
2023-04-29 19:34:29 +02:00
Nik Clayton 152318ce85
Show filter title instead of filter keywords (#3589)
Avoid showing the user the things they have filtered on when showing a filter placeholder in a timeline.
2023-04-29 18:56:27 +02:00
Nik Clayton 5c28cba57d
Show 0/1/1+ for replies, even if show stats is off (#3590)
Fixes https://github.com/tuskyapp/Tusky/issues/3588
2023-04-29 16:49:04 +02:00
Konrad Pozniak a5578cf765
Check view is non-null before scrolling, fix crash in NotificationsFragment (#3594)
The posted message runs at the end of the message queue, by which time the view may no longer exist.
2023-04-29 16:39:49 +02:00
Nik Clayton 2f512705e8
Fix IndexOutOfBoundsException in onPause (#3581)
Use `getOrNull` instead of `get`, which was occasionally throwing IndexOutOfBoundsException.
2023-04-27 12:59:32 +02:00