Konrad Pozniak
321d17f5de
Remove Rx from EventHub and TimelineCases ( #3446 )
...
* remove Rx from EventHub and TimelineCases
* fix tests
* fix AccountViewModel.unblockDomain
* remove debug logging
2023-03-18 10:11:47 +01:00
Levi Bard
f71aa55bbe
Remove stale pre-edit statuses from the thread view. ( #3377 )
...
Fixes #3366
2023-03-10 20:24:41 +01:00
Konrad Pozniak
816dc0cbbc
make sure all timeline database operations run on a background thread ( #3391 )
2023-03-01 20:00:19 +01:00
Konrad Pozniak
f419e83c16
improve logout ( #2579 )
...
* improve logout
* fix tests
* add db migration
* delete wrongly committed file again
* improve LogoutUsecase
2022-06-20 16:45:54 +02:00
Konrad Pozniak
497b434663
Improve timeline dao ( #2353 )
...
* improve TimelineDao methods
* remove @Transaction from cleanup methods
2022-03-02 20:40:06 +01:00
Konrad Pozniak
69bcc92c46
fix cache cleanup deleting more statuses than it should ( #2348 )
...
* fix cache cleanup deleting more statuses than it should
* reset LOAD_AT_ONCE
* improve tests
* move cache clean code back to ViewModel
2022-02-21 19:33:10 +01:00
Konrad Pozniak
e29567c9ec
Cleanup dagger setup ( #2300 )
...
* cleanup dagger setup
* fix tests
* fix ktlint
* cleanup FragmentBuildersModule
2022-01-23 20:24:55 +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
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
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
40b24cd242
migrate to RxJava3 ( #2146 )
...
* migrate to RxJava3
* remove unused import
2021-05-16 19:53:27 +02:00
kyori19
fef4b8b07f
[needs help] Support announcements ( #1977 )
...
* Implement announcements activity
* Update reactions without api access
* Add badge style
* Use emptyList() as default parameter
* Simplify newIntent
* Use List instead of Array
* Remove unneeded ConstraintLayout
* Add lineSpacingMultiplier
* Fix wording
* Apply material design's default chip style
* Dismiss announcements automatically
2020-11-18 21:12:27 +01:00
Levi Bard
8cb83050ac
Add support for muting conversations ( #1732 )
...
* Add support for muting conversations
Implements #1731
* Fix CI
* Apply code review feedback
2020-03-24 21:06:04 +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
kyori19
9e4c19a47e
Scheduled toot ( #1004 )
...
* Scheduled toot
* Hide scheduled toot button if version < 2.7.0
* Fix timeline reloading after toot
* Add edit icon to ComposeScheduleView
* Add button to reset scheduled toot
* Close bottom sheet and change button color after time a was selected
* Fix edit icon's size
* List of scheduled toots
* Fix instance version check
* Use MaterialDatePicker
* Set date and time consecutively
* Add licenses
2019-10-02 21:28:12 +02:00
Levi Bard
a6819ce28e
Implement instance mutes ( #1311 )
...
* Implement instance mutes. #1143
* Move new classes to instancemute component
* Add progress bar while instance list loads
* Add undo snackbar for instance unmuting
* Update display text for instance mutes
2019-06-11 15:56:27 +02:00
Konrad Pozniak
b8c32a96de
Poll fixes ( #1238 )
...
* update cache when voting on a poll
* fix poll controls color
* don't allow voting on old poll from cache
* check for RecyclerView.NO_POSITION in click listener
* fix crash when voting in a boosted poll
2019-05-05 08:26:17 +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
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
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
Konrad Pozniak
348c20c792
New settings ( #891 )
...
* change drawer items
* rename SettingsActivity
* introduce AccountSettings activity
* improve account settings, move notification settings
* sync settings with server
* rename settings back to preferences
* add functionality for settings
* move mediaPreviewEnabled preference to AccountPreferences
* replace shared prefs with accountmanager
* move PreferencesFragment to support library
* split preferences fragment into smaller fragments,
merge AccountPreferencesActivity into PreferencesFragment
* adjust icon size, add icons to general preferences
* change mediaPreviewEnabled and alwaysShowSensitiveMedia pref position
* add database migration
* remove pullNotificationCheckInterval option
* fix preference in TimelineFragment
* Update Chinese translations. (#915 )
* Update zh-CN translations.
* Update zh-SG translations.
* Update zh-TW translations.
* Update zh-MO translations.
* Update zh-HK translations.
* Fix errors in zh-CN translations.
* Fix errors in zh-SG translations.
* Fix errors in zh-TW translations.
* Fix errors in zh-MO translations.
* Fix errors in zh-HK translations.
2018-11-12 21:09:39 +01:00
Konrad Pozniak
f022944e90
add possibility to change profile fields, refactor ( #751 )
...
* refactor EditProfileActivity, add profile fields
* preserve transparency when cropping profile images
* dont validate profile fields on client side
* revert unintentional change in card_frame_dark.xml
* improve activity_edit_profile layout for tablets
* Revert "improve activity_edit_profile layout for tablets"
This reverts commit 20ff3d167c39b15566e017108b33fe58690a8482.
* improve activity_edit_profile layout for tablets
* fix bug in EditProfileActivity, add snackbar
* improve EditProfileActivity code
* use events instead of shared prefs to communicate profile update
2018-08-15 20:47:09 +02:00
Ivan Kupalov
3756a1fd20
Add EventHub, add fav, reblog events, improve timelines ( #562 )
...
* Add AppStore, add fav, reblog events
* Add events, add handling to Timeline
* Add event handling to Notifications
* Mostly finish events
* Fix unsubscribing
* Cleanup timeline
* Fix newStatusEvent in thread, fix deleteEvent
* Insert new toots only in specific timelines
* Add missing else
* Rename AppStore to EventHub
* Fix tests
* Use DiffUtils for timeline
* Fix empty timeline bug. Improve loading placeholder
* Fix AsyncListDiff, loading indicator, "load more"
* Timeline fixes & improvements.
Fix infinite loading. Remove spinner correctly.
Don't refresh timeline without need.
2018-05-27 11:22:12 +03:00