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 93e6b38d43
feat: Update activity transitions, prepare for predictive-back (#650)
Previous code used a single animation type (slide) when transitioning,
the transition was quite slow, and didn't behave appropriately if the
device was set to a RTL writing system.

In addition, handling the back affordance didn't work well with the new
"Predictive Back" feature in Android 14

(https://developer.android.com/guide/navigation/custom-back/predictive-back-gesture).

Fix this.

## Transitions

To update the transitions the `startActivityWithSlideInAnimation()`
implementation (and associated `finishWithoutSlideOutAnimation()`) have
been replaced.

There are three transitions; `default`, `slide`, and `explode`,
represented as an enum passed to the activity intent.

The `default` transition is the activity transition from Android 14,
from the Android open source project

(https://cs.android.com/android/platform/superproject/+/android-14.0.0_r18:frameworks/base/core/res/res/anim/;bpv=1).
This is used for most transitions.

The `slide` transition is the pre-existing slide transition, with a
shorter transition time so it feels more responsive, and an RTL
implementation. This is used when there is a strong spatial component to
the navigation, for example, when going from:

- a status to its thread
- a preference menu item to its subscreen
- a filter in a list to the "edit filter" screen
- viewing your profile to editing your profile

The `explode` transition is used when the state of the app changes
significantly, such as when switching accounts.

Activities are now started with `startActivityWithTransition()` which
sets the intent and prepares the transition. `BaseActivity` checks the
intent for the transition type and makes further changes to the
transition as necessary.

## Predictive back

"Predictive back" needs to know what the back button would do before the
user interacts with it with an `onBackPressedCallback` that is either
enabled or disabled. This required refactoring some code (particularly
in `ComposeActivity`) to gather data ahead of time and enable/disable
the callback appropriately.

## Fixed bugs

- Back button wasn't stepping back through the tabs in AccountActivity
- Modifying a filter and pressing back without saving wasn't prompting
the user to save the changes
- Writing a content warning and then hiding it would still count the
text of the content warning toward's the post's length

## Other cleanups

- Use `ViewCompat.setTransitionName()` instead of setting the
`transitionName` property
- Delete the unused `fade_in` and `fade_out` animations.
- Use androidx-activity 1.9.0 to get the latest predictive back support
library code
- Show validation errors when creating / editing filters
2024-04-26 23:18:30 +02:00
.github chore(deps): update ytanikin/prconventionalcommits action to v1.2.0 (#646) 2024-04-24 12:26:49 +02:00
.idea refactor: Transition from Tusky to Pachli 2023-09-05 13:33:37 +02:00
app feat: Update activity transitions, prepare for predictive-back (#650) 2024-04-26 23:18:30 +02:00
assets refactor: Remove unnecessary SVG metadata 2023-09-20 19:05:35 +02:00
build-logic build: Simplify build infrastructure for command line tools (#613) 2024-04-15 15:06:55 +02:00
checks refactor: Prefer System.currentTimeMillis() to Date().getTime() (#645) 2024-04-24 12:07:05 +02:00
core feat: Update activity transitions, prepare for predictive-back (#650) 2024-04-26 23:18:30 +02:00
docs docs: Update translation instructions with new modules (#398) 2024-01-30 16:40:43 +01:00
fastlane/metadata/android chore: Shrink changelog to < 500 characters 2024-03-28 12:08:35 +01:00
feature feat: Update activity transitions, prepare for predictive-back (#650) 2024-04-26 23:18:30 +02:00
gradle feat: Update activity transitions, prepare for predictive-back (#650) 2024-04-26 23:18:30 +02:00
licenses fix: Improve URL / tag / mention extraction when composing (#564) 2024-03-23 14:14:07 +01:00
plugins/markdown2resource fix(deps): update dependency org.jetbrains:markdown to v0.7.0 (#607) 2024-04-10 09:36:15 +02:00
tools build: Simplify build infrastructure for command line tools (#613) 2024-04-15 15:06:55 +02:00
.editorconfig fix: Improve parsing of Friendica (and other server) version formats (#376) 2024-01-23 20:27:25 +01:00
.gitattributes Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
.gitignore chore: Ignore any files in app/*/release (#527) 2024-03-14 12:32:13 +01:00
CHANGELOG.md chore: Prepare release 2.4.0 (versionCode 13) (#568) 2024-03-28 11:46:06 +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: Restructure README, link to screenshots (#596) 2024-04-05 16:44:52 +02:00
Release.md update release process (#3439) 2023-03-18 09:51:21 +01:00
SECURITY.md chore: Create SECURITY.md (#556) 2024-03-21 16:03:07 +01:00
build.gradle refactor: Break navigation dependency cycles with :core:navigation (#305) 2023-12-07 18:36:00 +01:00
crowdin.yml Update Crowdin configuration file 2024-01-30 12:29:47 +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.5 (#170) 2024-01-08 12:51:34 +01:00
gradlew.bat chore(deps): update dependency gradle to v8.6 (#411) 2024-02-03 15:05:43 +01:00
renovate.json chore: Adopt Renovate's "best-practices" configuration defaults (#547) 2024-03-21 12:49:39 +01: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 chore(deps): update plugin com.gradle.develocity to v3.17.2 (#639) 2024-04-23 22:27:15 +02:00

README.md

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.

Get it on Google Play Get it on F-Droid

Support

Contributing

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

Contributor Covenant Contributor License Agreement Translate - with Weblate

More information

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