diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 85e316e953..ddaf21228e 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -226,6 +226,14 @@
+
+
+
+
diff --git a/res/drawable-hdpi/ic_block_grey600_18dp.png b/res/drawable-hdpi/ic_block_grey600_18dp.png
new file mode 100644
index 0000000000..02982bfbe7
Binary files /dev/null and b/res/drawable-hdpi/ic_block_grey600_18dp.png differ
diff --git a/res/drawable-hdpi/ic_block_white_18dp.png b/res/drawable-hdpi/ic_block_white_18dp.png
new file mode 100644
index 0000000000..71b0a088b2
Binary files /dev/null and b/res/drawable-hdpi/ic_block_white_18dp.png differ
diff --git a/res/drawable-hdpi/ic_volume_off_grey600_18dp.png b/res/drawable-hdpi/ic_volume_off_grey600_18dp.png
new file mode 100644
index 0000000000..6cf04dc720
Binary files /dev/null and b/res/drawable-hdpi/ic_volume_off_grey600_18dp.png differ
diff --git a/res/drawable-hdpi/ic_volume_off_white_18dp.png b/res/drawable-hdpi/ic_volume_off_white_18dp.png
new file mode 100644
index 0000000000..a22789739b
Binary files /dev/null and b/res/drawable-hdpi/ic_volume_off_white_18dp.png differ
diff --git a/res/drawable-mdpi/ic_block_grey600_18dp.png b/res/drawable-mdpi/ic_block_grey600_18dp.png
new file mode 100644
index 0000000000..ddf39b3faa
Binary files /dev/null and b/res/drawable-mdpi/ic_block_grey600_18dp.png differ
diff --git a/res/drawable-mdpi/ic_block_white_18dp.png b/res/drawable-mdpi/ic_block_white_18dp.png
new file mode 100644
index 0000000000..04635612ea
Binary files /dev/null and b/res/drawable-mdpi/ic_block_white_18dp.png differ
diff --git a/res/drawable-mdpi/ic_volume_off_grey600_18dp.png b/res/drawable-mdpi/ic_volume_off_grey600_18dp.png
new file mode 100644
index 0000000000..db6550370c
Binary files /dev/null and b/res/drawable-mdpi/ic_volume_off_grey600_18dp.png differ
diff --git a/res/drawable-mdpi/ic_volume_off_white_18dp.png b/res/drawable-mdpi/ic_volume_off_white_18dp.png
new file mode 100644
index 0000000000..4630116500
Binary files /dev/null and b/res/drawable-mdpi/ic_volume_off_white_18dp.png differ
diff --git a/res/drawable-xhdpi/ic_block_grey600_18dp.png b/res/drawable-xhdpi/ic_block_grey600_18dp.png
new file mode 100644
index 0000000000..3b9c38b4cc
Binary files /dev/null and b/res/drawable-xhdpi/ic_block_grey600_18dp.png differ
diff --git a/res/drawable-xhdpi/ic_block_white_18dp.png b/res/drawable-xhdpi/ic_block_white_18dp.png
new file mode 100644
index 0000000000..13f716d7fb
Binary files /dev/null and b/res/drawable-xhdpi/ic_block_white_18dp.png differ
diff --git a/res/drawable-xhdpi/ic_volume_off_grey600_18dp.png b/res/drawable-xhdpi/ic_volume_off_grey600_18dp.png
new file mode 100644
index 0000000000..3a074ee278
Binary files /dev/null and b/res/drawable-xhdpi/ic_volume_off_grey600_18dp.png differ
diff --git a/res/drawable-xhdpi/ic_volume_off_white_18dp.png b/res/drawable-xhdpi/ic_volume_off_white_18dp.png
new file mode 100644
index 0000000000..6577af1a8f
Binary files /dev/null and b/res/drawable-xhdpi/ic_volume_off_white_18dp.png differ
diff --git a/res/drawable-xxhdpi/ic_block_grey600_18dp.png b/res/drawable-xxhdpi/ic_block_grey600_18dp.png
new file mode 100644
index 0000000000..cb43d2814f
Binary files /dev/null and b/res/drawable-xxhdpi/ic_block_grey600_18dp.png differ
diff --git a/res/drawable-xxhdpi/ic_block_white_18dp.png b/res/drawable-xxhdpi/ic_block_white_18dp.png
new file mode 100644
index 0000000000..61151d13b4
Binary files /dev/null and b/res/drawable-xxhdpi/ic_block_white_18dp.png differ
diff --git a/res/drawable-xxhdpi/ic_volume_off_grey600_18dp.png b/res/drawable-xxhdpi/ic_volume_off_grey600_18dp.png
new file mode 100644
index 0000000000..df2042188c
Binary files /dev/null and b/res/drawable-xxhdpi/ic_volume_off_grey600_18dp.png differ
diff --git a/res/drawable-xxhdpi/ic_volume_off_white_18dp.png b/res/drawable-xxhdpi/ic_volume_off_white_18dp.png
new file mode 100644
index 0000000000..f3bd44fc49
Binary files /dev/null and b/res/drawable-xxhdpi/ic_volume_off_white_18dp.png differ
diff --git a/res/drawable-xxxhdpi/ic_block_grey600_18dp.png b/res/drawable-xxxhdpi/ic_block_grey600_18dp.png
new file mode 100644
index 0000000000..17bd1f090a
Binary files /dev/null and b/res/drawable-xxxhdpi/ic_block_grey600_18dp.png differ
diff --git a/res/drawable-xxxhdpi/ic_block_white_18dp.png b/res/drawable-xxxhdpi/ic_block_white_18dp.png
new file mode 100644
index 0000000000..d2be2d616f
Binary files /dev/null and b/res/drawable-xxxhdpi/ic_block_white_18dp.png differ
diff --git a/res/drawable-xxxhdpi/ic_volume_off_grey600_18dp.png b/res/drawable-xxxhdpi/ic_volume_off_grey600_18dp.png
new file mode 100644
index 0000000000..359e1aed80
Binary files /dev/null and b/res/drawable-xxxhdpi/ic_volume_off_grey600_18dp.png differ
diff --git a/res/drawable-xxxhdpi/ic_volume_off_white_18dp.png b/res/drawable-xxxhdpi/ic_volume_off_white_18dp.png
new file mode 100644
index 0000000000..9f44de0527
Binary files /dev/null and b/res/drawable-xxxhdpi/ic_volume_off_white_18dp.png differ
diff --git a/res/layout/blocked_contact_list_item.xml b/res/layout/blocked_contact_list_item.xml
new file mode 100644
index 0000000000..69c10cc10b
--- /dev/null
+++ b/res/layout/blocked_contact_list_item.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
diff --git a/res/layout/blocked_contacts_fragment.xml b/res/layout/blocked_contacts_fragment.xml
new file mode 100644
index 0000000000..71859fcc46
--- /dev/null
+++ b/res/layout/blocked_contacts_fragment.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/conversation_activity.xml b/res/layout/conversation_activity.xml
index 2b60633d73..a5dcc2ae44 100644
--- a/res/layout/conversation_activity.xml
+++ b/res/layout/conversation_activity.xml
@@ -131,6 +131,13 @@
+
+
+ android:ellipsize="end"
+ android:drawablePadding="5dp"/>
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/recipient_preference_activity.xml b/res/layout/recipient_preference_activity.xml
new file mode 100644
index 0000000000..26d98abece
--- /dev/null
+++ b/res/layout/recipient_preference_activity.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/menu/conversation_muted.xml b/res/menu/conversation_muted.xml
new file mode 100644
index 0000000000..3b429c04db
--- /dev/null
+++ b/res/menu/conversation_muted.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/res/menu/conversation_unmuted.xml b/res/menu/conversation_unmuted.xml
new file mode 100644
index 0000000000..8474edc5cf
--- /dev/null
+++ b/res/menu/conversation_unmuted.xml
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 931c15e79f..79156fab2c 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -171,4 +171,23 @@
@string/arrays__use_custom
+
+ @string/arrays__mute_for_one_hour
+ @string/arrays__mute_for_two_hours
+ @string/arrays__mute_for_one_day
+ @string/arrays__mute_for_seven_days
+
+
+
+ @string/arrays__settings_default
+ @string/arrays__enabled
+ @string/arrays__disabled
+
+
+
+ 0
+ 1
+ 2
+
+
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 3a1e6ae933..b4cdffb32d 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -116,4 +116,6 @@
+
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
index a30c13a8b8..b1e54c4b55 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -56,6 +56,9 @@
AudioContact info
+
+ Blocked contacts
+
The
identifying key material for %1$s has changed. This could either mean that someone is trying to
@@ -118,6 +121,9 @@
MMS not supportedThis message cannot be sent since your carrier doesn\'t support MMS.Please choose a contact
+ Unblock?
+ Are you sure you want to unblock this contact?
+ UnblockMessage details
@@ -294,6 +300,14 @@
No thanksLater
+
+ Block this contact?
+ You will no longer see messages sent from this user.
+ Block
+ Unblock this contact?
+ Are you sure you want to unblock this contact?
+ Unblock
+
Connect With TextSecureSelect your country
@@ -465,9 +479,15 @@
Select for
+
+ No blocked contacts...
+
No recent calls.
+
+ Conversation muted
+
Send TextSecure messageSend unsecured SMS
@@ -563,6 +583,16 @@
TextSecure requires MMS settings to deliver media and group messages through your wireless carrier. Your device does not make this information available, which is occasionally true for locked devices and other restrictive configurations.To send media and group messages, click \'OK\' and complete the requested settings. The MMS settings for your carrier can generally be located by searching for \'your carrier APN\'. You will only need to do this once.
+
+ BLOCKED
+
+
+ Mute conversation
+ Disable notifications for this conversation
+ Ringtone
+ Vibrate
+ Block
+
Verify your phone number to connect with TextSecure.
@@ -684,6 +714,15 @@
Use defaultUse custom
+ Mute for 1 hour
+ Mute for 2 hours
+ Mute for 1 day
+ Mute for 7 days
+
+ Settings default
+ Enabled
+ Disabled
+
%d hour
@@ -787,6 +826,8 @@
Submit debug log\'WiFi Calling\' compatibility modeEnable if your device uses SMS/MMS delivery over WiFi (only enable when \'WiFi Calling\' is enabled on your device)
+ Privacy
+ Blocked contacts
@@ -844,6 +885,12 @@
Verify identityEnd secure session
+
+ Unmute
+
+
+ Mute notifications
+
Add attachmentUpdate group
@@ -900,6 +947,8 @@
Transport icon
+ Mute notifications
+
diff --git a/res/values/styles.xml b/res/values/styles.xml
index b318195b27..75ae1e5e43 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -1,9 +1,5 @@
-
-
+
+
+