Fork of Tusky to match Chinwag design and provide better visual accessibility. https://social.chinwag.org
Find a file
Nik Clayton 10f983c953
Ignore clicks outside the start/end of a line (#3380)
* Ignore clicks outside the start/end of a line

`LinkMovementMethod` has a bug in its calculation of the clickable width of a span on a line. If the span is the last thing on the line the clickable area extends to the end of the view. So the user can tap what appears to be whitespace and open a link.

Previous code tried to fix this by adding a zero-width space after the link so that `LinkMovementMethod` wouldn't consider it empty. However the ZWS was selected by copy/paste operations, resulting in junk results if users tried to copy the link.

Fix this by subclassing `LinkMovementMethod` and fixing the click detection code to ignore clicks that are outside the bounds of the line that was clicked on.

Remove the code that adds the ZWS.

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

* Assume arguments are all non-null

* Use `object` for singleton

* getInstance as a one-liner
2023-02-27 08:54:51 +01:00
.github Create FUNDING.yml 2019-05-23 19:24:51 +02:00
.idea Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
app Ignore clicks outside the start/end of a line (#3380) 2023-02-27 08:54:51 +01:00
assets update tusky_banner.xcf 2023-02-15 20:05:45 +01:00
fastlane/metadata/android Translated using Weblate (Galician) 2023-02-14 20:31:25 +00:00
gradle update Glide to 4.15.0 (#3384) 2023-02-27 08:54:26 +01:00
.editorconfig Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
.gitattributes Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
.gitignore Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
build.gradle Gradle 8.0.1 (#3338) 2023-02-25 20:59:39 +01:00
CONTRIBUTING.md Update Contributing.md (#3303) 2023-02-14 21:09:06 +01:00
gradle.properties Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
gradlew Gradle 8.0.1 (#3338) 2023-02-25 20:59:39 +01:00
gradlew.bat Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
ISSUE_TEMPLATE.md Create ISSUE_TEMPLATE.md 2018-03-10 16:43:34 +01:00
LICENSE.txt License change back to GPL 3 2017-04-09 20:12:31 -04:00
README.md Update Readme (#3304) 2023-02-14 21:09:16 +01:00
Release.md Create Release.md (#3200) 2023-01-24 20:23:15 +01:00
renovate.json Add renovate.json (#3263) 2023-02-20 19:55:09 +01:00
settings.gradle Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00

Translate - with Weblate OpenCollective Build Status

Tusky

Tusky is a beautiful Android client for Mastodon. Mastodon is an ActivityPub federated social network. That means no single entity controls the whole network, rather, like e-mail, volunteers and organisations operate their own independent servers, users from which can all interact with each other seamlessly.

Get it on F-Droid Get it on Google Play

Features

  • Material Design
  • Most Mastodon APIs implemented
  • Multi-Account support
  • Dark, light and black themes with the possibility to auto-switch based on the time of day
  • Drafts - compose posts and save them for later
  • Choose between different emoji styles
  • Optimized for all screen sizes
  • Completely open-source - no non-free dependencies like Google services

Testing

The nightly build containing the newest development code is available on Google Play.

Support

Check out our FAQs, your question may already be answered. If you have any bug reports, feature requests or questions please open an issue or send us a message at Tusky@mastodon.social!

Contributing

We always welcome new contributors! Please read our contribution guide to get started.

Head of development

This app was developed by Vavassor@mastodon.social. The current maintainer is ConnyDuck@chaos.social.

Development chatroom

https://riot.im/app/#/room/#Tusky:matrix.org