No description
Find a file
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
.github Leave comments on PRs with fixes for lint errors (#3224) 2023-08-23 22:49:44 +02:00
.idea Modernize a bit (#3171) 2023-02-04 19:58:53 +01:00
app Editing profile: No change warning on leave. (#3972) 2023-08-28 14:13:24 +02:00
assets update tusky_banner.xcf 2023-02-15 20:05:45 +01:00
doc Convert NotificationsFragment and related code to Kotlin, use the Paging library (#3159) 2023-03-10 20:12:33 +01:00
fastlane/metadata/android Translated using Weblate (Welsh) 2023-08-10 15:35:35 +02:00
gradle Update dependency org.mockito.kotlin:mockito-kotlin to v5.1.0 (#3947) 2023-08-13 23:35:19 +02:00
.editorconfig Disable wildcard imports for Java and Kotlin files 2023-04-10 14:26:10 +02: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
bitrise.yml Revert "Enable gradle build cache for Bitrise builds" (#3920) 2023-08-24 13:01:03 +02:00
build.gradle Migrate to AGP 8.0.2 / Android Studio Flamingo / Java 17 (#3541) 2023-07-30 15:50:04 +02:00
CHANGELOG.md Prepare 23.0 (versionCode 113) (#3833) 2023-07-10 19:58:23 +02:00
CONTRIBUTING.md Update Contributing.md (#3303) 2023-02-14 21:09:06 +01:00
gradle.properties Kotlin 1.9.0 (#3835) 2023-08-02 09:04:24 +02:00
gradlew chore(deps): update dependency gradle to v8.1 (#3528) 2023-04-20 19:13:37 +02: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 delete "head of development" section from readme (#3636) 2023-05-17 20:35:01 +02:00
Release.md update release process (#3439) 2023-03-18 09:51:21 +01:00
renovate.json Kotlin 1.9.0 (#3835) 2023-08-02 09:04:24 +02: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.

Development chatroom

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