Commit Graph

331 Commits

Author SHA1 Message Date
Konrad Pozniak d9931e3d2c
Rename Toots to Posts (#2396)
* rename toots -> posts in strings

* extract tusky_compose_post_quicksetting_label string

* rename toot -> status in code
2022-03-20 20:21:42 +01:00
Konrad Pozniak e05fdc6d7b
Fix status diffing and improve timeline performance (#2386)
* fix status & account diffing

* introduce TimelineAccount

* use TimelineAccount where possible

* improve tests

* improve ConversationEntity equals/hashcode

* fix mistake in ConversationEntity

* improve StatusViewData comparison

* improve tests

* fix typo in comment
2022-03-15 21:34:57 +01:00
Konrad Pozniak f7dfffa762
merge ModalTimelineActivity & ViewTagActivity into StatusListActivity (#2332)
* Rename .java to .kt

* merge ModalTimelineActivity & ViewTagActivity into StatusListActivity

* fix crash when opening hashtag
2022-02-25 18:57:31 +01:00
Levi Bard addce87eb6
Use tags from status when adding handlers to hashtag spans in status content (#2344)
* Migrate LinkHelper to kotlin

* Support tags field on statuses

* Use embedded tags list in status instead of text scraping to embed tag click handler.
Fixes #2283

* Make mentions and tags lists nonnullable

* Make LinkHelper.openLink a Context extension method

* Use builtin extension for uri conversion

* More cleanup in LinkHelper

* Add tests for LinkHelper.getDomain

* Unbreak tags in places that don't have a tag list (e.g. profiles)

* Fixup javadoc
2022-02-25 18:56:21 +01:00
Levi Bard f822234995
Add "open as" to profiles (#2340)
* Extract "open as" utilities to BaseActivity

* Add "open as" to profiles.
Fixes #2329

* Rename STATUS_URL intent extra key

* Add nullability notations for new java code

* Pacify ktlint
2022-02-25 18:55:58 +01:00
Konrad Pozniak a76c580d7e
fix duplicate detail status (#2345) 2022-02-20 10:58:12 +01:00
Konrad Pozniak 329df1280b
fix sensitive media in search and notifications (#2335) 2022-02-12 09:56:08 +01:00
Konrad Pozniak 2fd45c1cdb
Fix comparing statuses and diffing in NotificationsFragment (#2318) 2022-02-07 20:38:54 +01:00
Konrad Pozniak 8f5fb5b35c
Fix some weird behavior when clicking links in statuses (#2304)
* Fix some weird behavior when clicking links in statuses

* open browser when user clicks a status link again
2022-01-28 07:44:38 +01:00
Konrad Pozniak f29e46ad55
fix media hidden default in ViewThreadFragment (#2295) 2022-01-17 18:45:11 +01:00
Konrad Pozniak fe350ccf36
move AccountActivity and related classes to a new package (#2216)
* move AccountActivity and related classes to a new package

* fix ktlint

* fix ktlint

* fix imports
2022-01-11 19:55:17 +01:00
Konrad Pozniak 643e012b11
Timeline paging (#2238)
* first setup

* network timeline paging / improvements

* rename classes / move to correct package

* remove unused class TimelineAdapter

* some code cleanup

* remove TimelineRepository, put mapper functions in TimelineTypeMappers.kt

* add db migration

* cleanup unused code

* bugfix

* make default timeline settings work again

* fix pinning statuses from timeline

* fix network timeline

* respect account settings in NetworkTimelineRemoteMediator

* respect account settings in NetworkTimelineRemoteMediator

* update license headers

* show error view when an error occurs

* cleanup some todos

* fix db migration

* fix changing mediaPreviewEnabled setting

* fix "load more" button appearing on top of timeline

* fix filtering and other bugs

* cleanup cache after 14 days

* fix TimelineDAOTest

* fix code formatting

* add NetworkTimeline unit tests

* add CachedTimeline unit tests

* fix code formatting

* move TimelineDaoTest to unit tests

* implement removeAllByInstance for CachedTimelineViewModel

* fix code formatting

* fix bug in TimelineDao.deleteAllFromInstance

* improve loading more statuses in NetworkTimelineViewModel

* improve loading more statuses in NetworkTimelineViewModel

* fix bug where empty state was shown too soon

* reload top of cached timeline on app start

* improve CachedTimelineRemoteMediator and Tests

* improve cached timeline tests

* fix some more todos

* implement TimelineFragment.removeItem

* fix ListStatusAccessibilityDelegate

* fix crash in NetworkTimelineViewModel.loadMore

* fix default state of collapsible statuses

* fix default state of collapsible statuses -tests

* fix showing/hiding media in the timeline

* get rid of some not-null assertion operators in TimelineTypeMappers

* fix tests

* error handling in CachedTimelineViewModel.loadMore

* keep local status state when refreshing cached statuses

* keep local status state when refreshing network timeline statuses

* show placeholder loading state in cached timeline

* better comments, some code cleanup

* add TimelineViewModelTest, improve code, fix bug

* fix ktlint

* fix voting in boosted polls

* code improvement
2022-01-11 19:00:29 +01:00
Konrad Pozniak 0ae3a2ed2a
fix confirmFavourites default (#2282) 2021-12-29 13:44:00 +01:00
Colin Kinloch c37ccbb6e8
Add confirmation for favourite and bookmark actions (#2245)
* Add confirmation for favourite and bookmark actions

* Favourite confirmation american spelling and default values

* Remove bookmarking confirmation

* Update app/src/main/java/com/keylesspalace/tusky/fragment/NotificationsFragment.java

Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>

Co-authored-by: Konrad Pozniak <connyduck@users.noreply.github.com>
2021-10-04 07:48:44 +02:00
Levi Bard 45598cf047
Audio caption improvements (#2220)
* Fix caption display in audio player

* Make video/audio description scrollable

* Constrain the maximum size of media label previews
2021-09-17 21:55:54 +02:00
Konrad Pozniak 16ffcca748
add ktlint plugin to project and apply default code style (#2209)
* add ktlint plugin to project and apply default code style

* some manual adjustments, fix wildcard imports

* update CONTRIBUTING.md

* fix formatting
2021-06-28 21:13:24 +02:00
Ivan Kupalov 837ee2e40d
Convert some adapters to Kotlin (#2187)
* Rename .java adapters to .kt

* Convert Account adapters to Kotlin

* Apply feedback for adapter refactoring
2021-06-20 10:18:40 +02:00
Ivan Kupalov 44a5b42cac
Timeline refactor (#2175)
* Move Timeline files into their own package

* Introduce TimelineViewModel, add coroutines

* Simplify StatusViewData

* Handle timeilne fetch errors

* Rework filters, fix ViewThreadFragment

* Fix NotificationsFragment

* Simplify Notifications and Thread, handle pin

* Redo loading in TimelineViewModel

* Improve error handling in TimelineViewModel

* Rewrite actions in TimelineViewModel

* Apply feedback after timeline factoring review

* Handle initial failure in timeline correctly
2021-06-11 20:15:40 +02:00
Konrad Pozniak 3301643c1d
update to SDK 30 and fix deprecations (#2173)
* update to SDk 30 and fix deprecations

* remove unnecessary .run

* revert ViewMediaActivity change
2021-06-01 19:46:07 +02:00
Konrad Pozniak 40b24cd242
migrate to RxJava3 (#2146)
* migrate to RxJava3

* remove unused import
2021-05-16 19:53:27 +02:00
Konrad Pozniak bd670a01c3
fix event handling in TimelineFragment (#2143) 2021-05-02 17:17:30 +02:00
Konrad Pozniak bf6d7a6b97
Convert TimelineFragment to Kotlin & ViewBinding (#2131)
* convert TimelineFragment to Kotlin

* cleanup some code

* migrate to viewbinding

* cleanup even more code

* address review feedback

* improve findStatusOrReblogPositionById
2021-04-22 18:48:16 +02:00
Konrad Pozniak dee6a3a160
always show follow requests in main menu (#1809)
* always show follow requests in main menu

* update recyclerview to v1.2.0

* fix bug that shows follow requests info to wrong users
2021-04-10 20:30:44 +02:00
Zero King 41847bc009
Add missing breaks in switch statements (#2127) 2021-04-06 17:18:52 +02:00
Konrad Pozniak bea5098cc1
migrating to ViewBinding part 4: Fragments (#2108)
* migrating to ViewBinding part 4: Fragment

* fix imports

* don't use viewBinding extension in ViewImage and ViewVideoFragment

* don't use viewBinding extension in ViewImage and ViewVideoFragment
2021-03-13 21:27:20 +01:00
Konrad Pozniak 13392258f6
upgrade Material Design lib and use their new time picker (#2077) 2021-02-23 20:29:02 +01:00
Ivan Kupalov c178804efe
Fix TalkBack not initializing old views in recycler (#2036) 2021-02-09 18:41:40 +01:00
Alibek Omarov 9580870445
Animated emoji support (#2064)
* Animated emoji support

* Try to query preference only once

* Revert to using SpannableStringBuilder
2021-02-06 08:14:51 +01:00
Konrad Pozniak 886ff2f06b
get rid of BaseFragment by using RxJava instead of Retrofit Calls (#2055)
* get rid of BaseFragment by using RxJava instead of Retrofit Calls

* fix tests
2021-01-31 19:34:33 +01:00
Levi Bard baa915a0a3
Support opening unknown attachment types via `openLink` (#2044)
* Support opening unknown attachment types via openLink. #1970

* Fix label text for unknown attachment types
2021-01-18 13:53:13 +01:00
Levi Bard be60155de5
Implement timed mutes. (#2035)
Fixes #2033
2021-01-15 21:05:36 +01:00
Garrit Franke 0fbb4e9713
Wellbeing mode (#1992)
* Add wellbeing mode settings toggle

* Translate wellbeing mode string to german

* Disable fav/boost count on toots if wellbeing is enabled

* Hide follow/post stats on profiles

* Reload notifications when wellbeing mode is toggled

* Add wellbeing mode explainer dialog

* Move wellbeing filter timeline into own category

* Add toggles for quantitative stats

* Hide announcement badge counts if wellbeing is enabled

* Move fetching of wellbeing setting to activity

* Add wellbeing option to statusDisplayOptions

* Update post filters for all accounts

* Remove local translations

* Revert "Remove local translations"

This reverts commit e92e636a5c.

* Remove german translations
2020-12-23 19:13:37 +01:00
Alibek Omarov b91a0aceeb
Notification bell (#2012)
* Add notification bell button, API endpoints and new relationship field

* Add notification type for subscriptions

* Add subscriptions to legacy notification filtering

* Update schemas

* Fix build

* Make rewrite static method into method of Notification class, fix getNotificationText

* Mastodon wording for subscriptions
2020-12-23 12:52:39 +01:00
Konrad Pozniak b1a1a69988
fix the notification buttons on the Muted users page (#2009) 2020-12-04 18:55:13 +01:00
Konrad Pozniak f917a5aa4b
apply the home filter to lists (#1991) 2020-11-22 19:02:38 +01:00
Konrad Pozniak ce973ea7e7
Personal account notes (#1978)
* add personal notes to AccountActivity

* use RxJava instead of plain okhttp calls

* make AccountViewModel rx aware

* hide note input until data is loaded
2020-11-17 20:10:54 +01:00
Konrad Pozniak 21b28f1bbb
fix crash in ViewImageFragment (#1964) 2020-10-25 18:36:31 +01:00
Levi Bard e0346a8e88
Open photos embedded in preview cards in the image viewer (#1966)
* Open photos embedded in preview cards in the internal image viewer instead of opening the browser

* Enable toolbar for single image viewer

* Apply review feedback
2020-10-22 21:15:46 +02:00
Levi Bard a1887d1891
Fix filtering of boosts (#1954) 2020-10-13 18:30:39 +02:00
Levi Bard e237639adc
Save draft when redrafting a post (#1744) 2020-10-02 18:32:46 +02:00
Konrad Pozniak 67df1a7065
fix another crash in ViewVideoFragment (#1926) 2020-09-03 20:17:11 +02:00
Konrad Pozniak 1d309850b0
convert EmojiPreference and EmojiCompatFont to Kotlin (#1922)
* convert EmojiPreference and EmojiCompatFont to Kotlin

* move preference related to to dedicated preference package

* update proguard-rules.pro

* reformat & add comment

* maintain disposable information in EmojiPreference instead of EmojiCompatFont
2020-09-02 12:27:51 +02:00
Konrad Pozniak 6ee493d8ea
fix notifications sometimes not rendering (#1905)
* fix notifications sometimes not rendering

* fix empty timeline fragment as well

* add link to github issue as explanation
2020-08-21 18:51:05 +02:00
Levi Bard d8d4b947ed
Fix opening public filter list from account preferences (#1904) 2020-08-20 18:08:04 +02:00
Konrad Pozniak 15df5c4df7
add icon for tabs preference (#1892) 2020-08-17 21:21:03 +02:00
Konrad Pozniak a653c92e63
Fix crash in ViewVideoFragment (#1894) 2020-08-17 21:20:46 +02:00
Konrad Pozniak dd3d372b80 add setting to hide top toolbar 2020-08-16 10:01:51 +02:00
Konrad Pozniak e2f3c74774
Fix cards in timelines/confirm boost preferences (#1878) 2020-08-08 10:03:07 +02:00
Ivan Kupalov 8b243a7f05
Fix crash in ViewImageFragment, fix #1876 (#1877)
It was not checked whether captionSheet is present.
2020-08-04 21:57:12 +02:00
Ivan Kupalov ed2918da2e
Description improvements (#1846)
* Increase character limit for media descriptions to 1500

It was increased in Mastodon 3.0.0 which was released in October 2019.

* Improve image description view

Since media descriptions can be longer now, we need to adjust the UI.
It is a common problem that description takes up the whole screen, it's
hard for readers and also discourages people from adding descriptions.

This commit uses bottom sheet to hide most of the description. Since we
know how much screen space it will cover, we can use darker background
which makes reading text easier.

* Adjust description handle

* Fix unable to dismiss image caption
2020-08-01 21:48:51 +02:00