Commit graph

1176 commits

Author SHA1 Message Date
Karol Kosek
a010687709
SettingsConstants: fix home tab filters (#1906)
Showing repeats was swapped with showing replies.
2020-08-21 09:15:53 +02:00
Levi Bard
d8d4b947ed
Fix opening public filter list from account preferences (#1904) 2020-08-20 18:08:04 +02:00
Konrad Pozniak
15df5c4df7
add icon for tabs preference (#1892) 2020-08-17 21:21:03 +02:00
Konrad Pozniak
a653c92e63
Fix crash in ViewVideoFragment (#1894) 2020-08-17 21:20:46 +02:00
Konrad Pozniak
dd3d372b80 add setting to hide top toolbar 2020-08-16 10:01:51 +02:00
David Teresi
c94d793bff Allow newlines in image descriptions 2020-08-14 16:42:18 -04:00
Konrad Pozniak
e2f3c74774
Fix cards in timelines/confirm boost preferences (#1878) 2020-08-08 10:03:07 +02:00
Ivan Kupalov
8b243a7f05
Fix crash in ViewImageFragment, fix #1876 (#1877)
It was not checked whether captionSheet is present.
2020-08-04 21:57:12 +02:00
Ivan Kupalov
ed2918da2e
Description improvements (#1846)
* Increase character limit for media descriptions to 1500

It was increased in Mastodon 3.0.0 which was released in October 2019.

* Improve image description view

Since media descriptions can be longer now, we need to adjust the UI.
It is a common problem that description takes up the whole screen, it's
hard for readers and also discourages people from adding descriptions.

This commit uses bottom sheet to hide most of the description. Since we
know how much screen space it will cover, we can use darker background
which makes reading text easier.

* Adjust description handle

* Fix unable to dismiss image caption
2020-08-01 21:48:51 +02:00
Ivan Kupalov
be8fc9f15a
Fix crash in the image viewer (#1871)
This is imperfect as it probably reduces quality of the image but it
fixes the crash for now.
2020-08-01 13:26:59 +02:00
Konrad Pozniak
467c33aacb
upgrade SwipeRefreshLayout to 1.1.0 (#1866) 2020-07-28 10:38:28 +02:00
Ivan Kupalov
f37a589dce
Roll back image viewer but retain swiping fix (#1863)
This fixes crashes with images which were too wide (aspect ratio wise).
2020-07-27 10:42:39 +02:00
Mélanie Chauvel
b3b4794a2b
Implement optional notifications muting for account muting (#1856) 2020-07-27 10:28:59 +02:00
Konrad Pozniak
7f0093bd58
remove scrolling from notification options bar (#1858) 2020-07-20 11:25:36 +02:00
Mélanie Chauvel
4205f5493e
Make account views clickable instead of avatar only (#1855)
Affects:
- New follower request and New follower notifications
- Accounts in Blocked users and Muted users pages
2020-07-07 20:35:31 +02:00
Konrad Pozniak
dfd30ec52a
correctly update the menu when muting domains (#1848) 2020-06-23 19:59:49 +02:00
Ivan Kupalov
58a1046348
Improve image viewer (#1843)
This commit does 3 things:
1. Replaces PhotoView (which is abandonware) with modern TouchImageView
2. Fixes an issue with panning images. Gesture was not intercepted
properly and pager was taking control instead of image being moved.
3. Adds feedback to dismissing of images with vertical gesture.
2020-06-22 21:26:37 +02:00
Konrad Pozniak
56f4f8a38d
fix MainActivity title when coming from a notification (#1844) 2020-06-21 19:52:27 +02:00
Konrad Pozniak
5246ab7d72
speedup blurhash decoding by using a intermediate int array (#1835) 2020-06-21 18:26:06 +02:00
Konrad Pozniak
836b7f3f76
don't create a CW when sharing text to Tusky (#1836) 2020-06-21 18:25:17 +02:00
Konrad Pozniak
74bd493878
add possibility to move the main navigation to the bottom (#1808)
* add possibility to move the main navigation to the bottom

* add top toolbar with drawer toggle, title and search button
2020-06-18 11:04:53 +02:00
Ivan Kupalov
ecb94beb3c
Fix settings default values for preferences (#1828)
At some point settings DSL was refactored to first add a preference and
then run the builder. We shouldn't add a preference to the hierarchy
without setting a key for the preference first because preference gets
it's default value in `onAttachedToHierarchy()` and if the key is not
set then no default value will be set either.

This commit changes the order to execute builder (and set the key)
first and and preference to the point later.
2020-06-14 19:58:05 +02:00
Levi Bard
4219871095
Fix preview cards for uncollapsible statuses (#1826) 2020-06-09 19:00:23 +02:00
Ivan Kupalov
c64df0fd1d
Settings refactor (#1615)
* Refactor main preferences to use DSL

* Refactor account preferences to use DSL

* Use DSL in rest of the preference screens

* Preferences cleanup

* Fix preference dependencies
2020-06-08 09:21:12 +02:00
Ivan Kupalov
4188b6ea09
Fix loading more than one page of favs/bookmarks, fix #1824 (#1825) 2020-06-07 19:37:34 +02:00
Alibek Omarov
5b187bcb5e
NotificationsFragment: show appbar if there is no notifications (#1810)
Thus, if user accidentally will filter everything, they will be able to return to initial state.
2020-05-30 10:10:47 +02:00
Levi Bard
1c09441c32
Fix showing/hiding of preview cards in timeline posts that are collapsed for length. (#1796)
Also properly places the preview card after the "collapse for length" button.
2020-05-21 18:32:22 +02:00
kyori19
e6b7d2ff9c
Fix large media uploading (#1800) 2020-05-21 14:50:19 +02:00
Konrad Pozniak
df8dc3a198
enable multiple hashtags in one hashtag tab (#1790)
* enable multiple hashtags in one hashtag tab

* add comment explaining the code in TabAdapter

* delete unused drawables

* add padding to EditText in dialog
2020-05-15 22:10:29 +02:00
Alibek Omarov
2fc7ad13bb
CustomEmojiHelper: rewrite to Kotlin (#1787)
* CustomEmojiHelper: rewrite to Kotlin

* CustomEmojiHelper: PR fixes
2020-05-15 22:09:12 +02:00
Konrad Pozniak
e72bdcaf42
add missing attribute to TimelineDao query (#1788) 2020-05-13 07:53:24 +02:00
Konrad Pozniak
b280e25727
use AndroidX WorkManager instead of Evernote Android Job (#1783)
* use AndroidX WorkManager instead of Evernote Android Job

* move notification related classes to their own package

* fix missing import
2020-05-12 18:46:49 +02:00
kyori19
623eb1fe2a
Add "account" filter context (#1776) 2020-05-08 19:17:02 +02:00
kyori19
23a1701151
Fix tag highlighting in editor (#1773)
* Fix tag highlighting in editor

* Add test case for tag highlighting
2020-05-08 19:16:35 +02:00
Konrad Pozniak
83c06f44e7
Fix RxJava UndeliverableException crashes (#1778) 2020-05-08 16:53:38 +02:00
Konrad Pozniak
a69e6a66ba
fix confirmReblogs default values (#1777) 2020-05-05 20:26:40 +02:00
Conny Duck
73fa94d39b close drawer after click 2020-04-28 21:56:02 +02:00
Ivan Kupalov
f52fd355d8
Add preference to disable swipe gesture for switching tabs, close #1718 (#1752) 2020-04-27 21:41:43 +02:00
Konrad Pozniak
0ccd2c4133
fix overlapping account items in AccountsInListFragment (#1768) 2020-04-27 10:38:31 +02:00
Konrad Pozniak
89efd67015
fix toots showing too much whitespace (#1761)
* fix toots showing too much whitespace

* use isWhitespace extension function
2020-04-20 23:06:39 +02:00
Sylvia van Os
386d197851
Fix content warning state being lost after screen rotation (#1756)
* Restore compose options after rotation

* Fix in ViewModel instead

* Move showContentWarning change into ViewModel
2020-04-18 15:06:24 +02:00
Konrad Pozniak
f3d05f82f9
fix toot sending twice when using a hardware keyboard (#1758) 2020-04-18 13:45:19 +02:00
Konrad Pozniak
3c3e872782
fix content warning in notifications when alwaysShowSpoiler is on (#1757) 2020-04-18 13:45:07 +02:00
Konrad Pozniak
2cf1e366b8
convert MainActivity to Kotlin and upgrade MaterialDrawer to version 8 (#1748)
* convert MainActivity to Kotlin

* migrate to MaterialDrawer 8

* fix drawer styles

* revert removing BezelImageView and material_drawer_header override

* fix tests

* add lost comment back to material_drawer_header.xml

* add tools:parentTag to material_drawer_header.xml

* use when instead of if in MainActivity

* fix statusbar color over the drawer

* cleanup drawer item creation

* tint secondary drawer items as well

* remove unnecessary ids

* fix header text color in the light theme

* improve header text contrast
2020-04-15 18:57:53 +02:00
Ivan Kupalov
d44eada140
Fix reblog confirm (#1723)
* Fix reblog confirmation default value

* Fix triggering reblog before confirming it

* Fix accidents caused by reblog confirmation
2020-04-06 19:28:43 +02:00
Konrad Pozniak
c80fa68dbe
upgrade dependencies, fix some warnings (#1747)
* upgrade dependencies, fix some warnings

* fix tests
2020-04-06 11:46:38 +02:00
Levi Bard
a5416abb21
Add missing error handler for mute conversation invocation (#1746) 2020-04-03 19:04:06 +02:00
Konrad Pozniak
68f34152dc
replace HtmlUtils with HtmlCompat (#1741)
* replace HtmlUtils with HtmlCompat

* fix tests
2020-04-02 23:37:38 +02:00
Levi Bard
91263eed8b
Confirm blocks and mutes from timelines (#1740)
* Add preference for confirming blocks and mutes from timelines
Implements #1737

* Apply code review feedback
2020-03-30 21:03:27 +02:00
Levi Bard
1b476c790a
Fix NPE in follow requests view (#1739)
Fixes #1738
2020-03-27 19:04:28 +01:00
Konrad Pozniak
adac296e04
simplify ComposeOptionsView (#1734) 2020-03-24 21:07:10 +01:00
Konrad Pozniak
cf782f039f
use number of voters instead of votes to calculate poll results (#1733)
* adjust poll vote text, votes -> people

* use number of voters instead of votes to calculate poll results

* fix tests
2020-03-24 21:06:58 +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
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