Commit graph

1124 commits

Author SHA1 Message Date
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
Levi Bard
4a4dd4f30f
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-03-19 22:02:10 +01:00
Levi Bard
9c4898117e
Ensure media are marked sensitive any time there's a content warning (#1728)
Addresses the most critical part of #1725, and may also apply to #1721
2020-03-17 19:46:32 +01:00
Ivan Kupalov
6a87e3e352
Work around the bug in ComposeScheduleView, fix #1720 (#1722)
DatePicker seems to think that it's in UTC. So setting selected time
might not work as aspect and receiving value from it might be in UTC
as well. This commit fixes the second issue by interpreting the date
as UTC date. Tested with America/New_York (GMT-5 at the moment) and
Russia/Kamchatka (GMT+12).
2020-03-09 20:43:01 +01:00
Ivan Kupalov
67c20326f9
Add options to confirm reblog/unreblog actions, close #460 (#1650) 2020-03-03 21:27:26 +01:00
Ivan Kupalov
712f61b15a
Add "more" popup to a11y menu, fix #1710 (#1714) 2020-03-02 19:36:44 +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
Levi Bard
dd8abad8ca
When a plaintext share contains EXTRA_TEXT and a distinct EXTRA_SUBJECT, use EXTRA_SUBJECT as the content warning for the shared status (#1712) 2020-02-26 20:41:02 +01:00
Alibek Omarov
50730f7481
Add more URL cases for Pleroma, Misskey and Friendica (#1702) 2020-02-25 19:59:40 +01:00
Levi Bard
710b9f08c1
Add status url as EXTRA_SUBJECT when sharing status content. (#1680)
Addresses #1655
2020-02-25 19:58:20 +01: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
Konrad Pozniak
d9c802982e
Upgrade deps (#1708)
* upgrade Dagger

* upgrade AndroidX Lifecycle

* upgrade AndroidX Fragment

* upgrade Room, Retrofit, AndroidX core, Material components

* fix report fragments not sharing viewmodels
2020-02-25 19:49:41 +01:00
Konrad Pozniak
398ee66084
simplify DI & test setup, convert TuskyApplication to Kotlin (#1675)
* simplify DI & test setup, convert TuskyApplication to Kotlin

* try to fix tests on bitrise

* remove conscrypt-openjdk-uber test dependency again
2020-02-25 19:49:15 +01:00
Levi Bard
80e0c55b67
Warn when scheduling a post within 5 minutes (#1698)
* Warn when scheduling a post within 5 minutes

* Fix NPE when scheduled post time isn't set

* Use AlertDialog with option to cancel instead of Toast when a post isn't scheduled far enough in advance

* Move schedule validation warning to scheduling bottom sheet

* Fix scheduling error display when sending after an initially-valid scheduling time has become invalid
2020-02-25 18:33:24 +01:00
Konrad Pozniak
aba36ca6f8
Compose activity fixes (#1707)
* cleanup media keyboard code

* fix crash in ComposeActivity when rotating phone while taking photo

* fix poll button in ComposeActivity being invisible when disabled
2020-02-24 22:02:59 +01:00
Konrad Pozniak
6d48811767
fix crash when inserting custom emojis at the start of the compose field (#1706) 2020-02-21 22:08:41 +01:00
Konrad Pozniak
1eef035a9e fix default emoji font icon not rendering 2020-02-21 18:21:47 +01:00
Konrad Pozniak
b8ef287b47
fix image from another status showing up instead of blurhash (#1699) 2020-02-19 22:07:01 +01:00
Levi Bard
9a173f0234
Delete draft when sending its status completes. (#1704)
Fixes #1700
2020-02-19 21:10:22 +01:00
Konrad Pozniak
3f3166522b
fix list editing by moving account_ids from query to form param (#1690)
* fix list editing by moving account_ids from query to form param

* fix DialogFramentStyle
2020-02-18 08:45:10 +01:00
Konrad Pozniak
6a60a2a6a6
fix url search returning the same post indefinitely (#1695) 2020-02-17 19:34:11 +01:00
Ivan Kupalov
5a5bbca171
Fix emoji download (#1691)
* Update OkHttp to 4.3.1

* Fix downloading emoji fonts

OkHttp strips away content length info when compression is used.
Even though this behavior is old, we didn't observe it until OkHttp was
updated in d3ebcc14ec.

We get it from the original network response header. It should be
compressed length.

* Reformat EmojiCompatFont and EmojiPreference
2020-02-17 16:23:34 +01:00
Levi Bard
04275b4073
[Tusky10] Fix recollapsing expanded sensitive content in the thread view (#1689) 2020-02-14 19:04:14 +01:00
Levi Bard
185bfeb9f3
[Tusky10] Fix descriptions of audio attachments when expanding/collapsing status content (#1688) 2020-02-14 19:03:59 +01:00
Konrad Pozniak
3a75ca25a3
[Tusky10] fix crash when bookmarking a conversation while offline (#1686) 2020-02-14 19:03:42 +01:00
Ivan Kupalov
5945700c1b
Allow higher zooming levels for caption dialog images (#1672) 2020-02-10 14:00:21 +01:00
Konrad Pozniak
11a4de858c fix crash when opening Poll dialog and instanceParams are null (#1668) 2020-02-09 22:34:44 +01:00
Konrad Pozniak
88b8eca16a
fix crash when Account.displayName is null (#1667) 2020-02-07 20:23:51 +01:00
Konrad Pozniak
fde23f25d2
fix mixup of search params in SearchDataSource.loadRange (#1666) 2020-02-07 20:23:36 +01:00
Konrad Pozniak
c379014d9a
fix content collapse button not working in notifications (#1665) 2020-02-04 22:21:43 +01:00
Konrad Pozniak
8767d2ed3d
Theme refactoring (#1656)
* Theme refactoring

* disable the automatic tinting of surfaces with elevation in dark mode

* make the media warning visible again with the dark theme

* fix nav bar on api 27+

* use correct color for all media warnings
2020-01-30 21:37:28 +01:00
Konrad Pozniak
29ef92edd3
fix overlapping icons in ComposeActivity (#1661) 2020-01-30 21:17:37 +01:00
Mélanie Chauvel (ariasuni)
d6f3856878
Refresh DM column when removing toot there instead of removing conversation (#1654) 2020-01-29 19:25:55 +01:00
Konrad Pozniak
45828fbb5a
fix FragmentAdapter returning null fragments when activity was recreated (#1647)
* fix FragmentAdapter returning null fragments when activity was recreated

* remove unused import

* make activity in CustomFragmentStateAdapter private
2020-01-29 19:17:11 +01:00
Konrad Pozniak
27d464351b
fix reveal button not updating in ViewThreadActivity (#1652) 2020-01-29 19:16:12 +01:00
Konrad Pozniak
7d5a9da992
fix crash when closing ComposeActivity (#1651) 2020-01-29 19:15:53 +01:00
Ivan Kupalov
e1aa3cc995 Enable zooming and panning in the CaptionDialog (#1643) 2020-01-18 12:12:37 +01:00
Ivan Kupalov
92e9c9a762 Fix setting text to CW button in fav/reblog notification. Fix #1641 (#1642)
This is a regression from e5b78f65cf
2020-01-16 19:08:19 +01:00
Levi Bard
f903cc50e1 Add support for sharing audio attachments (#1629) 2020-01-16 19:06:13 +01:00
Levi Bard
9dccd06a06 Add support for uploading audio attachments (#1630)
* Add support for audio attachments.
Partially addresses #1337

* Register Tusky as a target for audio sharing

* Use icon with textColorTertiary for audio preview
2020-01-16 19:05:52 +01:00
Vivianne
a7c1345085 Small changes to the media player (#1572)
* Resolving some issues with media playback.

* Changing ViewVideoFragment so that it fully handles autohiding the
  media controller, allowing consistency between it and the toolbar

* Fixed an issue where the toolbar and description were not fading in

* Do not hide the toolbar/media player if the video is loading or paused

* Created "ExposedPlayPausedVideoView" to allow hooking play/pause

* Fix back button when viewing videos

* Back button did not work if video controls were visible.

* Tweak audio player

* Always show the controls when audio begins playing

* Do not auto-hide the controls if the player is playing audio

* Address PR comments

* Use overloaded constructor
* Remove m prefix

* Fix subtle media player issues

* Fix audio player incorrectly auto-hiding after hiding/showing toolbar

* Only subscribe touch listener once content is ready
  - Prevents top toolbar visibility from getting out of phase with audio player visibility if hidden during load
2020-01-16 19:01:02 +01:00
Konrad Pozniak
21a7201f8a
fix notification refresh (#1638) 2020-01-14 21:58:35 +01:00
Konrad Pozniak
f12f126df5
migrate ReportPagerAdapter to ViewPager2 (#1635) 2020-01-13 21:15:22 +01:00
Konrad Pozniak
cd52caf9e9
fix crash in NotificationAdapter when status is null (#1634) 2020-01-13 21:12:33 +01:00
kyori19
a6c9aee2e8 Fix emoji sorting (#1633) 2020-01-13 15:22:45 +01:00
Ivan Kupalov
32fd7b18ce Add space before emojo code in editor when needed, fix #1616 (#1632) 2020-01-13 15:21:40 +01:00
Levi Bard
c9a28b47c1 Compose activity: When selection is nonempty and a "special character" button is pressed, decorate all selected word starts (#1523)
* ComposeActivity: When selection is nonempty and a "special character" button is pressed, decorate all selected word starts
Closes #1417

* ComposeActivity: Tests for word break prepend logic
2020-01-13 15:21:17 +01:00
Levi Bard
6a2c9bdbe4 Don't drop content warning when replying (#1631) 2020-01-13 15:18:55 +01:00
Konrad Pozniak
7cb76aad97
Fix search bugs (#1624)
* fix toggling media visibility

* cleanup search code to make it more readable

* remove redundant OnQueryTextListener

this is the default behavior

* fix bookmarking

* fix status interaction causing unnecessary network requests
2020-01-13 13:57:44 +01: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
Konrad Pozniak
441a1c1f95
remove redundant toHtml from StatusBaseViewHolder (#1625) 2020-01-07 19:38:08 +01:00
Mélanie Chauvel (ariasuni)
bec1ce8b09 Display Elephant with better message in Drafts screen when there are none (#1619)
* Display Elephant with better message in Drafts screen when there are none

* Remove unused import
2020-01-06 18:24:54 +01:00
Levi Bard
9d65b2ace1 Filters: Make behavior of "whole word" filters consistent with the web UI when filters are non-alphanumeric (#1623)
* Fix tests build

* Make behavior of non-alphanumeric whole-word filters consistent with the web UI.
Fixes #1543

* Fix typo in filter tests
2020-01-06 16:16:54 +01:00
Konrad Pozniak
352ff3a2d1
give media previews a rounded outline (#1617)
* give media previews a rounded outline

* give media previews a rounded outline in ReportActivity
2020-01-03 20:22:16 +01:00
Ivan Kupalov
426e7edb73 Fix missing cases of using StatusDisplayOptions (#1614) 2020-01-03 20:22:02 +01:00
Konrad Pozniak
cdb9d87f41
use RxAwareViewModel for more ViewModels (#1613)
* use RxAwareViewModel for more ViewModels

* fix ReportViewModel
2020-01-02 18:50:58 +01:00
Konrad Pozniak
88d59da13c
fix poll button being visible below voted poll (#1612) 2019-12-31 16:56:04 +01:00
Konrad Pozniak
8a9d62e654
Merge pull request #1610 from tuskyapp/improve_scheduled_toot
Improve ScheduledTootActivity
2019-12-31 15:00:23 +01:00
Konrad Pozniak
54f04fb4d7 address PR feedback 2019-12-31 13:57:24 +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
76026f5afa add license headers 2019-12-30 21:09:10 +01:00
Konrad Pozniak
f0112743eb remove debug logging 2019-12-30 21:05:03 +01:00
Konrad Pozniak
b66faab71c add empty screen message 2019-12-30 21:01:38 +01:00
Konrad Pozniak
75378e5284 color the SwipeRefreshLayout 2019-12-30 20:54:00 +01:00
Konrad Pozniak
7107018ae2 clean up code 2019-12-30 20:48:01 +01:00
Konrad Pozniak
84a3280964 move to androidx paging 2019-12-30 20:40:27 +01:00
kyori19
2994af7091 Fix ComposeOptions.visibility not applied (#1605) 2019-12-27 21:02:16 +01:00
Conny Duck
63d6fe7270 improve layout names 2019-12-22 11:55:26 +01:00
Conny Duck
97350c59fa move classes to component packages 2019-12-22 11:47:34 +01:00
Conny Duck
1471042fee convert ScheduledTootAdapter to Kotlin 2019-12-22 11:42:13 +01:00
Konrad Pozniak
ce2ee660ae
add test for VersionUtils (#1602)
* add test for VersionUtils

* add nullability annotation to VersionUtils
2019-12-21 18:56:30 +01:00
Konrad Pozniak
c44dd455b4
Implement identity proof api (#1597)
* implement identity proof api

* fix warnings in AccountActivity

* fix createClickableText method

* improve error handling

* use combineOptionalLiveData to simplify code
2019-12-21 18:56:16 +01:00
Konrad Pozniak
c253f6b23b
delete unused stuff (#1601) 2019-12-21 17:32:42 +01:00
Konrad Pozniak
a795da81b4
fix replying to toots (#1600) 2019-12-21 15:56:19 +01:00
Konrad Pozniak
eca3b5379e
fix delete&redraft losing toot text (#1599) 2019-12-21 15:56:07 +01:00
Konrad Pozniak
516546a3bf
upgrade androidx.browser to 1.2.0 (#1595) 2019-12-20 20:08:02 +01:00
Konrad Pozniak
60b9a9c40b
upgrade SparkButton to 3.0.0 (#1594) 2019-12-20 19:52:36 +01:00
Alibek Omarov
a8f3070889 ScheduledTootActivity: fix toolbar back button #1586 (#1591) 2019-12-20 19:14:22 +01:00
Ivan Kupalov
8770fbe986 ComposeActivity refactor (#1541)
* Convert ComposeActivity to Kotlin

* More ComposeActivity cleanups

* Move ComposeActivity to it's own package

* Remove ComposeActivity.IntentBuilder

* Re-do part of the media downsizing/uploading

* Add sending of status to ViewModel, draft media descriptions

* Allow uploading video, update description after uploading

* Enable camera, enable upload cancelling

* Cleanup of ComposeActivity

* Extract CaptionDialog, extract ComposeActivity methods

* Fix handling of redrafted media

* Add initial state and media uploading out of Activity

* Change ComposeOptions.mentionedUsernames to be Set rather than List

We probably don't want repeated usernames when we are writing a post
and Set provides such guarantee for free plus it tells it to the
callers. The only disadvantage is lack of order but it shouldn't be a
problem.

* Add combineOptionalLiveData. Add docs.

It it useful for nullable LiveData's. I think we cannot differentiate
between value not being set and value being null so I just added the
variant without null check.

* Add poll support to Compose.

* cleanup code

* move more classes into compose package

* cleanup code

* fix button behavior

* add error handling for media upload

* add caching for instance data again

* merge develop

* fix scheduled toots

* delete unused string

* cleanup ComposeActivity

* fix restoring media from drafts

* make media upload code a little bit clearer

* cleanup autocomplete search code

* avoid duplicate object creation in SavedTootActivity

* perf: avoid unnecessary work when initializing ComposeActivity

* add license header to new files

* use small toot button on bigger displays

* fix ComposeActivityTest

* fix bad merge

* use Singles.zip instead of Single.zip
2019-12-19 19:09:40 +01:00
Mélanie Chauvel (ariasuni)
54b3d1f8cd Add close icon to tabs in Tabs account preferences page (#1588)
* Add close icon to tabs in Tabs account preferences page

* Improve code according to code review
2019-12-19 18:35:55 +01: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
d6ae071a09 List tabs (#1570)
* List tabs

* Add comment

* Move decoder part to TabData.createTabDataFromId

* Fix drawable tint

* Use dedicated view for list picker

* Error log

* Fix logging

Co-Authored-By: Konrad Pozniak <connyduck@users.noreply.github.com>

* Fix tint color

Co-Authored-By: Konrad Pozniak <connyduck@users.noreply.github.com>

* Fix missing import

* Move encoding part too

* Fix comment

* Fix decoder

* Revert "Fix decoder"

This reverts commit fdc45aac9c113348f8740e6692d2d8e9ace14f7f.

* Revert "Fix comment"

This reverts commit 704b4e6d2e5545d5f2d20c9bc6bc276d6257d119.

* Revert "Move encoding part too"

This reverts commit 32e77346ff98ae1133e76ab6dfd880b26171005e.

* Revert "Move decoder part to TabData.createTabDataFromId"

This reverts commit d1cd2070ab564d2e33874225272a71f0904d681e.
2019-12-02 16:53:24 +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
d6ec5ca8d3
fix crashes related to missing Rx error handler (#1561) 2019-11-17 20:59:13 +01:00
Konrad Pozniak
7bccf23f69
fix null search when refreshing hashtags (#1562) 2019-11-17 20:58:54 +01:00
Konrad Pozniak
d2ca776b34
Migrate to ViewPager2 (#1544)
* migrate MainActivty to ViewPager2

* migrate AccountActivty to ViewPager2

* migrate ViewMediaActivty to ViewPager2

* migrate SearchActivity to ViewPager2

* checkin missing AccountPagerAdapter file

* remove unused class ImageViewPager

* replace SparseArray with MutableList
2019-11-06 20:17:53 +01:00
Konrad Pozniak
83ced20e4a
add build customization options (#1532) 2019-10-29 20:30:46 +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
98d813a5cc
fix login on Chromebook (#1533) 2019-10-13 21:09:23 +02:00
Konrad Pozniak
bee10bf375
Refactor theming (#1529)
* fix toolbars

* use toolbar in MainActivity

* update AccountActivity appbar

* update material design library

* remove unneeded tabs styling

* fix black theme
2019-10-12 20:00:29 +02:00
Levi Bard
44bb1999af When opening a post via "Open As", if post lookup from the target instance fails, display an error instead of opening the post in the browser. (#1531)
Addresses #1526
2019-10-11 17:51:47 +02:00
Levi Bard
a308b4c139 Don't interpret html inside poll options. (#1527)
* Don't interpret html inside poll options.
Closes #1362

* Update translations

* Mark poll_percent_format as untranslatable
2019-10-11 17:35:22 +02:00
Konrad Pozniak
1e0515f4ab
fix avatars with non-square aspect ratio display (#1528) 2019-10-10 18:43:48 +02:00
Konrad Pozniak
2dad358c96
upgrade appcompat, fix nightmode (#1455)
* upgrade appcompat, fix language switching & nightmode

* cleanup ThemeUtils

* upgrade dependencies

* change active boost icon (#1513)

* upgrade jetifier and android gradle plugin

* fix FilterTest
2019-10-03 19:58:21 +02: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
Conny Duck
8a2d583b83 fix AccountActivity scroll animation again 2019-10-01 18:49:34 +02:00
Konrad Pozniak
fe304b4e83
fix videos not always keeping aspect ratio (#1508) 2019-10-01 18:24:09 +02:00
Konrad Pozniak
c35f744a17
fix requestLayout() improperly called warning in AccountActivity (#1507) 2019-10-01 08:08:21 +02:00
Konrad Pozniak
8f92274e0b
remove callList from BaseActivity (#1503)
* remove callList from BaseActivity

* remove callList from BaseActivity
2019-09-28 16:29:40 +02:00
Konrad Pozniak
1fd6a7cd72
Fix crash in AccountListFragment (#1502) 2019-09-28 12:52:10 +02:00