kyori19
9968b561c4
Fix crash after resuming app
2023-07-19 20:41:13 +09:00
kyori19
4b9fb2f0bb
Merge remote-tracking branch 'tuskyapp/develop'
...
# Conflicts:
# .gitignore
# README.md
# app/build.gradle
# app/src/green/res/mipmap-hdpi/ic_launcher.png
# app/src/green/res/mipmap-mdpi/ic_launcher.png
# app/src/green/res/mipmap-xhdpi/ic_launcher.png
# app/src/green/res/mipmap-xxhdpi/ic_launcher.png
# app/src/green/res/mipmap-xxxhdpi/ic_launcher.png
# app/src/main/java/com/keylesspalace/tusky/EditProfileActivity.kt
# app/src/main/java/com/keylesspalace/tusky/MainActivity.kt
# app/src/main/java/com/keylesspalace/tusky/StatusListActivity.kt
# app/src/main/java/com/keylesspalace/tusky/TabData.kt
# app/src/main/java/com/keylesspalace/tusky/adapter/NotificationsAdapter.java
# app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java
# app/src/main/java/com/keylesspalace/tusky/appstore/Events.kt
# app/src/main/java/com/keylesspalace/tusky/components/account/AccountActivity.kt
# app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt
# app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeViewModel.kt
# app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationEntity.kt
# app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationsFragment.kt
# app/src/main/java/com/keylesspalace/tusky/components/preference/PreferencesActivity.kt
# app/src/main/java/com/keylesspalace/tusky/components/preference/PreferencesFragment.kt
# app/src/main/java/com/keylesspalace/tusky/components/report/fragments/ReportStatusesFragment.kt
# app/src/main/java/com/keylesspalace/tusky/components/search/SearchViewModel.kt
# app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt
# app/src/main/java/com/keylesspalace/tusky/components/timeline/TimelineFragment.kt
# app/src/main/java/com/keylesspalace/tusky/components/timeline/TimelineTypeMappers.kt
# app/src/main/java/com/keylesspalace/tusky/components/timeline/viewmodel/TimelineViewModel.kt
# app/src/main/java/com/keylesspalace/tusky/components/viewthread/ViewThreadFragment.kt
# app/src/main/java/com/keylesspalace/tusky/db/TimelineDao.kt
# app/src/main/java/com/keylesspalace/tusky/db/TimelineStatusEntity.kt
# app/src/main/java/com/keylesspalace/tusky/di/ActivitiesModule.kt
# app/src/main/java/com/keylesspalace/tusky/di/FragmentBuildersModule.kt
# app/src/main/java/com/keylesspalace/tusky/di/ViewModelFactory.kt
# app/src/main/java/com/keylesspalace/tusky/entity/NewStatus.kt
# app/src/main/java/com/keylesspalace/tusky/entity/Status.kt
# app/src/main/java/com/keylesspalace/tusky/entity/TimelineAccount.kt
# app/src/main/java/com/keylesspalace/tusky/fragment/NotificationsFragment.java
# app/src/main/java/com/keylesspalace/tusky/service/SendStatusService.kt
# app/src/main/java/com/keylesspalace/tusky/settings/SettingsConstants.kt
# app/src/main/java/com/keylesspalace/tusky/util/StatusDisplayOptions.kt
# app/src/main/java/com/keylesspalace/tusky/util/StatusParsingHelper.kt
# app/src/main/res/layout/activity_about.xml
# app/src/main/res/layout/activity_main.xml
# app/src/main/res/layout/item_status.xml
# app/src/main/res/layout/item_status_notification.xml
# app/src/main/res/values-ar/strings.xml
# app/src/main/res/values-be/strings.xml
# app/src/main/res/values-bn-rBD/strings.xml
# app/src/main/res/values-ca/strings.xml
# app/src/main/res/values-cy/strings.xml
# app/src/main/res/values-de/strings.xml
# app/src/main/res/values-es/strings.xml
# app/src/main/res/values-eu/strings.xml
# app/src/main/res/values-fa/strings.xml
# app/src/main/res/values-fr/strings.xml
# app/src/main/res/values-gd/strings.xml
# app/src/main/res/values-gl/strings.xml
# app/src/main/res/values-hu/strings.xml
# app/src/main/res/values-in/strings.xml
# app/src/main/res/values-is/strings.xml
# app/src/main/res/values-it/strings.xml
# app/src/main/res/values-ja/strings.xml
# app/src/main/res/values-lv/strings.xml
# app/src/main/res/values-nb-rNO/strings.xml
# app/src/main/res/values-night/theme_colors.xml
# app/src/main/res/values-oc/strings.xml
# app/src/main/res/values-pl/strings.xml
# app/src/main/res/values-pt-rBR/strings.xml
# app/src/main/res/values-ru/strings.xml
# app/src/main/res/values-sa/strings.xml
# app/src/main/res/values-sv/strings.xml
# app/src/main/res/values-tr/strings.xml
# app/src/main/res/values-uk/strings.xml
# app/src/main/res/values-vi/strings.xml
# app/src/main/res/values-zh-rCN/strings.xml
# app/src/main/res/values/attrs.xml
# app/src/main/res/values/styles.xml
# app/src/main/res/values/theme_colors.xml
# app/src/test/java/com/keylesspalace/tusky/BottomSheetActivityTest.kt
# app/src/test/java/com/keylesspalace/tusky/FilterV1Test.kt
# app/src/test/java/com/keylesspalace/tusky/components/timeline/StatusMocker.kt
# app/src/test/java/com/keylesspalace/tusky/db/TimelineDaoTest.kt
# app/src/test/java/com/keylesspalace/tusky/usecase/TimelineCasesTest.kt
# app/src/test/java/com/keylesspalace/tusky/util/RickRollTest.kt
# assets/tusky_banner.xcf
# fastlane/metadata/android/ca/changelogs/58.txt
# fastlane/metadata/android/ca/full_description.txt
# fastlane/metadata/android/de/changelogs/58.txt
# fastlane/metadata/android/de/changelogs/61.txt
# fastlane/metadata/android/de/changelogs/67.txt
# fastlane/metadata/android/de/changelogs/68.txt
# fastlane/metadata/android/de/changelogs/70.txt
# fastlane/metadata/android/de/changelogs/72.txt
# fastlane/metadata/android/de/changelogs/74.txt
# fastlane/metadata/android/de/changelogs/77.txt
# fastlane/metadata/android/de/changelogs/80.txt
# fastlane/metadata/android/de/changelogs/82.txt
# fastlane/metadata/android/de/changelogs/83.txt
# fastlane/metadata/android/de/changelogs/87.txt
# fastlane/metadata/android/de/changelogs/89.txt
# fastlane/metadata/android/de/changelogs/94.txt
# fastlane/metadata/android/de/full_description.txt
# fastlane/metadata/android/de/short_description.txt
# fastlane/metadata/android/fa/changelogs/58.txt
# fastlane/metadata/android/it/changelogs/58.txt
# gradle.properties
# gradle/libs.versions.toml
# instance-build.gradle
2023-06-02 00:54:05 +09:00
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
kyori19
57aab71b0e
Merge remote-tracking branch 'tuskyapp/develop'
...
# Conflicts:
# app/build.gradle
# app/src/main/java/com/keylesspalace/tusky/SplashActivity.kt
# app/src/main/java/com/keylesspalace/tusky/adapter/StatusDetailedViewHolder.java
# app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeViewModel.kt
# app/src/main/java/com/keylesspalace/tusky/components/compose/MediaUploader.kt
# app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationViewHolder.java
# app/src/main/java/com/keylesspalace/tusky/components/search/SearchViewModel.kt
# app/src/main/java/com/keylesspalace/tusky/components/timeline/TimelineTypeMappers.kt
# app/src/main/java/com/keylesspalace/tusky/components/timeline/viewmodel/CachedTimelineViewModel.kt
# app/src/main/res/layout/activity_main.xml
# app/src/main/res/values-cs/strings.xml
# app/src/main/res/values-de/strings.xml
# app/src/main/res/values-fa/strings.xml
# app/src/main/res/values-fr/strings.xml
# app/src/main/res/values-hu/strings.xml
# app/src/main/res/values-it/strings.xml
# app/src/main/res/values-no-rNB/strings.xml
# app/src/main/res/values-zh-rCN/strings.xml
2022-07-16 02:51:51 +09: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
kyori19
ba005c769b
Merge remote-tracking branch 'tuskyapp/develop'
2022-03-04 17:51:25 +09:00
kyori19
8e49dd7329
Merge commit '643e012b11f20538fd17aa3ab888d8e739ebd0d0'
2022-03-04 16:29:48 +09: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
kyori19
abcb56b218
Use CacheUpdater for streaming
2022-02-08 17:01:37 +09:00
kyori19
e78cdad22f
Refactor streaming feature
2022-01-25 03:32:57 +09: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
kyori19
2005b32dfa
Merge remote-tracking branch 'tuskyapp/develop'
2021-07-03 23:59:57 +09: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
171f69a35d
Merge remote-tracking branch 'tuskyapp/develop'
2020-11-20 13:21:21 +09: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
kyori19
025ba68df4
Refactor quick compose
...
* Stash visibility while composing reply
* Remove announcements
2020-09-08 02:04:56 +09:00
kyori19
f81eb41c86
Add lists to streaming target
2020-05-23 13:46:09 +09:00
kyori19
831ec88b6f
Configure streaming per each tabs
...
* Can use in Home, Local, Federated
* Process filter_changed event
2020-05-22 23:38:40 +09:00
kyori19
1370eedc10
Merge remote-tracking branch 'tuskyapp/develop'
2020-04-09 00:34:31 +09: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
kyori19
fb3263b76d
Merge remote-tracking branch 'tuskyapp/develop'
2019-11-19 23:42:22 +09: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
kyori19
b1624293c1
[scheduled] Scheduled toot
2019-09-05 21:29:45 +09:00
kyori19
d17fd8a03b
[nyan] Sociality filter
2019-09-05 21:29:45 +09:00
kyori19
9bb15e943d
[streaming] Home timeline streaming
2019-09-05 21:29:45 +09:00
kyori
ad7ff6d06b
[quick-toot] Add quick-toot feature
2019-09-03 23:14:21 +09: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