* First attachment crop attempt: Can crop in place, but does not delete/replace on server so has no effect
* Attachment crop feature works
* ktlint fixes on attachment crop patch
* Upgrade Android-Image-Cropper to 4.2.1
* An error message should be displayed if attachment cropping fails and it is not because the user intentionally cancelled.
* Remove 2 of the 3 "state passing" variables by using MediaUtils
* Cropper should use content uri (MIME type bearing) and setOutputCompressFormat so that PNGs reach the server safely.
* Change to crop requested by Conny: Store inflight cropImageItemOld in view model
* Change to crop requested by Conny: Sort cropImage with the other contracts
* ktlint fixes on attachment crop patch (again)
* make MastodonApi.createStatus suspending
* check if media processing has finished before sending status
* add backoff for retrying processed media check
* Update to Emoji2
* Hopefully fix the emoji picker preference
* Switch to released Filemojicompat version
* Filemojicompat version as an own var
* Remove an unused import
* Small cleanup
* Correct onDisplayPreferenceDialog; test TuskyApplication
* Use TextViews instead of EmojiTextViews
* Recreate the Main Activity if the emoji pack is updated
* Enable coreLibraryDesugaring (for Java Streams); update Filemojicompat, downgrade Emoji2
* Update emoji font versions to 14
* Use FilemojiCompat 3.2.0-beta01
* Make ktLint happy again
* Remove coreLibraryDesugaring and a FIXME
* Use EmojiPickerPreference.get()
* Disable emoji pack import
* Update FilemojiCompat to Beta 2
* Update FilemojiCompat to Beta 3
* Update FilemojiCompat to Beta 3.2.0 final
* Update FilemojiCompat to 3.2.1
* refactor compose & announcements to coroutines
* fix code formatting
* add javadoc to InstanceInfoRepository
* fix comments in ImageDownsizer
* remove unused Either extensions
* add explicit return type for InstanceInfoRepository.getEmojis
* make ComposeViewModel.pickMedia return Result
* cleanup code in ImageDownsizer
* Add data model for instance configuration
* Support instance.configuration.statuses.max_characters
* Support instance.configuration.statuses.characters_reserved_per_url
* Support instance.configuration.polls.max_options and max_characters_per_option
* Pacify ktlint
* Support instance-configured poll durations
* Fixup versions for migration after rebase
* multiple media upload support
* multiple media upload support
* multiple media upload support
* remove typing
* Update app/src/main/res/values/strings.xml
Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
* remove magic number on string.xml and add to activity.
* move edittext cursor to first when shareBody parsed in ComposeActivity
Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
* cleanup warnings, reorganize some code
* move ComposeAutoCompleteAdapter to compose package
* composeOptions doesn't need to be a class member
* add DraftsActivity and DraftsViewModel
* drafts
* remove unnecessary Unit in ComposeViewModel
* add schema/25.json
* fix db migration
* drafts
* cleanup code
* fix compose activity rotation bug
* fix media descriptions getting lost when restoring a draft
* improve deleting drafts
* fix ComposeActivityTest
* improve draft layout for almost empty drafts
* reformat code
* show toast when opening reply to deleted toot
* improve item_draft layout
* multiple media upload support
* multiple media upload support
* multiple media upload support
* remove typing
* Update app/src/main/res/values/strings.xml
Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
* remove magic number on string.xml and add to activity.
Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
* Delete scheduled post after editing
This ensures that editing a scheduled toot will not duplicate it.
Fixes#1924
* Fix scheduled toot editing
* Convert isEditingScheduledToot to property
* Replace MediatorLiveData with combineLiveData
* Remove dead code
* Fix observer emission
* Fix "Finish media upload" appearing for split second