kyori19
9b5f176008
Merge remote-tracking branch 'tuskyapp/develop'
2023-12-08 02:14:28 +09:00
Konrad Pozniak
7dfc8790c7
update minSdk to 24, cleanup code ( #4014 )
...
closes https://github.com/tuskyapp/Tusky/issues/2607
redo of https://github.com/tuskyapp/Tusky/pull/3593
2023-09-12 19:25:45 +02:00
Nik Clayton
4169dc34c0
Composite semi-transparent avatars over a solid background ( #3874 )
...
Avatars that are semi-transparent are a problem when viewing a thread,
as the line that connects different statuses in the same thread is drawn
underneath the avatar and is visible.
Fix this with a CompositeWithOpaqueBackground Glide transformation that:
1. Extracts the alpha channel from the avatar image
2. Converts the alpha to a 1bpp mask
3. Draws that mask on a new bitmap, with the appropriate background
colour
4. Draws the original bitmap on top of that
So any partially transparent areas of the original image are drawn over
a solid background colour, so anything drawn under them will not appear.
2023-08-08 23:09:59 +02: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
ed188783de
include card and collapsed state in instant expanded change ( #3394 )
2023-03-01 20:00:56 +01:00
kyori19
eeb6c3c96b
Merge remote-tracking branch 'tuskyapp/develop'
...
# Conflicts:
# app/build.gradle
# app/src/main/java/com/keylesspalace/tusky/MainActivity.kt
# app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java
# app/src/main/java/com/keylesspalace/tusky/adapter/StatusDetailedViewHolder.java
# 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/compose/MediaUploader.kt
# app/src/main/java/com/keylesspalace/tusky/components/search/SearchViewModel.kt
# app/src/main/java/com/keylesspalace/tusky/components/timeline/TimelineFragment.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/TimelineStatusEntity.kt
# app/src/main/java/com/keylesspalace/tusky/di/NetworkModule.kt
# app/src/main/java/com/keylesspalace/tusky/fragment/SFragment.java
# app/src/main/java/com/keylesspalace/tusky/service/SendStatusService.kt
# app/src/main/java/com/keylesspalace/tusky/util/ThemeUtils.java
# app/src/main/res/layout/item_status_detailed.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-fa/strings.xml
# app/src/main/res/values-hu/strings.xml
# app/src/main/res/values-it/strings.xml
# app/src/main/res/values-ja/strings.xml
# app/src/main/res/values-nb-rNO/strings.xml
# app/src/main/res/values-oc/strings.xml
# app/src/main/res/values-tr/strings.xml
# app/src/main/res/values-zh-rCN/strings.xml
# app/src/main/res/values/strings.xml
# fastlane/metadata/android/sv/changelogs/74.txt
# fastlane/metadata/android/tr/changelogs/58.txt
# gradle/libs.versions.toml
2023-01-29 04:44:17 +09:00
Konrad Pozniak
61a45ae376
show status edits ( #3049 )
...
* show status edits part 1
* show status edits part 2 - load status edits
* fix code formatting
* add dialog to show status edits
* small improvements
* use ALIGN_CENTER to position status visibility icon when possible
* rename status_timestamp_info view to status_meta_info
* make dateFormat static
* remove commented-out code
* move edits to dedicated fragment
2023-01-02 14:09:18 +01:00
kyori19
5be9a90333
Merge remote-tracking branch 'tuskyapp/develop'
2022-12-29 22:53:20 +09: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
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
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
131309e99c
Fix conversations ( #2556 )
...
* fix conversations
* cleanup ConversationsRemoteMediator
* update conversation timestamps regularly
* improve loadStateListener
* add db migration
* make deleting from conversation db suspending
* reorganize code in ConversationsFragment
* delete NetworkStateViewHolder
* cleanup imports
* add 38.json
* honor fabHide setting in ConversationsFragment
* set page size to 30
2022-05-30 19:06:14 +02:00
kyori19
6c630e08dd
Merge remote-tracking branch 'tuskyapp/develop'
2022-04-24 16:42:54 +09:00
Konrad Pozniak
3e849244f9
move Html parsing to ViewData ( #2414 )
...
* move Html parsing to ViewData
* refactor reports to use viewdata
* cleanup code
* refactor conversations
* fix getEditableText
* rename StatusParsingHelper
* fix tests
* commit db schema file
* add file header
* rename helper function to parseAsMastodonHtml
* order imports correctly
* move mapping off main thread to default dispatcher
* fix ktlint
2022-04-15 13:20:27 +02:00
kyori19
1228f645a6
Merge remote-tracking branch 'tuskyapp/develop'
2022-04-13 00:59:06 +09:00
Mélanie Chauvel
2fc3ba3cee
Replace “status” by “post” in strings name and source values ( #2405 )
2022-03-27 12:23:25 +02:00
kyori19
ba005c769b
Merge remote-tracking branch 'tuskyapp/develop'
2022-03-04 17:51:25 +09: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
kyori19
609dcf46cb
Merge remote-tracking branch 'tuskyapp/develop'
2021-04-28 11:54:29 +09: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
kyori19
a746009f74
Merge remote-tracking branch 'tuskyapp/develop'
2021-03-04 15:08:48 +09: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
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
kyori19
d5f5c0b695
Use Jsoup to hide quote link
2021-01-10 13:40:02 +09:00
kyori19
171f69a35d
Merge remote-tracking branch 'tuskyapp/develop'
2020-11-20 13:21:21 +09:00
kyori19
1370eedc10
Merge remote-tracking branch 'tuskyapp/develop'
2020-04-09 00:34:31 +09:00
Ivan Kupalov
67c20326f9
Add options to confirm reblog/unreblog actions, close #460 ( #1650 )
2020-03-03 21:27:26 +01:00
kyori19
b2739828dc
Merge remote-tracking branch 'tuskyapp/develop'
2020-01-11 22:46:31 +09:00
Konrad Pozniak
e5b78f65cf
use material buttons in timeline ( #1627 )
...
* use material buttons in timeline
* remove wrong switch option
2020-01-07 19:40:52 +01:00
kyori19
9efc4a4bc9
Merge remote-tracking branch 'tuskyapp/develop'
2020-01-05 01:02:28 +09:00
Ivan Kupalov
426e7edb73
Fix missing cases of using StatusDisplayOptions ( #1614 )
2020-01-03 20:22:02 +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
kyori19
61bc887af5
Merge remote-tracking branch 'tuskyapp/develop'
2019-12-27 14:46:18 +09:00
Levi Bard
bac3003182
Make polls respect content warning visibility setting ( #1583 )
...
* Make polls respect content warning visibility setting
* Only perform poll setup when poll is visible
2019-12-16 19:51:21 +01:00
kyori19
fb3263b76d
Merge remote-tracking branch 'tuskyapp/develop'
2019-11-19 23:42:22 +09:00
kyori19
762b2225ca
Merge remote-tracking branch 'tuskyapp/develop'
2019-11-19 21:52:13 +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
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
kyori19
c11ea7ae80
Merge remote-tracking branch 'tuskyapp/master'
2019-09-07 17:55:52 +09:00
Konrad Pozniak
344863b5d4
Add audio support for timelines ( #1466 )
...
* Add minimal audio support for timelines
* fix attachment description formatting
2019-09-05 21:07:01 +02:00
kyori19
6f1c59d031
[notestock] Implement Notestock search
2019-09-05 21:29:45 +09:00
kyori19
573be935a7
[quote] Implement quote feature
2019-09-03 23:08:13 +09:00
Konrad Pozniak
588775ff9b
cleanup code in StatusViewHolders ( #1418 )
...
* cleanup code in status ViewHolder
* add check for reblogButton back in
2019-07-27 21:53:28 +02:00
Konrad Pozniak
b95ff10a3c
Unlimited number of poll options ( #1340 )
...
* implement unlimited number of poll options
* fixes
* extract percent calculation into function so it can be used anywhere
* add license header
2019-06-22 21:55:03 +02:00
Ivan Kupalov
d827bd120f
Show media descriptions in timeline when previews are disabled. ( #1284 )
2019-06-22 20:38:53 +02:00
Konrad Pozniak
ab4f981955
fix conversation avatars ( #1324 )
2019-06-17 13:14:44 +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
pandasoft0
76ce28980c
Migrate to Glide ( #1175 )
...
* Replace Picasso library with Glide library tuskyapp#1082
* Replace Picasso library with Glide library tuskyapp#1082
* Update load emoji with glide
* Update context used for Glide
* Removed unused import
* Replace deprecated SimpleTarget with CustomTarget
* Fix crash at the view image fragment, remove override image size
* Replace Single.create with Single.fromCallable
* View image fragment refactor
* Fix after merge
* Try to load cached image first and show progress view on failure
* Try to load cached image first and show progress view on failure
2019-04-16 21:39:12 +02:00
Bernd
507ffb1b41
Add new Theme "Use System Design" + fixes to night mode ( #1069 )
...
* Add theme system
A theme which follows system design.
See: https://www.xda-developers.com/samsung-galaxy-s9-update-night-mode-schedule/
* update
to be in line with https://github.com/tuskyapp/Tusky/pull/1060/files
* Update ThemeUtils.java
* update
* Cleanup
* Update Deps
* Cleanup
* Update PreferencesActivity.kt
* Workaround to make MODE_NIGHT_FOLLOW_SYSTEM work
* Update ThemeUtils.java
* Use ThemeUtils.THEME_SYSTEM
* Update SplashActivity.kt
* Update strings.xml
* Update Deps
* Update build.gradle
* Update build.gradle
* fix tests
2019-03-07 21:33:29 +01:00
Bernd
bbd37c6cd4
Fix Crash ( #1066 )
...
* fix possible npe
* Update ConversationViewHolder.java
* revert unneded changes
2019-02-20 18:49:03 +01:00