diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java
index 53427cb012..dc611809fd 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java
@@ -340,6 +340,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
protected HidingLinearLayout inlineAttachmentToggle;
private InputPanel inputPanel;
private View panelParent;
+ private View noLongerMemberBanner;
private LinkPreviewViewModel linkPreviewViewModel;
private ConversationSearchViewModel searchViewModel;
@@ -1419,7 +1420,10 @@ public class ConversationActivity extends PassphraseRequiredActivity
private void initializeEnabledCheck() {
groupViewModel.getGroupActiveState().observe(this, state -> {
- boolean enabled = state == null || !(isPushGroupConversation() && !state.isActiveGroup());
+ boolean inactivePushGroup = state != null && isPushGroupConversation() && !state.isActiveGroup();
+ boolean enabled = !inactivePushGroup;
+ noLongerMemberBanner.setVisibility(enabled ? View.GONE : View.VISIBLE);
+ inputPanel.setVisibility(enabled ? View.VISIBLE : View.GONE);
inputPanel.setEnabled(enabled);
sendButton.setEnabled(enabled);
attachButton.setEnabled(enabled);
@@ -1701,6 +1705,8 @@ public class ConversationActivity extends PassphraseRequiredActivity
ImageButton quickCameraToggle = ViewUtil.findById(this, R.id.quick_camera_toggle);
ImageButton inlineAttachmentButton = ViewUtil.findById(this, R.id.inline_attachment_button);
+ noLongerMemberBanner = findViewById(R.id.conversation_no_longer_member_banner);
+
container.addOnKeyboardShownListener(this);
inputPanel.setListener(this);
inputPanel.setMediaListener(this);
@@ -2145,7 +2151,8 @@ public class ConversationActivity extends PassphraseRequiredActivity
makeDefaultSmsButton.setVisibility(View.VISIBLE);
registerButton.setVisibility(View.GONE);
} else {
- inputPanel.setVisibility(View.VISIBLE);
+ boolean inactivePushGroup = isPushGroupConversation() && !recipient.isActiveGroup();
+ inputPanel.setVisibility(inactivePushGroup ? View.GONE : View.VISIBLE);
unblockButton.setVisibility(View.GONE);
makeDefaultSmsButton.setVisibility(View.GONE);
registerButton.setVisibility(View.GONE);
diff --git a/app/src/main/res/layout/conversation_activity.xml b/app/src/main/res/layout/conversation_activity.xml
index 9f7e653191..614b0705c2 100644
--- a/app/src/main/res/layout/conversation_activity.xml
+++ b/app/src/main/res/layout/conversation_activity.xml
@@ -83,6 +83,10 @@
android:clipChildren="false"
android:clipToPadding="false">
+
+
diff --git a/app/src/main/res/layout/conversation_no_longer_a_member.xml b/app/src/main/res/layout/conversation_no_longer_a_member.xml
new file mode 100644
index 0000000000..1813f34771
--- /dev/null
+++ b/app/src/main/res/layout/conversation_no_longer_a_member.xml
@@ -0,0 +1,13 @@
+
+
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index d82a68160f..42a6470e0a 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -17,6 +17,8 @@
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fa832ceed3..fe6850eeaa 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -244,6 +244,7 @@
Attachment exceeds size limits for the type of message you\'re sending.
Camera unavailable
Unable to record audio!
+ You can\'t send messages to this group because you\'re no longer a member.
There is no app available to handle this link on your device.
To send audio messages, allow Signal access to your microphone.
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 72ae22e0ca..0be62800f1 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -189,6 +189,7 @@
- @color/core_ultramarine
- @color/white
- @null
+ - @color/core_grey_02
- @style/AppCompatAlertDialogStyleLight
- @style/AppCompatDialogStyleLight
- @drawable/ic_arrow_left_24
@@ -493,6 +494,7 @@
- @color/core_ultramarine_light
- @color/core_grey_95
- @null
+ - @color/core_grey_90
- @style/AppCompatAlertDialogStyleDark
- @style/AppCompatDialogStyleDark
- @drawable/ic_arrow_left_24