* cleanup warnings, reorganize some code
* move ComposeAutoCompleteAdapter to compose package
* composeOptions doesn't need to be a class member
* add DraftsActivity and DraftsViewModel
* drafts
* remove unnecessary Unit in ComposeViewModel
* add schema/25.json
* fix db migration
* drafts
* cleanup code
* fix compose activity rotation bug
* fix media descriptions getting lost when restoring a draft
* improve deleting drafts
* fix ComposeActivityTest
* improve draft layout for almost empty drafts
* reformat code
* show toast when opening reply to deleted toot
* improve item_draft layout
* 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
* 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
* remove search v1, convert MastodonApi to Kotlin
* format MastodonApi nicely
* use default params in ConversationRepository
* improve code for LoginActivity
* 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
* Refactor-all-the-things version of the fix for issue #573
* Migrate SpanUtils to kotlin because why not
* Minimal fix for issue #573
* Add tests for compose spanning
* Clean up code suggestions
* Make FakeSpannable.getSpans implementation less awkward
* Add secondary validation pass for urls
* Address code review feedback
* Fixup type filtering in FakeSpannable again
* Make all mentions in compose activity use the default link color
* new layout for AccountActivity
* fix the light theme
* convert AccountActivity to Kotlin
* introduce AccountViewModel
* Merge branch 'master' into account-activity-redesign
# Conflicts:
# app/src/main/java/com/keylesspalace/tusky/AccountActivity.java
* add Bot badge to profile
* parse custom emojis in usernames
* add possibility to cancel follow request
* add third tab on profiles
* add account fields to profile
* add support for moved accounts
* set click listener on account moved view
* fix tests
* use 24dp as statusbar size
* add ability to hide reblogs from followed accounts
* add button to edit own account to AccountActivity
* set toolbar top margin programmatically
* fix crash
* add shadow behind statusbar
* introduce ViewExtensions to clean up code
* move code out of offsetChangedListener for perf reasons
* clean up stuff
* add error handling
* improve type safety
* fix ConstraintLayout warning
* remove unneeded ressources
* fix event dispatching
* fix crash in event handling
* set correct emoji on title
* improve some things
* wrap follower/foillowing/status views
* Refactor-all-the-things version of the fix for issue #573
* Migrate SpanUtils to kotlin because why not
* Minimal fix for issue #573
* Add tests for compose spanning
* Clean up code suggestions
* Make FakeSpannable.getSpans implementation less awkward
* Add secondary validation pass for urls
* Address code review feedback
* Fixup type filtering in FakeSpannable again
* Make all mentions in compose activity use the default link color
* Query instance for toot character limit
Fixes#393
* Move maximumTootCharacters to instance field
* Add caching for maximum toot characters, expanding on the emoji list storage
* Update formatting per review feedback
* Fix compose activity tests
* Rename mastodon api point for nicer interaction with kotlin
* Default emoji list to empty list instead of null, to appease json converters in failure cases
* Add test coverage for custom toot character limit setting
* Fix compiler warnings
* Query instance for toot character limit
Fixes#393
* Move maximumTootCharacters to instance field
* Add caching for maximum toot characters, expanding on the emoji list storage
* Update formatting per review feedback
* Fix compose activity tests
* Rename mastodon api point for nicer interaction with kotlin
* Default emoji list to empty list instead of null, to appease json converters in failure cases
* Use empty list helper
* Fix database migration
* do not add media urls to status text
* add scrolling to content
* add arrow icon and animation to replying-to toggle
* remove unnecessary compose_button_colors.xml
* improve toot button
* improve bottom bar, add bottom sheet for compose options, dedicated cw button
* fix crash on Android < API 21
* move media picking from dialog to bottom sheet
* add small style tootbutton
* fix colors/button background for light theme
* add icons to media chose bottom sheet
* improve hide media button, delete unused styles
* fix crash on dev build when taking photo
* consolidate drawables
* consolidate strings and ids, add tooltips to buttons
* allow media only toots
* change error message to show max size of upload correctly
* fix button color
* add emoji
* code cleanup
* Merge branch 'master' into compose_activity_refactoring
# Conflicts:
# app/src/main/java/com/keylesspalace/tusky/ComposeActivity.java
* fix hidden snackbar
* improve hint text color
* add SendTootService
* fix timeline refreshing
* toot saving and error handling for sendtootservice
* restructure some code
* convert EditTextTyped to Kotlin
* fixed pick media button disabled color
* force sensitive media when content warning is shown
* add db cache for emojis & fix tests
* reorder buttons to match mastodon web
* add possibility to cancel sending of toot
* correctly delete sent toots
* refresh SavedTootActivity after toot was sent
* remove unused resources
* correct params for toot saving in SendTootService
* consolidate strings
* bugfix
* remove unused resources
* fix notifications on old android for SendTootService
* fix crash