Commit Graph

105 Commits

Author SHA1 Message Date
Alibek Omarov ad894756bc Patch to compile, downgrade Kotlin version, otherwise it fails with useless message, disable incremental kapt otherwise it fails 2020-05-03 04:28:26 +03:00
Konrad Pozniak 204167ea8f fix content warning in notifications when alwaysShowSpoiler is on (#1757) 2020-05-03 03:12:04 +03:00
Levi Bard e7bd37b075 Add notifications for follow requests (#1729)
* Add notifications for follow requests
Issue #1719

* Revert item_follow_request layout, create new layout for follow request notifications

* Migrate follow request interaction from notification to observable pattern

* Filter follow request notifications by default

* Add missing cases for system notification generation

* Format code
2020-05-03 03:01:16 +03:00
Alibek Omarov f4b696cc4d emoji_reactions: implement for notifications fragment 2020-04-10 02:13:33 +03:00
Alibek Omarov 4d4d7d21ea Better handling of muted users and conversations, add option Hide muted users like in PleromaFE 2020-03-13 18:54:27 +03:00
Alibek Omarov 3cbbbe99c4 Merge upstream 2020-03-06 16:16:54 +03:00
Ivan Kupalov 67c20326f9
Add options to confirm reblog/unreblog actions, close #460 (#1650) 2020-03-03 21:27:26 +01:00
Levi Bard 3edc47aa4a
Add option to show link previews in timelines (#1681)
* Add option to show link previews in timelines.
Addresses #1075

* Indent cards in non-selected statuses when viewing threads

* Indent cards in timelines

* Fix clipping of right side of preview in timelines
2020-03-02 19:34:31 +01:00
Alibek Omarov b0e97392a5 Merge upstream 2020-02-28 10:30:09 +03:00
Ivan Kupalov 656644b7cb
Make image in BackgroundMessageView adapt to the height, fix #1618 (#1649)
* Make image in BackgroundMessageView adapt to the height, fix #1618

* Hide filters panel when showing status view in notifications
2020-02-25 19:57:28 +01:00
Alibek Omarov db4670a703 Support emoji reaction notification 2020-02-03 18:36:45 +03:00
Alibek Omarov 8e4e104a18 Enable muting for all timelines, except where it's useless 2020-02-03 14:30:25 +03:00
Alibek Omarov d58a80f498 Correctly handle invalid conversation ID 2020-02-03 13:33:52 +03:00
Alibek Omarov 0ab3e66d0f Implement muting whole conversation by it's ID, add button to hide muted status again 2020-01-26 19:31:51 +03:00
Alibek Omarov 8cb743efaa Implement muting/unmuting conversations, fix possible appearing of muted users in notifications 2020-01-26 16:13:22 +03:00
Alibek Omarov 3468cc654e NotificationsAdapter: show muted threads as muted 2020-01-17 19:44:09 +03:00
Alibek Omarov 6e60f89f48 MastodonApi: set withMuted to true everywhere for a while 2020-01-16 18:15:11 +03:00
Konrad Pozniak 21a7201f8a
fix notification refresh (#1638) 2020-01-14 21:58:35 +01:00
Ivan Kupalov 7623962a0d Use blurhash as image preview and as sensitive media cover, close #1571 (#1581)
* Use blurhash as image preview and as sensitive media cover, close #1571

* Fix focal point for blurhashes

* Fix video indicator overlapping sensitive media indicator

* Add a preference for blurhash

* Add blurhash to report UI.

* Introduce StatusDisplayOptions
2019-12-30 21:37:20 +01:00
Konrad Pozniak d9694df0c2
Bookmarks (#1560)
* add bookmarks to timelines

* add Bookmarks to main menu

* cleanup

* handle BookmarkEvent

* fix tests

* fix bookmark handling in NotificationsFragment

* add bookmark accessibility actions
2019-11-19 10:15:32 +01:00
Konrad Pozniak 78b5aa8baf
Upgrade api level to Android 10, implement new sharing api (#1537)
* upgrade api level to Android 10, resolve compile errors

* use androidx.preference.PreferenceManager instead of deprecated platform class

* add hyphenation to important TextViews

*  setBottomSheetCallback -> addBottomSheetCallback

* implement new sharing api

* improve TuskyTileService so it shows account picker when multiple accounts are present

* delete unused AccountChooserService

* fix test

* improve ShareShortcutHelper

* remove debug log statement

* improve image loading fallback behavior in ShareShortcutHelper

* improve behavior on foldable devices
2019-10-22 21:18:20 +02:00
Konrad Pozniak de4473b2b3
use singletonList in getChangePayload (#1486) 2019-09-17 18:44:33 +02:00
Konrad Pozniak 04da5f40c7
fix error and content overlapping in NotificationsFragment (#1465) 2019-09-03 18:34:00 +02:00
Konrad Pozniak 8834c22120
add option to always expand content warnings (#1422) 2019-07-28 19:59:52 +02:00
Konrad Pozniak b1c2fcc157
update timestamps on pull-to-refresh even when no new statuses are fetched (#1393) 2019-07-16 19:51:44 +02:00
pandasoft0 ce501f24e6 Add setting to show/hide notification filter bar (#1314)
* Add setting to show/hide notification filter bar tuskyapp/Tusky#1306

* Remove not required requestLayout

* Fix notifications reload issue
2019-06-11 16:41:15 +02:00
Konrad Pozniak 83696b5c7f
Animate gif avatars (#1279)
* animate gif avatars

* add setting to enable avatar animation

* cleanup code
2019-05-26 08:46:08 +02:00
Konrad Pozniak 8f57dddd61
fix poll voting in NotificationFragment (#1234) 2019-05-03 20:42:13 +02:00
Konrad Pozniak 28a76c1a5f
Notification filtering fixes (#1232)
* fix popup menu not shown on Android 5

* use correct no button for notification clearing confirmation dialog
2019-05-03 20:41:55 +02:00
Konrad Pozniak e735e4843e
Poll notifications (#1229)
* show poll notifications in the app

* show poll notifications in the app

* allow filtering poll notifications in the poll fragment

* show poll notifications in system notifications
2019-05-02 19:44:35 +02:00
Konrad Pozniak fd7471f2ab
Polls part 1 - displaying in timelines and voting (#1200)
* add entity classes

* change data models and add database migration

* add polls to StatusViewData

* show poll results

* add methods for vote handling

* add voting interface

* enable voting in TimelineFragment

* update polls immediately

* enable custom emojis for poll options

* enable voting from search fragment

* add voting layout to detailed statuses

* fix tests

* enable voting in ViewThreadFragment

* enable voting in ConversationsFragment

* small refactor for StatusBaseViewHolder
2019-04-22 10:11:00 +02:00
Konrad Pozniak ef66deeae7 fix some lint warnings 2019-04-21 08:24:29 +02:00
Konrad Pozniak 1ae3e86378
remove unneeded CollectionUtil and Either.java (#1201) 2019-04-21 08:24:06 +02:00
Bernd 84f561af17 confirm delete notifications (#1186)
* confirm delete notificaitons

* Use same strings as website

* Cleanup
2019-04-12 00:13:06 +02:00
pandasoft0 63e4c1d4e0 Add CLEAR and FILTER buttons to notifications (#1168)
* Issue tuskyapp#762 add clear notifications button to the top of the Notifications adapter

* Issue tuskyapp#764 add the notifications filter

* Update notifications top bar buttons

* Replace PopupMenu with PopupWindow. Save notifications filter to the account table

* Disable hide top bar on empty content at the notification screen

* Add app bar behavior to the sw640 notification layout

* Fix issue with click on top notification tab
2019-04-09 19:13:54 +02:00
pandasoft0 01234bb94b Add ability to scroll to top by tab click at the Account activity (#1146)
* Issue: tuskyapp#1078
Add ability to scroll to top by tab click at the Account activity

* Fix issue with scroll tabs other than current

* Update scroll on click behavior

* Update code formatting

* Remove unused code

* Move tab click listener from Fragments to Activities
2019-04-08 15:40:16 +02:00
Konrad Pozniak dd02af9911
fix IndexOutOfBoundException caused by ListStatusAccessibilityDelegate (#1178) 2019-04-07 16:32:58 +02:00
pandasoft0 c3df44eaef Update Notification Adapter to support status created timestamp refresh (#1130)
* Update Notification Adapter to support status created timestamp refresh

* Format the code
2019-03-25 13:44:31 +01:00
Konrad Pozniak 08c1bbd253
fix crash in NotificationsFragment (#1119)
* fix crash in NotificationsFragment

* don't reload notifications

* add updateAdapter()
2019-03-13 09:32:59 +01:00
Konrad Pozniak 5f390b378b
Improve Dependency Injection (#1120)
* inject TimelineCases directly into SFragment

* inject ThemeUtils
2019-03-11 17:25:11 +01:00
Ivan Kupalov 47fa775f21 Refactor notifications adapter (#985)
* Fix unnecessary reloading of notifications

This removes topId as it is not needed and just plainly uses status id
if needed. During initial loading of notifications topId/bottomId are
not set so we ended up reloading everything.

* Refactor notifications adapter

Use AsyncListDiffer for updating notifications just like in timelines.

* Cleanup in NotificationsFragment
2019-03-07 19:31:18 +01:00
Ivan Kupalov 479d210e64 Timeline a11y (#1059)
* Improve timeline accessibility

* Improve a11y description and actions in timeline

* Refactor timeline accessibility handling, add more actions

* Update app/src/main/java/com/keylesspalace/tusky/adapter/StatusViewHolder.java

Co-Authored-By: charlag <charlag@tutanota.com>

* Add a11y actions for links, hashtags and mentions, enable for detailed.

* A11y delegate: Add open reblogger action, cleanup

* a11y delegate: add reblogs/boosts, improve interrupts

* a11y delegate: add reblogs/boosts, improve interrupts

* a11y delegate: add to notifications fragment
2019-03-04 19:24:27 +01:00
Konrad Pozniak 5ee78e68ba
remove unnecessary divider styling (#1057) 2019-02-26 18:28:20 +01:00
Konrad Pozniak e371fa0e24
Tab customization & direct messages tab (#1012)
* custom tabs

* custom tabs interface

* implement custom tab functionality

* add database migration

* fix bugs, improve ThemeUtils nullability handling

* implement conversationsfragment

* setup ConversationViewHolder

* implement favs

* add button functionality

* revert 10.json

* revert item_status_notification.xml

* implement more menu, replying, fix stuff, clean up

* fix tests

* fix bug with expanding statuses

* min and max number of tabs

* settings support, fix bugs

* database migration

* fix scrolling to top after refresh

* fix                                 bugs

* fix warning in item_conversation
2019-02-12 19:22:37 +01:00
Ivan Kupalov 22ee1dc5df Fix IDs (#1016)
* Allow any String IDs as long as they're sortable

* Allow any String IDs as long as they're sortable
2019-01-31 19:03:34 +01:00
Ivan Kupalov c0c73f5c06 Error artwork (#1000)
* Add new Elephant Friend images. Use them in ListsActivity.

* Add error images to AccountListFragment

* Add error images to Timeline & Notifications fragment. Needs rework.

* Introduce BackgroundMessageView. Use it in AccountList.

* Use correct button style for BackgroundMessageView

Co-Authored-By: charlag <charlag@tutanota.com>

* Use BackgroundMessageView

* Add BackgroundMessageView docs

* Re-color and document elephants

* Apply feedback, disable refresh when error is shown

* Fix string typo
2019-01-28 19:02:31 +01:00
Conny Duck fa0ee82fe4 fix build 2019-01-14 22:29:12 +01:00
Ivan Kupalov 3ab78a19bc Caching toots (#809)
* Initial timeline cache implementation

* Fix build/DI errors for caching

* Rename timeline entities tables. Add migration. Add DB scheme file.

* Fix uniqueness problem, change offline strategy, improve mapping

* Try to merge in new statuses, fix bottom loading, fix saving spans.

* Fix reblogs IDs, fix inserting elements from top

* Send one more request to get latest timeline statuses

* Give Timeline placeholders string id. Rewrite Either in Kotlin

* Initial placeholder implementation for caching

* Fix crash on removing overlap statuses

* Migrate counters to long

* Remove unused counters. Add minimal TimelineDAOTest

* Fix bug with placeholder ID

* Update cache in response to events. Refactor TimelineCases

* Fix crash, reduce number of placeholders

* Fix crash, fix filtering, improve placeholder handling

* Fix migration, add 8-9 migration test

* Fix initial timeline update, remove more placeholders

* Add cleanup for old statuses

* Fix cleanup

* Delete ExampleInstrumentedTest

* Improve timeline UX regarding caching

* Fix typos

* Fix initial timeline update

* Cleanup/fix initial timeline update

* Workaround for weird behavior of first post on initial tl update.

* Change counter types back to int

* Clear timeline cache on logout

* Fix loading when timeline is completely empty

* Fix androidx migration issues

* Fix tests

* Apply caching feedback

* Save account emojis to cache

* Fix warnings and bugs
2019-01-14 22:05:08 +01:00
Ivan Kupalov fb83d086d1 Fix unnecessary reloading of notifications (#984)
This removes topId as it is not needed and just plainly uses status id
if needed. During initial loading of notifications topId/bottomId are
not set so we ended up reloading everything.
2019-01-11 22:07:40 +01:00
Konrad Pozniak a445c12094
Upgrade to AndroidX, move to MaterialComponents theme (#953)
* upgrade to AndroidX, upgrade libraries

* move to MaterialComponents theme

* make sure the compose button looks good everywhere

* fix tollbar title/button alignment on tablet

* move to new material color theming, consolidate colors and themes

* fix build, fix imports

* set error on TextInputLayout instead of EditText

* fix imports, TootButton when

* improve snackbar style

* fix task description color
2018-12-17 15:25:35 +01:00