Pachli è un client Android completo per Mastodon: La timeline viene memorizzata nella cache locale, in modo da poterla leggere anche quando si è offline Bozza dei post ora per finirli in un secondo momento Scrivere i post ora e programmarne l'invio in un secondo momento Leggere e pubblicare da più account Gestite chi seguite con più elenchi Utilizzare diversi temi per personalizzare l'interfaccia utente Una varietà di font accessibili in diverse dimensioni Pieno controllo su come e quando si ricevono le notifiche https://mastodon.it/it/Quale-app-mastodon-utilizzare
Go to file
Nik Clayton 1214cf7c8a
refactor: Break navigation dependency cycles with :core:navigation (#305)
The previous code generally started an activity by having the activity
provide a method in a companion object that returns the relevant intent,
possibly taking additional parameters that will be included in the
intent as extras.

E.g., if A wants to start B, B provides the method that returns the
intent that starts B.

This introduces a dependency between A and B.

This is worse if B also wants to start A.

For example, if A is `StatusListActivity` and B is`ViewThreadActivity`.
The user might click a status in `StatusListActivity` to view the
thread, starting `ViewThreadActivity`. But from the thread they might
click a hashtag to view the list of statuses with that hashtag. Now
`StatusListActivity` and `ViewThreadActivity` have a circular
dependency.

Even if that doesn't happen the dependency means that any changes to B
will trigger a rebuild of A, even if the changes to B are not relevant.

Break this dependency by adding a `:core:navigation` module with an
`app.pachli.core.navigation` package that contains `Intent` subclasses
that should be used instead. The `quadrant` plugin is used to generate
constants that can be used to launch activities by name instead of by
class, breaking the dependency chain.

The plugin uses the `Activity` names from the manifest, so when an
activity is moved in the future the constant will automatically update
to reflect the new package name.

If the activity's intent requires specific extras those are passed via
the constructor, with companion object methods to extract them from the
intent.

Using the intent classes from this package is enforced by a lint
`IntentDetector` which will warn if any intents are created using a
class literal.

See #291
2023-12-07 18:36:00 +01:00
.github chore(deps): update actions/setup-java action to v4 (#301) 2023-12-06 12:21:14 +01:00
.idea refactor: Transition from Tusky to Pachli 2023-09-05 13:33:37 +02:00
app refactor: Break navigation dependency cycles with :core:navigation (#305) 2023-12-07 18:36:00 +01:00
assets refactor: Remove unnecessary SVG metadata 2023-09-20 19:05:35 +02:00
build-logic refactor: Start creating core modules (#286) 2023-12-04 16:58:36 +01:00
checks refactor: Break navigation dependency cycles with :core:navigation (#305) 2023-12-07 18:36:00 +01:00
core refactor: Break navigation dependency cycles with :core:navigation (#305) 2023-12-07 18:36:00 +01:00
docs feat: Periodically check for updates and alert user (#236) 2023-11-08 08:42:39 +01:00
fastlane/metadata/android/en-US chore: Prepare release 2.0.0 (versionCode 8) (#277) 2023-11-23 12:53:58 +01:00
gradle refactor: Break navigation dependency cycles with :core:navigation (#305) 2023-12-07 18:36:00 +01:00
licenses feat: Allow the user to choose a different font 2023-09-04 20:22:07 +02:00
plugins/markdown2resource refactor: Start creating core modules (#286) 2023-12-04 16:58:36 +01:00
tools refactor: Start creating core modules (#286) 2023-12-04 16:58:36 +01:00
.editorconfig style: Require trailing comma, and break lines 2023-09-04 20:22:10 +02:00
.gitattributes Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
.gitignore chore: Update .gitignore for gradle-profiler (#176) 2023-10-15 22:18:13 +02:00
CHANGELOG.md chore: Prepare release 2.0.0 (versionCode 8) (#277) 2023-11-23 12:53:58 +01:00
CLA_ENTITY.md docs: Add contributor license agreements (#1) 2023-09-05 14:35:07 +02:00
CLA_IC.md docs: Add contributor license agreements (#1) 2023-09-05 14:35:07 +02:00
CODE_OF_CONDUCT.md docs: Adopt the Contributor Covenant Code of Conduct 2023-09-05 13:40:58 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md (#31) 2023-09-12 13:18:50 +02:00
COPYRIGHT.txt docs: Add COPYRIGHT.txt 2023-09-01 18:26:21 +02:00
LICENSE.txt License change back to GPL 3 2017-04-09 20:12:31 -04:00
PRIVACY.md docs: Be more specific about data in the privacy policy (#136) 2023-09-30 12:56:48 +02:00
README.md docs: Mention translation support in the documentation (#253) 2023-11-15 15:59:31 +01:00
Release.md update release process (#3439) 2023-03-18 09:51:21 +01:00
build.gradle refactor: Break navigation dependency cycles with :core:navigation (#305) 2023-12-07 18:36:00 +01:00
gradle.properties chore(deps): Update to AGP 8.1.1 (#130) 2023-09-27 18:06:14 +02:00
gradlew chore(deps): update dependency gradle to v8.3 (#110) 2023-09-27 15:03:20 +02:00
gradlew.bat Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
renovate.json Kotlin 1.9.0 (#3835) 2023-08-02 09:04:24 +02:00
runtools change: Add tools/mklanguages 2023-09-04 20:22:05 +02:00
runtools.bat change: Add tools/mklanguages 2023-09-04 20:22:05 +02:00
settings.gradle.kts refactor: Break navigation dependency cycles with :core:navigation (#305) 2023-12-07 18:36:00 +01:00

README.md

Contributor Covenant Contributor License Agreement Translate - with Weblate

Get it on Google Play Get it on F-Droid

Pachli

Pachli is a full-featured Android client for Mastodon, with a cooperative development model.

Features include:

  • Read, reply, filter, post, favourite, and boost posts
  • Translate posts from other languages
  • Your timeline is cached locally, so you can read when offline
  • Draft posts now to finish them later
  • Write posts now and schedule them to send later
  • Read and post from multiple accounts
  • Manage who you follow with multiple lists
  • Use different themes to customise the UI
  • A variety of accessible fonts in different sizes
  • Full control over how and when you receive notifications
  • Explore trending posts, links, and hashtags

Pachli is open source.

Install the newest release from the list of releases, or from Google Play and F-Droid.

Support

Contributing

We actively welcome new contributors. Please read CONTRIBUTING.md for more information.

More information

More information about the application and the principals underpinning its development are at https://pachli.app.