From e121f9aabe792f9eb28ff4c40eb1070cd2e61599 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Tue, 28 Aug 2018 14:24:14 +0200 Subject: [PATCH] Fix max chat length in inbox. Fixes #1038 --- .../habitica/ui/fragments/social/InboxFragment.kt | 1 + .../fragments/social/InboxMessageListFragment.kt | 14 +++++++++----- .../habitica/ui/views/social/ChatBarView.kt | 6 +++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxFragment.kt index 4c2a60d0b..0bcc16ed0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxFragment.kt @@ -14,6 +14,7 @@ import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.components.AppComponent import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.extensions.notNull +import com.habitrpg.android.habitica.helpers.RemoteConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.social.ChatMessage import com.habitrpg.android.habitica.modules.AppModule diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt index d8c9a20a5..ed0853dc0 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.kt @@ -14,6 +14,7 @@ import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.components.AppComponent import com.habitrpg.android.habitica.data.SocialRepository import com.habitrpg.android.habitica.extensions.notNull +import com.habitrpg.android.habitica.helpers.RemoteConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.social.ChatMessage import com.habitrpg.android.habitica.models.user.User @@ -35,6 +36,8 @@ class InboxMessageListFragment : BaseMainFragment(), SwipeRefreshLayout.OnRefres @Inject lateinit var socialRepository: SocialRepository + @Inject + lateinit var configManager: RemoteConfigManager private var chatAdapter: ChatRecyclerViewAdapter? = null private var chatRoomUser: String? = null @@ -59,17 +62,18 @@ class InboxMessageListFragment : BaseMainFragment(), SwipeRefreshLayout.OnRefres chatAdapter = ChatRecyclerViewAdapter(null, true, user, false) recyclerView.adapter = chatAdapter recyclerView.itemAnimator = SafeDefaultItemAnimator() - chatAdapter.notNull { - compositeSubscription.add(it.getUserLabelClickFlowable().subscribe(Consumer { + chatAdapter.notNull { adapter -> + compositeSubscription.add(adapter.getUserLabelClickFlowable().subscribe(Consumer { context.notNull { context -> FullProfileActivity.open(context, it) } }, RxErrorHandler.handleEmptyError())) - compositeSubscription.add(it.getDeleteMessageFlowable().subscribe(Consumer { this.showDeleteConfirmationDialog(it) }, RxErrorHandler.handleEmptyError())) - compositeSubscription.add(it.getFlagMessageClickFlowable().subscribe(Consumer { this.showFlagConfirmationDialog(it) }, RxErrorHandler.handleEmptyError())) - compositeSubscription.add(it.getCopyMessageFlowable().subscribe(Consumer { this.copyMessageToClipboard(it) }, RxErrorHandler.handleEmptyError())) + compositeSubscription.add(adapter.getDeleteMessageFlowable().subscribe(Consumer { this.showDeleteConfirmationDialog(it) }, RxErrorHandler.handleEmptyError())) + compositeSubscription.add(adapter.getFlagMessageClickFlowable().subscribe(Consumer { this.showFlagConfirmationDialog(it) }, RxErrorHandler.handleEmptyError())) + compositeSubscription.add(adapter.getCopyMessageFlowable().subscribe(Consumer { this.copyMessageToClipboard(it) }, RxErrorHandler.handleEmptyError())) } chatBarView.sendAction = { sendMessage(it) } + chatBarView.maxChatLength = configManager.maxChatLength() loadMessages() diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt index 09a8fc5f9..700c57d50 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/ChatBarView.kt @@ -27,7 +27,7 @@ class ChatBarView : FrameLayout { private var navBarAccountedHeightCalculated = false - internal var maxChatLength = 200 + internal var maxChatLength = 3000 var sendAction: ((String) -> Unit)? = null @@ -40,8 +40,8 @@ class ChatBarView : FrameLayout { } private fun setupView(context: Context) { - val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater - inflater.inflate(R.layout.tavern_chat_new_entry_item, this) + val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as? LayoutInflater + inflater?.inflate(R.layout.tavern_chat_new_entry_item, this) this.setBackgroundResource(R.color.white) chatEditText.addTextChangedListener(object: TextWatcher {