Commit Graph

1314 Commits

Author SHA1 Message Date
Alibek Omarov 8eb3b7ecca ComposeActivity: fix crash on old Android 2020-04-12 22:02:32 +03:00
Alibek Omarov 508a91070e NetworkModule: oops, disable showing headers in logcat 2020-04-12 21:05:54 +03:00
Alibek Omarov fed8b01764 wysiwyg: add minimal editor based on MarkdownEdit library 2020-04-12 20:44:40 +03:00
Alibek Omarov ca196ffc73 compose: implement BBcode and HTML sending 2020-04-12 20:13:09 +03:00
Alibek Omarov 569ca90147 AccountActivity: animate banner if animateGifAvatars is enabled 2020-04-10 19:20:28 +03:00
Alibek Omarov ff5ec41e76 http: haha content-encoding goes brrrr (enabled brotli compression) 2020-04-10 18:53:28 +03:00
Alibek Omarov e64831027c emojis: remove unicode emojis consisting of more than one code point as it's unsupported by Pleroma 2020-04-10 17:33:53 +03:00
Ivan Kupalov 5dd190404f Fix reblog confirm (#1723)
* Fix reblog confirmation default value

* Fix triggering reblog before confirming it

* Fix accidents caused by reblog confirmation
2020-04-10 16:41:06 +03:00
Alibek Omarov 125186885d emoji_reactions: show keyboard as dialog 2020-04-10 02:18:37 +03:00
Alibek Omarov 6100868c7a custom_emoji: fix showing emojis that may look like a regular expression 2020-04-10 02:14:33 +03:00
Alibek Omarov df315a3f3e emoji_reactions: implement for notifications fragment 2020-04-10 02:13:33 +03:00
Alibek Omarov 06eda38140 emoji_keyboard: first keyboard, supports only unicode emojis 2020-04-10 02:11:38 +03:00
Alibek Omarov cbcb3838dd emoji: add all Unicode 12.0 emojis 2020-04-10 01:59:25 +03:00
Alibek Omarov ceadb76785 emoji: use bundled compat font 2020-04-10 01:58:47 +03:00
Alibek Omarov 8d89f83bae adapter: replace simple viewholders by SingleViewHolder(extended from RecyclerView.ViewHolder but allowed to instantiate) 2020-04-10 01:58:06 +03:00
Alibek Omarov 78cf552a32 Merge branch 'develop' of https://github.com/FWGS/Husky into develop 2020-03-16 18:47:27 +03:00
Alibek Omarov 7ccb9ac5d2 Better handling of muted users and conversations, add option Hide muted users like in PleromaFE 2020-03-13 18:54:27 +03:00
Alibek Omarov 6f91e1f9ff Revert "Hide muted users' statuses in timelines on client side, because we're getting full timeline now(to support muted conversations)"
This reverts commit f7623a0a44.
2020-03-13 17:46:22 +03:00
Alibek Omarov eb2dfa86a6 NotificationHelper: add a way to test legacy notification channels on new devices 2020-03-13 16:59:58 +03:00
Alibek Omarov 3320e6a0da StatusBaseViewHolder: fix recycling bug, fix emoji reaction view empty space touch 2020-03-12 06:16:57 +03:00
Alibek Omarov 5e620c62ff Merge branch 'develop' of https://github.com/tuskyapp/Tusky into develop 2020-03-12 02:53:28 +03:00
Ivan Kupalov b18fbe8949 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
Alibek Omarov 7bb0f1955d emoji_reactions: implement adding and removing on existing reactions(LOW PERFORMANCE) 2020-03-06 22:33:25 +03:00
Alibek Omarov 7e10c531bc emoji_reactions: show the emoji in title 2020-03-06 21:30:20 +03:00
Alibek Omarov 1c60313ae8 emoji_reactions: add menu for normal timelines 2020-03-06 21:22:41 +03:00
Alibek Omarov 97ffa14268 emoji_reactions: general refactoring, implement emoji_reactions_by 2020-03-06 21:04:14 +03:00
Alibek Omarov 0257cd3b07 Merge upstream 2020-03-06 16:16:54 +03:00
Ivan Kupalov 0547e78c94 Add options to confirm reblog/unreblog actions, close #460 (#1650) 2020-03-03 21:27:26 +01:00
Ivan Kupalov f5ab325ff0 Add "more" popup to a11y menu, fix #1710 (#1714) 2020-03-02 19:36:44 +01:00
Levi Bard 61e0c2c7a8 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
Alibek Omarov 3295348a79 Merge upstream 2020-02-28 10:30:09 +03:00
Levi Bard 903d2154bf 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 9144484994 Add more URL cases for Pleroma, Misskey and Friendica (#1702) 2020-02-25 19:59:40 +01:00
Levi Bard 75e883b67e Add status url as EXTRA_SUBJECT when sharing status content. (#1680)
Addresses #1655
2020-02-25 19:58:20 +01:00
Ivan Kupalov 073cdd98af 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 025d1d4b3c 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 0279987821 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 cc4642f3a0 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 d8b5967c97 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 316c7f202e fix crash when inserting custom emojis at the start of the compose field (#1706) 2020-02-21 22:08:41 +01:00
Konrad Pozniak f699dbd8df fix default emoji font icon not rendering 2020-02-21 18:21:47 +01:00
Alibek Omarov f7623a0a44 Hide muted users' statuses in timelines on client side, because we're getting full timeline now(to support muted conversations) 2020-02-20 05:03:28 +03:00
Alibek Omarov 319ca1781f status: increase hit area for fav/reblog buttons #71 2020-02-20 04:25:35 +03:00
Konrad Pozniak 341ad73880 fix image from another status showing up instead of blurhash (#1699) 2020-02-19 22:07:01 +01:00
Levi Bard 5d4865ae3c Delete draft when sending its status completes. (#1704)
Fixes #1700
2020-02-19 21:10:22 +01:00
Alibek Omarov ceba88af5c Add MORE cases for Pleroma, Misskey and Friendica 2020-02-19 05:14:40 +03:00
Alibek Omarov f2d14a0f9b Merge upstream 2020-02-19 04:54:30 +03:00
Alibek Omarov 3824d4c3ba emojireactions: implement coloring buttons 2020-02-19 04:18:48 +03:00
Alibek Omarov 82c6809623 emojireactions: fix EmojiReaction object 2020-02-19 04:18:21 +03:00
Konrad Pozniak 5b12e80297 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 19e214328d fix url search returning the same post indefinitely (#1695) 2020-02-17 19:34:11 +01:00
Ivan Kupalov f02fe69b98 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 d05bd4b751.

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 448c157900 [Tusky10] Fix recollapsing expanded sensitive content in the thread view (#1689) 2020-02-14 19:04:14 +01:00
Levi Bard e906941ff6 [Tusky10] Fix descriptions of audio attachments when expanding/collapsing status content (#1688) 2020-02-14 19:03:59 +01:00
Konrad Pozniak a0264b829c [Tusky10] fix crash when bookmarking a conversation while offline (#1686) 2020-02-14 19:03:42 +01:00
Ivan Kupalov 418f090687 Allow higher zooming levels for caption dialog images (#1672) 2020-02-10 14:00:21 +01:00
Konrad Pozniak 29b4d7aa77 fix crash when opening Poll dialog and instanceParams are null (#1668) 2020-02-09 22:34:44 +01:00
Konrad Pozniak d368ed464e fix crash when Account.displayName is null (#1667) 2020-02-07 20:23:51 +01:00
Konrad Pozniak 7dcd6221aa fix mixup of search params in SearchDataSource.loadRange (#1666) 2020-02-07 20:23:36 +01:00
Alibek Omarov e1eaea9d5a Very dirty, very quick, read-only implementation of emoji reactions 2020-02-07 01:21:10 +03:00
Alibek Omarov ae1cfc1d56 emojireactions: add emoji reaction list to StatusViewData 2020-02-06 23:24:18 +03:00
Alibek Omarov 2f818a77f3 emojireactions: add entities and api endpoints 2020-02-06 23:19:28 +03:00
Alibek Omarov 43b5e8f1eb Merge branch 'develop' of https://github.com/tuskyapp/Tusky into develop 2020-02-06 18:55:36 +03:00
Konrad Pozniak 7f2184bbc6 fix content collapse button not working in notifications (#1665) 2020-02-04 22:21:43 +01:00
Alibek Omarov 8b1a059abb Fix NPE 2020-02-03 22:34:28 +06:00
Alibek Omarov a109089f7b Support emoji reaction notification 2020-02-03 18:36:45 +03:00
Alibek Omarov 542aea22b3 Enable muting for all timelines, except where it's useless 2020-02-03 14:30:25 +03:00
Alibek Omarov e8f945fbcb Correctly handle invalid conversation ID 2020-02-03 13:33:52 +03:00
Alibek Omarov 96e0c39f90 Merge upstream, update color scheme 2020-02-03 12:50:52 +03:00
Konrad Pozniak eeb768eb1c 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 776e995e73 fix overlapping icons in ComposeActivity (#1661) 2020-01-30 21:17:37 +01:00
Alibek Omarov 02ffb08b7c Merge remote-tracking branch 'origin2/develop' into develop 2020-01-29 22:42:40 +03:00
Mélanie Chauvel (ariasuni) 4907a051ab Refresh DM column when removing toot there instead of removing conversation (#1654) 2020-01-29 19:25:55 +01:00
Konrad Pozniak 16fab51c92 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 08c979ca23 fix reveal button not updating in ViewThreadActivity (#1652) 2020-01-29 19:16:12 +01:00
Konrad Pozniak 523349e108 fix crash when closing ComposeActivity (#1651) 2020-01-29 19:15:53 +01:00
Alibek Omarov 5bf75b46a0 Implement muting whole conversation by it's ID, add button to hide muted status again 2020-01-26 19:31:51 +03:00
Alibek Omarov b76d3c3979 Implement muting/unmuting conversations, fix possible appearing of muted users in notifications 2020-01-26 16:13:22 +03:00
Alibek Omarov 565f7f5788 Merge with upstream 2020-01-20 13:56:18 +03:00
Alibek Omarov 216f0d3e2b MainActivity: increase velocity threshold for viewPager 2020-01-20 13:48:32 +03:00
Ivan Kupalov 584fc54410 Enable zooming and panning in the CaptionDialog (#1643) 2020-01-18 12:12:37 +01:00
Alibek Omarov 4098cd3a2c NotificationsAdapter: show muted threads as muted 2020-01-17 19:44:09 +03:00
Alibek Omarov f40ac42c08 Status: add isMuted parameter 2020-01-17 19:05:45 +03:00
Ivan Kupalov 701e1dafe3 Fix setting text to CW button in fav/reblog notification. Fix #1641 (#1642)
This is a regression from e1e9268ef5
2020-01-16 19:08:19 +01:00
Levi Bard bd66a9e6ae Add support for sharing audio attachments (#1629) 2020-01-16 19:06:13 +01:00
Levi Bard 6c592b6723 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 46b997a642 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
Alibek Omarov 9796da7513 MastodonApi: set withMuted to true everywhere for a while 2020-01-16 18:15:11 +03:00
Alibek Omarov b408d33428 MastodonApi: add with_muted field on every timeline 2020-01-16 18:14:41 +03:00
Alibek Omarov 43a21d0a3a NotificationHelper: don't send notification if it's from muted thread 2020-01-16 18:13:38 +03:00
Alibek Omarov 3fe33b0435 Status: add thread_muted field 2020-01-16 18:13:10 +03:00
Alibek Omarov b46037b546 ComposeActivity: add warning for too big files 2020-01-16 16:51:55 +03:00
Alibek Omarov 919c24571d ComposeActivity: use nodeinfo data for determining upload limits and markdown support 2020-01-16 16:44:32 +03:00
Alibek Omarov b4dbee0acd NodeInfo: implement nodeinfo fetching 2020-01-16 16:43:54 +03:00
Alibek Omarov 2e7913df23 Merge remote-tracking branch 'origin2/develop' into develop 2020-01-16 11:58:27 +03:00
Konrad Pozniak fc86a37bb2 fix notification refresh (#1638) 2020-01-14 21:58:35 +01:00
Alibek Omarov 71d8393098 Merge with upstream 2020-01-14 17:07:21 +03:00
Konrad Pozniak 39915442aa migrate ReportPagerAdapter to ViewPager2 (#1635) 2020-01-13 21:15:22 +01:00
Konrad Pozniak 31b29047c7 fix crash in NotificationAdapter when status is null (#1634) 2020-01-13 21:12:33 +01:00
kyori19 cafd5a3a64 Fix emoji sorting (#1633) 2020-01-13 15:22:45 +01:00
Ivan Kupalov e60a9b19e9 Add space before emojo code in editor when needed, fix #1616 (#1632) 2020-01-13 15:21:40 +01:00
Levi Bard 91bf35f627 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 a811ae0c83 Don't drop content warning when replying (#1631) 2020-01-13 15:18:55 +01:00
Konrad Pozniak 74ee19716f 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
Alibek Omarov ff89f698c8 ProgressTextView: fix circle drawing 2020-01-11 13:07:21 +03:00
Alibek Omarov b7db21d8d4 ProgressView: remove dead code 2020-01-11 12:41:44 +03:00
Alibek Omarov 24c0c8f656 Notification: ignore seen notifications 2020-01-11 11:21:42 +03:00
Alibek Omarov 34ddf62a18 AccountActivity: don't show moderator badge if user already admin 2020-01-11 10:24:45 +03:00
Alibek Omarov f6a9c51b86 AccountActivity: implement subscribing 2020-01-11 10:10:22 +03:00
Alibek Omarov d82ca3df9b MastodonApi: add support for subscribing endpoints and subscribing status field 2020-01-11 10:09:57 +03:00
Alibek Omarov 752e14fb8c AccountActivity: show admin/moderator badge 2020-01-11 08:39:40 +03:00
Alibek Omarov d447b683cc ComposeActivity: restore ability to upload any type of file 2020-01-11 07:47:11 +03:00
Alibek Omarov 3e5e4329de Merge with upstream 2020-01-09 02:06:12 +03:00
Alibek Omarov 703d423f82 ComposeActivity: fix crash 2020-01-09 01:56:39 +03:00
Konrad Pozniak e1e9268ef5 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 179a10828a remove redundant toHtml from StatusBaseViewHolder (#1625) 2020-01-07 19:38:08 +01:00
Mélanie Chauvel (ariasuni) 0244ee1865 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 844cf317ab 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
Alibek Omarov 5e9bd26f24 ComposeActivity: add unlimited attachments support again 2020-01-04 02:54:31 +03:00
Alibek Omarov 2e2ab4ed6a ComposeActivity: add optional field markdownMode to ComposeOptions 2020-01-04 02:15:06 +03:00
Alibek Omarov 857bedc995 AppDatabase: fix migration 2020-01-04 02:14:49 +03:00
Alibek Omarov 343b121d7b ComposeActivity: fix compiling 2020-01-04 02:06:14 +03:00
Alibek Omarov 291eb4100d ComposeViewModel: fix syntax errors 2020-01-04 01:50:55 +03:00
Alibek Omarov edd7991101 ComposeActivity: reimplement markdown mode again after pointless java->kotlin transition 2020-01-04 00:49:36 +03:00
Alibek Omarov fd7740838a VersionUtils: move isPleroma method from Instance 2020-01-03 23:58:12 +03:00
Alibek Omarov 0e5e0bea39 Merge upstream develop 2020-01-03 22:55:09 +03:00
Konrad Pozniak dba3259ce6 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 fd5ec8cf97 Fix missing cases of using StatusDisplayOptions (#1614) 2020-01-03 20:22:02 +01:00
Konrad Pozniak 368df7437e use RxAwareViewModel for more ViewModels (#1613)
* use RxAwareViewModel for more ViewModels

* fix ReportViewModel
2020-01-02 18:50:58 +01:00
Konrad Pozniak b927747518 fix poll button being visible below voted poll (#1612) 2019-12-31 16:56:04 +01:00
Konrad Pozniak ae121ccb2c Merge pull request #1610 from tuskyapp/improve_scheduled_toot
Improve ScheduledTootActivity
2019-12-31 15:00:23 +01:00
Konrad Pozniak 283e9d0ad9 address PR feedback 2019-12-31 13:57:24 +01:00
Ivan Kupalov 8dcfec1734 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 3a80ab727a add license headers 2019-12-30 21:09:10 +01:00
Konrad Pozniak 3f00b47d0c remove debug logging 2019-12-30 21:05:03 +01:00
Konrad Pozniak 7c3f19a07e add empty screen message 2019-12-30 21:01:38 +01:00
Konrad Pozniak 42d2a4798f color the SwipeRefreshLayout 2019-12-30 20:54:00 +01:00
Konrad Pozniak 7aff41b89c clean up code 2019-12-30 20:48:01 +01:00
Konrad Pozniak 12a04dfb08 move to androidx paging 2019-12-30 20:40:27 +01:00
kyori19 40b859a06e Fix ComposeOptions.visibility not applied (#1605) 2019-12-27 21:02:16 +01:00
Conny Duck 04b81c5240 improve layout names 2019-12-22 11:55:26 +01:00
Conny Duck 7f2aab7723 move classes to component packages 2019-12-22 11:47:34 +01:00
Conny Duck fe0d11b755 convert ScheduledTootAdapter to Kotlin 2019-12-22 11:42:13 +01:00
Konrad Pozniak 03c66d62df add test for VersionUtils (#1602)
* add test for VersionUtils

* add nullability annotation to VersionUtils
2019-12-21 18:56:30 +01:00
Konrad Pozniak 99032100d4 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 cf2a0fb4f9 delete unused stuff (#1601) 2019-12-21 17:32:42 +01:00
Konrad Pozniak 639a29aa7a fix replying to toots (#1600) 2019-12-21 15:56:19 +01:00
Konrad Pozniak 5a48368ccf fix delete&redraft losing toot text (#1599) 2019-12-21 15:56:07 +01:00
Konrad Pozniak 8aa217c028 upgrade androidx.browser to 1.2.0 (#1595) 2019-12-20 20:08:02 +01:00
Konrad Pozniak d9d2fdbc4b upgrade SparkButton to 3.0.0 (#1594) 2019-12-20 19:52:36 +01:00
Alibek Omarov b7662e1798 ScheduledTootActivity: fix toolbar back button #1586 (#1591) 2019-12-20 19:14:22 +01:00
Ivan Kupalov 9c59d000f9 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) 2ec8b95c31 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
Alibek Omarov bb1a7e4331 BottomSheetActivity: use ViewThreadActivity's static call to generate intent 2019-12-17 03:28:28 +03:00
Alibek Omarov 9882f0d7e3 SFragment: add Reply to option to jump to a parent post 2019-12-17 03:28:28 +03:00
Alibek Omarov 10c58c9ca0 ViewThreadFragment: scroll to post we are requested to show 2019-12-17 03:28:28 +03:00
Alibek Omarov 07bcdb0792 CustomEmojiHelper: experimental bigger emoji 2x in size 2019-12-17 03:28:28 +03:00
Alibek Omarov 80c82d1f0e ComposeActivity: allow upload any type of media, show text if media type is undefined, remove rescaling picture for Pleroma 2019-12-17 03:28:28 +03:00
Alibek Omarov dba030a9cb ProgressImageView: make progress control interface, add same widget but showing text 2019-12-17 03:28:28 +03:00
Alibek Omarov a090925d2b OkHttpUtils: change useragent to Husky 2019-12-17 03:28:28 +03:00
Alibek Omarov eda4ef97d4 LoginActivity: add a way to change application name and website during login 2019-12-17 03:28:28 +03:00
Alibek Omarov ed969bb06d LoginActivity: fix compile 2019-12-17 03:28:28 +03:00
Alibek Omarov 4de11cb073 Revert 36b8664f 2019-12-17 03:28:28 +03:00
Alibek Omarov e4400f0061 markdown: implement wysiwyg editor 2019-12-17 03:28:28 +03:00
Alibek Omarov 8900e45015 markdown: now markdown mode is restored from drafts 2019-12-17 03:28:28 +03:00
Alibek Omarov 74ea67627c db: upgrade to 21, add markdownMode column 2019-12-17 03:28:28 +03:00
Alibek Omarov 793c21eb85 markdown: implement choosing markdown mode in compose activity and sending toot with it 2019-12-17 03:28:28 +03:00
Alibek Omarov 5620120b9f Status: add optional content_type paramater 2019-12-17 03:28:28 +03:00
Alibek Omarov ee4fd2c351 ComposeActivity: if our instance is pleroma, disable mastodon-specific attachments limits 2019-12-17 03:28:28 +03:00
Alibek Omarov cdc3dafdda Instance: a way to check if we have Pleroma with Mastodon API extensions 2019-12-17 03:28:28 +03:00
Levi Bard 0a516eaf13 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 d137e6c63c 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 8a65f91d2c 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 ee247e92a4 fix crashes related to missing Rx error handler (#1561) 2019-11-17 20:59:13 +01:00
Konrad Pozniak 62a4b830da fix null search when refreshing hashtags (#1562) 2019-11-17 20:58:54 +01:00
Konrad Pozniak 4d4c4cdb3d 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 c02a8c3a41 add build customization options (#1532) 2019-10-29 20:30:46 +01:00
Konrad Pozniak d5d9af4fde 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 c5dad33e63 fix login on Chromebook (#1533) 2019-10-13 21:09:23 +02:00
Konrad Pozniak 4c81f71afe 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 66c084cad2 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 5ce9a416b9 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 e569b6aa5c fix avatars with non-square aspect ratio display (#1528) 2019-10-10 18:43:48 +02:00
Konrad Pozniak 14ce0c4952 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 dc933b439d 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 8593cd7da7 fix AccountActivity scroll animation again 2019-10-01 18:49:34 +02:00
Konrad Pozniak a387b9de20 fix videos not always keeping aspect ratio (#1508) 2019-10-01 18:24:09 +02:00
Konrad Pozniak e776488a1b fix requestLayout() improperly called warning in AccountActivity (#1507) 2019-10-01 08:08:21 +02:00
Konrad Pozniak 89eb1e2987 remove callList from BaseActivity (#1503)
* remove callList from BaseActivity

* remove callList from BaseActivity
2019-09-28 16:29:40 +02:00
Konrad Pozniak 62e9db7f6b Fix crash in AccountListFragment (#1502) 2019-09-28 12:52:10 +02:00
Ivan Kupalov 47edb0e37c Fix screen reader not announcing post content in some cases (#1495) 2019-09-24 20:33:41 +02:00
Konrad Pozniak 18702da998 filter polls (#1496) 2019-09-24 20:33:29 +02:00
Konrad Pozniak ec145eefb1 fix content warning edittext not losing focus when its hidden (#1498) 2019-09-24 20:33:05 +02:00
Konrad Pozniak b888dbbcf8 remove duplicate request when timeline is empty (#1491) 2019-09-23 17:09:13 +02:00
Konrad Pozniak 0d10b1fc18 fix build error 2019-09-22 09:49:26 +02:00
Konrad Pozniak f09deb2975 upgrade autodispose (#1490)
* upgrade autodispose

* set AutoDisposePlugins.setHideProxies to false
2019-09-22 08:19:44 +02:00
Konrad Pozniak 03cd374792 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 573568f1c9 upgrade glide (#1489) 2019-09-21 21:35:51 +02:00
Konrad Pozniak 2e300ed494 use singletonList in getChangePayload (#1486) 2019-09-17 18:44:33 +02:00
Konrad Pozniak 18dadc843a Fix crash when status date is null (#1480)
* Fix crash when status date is null

* Fix crash when status date is null
2019-09-15 09:10:07 +02:00