Commit graph

286 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
Ivan Kupalov
67c20326f9
Add options to confirm reblog/unreblog actions, close #460 (#1650) 2020-03-03 21:27:26 +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
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
Levi Bard
04275b4073
[Tusky10] Fix recollapsing expanded sensitive content in the thread view (#1689) 2020-02-14 19:04:14 +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
27d464351b
fix reveal button not updating in ViewThreadActivity (#1652) 2020-01-29 19:16:12 +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
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
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
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
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
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
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
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
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
Konrad Pozniak
fe304b4e83
fix videos not always keeping aspect ratio (#1508) 2019-10-01 18:24:09 +02:00
Konrad Pozniak
1fd6a7cd72
Fix crash in AccountListFragment (#1502) 2019-09-28 12:52:10 +02:00
Konrad Pozniak
a9440ea2ab
filter polls (#1496) 2019-09-24 20:33:29 +02:00
Konrad Pozniak
0d465d3bee
remove duplicate request when timeline is empty (#1491) 2019-09-23 17:09:13 +02:00
Konrad Pozniak
546cb4bacc
upgrade autodispose (#1490)
* upgrade autodispose

* set AutoDisposePlugins.setHideProxies to false
2019-09-22 08:19:44 +02:00
Konrad Pozniak
54a0d5406a
Remove search v1 (#1484)
* remove search v1, convert MastodonApi to Kotlin

* format MastodonApi nicely

* use default params in ConversationRepository

* improve code for LoginActivity
2019-09-22 08:18:44 +02:00
Konrad Pozniak
de4473b2b3
use singletonList in getChangePayload (#1486) 2019-09-17 18:44:33 +02:00