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?