* Fix off-by-one error in HttpHeaderLink
Link headers with multiple URLs with multiple parameters were being parsed
incorrectly.
Detected by adding unit tests ahead of converting to Kotlin.
* Convert util/HttpHeaderLink from Java to Kotlin
* Convert util/ThemeUtils from Java to Kotlin
* Convert util/TimestampUtils from Java to Kotlin
* Add tests for PairedList
* Convert util/PairedList from Java to Kotlin
* Implement feedback from PR
* Relicense as GPL
* replace hard-coded strings with existing constants
* proxy port
* * custom proxy port and hostname inputs
* typesafety, refactor, linting, unit tests
* relocate ProxyConfiguration in app structure
* remove unused editTextPreference fn
* allow preference category to have no title
* refactor proxy prefs hierarchy/dependency
* Add editedAt field to Status
* Status: Display indicators of edited posts
* Annotate edited posts in the Status description
* Cache info that post has been edited
* Add roundoff threshold for "now" (new string resource) output in getRelativeTimeSpanString
* added tests
* added string resource translation for `status_created_at_now` in DE, ES, JA
* fixed ktlint issues
* use resource file in test, linting passes
* 501ms and 999ms now show "now" instead of "0s"
* Fix duplicated language entries from system and app language sets.
Closes#2900
* Prefer modern language codes.
Closes#2903
* Synchronize per-account default posting language with server.
Closes#2902
* Allow users to post in languages android doesn't know about yet (e.g. toki pona)
* Always put the preselected language at the top of the list
* update to Api 33, fix some deprecations
* fix deprecated serializable/parcelable methods
* ask for notification permission
* fix code formatting
* add back comment in PreferencesActivity
* Show target domains for non-mention/non-hashtag links where the target domain is not provided or differs from the domain in the text.
Addresses #2694
* Add link signifier to the marked-up domain
* Back down on validating hashtags and mentions, don't markup _any_ urls where the text starts with #/@
* Add UI for selecting post language
* Apply selected language when sending status
* Save/restore post language with drafts
* Fall back to english if the configured language isn't found in the locale list (no-NB)
* Remove comment about no_NB
* Move language dropdown to top of compose view
* Preserve language when redrafting
* Set default language to target post's language when replying
* Add Tusky license header to new source file
* Tweak language dropdown button width
* Show filter expiration in list
* Add support for setting and updating the duration of a filter
* Add tests for duration conversion math
* Refactor network wrapper code
* Mark updated mastodon api functions as suspend
* Avoid creating unnecessary Date objects
* Apply suggestions to filter dialog layout
* initial class setup
* handle events and filters
* handle status state changes
* code formatting
* fix status filtering
* cleanup code a bit
* implement removeAllByAccountId
* move toolbar into fragment, implement menu
* error and load state handling
* fix pull to refresh
* implement reveal button
* use requireContext() instead of context!!
* jump to detailed status
* add ViewThreadViewModelTest
* fix ktlint
* small code improvements (thx charlag)
* add testcase for toggleRevealButton
* add more state change testcases to ViewThreadViewModel
* handle media size instance limits
* remove unused attributes from Instance entity
* support max_media_attachments
* support pleroma field limits, remove max_bio_chars support
* improve field input margin
* fix tests
* MAX_ACCOUNT_FIELDS -> DEFAULT_MAX_ACCOUNT_FIELDS
* improve "add field" button behavior
* fix copy paste mistake in AccountFieldEditAdapter
* refactor sendStatus to be a suspending function
* Show account's creation date in Profile.
* Fix broken test.
* Store account creation date in the Database.
* Reformat and reposition Joined Date according to PR Feedback.
* Revert "Store account creation date in the Database."
This reverts commit d9761f53 as it's not needed.
* Change Account's Creation Date to a java.util.Date.
Update Test.
* Fix wildcard import.
* Show full month instead of an abbreviation.
* Remove `lazy` usage in favor of local instantiation.
Co-authored-by: Martin Marconcini <martin.marconcini.rodriguez@nl.abnamro.com>
Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
* 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
* Improve time format of posts when using absolute time
* fix AbsoluteTimeFormatter, add tests
* fix tests
Co-authored-by: Conny Duck <k.pozniak@gmx.at>