Commit graph

1465 commits

Author SHA1 Message Date
Levi Bard
a6b6a40ba6
Add post editing capability (#2828)
* 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
2022-12-08 10:18:12 +01:00
Levi Bard
51d02388b9
Fix tests (#3022) 2022-12-08 09:58:58 +01:00
Konrad Pozniak
88125ef7da
fix crash in TouchDelegateHelper when not all views are available (#3016)
* fix crash in TouchDelegateHelper when not all views are available

* filter views before passing to TouchDelegateHelper

* remove unused import

* fix indentation
2022-12-07 19:34:54 +01:00
Nik Clayton
e20fda322e
Remove rxjava from API calls used by AccountListFragment::fetchAccounts() (#3005)
* Remove rxjava from API calls used by AccountListFragment

* Use "Throwable" type and name
2022-12-07 19:34:31 +01:00
Nik Clayton
f796f77f9a
Implement getFilters() without rxjava (#2990) 2022-12-07 19:30:53 +01:00
kylegoetz
25443217c2
2952/proxy (#2961)
* 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
2022-12-07 19:29:18 +01:00
Konrad Pozniak
864e72d6f3
make date converter null safe (#3006) 2022-12-06 20:32:12 +01:00
Nik Clayton
0d962c7cc1
Implement status() without rxjava (#2999)
* Implement status() without rxjava

* Use lambda param named `throwable`

* Update DraftsActivity.kt
2022-12-06 20:23:48 +01:00
UlrichKu
2accfd0712
2890 show warning on missing description (#2919)
* 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
2022-12-06 19:28:44 +01:00
Konrad Pozniak
615c7adc86
hide "take photo" button when no Photo app is installed (#2997) 2022-12-05 19:15:58 +01:00
Konrad Pozniak
bdeb88c41f
respect "animate emojis" setting in emoji picker (#2996) 2022-12-05 19:15:28 +01:00
Eva Tatarka
36befdebe2
Add a touch delegate to increase action touch targets to 48dp (#2872)
* Add a touch delegate to increase action touch targets to 48dp

Fixes #2825

* Adjust layout to make action buttons larger

* Remove 4dp vertical margin
2022-12-05 19:05:46 +01:00
Nik Clayton
965d51100c
Cleanup NotificationFragment to make future conversion to Kotlin easier (#2993)
* 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
2022-12-05 14:51:45 +01:00
Levi Bard
11de43f470
Sort language lists by the localized language name (#2991) 2022-12-05 14:49:09 +01:00
Konrad Pozniak
f3962058dc
fix blocking accounts in thread view (#2988) 2022-12-05 14:44:52 +01:00
fruyek
24fccc3bbc
Show emoji codes on long press in the picker (#2981) 2022-12-05 14:36:51 +01:00
Nik Clayton
424326f99f
Add a menu option to mute / filter a hashtag from a status list (#2882)
* 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
2022-12-05 14:36:30 +01:00
Nik Clayton
64a06bfbe2
Support a swipe down to dismiss video (#2879)
* 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.
2022-12-05 14:33:38 +01:00
Konrad Pozniak
4de778d7d4
Show Avatar next to tabs when main top bar is disabled (#2973) 2022-12-03 12:16:54 +01:00
Konrad Pozniak
11cf420320
fix crash when trying to add account to list from profile (#2972) 2022-12-03 12:16:37 +01:00
Levi Bard
9e52f7acf1
Load goto social and microblog.pub urls in the app (#2945)
* Move looksLikeMastodonUrl to LinkHelper

* Add support for goto social and microblog.pub urls.
Closes #2893
2022-12-03 12:16:17 +01:00
fruyek
d823052862
Status: Display indicators of edited posts (#2935)
* 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
2022-12-03 12:15:54 +01:00
Levi Bard
83862569e2
Nullcheck channels when reading importance. (#2971)
Fixes #2970
2022-12-02 19:46:02 +01:00
Levi Bard
588307f7a1
Enable setting the default posting language from Tusky (#2946)
* Extract locale utils

* Extract makeIcon

* Allow setting the (server-synchronized) default posting language from Tusky.
Closes #2902

* Add copyright headers

* Address review feedback
2022-12-02 19:19:17 +01:00
Eva Tatarka
cc790ccf69
Add option to not crop image previews (#2832)
* Don't crop image previews with aspects between 2:1 & 1:2

Fixes #1995

* Custom media preview layout for handling various aspect ratios
2022-12-01 21:20:46 +01:00
Levi Bard
6b95790457
Add support for moderation report notifications (#2887)
* Add support for moderation report notifications

* Translate report categories

* Apply tint inside flag drawable

* Remove unused imports

Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
2022-12-01 20:11:55 +01:00
kylegoetz
86e5c92a05
show "now" instead of "in 0s" timestamps (#2843)
* 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"
2022-12-01 19:54:29 +01:00
Nik Clayton
330401c7d0
Disable tab swiping by preference in profile and search (#2889)
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.
2022-12-01 19:51:13 +01:00
Konrad Pozniak
8c08fbddb6 fix merge conflict 2022-12-01 19:33:20 +01:00
Levi Bard
9362e59d9d
Add view for browsing and unfollowing followed hashtags (#2794)
* 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>
2022-12-01 19:24:27 +01:00
Levi Bard
0126ee9500
Language selection fixes (#2917)
* 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
2022-11-24 15:45:19 +01:00
Konrad Pozniak
4f81636bbe
correctly show "nothing here" in AccountMediaFragment (#2911)
* correctly show "nothing here" in AccountMediaFragment

* remove unused imports
2022-11-23 20:07:23 +01:00
Konrad Pozniak
ff4ddf90b6
fix crash when logging out while on conversations (#2895)
* fix crash when logging out while on conversations

* fix code formatting
2022-11-22 20:36:07 +01:00
Konrad Pozniak
f6a5510841
respect spoiler/sensitive settings in conversations (#2891)
* respect spoiler/sensitive settings in conversations

* fix code formatting
2022-11-22 20:11:30 +01:00
Levi Bard
3fb103aa14
Prioritize users' default locales in language list (#2850)
* Prioritize users' default locales in language list.
Closes #2844

* Add the configured app languages before the configured system languages
2022-11-19 19:03:42 +01:00
Levi Bard
2676782327
Replace the default federated timeline tab with the direct messages tab. (#2866)
Closes #2552
2022-11-19 19:01:00 +01:00
Konrad Pozniak
61a1baf533
keep status state in thread view after refreshing (#2855)
* keep status state in thread view after refreshing

* add clarifying parentheses
2022-11-18 21:03:51 +01:00
Konrad Pozniak
667a728dd5
fix media permissions on Android 10+ (#2837) 2022-11-16 20:43:49 +01:00
Konrad Pozniak
c96a81571c
support Android 13 per-app languages (#2829)
* support Android 13 per-app languages

* fix tests

* fix language ids in locales_config.xml

* fix language setting default in ComposeActivity
2022-11-16 19:45:18 +01:00
kyori19
d1482324cc
Make URLSpans with trailing URL not marked up (#2813) 2022-11-16 18:28:00 +01:00
kyori19
dbc4a3dcb2
Add done button to lists dialog 2022-11-16 21:54:11 +09:00
Ben Dundon
3bc1fc4606
Switch to an unambiguous date format in Absolute Time mode (#2800)
* Switched to an unambiguous date format

* Updated unit tests to reflect expected change
2022-11-15 19:46:05 +01:00
kyori19
a3d13b2743
Fix markupHiddenUrls destructs original CharSequence (#2814) 2022-11-15 19:02:35 +01:00
Levi Bard
21b3b53f93
Make bare domain detection more robust in link markup logic (#2792) 2022-11-15 18:05:26 +01:00
kyori19
45cc000d07
Add or remove from lists in AccountActivity 2022-11-13 06:05:55 +09:00
Josh Soref
a9c6f69561
Warn about losing media (#2784)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-11-09 19:33:48 +01:00
Konrad Pozniak
1fb58a9116
revert CompatExtensions (#2773) 2022-11-09 19:32:54 +01:00
Josh Soref
98092e6ff7
Spelling (#2771)
* spelling: activity

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: animation

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: detailed

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: hierarchy

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: javascript

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: memory

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: notification

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: opened

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: preferable

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: repetitive

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: spoiler

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: thumbnail

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: visibility

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: whitespace

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-11-09 19:32:39 +01:00
Eva Tatarka
be96aa576e
Show toast if pin fails (#2755)
* Show toast if pin fails

Fixes #2229

* Swtich to snackbar

* Show generic error message if no server error is available

* Fix pin error logging
2022-11-09 19:30:50 +01:00
Benjamin Stürmer
a64dee9be0
#2072: hide add reaction when limit is reached (#2766)
* #2072: hide add reaction when limit is reached

* use extensions function for show/hide view

* fix condition :(
2022-11-07 20:10:49 +01:00