From c0429569db2506538e0603ecc647b0f04c79afbb Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Thu, 24 Jun 2021 14:21:05 +1000 Subject: [PATCH] Add blocked banner --- .../conversation/v2/ConversationActivityV2.kt | 17 ++++++++++++ .../res/layout/activity_conversation_v2.xml | 26 ++++++++++++++++++- app/src/main/res/values/strings.xml | 1 + 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt index 9db5a10784..4a503a6a66 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt @@ -27,6 +27,7 @@ import kotlinx.android.synthetic.main.view_input_bar_recording.* import kotlinx.android.synthetic.main.view_input_bar_recording.view.* import network.loki.messenger.R import nl.komponents.kovenant.ui.successUi +import org.session.libsession.messaging.contacts.Contact import org.session.libsession.messaging.mentions.MentionsManager import org.session.libsession.messaging.open_groups.OpenGroupAPIV2 import org.session.libsession.utilities.recipients.Recipient @@ -120,6 +121,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe setUpTypingObserver() updateSubtitle() getLatestOpenGroupInfoIfNeeded() + setUpBlockedBanner() } private fun setUpRecyclerView() { @@ -203,6 +205,17 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe OpenGroupAPIV2.getMemberCount(openGroup.room, openGroup.server).successUi { updateSubtitle() } } + private fun setUpBlockedBanner() { + if (thread.isGroupRecipient) { return } + val contactDB = DatabaseFactory.getSessionContactDatabase(this) + val sessionID = thread.address.toString() + val contact = contactDB.getContactWithSessionID(sessionID) + val name = contact?.displayName(Contact.ContactContext.REGULAR) ?: sessionID + blockedBannerTextView.text = resources.getString(R.string.activity_conversation_blocked_banner_text, name) + blockedBanner.isVisible = thread.isBlocked + blockedBanner.setOnClickListener { unblock() } + } + override fun onPrepareOptionsMenu(menu: Menu): Boolean { ConversationMenuHelper.onPrepareOptionsMenu(menu, menuInflater, thread, this) { onOptionsItemSelected(it) } super.onPrepareOptionsMenu(menu) @@ -492,6 +505,10 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe lockViewLocation[0] + lockView.width + lockViewHitMargin, lockViewLocation[1] + lockView.height) return hitRect.contains(x, y) } + + private fun unblock() { + // TODO: Implement + } // endregion // region General diff --git a/app/src/main/res/layout/activity_conversation_v2.xml b/app/src/main/res/layout/activity_conversation_v2.xml index 1a02994a07..66d71f5cce 100644 --- a/app/src/main/res/layout/activity_conversation_v2.xml +++ b/app/src/main/res/layout/activity_conversation_v2.xml @@ -1,6 +1,8 @@ - + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 266e4350dd..27203d0863 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -871,4 +871,5 @@ Are you sure you want to download media sent by %s? Download + %s is blocked. Unblock them?