* Convert NotificationsFragment to use view binding
* Use requireContext() in places a context is required
Removes a nullness warning.
* Simplify code by using .sublist() and .contains()
Removes a lint warning.
* Add @NonNull annotations to onViewTag and onViewAccount
* Use consistent comment styles
* Add a menu option to mute / filter a hashtag from a status list
Un/muting uses the "home" filter
* Set the initial mute button visibility from existing filters
Check the user's filters to see if the tag is already filtered from HOME.
If it is then the initial button is to unmute it. If it isn't then the
initial button is to mute it.
* Avoid "mute tag" menu items "popping" in
- Initial state shows the "mute" option, disabled
- Update the state after the API call completes
* Support a swipe down to dismiss video
Images can already be dismissed with a swipe, this adds the same
functionality to videos.
- Add a VideoActionsListener interface for the hosting activity to dismiss
the fragment
- Add a gesture listener for swipes
- Dismiss the fragment if a swipe has a greated Y component than X
Fixes https://github.com/tuskyapp/Tusky/issues/2833
* Scale the video view when dragging
Provides identical visual feedback to the same operation on images.
* 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"
The "Enable swipe gesture to switch between tabs" preference was ignored
on the tabs on a profile page ("Posts", "With Replies", "Pinned", "Media"),
and search ("Posts", "Accounts", "Hashtags").
Fix this.
While I'm here, replace a string for the preference name in MainActivity.kt
with a constant.
Fixes https://github.com/tuskyapp/Tusky/issues/2874.
* Add view for browsing and unfollowing followed hashtags.
Implements #2785
* Improve list interface
* Remove superfluous suspend modifier
* Migrate to paginated loading for followed tags view
* Update app/src/main/java/com/keylesspalace/tusky/components/followedtags/FollowedTagsViewModel.kt
Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
* Fix unhandled exception when opening the followed tags view while offline
Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
Currently translated at 99.2% (503 of 507 strings)
Translated using Weblate (German)
Currently translated at 99.2% (503 of 507 strings)
Co-authored-by: Connyduck <weblate@connyduck.at>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
Currently translated at 96.8% (491 of 507 strings)
Co-authored-by: ButterflyOfFire <butterflyoffire@protonmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fr/
Translation: Tusky/Tusky
Currently translated at 100.0% (507 of 507 strings)
Translated using Weblate (Persian)
Currently translated at 99.6% (505 of 507 strings)
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fa/
Translation: Tusky/Tusky
Currently translated at 100.0% (507 of 507 strings)
Translated using Weblate (Gaelic)
Currently translated at 99.8% (506 of 507 strings)
Co-authored-by: GunChleoc <fios@foramnagaidhlig.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gd/
Translation: Tusky/Tusky
Currently translated at 100.0% (507 of 507 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (506 of 506 strings)
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/uk/
Translation: Tusky/Tusky
* 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
* Use the appcompat style for Toolbar. Fixes subtitle vertical cropping.
* Reformat XML.
Co-authored-by: Martin Marconcini <martin.marconcini.rodriguez@nl.abnamro.com>
Currently translated at 85.2% (429 of 503 strings)
Co-authored-by: Gabriel Beecham <gabriel.beecham@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/ga/
Translation: Tusky/Tusky
Currently translated at 100.0% (506 of 506 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (503 of 503 strings)
Co-authored-by: Jan Lindblom <janlindblom@fastmail.fm>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/sv/
Translation: Tusky/Tusky
Currently translated at 97.0% (488 of 503 strings)
Added translation using Weblate (Indonesian)
Co-authored-by: Connyduck <weblate@connyduck.at>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
Currently translated at 85.2% (429 of 503 strings)
Translated using Weblate (Irish)
Currently translated at 82.2% (412 of 501 strings)
Co-authored-by: Gabriel Beecham <gabriel.beecham@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/ga/
Translation: Tusky/Tusky
Currently translated at 100.0% (503 of 503 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (501 of 501 strings)
Co-authored-by: Vegard Skjefstad <vegard@vegard.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/nb_NO/
Translation: Tusky/Tusky
Currently translated at 96.8% (485 of 501 strings)
Co-authored-by: Alexander Skwar <com+weblate.tusky.app@skwar.me>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
Currently translated at 100.0% (501 of 501 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (501 of 501 strings)
Co-authored-by: Hồ Nhất Duy <kantcer@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
Currently translated at 98.0% (491 of 501 strings)
Co-authored-by: ButterflyOfFire <butterflyoffire@protonmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/fr/
Translation: Tusky/Tusky
Currently translated at 87.8% (440 of 501 strings)
Translated using Weblate (Welsh)
Currently translated at 86.6% (434 of 501 strings)
Co-authored-by: Newidyn <grugallt@protonmail.ch>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
* update to Api 33, fix some deprecations
* fix deprecated serializable/parcelable methods
* ask for notification permission
* fix code formatting
* add back comment in PreferencesActivity
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (500 of 500 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (496 of 496 strings)
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
* Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (500 of 500 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (496 of 496 strings)
Co-authored-by: Vegard Skjefstad <vegard@vegard.net>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/nb_NO/
Translation: Tusky/Tusky
* Translated using Weblate (Vietnamese)
Currently translated at 100.0% (500 of 500 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (496 of 496 strings)
Co-authored-by: Hồ Nhất Duy <kantcer@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
* Translated using Weblate (Galician)
Currently translated at 100.0% (496 of 496 strings)
Co-authored-by: XoseM <xosem@disroot.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/gl/
Translation: Tusky/Tusky
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (500 of 500 strings)
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/uk/
Translation: Tusky/Tusky
* Translated using Weblate (Bulgarian)
Currently translated at 86.8% (434 of 500 strings)
Co-authored-by: Delian <iirumamiu@protonmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/bg/
Translation: Tusky/Tusky
* Translated using Weblate (Dutch)
Currently translated at 100.0% (500 of 500 strings)
Co-authored-by: joenepraat <joenepraat@posteo.org>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/nl/
Translation: Tusky/Tusky
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Vegard Skjefstad <vegard@vegard.net>
Co-authored-by: Hồ Nhất Duy <kantcer@gmail.com>
Co-authored-by: XoseM <xosem@disroot.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Delian <iirumamiu@protonmail.com>
Co-authored-by: joenepraat <joenepraat@posteo.org>
* Correctly restore instance state in compose activity
Store post visiblity, schedule time, and visibility of content warning
field to instance state and restore upon restoration.
* Remove redundant line
* Preference to disable multiple-login usernames (with problems)
* Fix problem where 'show self username disambiguation' does not take effect immediately because MainActivity needed to be restarted
* Make 'show username in toolbars' a 3-option selector, default when multiple accounts logged in
* Move SHOW_SELF_USERNAME higher in preference fragment
Currently translated at 72.5% (359 of 495 strings)
Translated using Weblate (Welsh)
Currently translated at 67.6% (335 of 495 strings)
Co-authored-by: puf <puffinux@tutanota.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/cy/
Translation: Tusky/Tusky
Currently translated at 100.0% (495 of 495 strings)
Co-authored-by: idontwanttohaveausername <bydlanm@outlook.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/uk/
Translation: Tusky/Tusky
Currently translated at 100.0% (495 of 495 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (493 of 493 strings)
Co-authored-by: Hồ Nhất Duy <kantcer@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
Currently translated at 100.0% (495 of 495 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (493 of 493 strings)
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/zh_Hans/
Translation: Tusky/Tusky
Currently translated at 100.0% (495 of 495 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (493 of 493 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (492 of 492 strings)
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/uk/
Translation: Tusky/Tusky
* Show explanation atop focus set dialog
* Update app/src/main/res/layout/dialog_focus.xml
Per Connyduck suggestion
Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
* Attempt-zero implementation of a "focus" feature for image attachments. Choose "Set focus" in the attachment menu, tap once to select focus point (no visual feedback currently), tap "OK". Works in tests.
* Remove code duplication between 'update description' and 'update focus'
* Fix ktlint/bitrise failures
* Make updateMediaItem private
* When focus is set on a post attachment the preview focuses correctly. ProgressImageView now inherits from MediaPreviewImageView.
* Replace use of PointF for Focus where focus is represented, fix ktlint
* Substitute 'focus' for 'focus point' in strings
* First attempt draw focus point. Only updates on initial load. Modeled on code from RoundedCorners builtin from Glide
* Redraw focus after each tap
* Dark curtain where focus isn't (now looks like mastosoc)
* Correct ktlint for FocusDialog
* draft: switch to overlay for focus indicator
* Draw focus circle, but ImageView and FocusIndicatorView seem to share a single canvas
* Switch focus circle to path approach
* Correctly scale, save and load focuses. Clamp to visible area. Focus editor looks and feels right
* ktlint fixes and comments
* Focus indicator drawing should use device-independent pixels
* Shrink focus window when it gets unattractively tall (no linting, misbehaves on wide aspect ratio screens)
* Correct max-height behavior for screens in landscape mode
* Focus attachment result is are flipped on x axis; fix this
* Correctly thread focus through on scheduled posts, redrafted posts, and drafts (but draft focus is lost on post)
* More focus ktlint fixes
* Fix specific case where a draft is given a focus, then deleted, then posted in that order
* Fix accidental file change in focus PR
* ktLint fix
* Fix property style warnings in focus
* Fix remaining style warnings from focus PR
Co-authored-by: Conny Duck <k.pozniak@gmx.at>
* 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 #/@