* Add post editing capability
* Don't try to reprocess already uploaded attachments.
Fixes editing posts with existing media
* Don't mark post edits as modified until editing occurs
* Disable UI for things that can't be edited when editing a post
* Finally convert SFragment to kotlin
* Use api endpoint for fetching status source for editing
* Apply review feedback
* fix crash in TouchDelegateHelper when not all views are available
* filter views before passing to TouchDelegateHelper
* remove unused import
* fix indentation
* 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
On smaller devices the notification filter listview may be longer than the
screen height, and pushes the "Apply" button out of sight.
Fix this by:
- Set the height of the listview to 0dp and its layout_weight to 1
- Set the layout_weight of the button to 0
This ensures the button always appears (because the listview height is 0dp)
and the listview then expands to fill any remaining space (because the
layout_weight is 1).
Fixes https://github.com/tuskyapp/Tusky/issues/2985
* Use light/dark mode colors for image description text
This is an accessibility issue -- in light mode (which should have dark text
on a light background) the text color was hardcoded to light grey and the
background color was a semi-transparent black.
Fixes https://github.com/tuskyapp/Tusky/issues/2983.
* Update app/src/main/res/drawable/ic_drag_indicator_horiz_24dp.xml
Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
Currently translated at 100.0% (531 of 531 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (529 of 529 strings)
Co-authored-by: Hồ Nhất Duy <duy@tutamail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/vi/
Translation: Tusky/Tusky
Currently translated at 100.0% (531 of 531 strings)
Translated using Weblate (Icelandic)
Currently translated at 100.0% (529 of 529 strings)
Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/is/
Translation: Tusky/Tusky
Currently translated at 78.2% (414 of 529 strings)
Co-authored-by: batuhanakkurt <batuhanakkurt000@gmail.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/tr/
Translation: Tusky/Tusky
Currently translated at 99.0% (524 of 529 strings)
Translated using Weblate (German)
Currently translated at 99.2% (523 of 527 strings)
Co-authored-by: Vri <vrifox@vrifox.cc>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/de/
Translation: Tusky/Tusky
Currently translated at 100.0% (531 of 531 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (529 of 529 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (527 of 527 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (525 of 525 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% (531 of 531 strings)
Translated using Weblate (Swedish)
Currently translated at 99.8% (530 of 531 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (529 of 529 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (527 of 527 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (525 of 525 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 100.0% (531 of 531 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (529 of 529 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (527 of 527 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (525 of 525 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (507 of 507 strings)
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/uk/
Translation: Tusky/Tusky
Currently translated at 99.8% (526 of 527 strings)
Translated using Weblate (Occitan)
Currently translated at 98.2% (516 of 525 strings)
Translated using Weblate (Occitan)
Currently translated at 97.1% (510 of 525 strings)
Translated using Weblate (Occitan)
Currently translated at 96.7% (499 of 516 strings)
Translated using Weblate (Occitan)
Currently translated at 94.3% (486 of 515 strings)
Translated using Weblate (Occitan)
Currently translated at 94.1% (485 of 515 strings)
Translated using Weblate (Occitan)
Currently translated at 93.3% (477 of 511 strings)
Translated using Weblate (Occitan)
Currently translated at 91.3% (463 of 507 strings)
Co-authored-by: Quentí <quentinantonin@free.fr>
Translate-URL: https://weblate.tusky.app/projects/tusky/tusky/oc/
Translation: Tusky/Tusky
* issue 2890: Show a warning icon if media description is missing
* issue 2890: Remove disturbing additional signs
* issue 2890: Add another icon; use a snackbar; change wording; use orange as color
* issue 2890: Remove now unneeded new resource
* issue 2890: Use a toast (also) to avoid elevation problems
* issue 2890: Use snackbar with elevation again; refactor a bit
* 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