Tusky è un client Android per Mastodon. Mastodon è un social network federato ActivityPub. Ciò significa che nessuna singola entità controlla l'intera rete, piuttosto, come la posta elettronica, i volontari e le organizzazioni gestiscono i propri server. https://mastodon.it
Go to file
Christophe Beyls 65af26993b
Optimize I/O code using Okio (#4366)
This pull request takes advantage of the Okio library to simplify, fix
or improve performance of some I/O related code in Tusky.

- Return early or throw `FileNotFoundException` early in case
`contentResolver.openInputStream()` returns `null` instead of throwing
`NullPointerException` later. Change the signature of
`Closeable.closeQuietly()` to only accept a non-null `Closeable`.
- Reimplement `Uri.copyToFile()` using Okio. This takes advantage of the
built-in high-performance buffers of the library so a buffer doesn't
need to be allocated or managed manually. The new implementation also
makes sure that the input and output streams are always closed, as the
original code could in some cases return without properly closing a
stream.
- Reimplement `ProgressRequestBody` as `Uri.asRequestBody()` (adding to
the existing extension functions available in the Okio library to create
a `RequestBody`). The new implementation uses Okio's `Buffer` instead of
a manually managed byte array, which allows to avoid copying bytes from
one buffer to the next. The max number of bytes read at once was
increased from 2K to 8K to improve performance. Avoid division by zero
in case `contentLength` is `0`. Finally, this implementation now takes a
`Uri` as input instead of an `InputStream`, because a `RequestBody` must
be replayable in case Okio retries the request, and an `InputStream` can
only be used once.
2024-04-10 21:52:55 +02:00
.github provide more space for debug information in bug reports (#4318) 2024-03-11 17:18:52 +01:00
.idea Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
app Optimize I/O code using Okio (#4366) 2024-04-10 21:52:55 +02:00
assets update tusky_banner.xcf 2023-02-15 20:05:45 +01:00
doc clarify updating the download link in Release.md (#4197) 2023-12-28 13:28:18 +01:00
fastlane/metadata/android Translated using Weblate (German) 2024-03-26 16:48:23 +00:00
gradle chore(deps): update plugin google-ksp to v1.9.23-1.0.20 (#4359) 2024-04-05 12:01:38 +02:00
.editorconfig upgrade ktlint plugin to 12.0.3 (#4169) 2024-01-04 17:00:55 +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
CHANGELOG.md Update CHANGELOG.md 2023-12-27 19:30:49 +01:00
CONTRIBUTING.md Update contributing.md with payment policy link (#4037) 2023-09-26 20:17:18 +02:00
LICENSE.txt License change back to GPL 3 2017-04-09 20:12:31 -04:00
README.md Fix link to Matrix in README (#3995) 2023-09-03 16:02:08 +01:00
bitrise.yml fix building nightly on bitrise 2024-02-23 14:57:19 +01:00
build.gradle Use Java 21 (#4235) 2024-02-23 12:28:13 +01:00
gradle.properties Remove lint version overriding 2023-08-25 10:27:14 +08:00
gradlew Upgrade Gradle to 8.5 and Android Gradle Plugin to 8.2.1 (#4208) 2024-01-07 10:45:21 +01:00
gradlew.bat Update dependency gradle to v8.6 (#4271) 2024-02-23 14:41:10 +01:00
renovate.json Use Renovate recommended baseline (#3977) 2023-11-01 11:39:20 +01:00
settings.gradle Migrate to develocity plugin (#4356) 2024-04-04 19:25:25 +02:00

README.md

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.

Development chatroom

https://matrix.to/#/#Tusky:matrix.org