From 5e9bd26f2426a07b384563e616315e81388a7fe1 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sat, 4 Jan 2020 02:26:26 +0300 Subject: [PATCH] ComposeActivity: add unlimited attachments support again --- .../tusky/components/compose/ComposeActivity.kt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt b/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt index 68ea4fe9..02d0cf13 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeActivity.kt @@ -290,6 +290,14 @@ class ComposeActivity : BaseActivity(), composeEditField.setLayerType(View.LAYER_TYPE_SOFTWARE, null) } } + + private fun reenableAttachments() { + // in case of we already had disabled attachments + // but got information about extension later + enableButton(composeAddMediaButton, true, true) + if(viewModel.poll == null) + enablePollButton(true) + } private fun subscribeToUpdates(mediaAdapter: MediaPreviewAdapter) { withLifecycleContext { @@ -298,6 +306,8 @@ class ComposeActivity : BaseActivity(), updateVisibleCharactersLeft() composeScheduleButton.visible(instanceData.supportsScheduled) composeMarkdownButton.visible(instanceData.supportsFormatting) + if(instanceData.hasNoAttachmentLimits) + reenableAttachments() } viewModel.emoji.observe { emoji -> setEmojiList(emoji) } combineLiveData(viewModel.markMediaAsSensitive, viewModel.showContentWarning) { markSensitive, showContentWarning -> @@ -325,9 +335,9 @@ class ComposeActivity : BaseActivity(), updateScheduleButton() } combineOptionalLiveData(viewModel.media, viewModel.poll) { media, poll -> - val active = poll == null + val active = viewModel.instanceParams.value!!.hasNoAttachmentLimits || (poll == null && media!!.size != 4 - && media.firstOrNull()?.type != QueuedMedia.Type.VIDEO + && media.firstOrNull()?.type != QueuedMedia.Type.VIDEO) enableButton(composeAddMediaButton, active, active) enablePollButton(media.isNullOrEmpty()) }.subscribe()