* 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
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.
* 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
* enable multiple hashtags in one hashtag tab
* add comment explaining the code in TabAdapter
* delete unused drawables
* add padding to EditText in dialog
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* remove search v1, convert MastodonApi to Kotlin
* format MastodonApi nicely
* use default params in ConversationRepository
* improve code for LoginActivity