diff --git a/.gitignore b/.gitignore
index 4b62fc423..c609669e9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
.classpath
+captures/
project.properties
.project
.settings
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 527fc7b33..3d056428c 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -113,6 +113,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/res/color/text_color_secondary_dark_theme.xml b/res/color/text_color_secondary_dark_theme.xml
index 5510b324c..1ce14a89f 100644
--- a/res/color/text_color_secondary_dark_theme.xml
+++ b/res/color/text_color_secondary_dark_theme.xml
@@ -1,5 +1,5 @@
-
-
+
+
\ No newline at end of file
diff --git a/res/drawable-hdpi/ic_advanced_white_24dp.webp b/res/drawable-hdpi/ic_advanced_white_24dp.webp
deleted file mode 100644
index 5d0e0e494..000000000
Binary files a/res/drawable-hdpi/ic_advanced_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_archive_white_24dp.webp b/res/drawable-hdpi/ic_archive_white_24dp.webp
deleted file mode 100644
index f0da0f137..000000000
Binary files a/res/drawable-hdpi/ic_archive_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_arrow_back_white_24dp.webp b/res/drawable-hdpi/ic_arrow_back_white_24dp.webp
deleted file mode 100644
index d9abde11d..000000000
Binary files a/res/drawable-hdpi/ic_arrow_back_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_brightness_6_white_24dp.webp b/res/drawable-hdpi/ic_brightness_6_white_24dp.webp
deleted file mode 100644
index 7ae08ce55..000000000
Binary files a/res/drawable-hdpi/ic_brightness_6_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_camera_filled_24.webp b/res/drawable-hdpi/ic_camera_filled_24.webp
deleted file mode 100644
index b14725c51..000000000
Binary files a/res/drawable-hdpi/ic_camera_filled_24.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_forum_white_24dp.webp b/res/drawable-hdpi/ic_forum_white_24dp.webp
deleted file mode 100644
index 56207353c..000000000
Binary files a/res/drawable-hdpi/ic_forum_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_group_grey600_24dp.webp b/res/drawable-hdpi/ic_group_grey600_24dp.webp
deleted file mode 100644
index 74100791d..000000000
Binary files a/res/drawable-hdpi/ic_group_grey600_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_group_white_24dp.webp b/res/drawable-hdpi/ic_group_white_24dp.webp
deleted file mode 100644
index 206ae08d7..000000000
Binary files a/res/drawable-hdpi/ic_group_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_laptop_white_24dp.webp b/res/drawable-hdpi/ic_laptop_white_24dp.webp
deleted file mode 100644
index 463871605..000000000
Binary files a/res/drawable-hdpi/ic_laptop_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_message_black_18dp.webp b/res/drawable-hdpi/ic_message_black_18dp.webp
deleted file mode 100644
index 3563c71d8..000000000
Binary files a/res/drawable-hdpi/ic_message_black_18dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_message_white_24dp.webp b/res/drawable-hdpi/ic_message_white_24dp.webp
deleted file mode 100644
index 514f98609..000000000
Binary files a/res/drawable-hdpi/ic_message_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_mic_grey600_24dp.webp b/res/drawable-hdpi/ic_mic_grey600_24dp.webp
deleted file mode 100644
index 9f5c97a76..000000000
Binary files a/res/drawable-hdpi/ic_mic_grey600_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_mic_white_24dp.webp b/res/drawable-hdpi/ic_mic_white_24dp.webp
deleted file mode 100644
index 12bc9f12a..000000000
Binary files a/res/drawable-hdpi/ic_mic_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_mic_white_48dp.webp b/res/drawable-hdpi/ic_mic_white_48dp.webp
deleted file mode 100644
index cc114e861..000000000
Binary files a/res/drawable-hdpi/ic_mic_white_48dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_notifications_white_24dp.webp b/res/drawable-hdpi/ic_notifications_white_24dp.webp
deleted file mode 100644
index b3bb9d864..000000000
Binary files a/res/drawable-hdpi/ic_notifications_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_photo_camera_dark.webp b/res/drawable-hdpi/ic_photo_camera_dark.webp
deleted file mode 100644
index 43fe08118..000000000
Binary files a/res/drawable-hdpi/ic_photo_camera_dark.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_photo_camera_light.webp b/res/drawable-hdpi/ic_photo_camera_light.webp
deleted file mode 100644
index 7640ec6e0..000000000
Binary files a/res/drawable-hdpi/ic_photo_camera_light.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_photo_camera_white_48dp.webp b/res/drawable-hdpi/ic_photo_camera_white_48dp.webp
deleted file mode 100644
index f411c0344..000000000
Binary files a/res/drawable-hdpi/ic_photo_camera_white_48dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_profile_default.webp b/res/drawable-hdpi/ic_profile_default.webp
deleted file mode 100644
index cd4271ec6..000000000
Binary files a/res/drawable-hdpi/ic_profile_default.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_security_white_24dp.webp b/res/drawable-hdpi/ic_security_white_24dp.webp
deleted file mode 100644
index fb9e59ec0..000000000
Binary files a/res/drawable-hdpi/ic_security_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_send_push.webp b/res/drawable-hdpi/ic_send_push.webp
deleted file mode 100644
index 15f15bf55..000000000
Binary files a/res/drawable-hdpi/ic_send_push.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_send_push_white_24dp.webp b/res/drawable-hdpi/ic_send_push_white_24dp.webp
deleted file mode 100644
index b8bbb283d..000000000
Binary files a/res/drawable-hdpi/ic_send_push_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_send_sms_insecure.webp b/res/drawable-hdpi/ic_send_sms_insecure.webp
deleted file mode 100644
index a8f861446..000000000
Binary files a/res/drawable-hdpi/ic_send_sms_insecure.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_send_sms_insecure_dark.webp b/res/drawable-hdpi/ic_send_sms_insecure_dark.webp
deleted file mode 100644
index 2e321fd69..000000000
Binary files a/res/drawable-hdpi/ic_send_sms_insecure_dark.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_send_sms_white_24dp.webp b/res/drawable-hdpi/ic_send_sms_white_24dp.webp
deleted file mode 100644
index 7a88a2cd2..000000000
Binary files a/res/drawable-hdpi/ic_send_sms_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_textsms_white_24dp.webp b/res/drawable-hdpi/ic_textsms_white_24dp.webp
deleted file mode 100644
index f40a68510..000000000
Binary files a/res/drawable-hdpi/ic_textsms_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_timer.webp b/res/drawable-hdpi/ic_timer.webp
deleted file mode 100644
index b26a7a193..000000000
Binary files a/res/drawable-hdpi/ic_timer.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_timer_disabled.webp b/res/drawable-hdpi/ic_timer_disabled.webp
deleted file mode 100644
index e198e090c..000000000
Binary files a/res/drawable-hdpi/ic_timer_disabled.webp and /dev/null differ
diff --git a/res/drawable-hdpi/ic_timer_off_white_24dp.webp b/res/drawable-hdpi/ic_timer_off_white_24dp.webp
deleted file mode 100644
index 69b31614c..000000000
Binary files a/res/drawable-hdpi/ic_timer_off_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-hdpi/quick_camera_dark.webp b/res/drawable-hdpi/quick_camera_dark.webp
deleted file mode 100644
index 20b493ab1..000000000
Binary files a/res/drawable-hdpi/quick_camera_dark.webp and /dev/null differ
diff --git a/res/drawable-hdpi/quick_camera_light.webp b/res/drawable-hdpi/quick_camera_light.webp
deleted file mode 100644
index ccdc4a26b..000000000
Binary files a/res/drawable-hdpi/quick_camera_light.webp and /dev/null differ
diff --git a/res/drawable-hdpi/timer00.webp b/res/drawable-hdpi/timer00.webp
deleted file mode 100644
index 9376ef811..000000000
Binary files a/res/drawable-hdpi/timer00.webp and /dev/null differ
diff --git a/res/drawable-hdpi/timer05.webp b/res/drawable-hdpi/timer05.webp
deleted file mode 100644
index 91aee6d80..000000000
Binary files a/res/drawable-hdpi/timer05.webp and /dev/null differ
diff --git a/res/drawable-hdpi/timer10.webp b/res/drawable-hdpi/timer10.webp
deleted file mode 100644
index 06b92c0de..000000000
Binary files a/res/drawable-hdpi/timer10.webp and /dev/null differ
diff --git a/res/drawable-hdpi/timer15.webp b/res/drawable-hdpi/timer15.webp
deleted file mode 100644
index cc090f273..000000000
Binary files a/res/drawable-hdpi/timer15.webp and /dev/null differ
diff --git a/res/drawable-hdpi/timer20.webp b/res/drawable-hdpi/timer20.webp
deleted file mode 100644
index 5c7010f0a..000000000
Binary files a/res/drawable-hdpi/timer20.webp and /dev/null differ
diff --git a/res/drawable-hdpi/timer25.webp b/res/drawable-hdpi/timer25.webp
deleted file mode 100644
index 4326040b8..000000000
Binary files a/res/drawable-hdpi/timer25.webp and /dev/null differ
diff --git a/res/drawable-hdpi/timer30.webp b/res/drawable-hdpi/timer30.webp
deleted file mode 100644
index 1fc718744..000000000
Binary files a/res/drawable-hdpi/timer30.webp and /dev/null differ
diff --git a/res/drawable-hdpi/timer35.webp b/res/drawable-hdpi/timer35.webp
deleted file mode 100644
index 17b4f81cb..000000000
Binary files a/res/drawable-hdpi/timer35.webp and /dev/null differ
diff --git a/res/drawable-hdpi/timer40.webp b/res/drawable-hdpi/timer40.webp
deleted file mode 100644
index 74d546253..000000000
Binary files a/res/drawable-hdpi/timer40.webp and /dev/null differ
diff --git a/res/drawable-hdpi/timer45.webp b/res/drawable-hdpi/timer45.webp
deleted file mode 100644
index 4da70e3e1..000000000
Binary files a/res/drawable-hdpi/timer45.webp and /dev/null differ
diff --git a/res/drawable-hdpi/timer50.webp b/res/drawable-hdpi/timer50.webp
deleted file mode 100644
index 394707f61..000000000
Binary files a/res/drawable-hdpi/timer50.webp and /dev/null differ
diff --git a/res/drawable-hdpi/timer55.webp b/res/drawable-hdpi/timer55.webp
deleted file mode 100644
index 595b78dd1..000000000
Binary files a/res/drawable-hdpi/timer55.webp and /dev/null differ
diff --git a/res/drawable-hdpi/timer60.webp b/res/drawable-hdpi/timer60.webp
deleted file mode 100644
index 07cb95d03..000000000
Binary files a/res/drawable-hdpi/timer60.webp and /dev/null differ
diff --git a/res/drawable-ldrtl-hdpi/ic_arrow_back_white_24dp.png b/res/drawable-ldrtl-hdpi/ic_arrow_back_white_24dp.png
deleted file mode 100644
index f51755762..000000000
Binary files a/res/drawable-ldrtl-hdpi/ic_arrow_back_white_24dp.png and /dev/null differ
diff --git a/res/drawable-ldrtl-mdpi/ic_arrow_back_white_24dp.webp b/res/drawable-ldrtl-mdpi/ic_arrow_back_white_24dp.webp
deleted file mode 100644
index 954666f69..000000000
Binary files a/res/drawable-ldrtl-mdpi/ic_arrow_back_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_arrow_back_white_24dp.webp b/res/drawable-ldrtl-xhdpi/ic_arrow_back_white_24dp.webp
deleted file mode 100644
index 16f047483..000000000
Binary files a/res/drawable-ldrtl-xhdpi/ic_arrow_back_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-ldrtl-xxhdpi/ic_arrow_back_white_24dp.webp b/res/drawable-ldrtl-xxhdpi/ic_arrow_back_white_24dp.webp
deleted file mode 100644
index 338800d3f..000000000
Binary files a/res/drawable-ldrtl-xxhdpi/ic_arrow_back_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-ldrtl-xxxhdpi/ic_arrow_back_white_24dp.webp b/res/drawable-ldrtl-xxxhdpi/ic_arrow_back_white_24dp.webp
deleted file mode 100644
index 4b6a162fb..000000000
Binary files a/res/drawable-ldrtl-xxxhdpi/ic_arrow_back_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_advanced_white_24dp.webp b/res/drawable-mdpi/ic_advanced_white_24dp.webp
deleted file mode 100644
index e83a38d95..000000000
Binary files a/res/drawable-mdpi/ic_advanced_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_archive_white_24dp.webp b/res/drawable-mdpi/ic_archive_white_24dp.webp
deleted file mode 100644
index 800332755..000000000
Binary files a/res/drawable-mdpi/ic_archive_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_arrow_back_white_24dp.webp b/res/drawable-mdpi/ic_arrow_back_white_24dp.webp
deleted file mode 100644
index c894fb7b7..000000000
Binary files a/res/drawable-mdpi/ic_arrow_back_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_brightness_6_white_24dp.webp b/res/drawable-mdpi/ic_brightness_6_white_24dp.webp
deleted file mode 100644
index 02fb77786..000000000
Binary files a/res/drawable-mdpi/ic_brightness_6_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_camera_filled_24.webp b/res/drawable-mdpi/ic_camera_filled_24.webp
deleted file mode 100644
index 38e977d2f..000000000
Binary files a/res/drawable-mdpi/ic_camera_filled_24.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_forum_white_24dp.webp b/res/drawable-mdpi/ic_forum_white_24dp.webp
deleted file mode 100644
index cbc95cb10..000000000
Binary files a/res/drawable-mdpi/ic_forum_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_group_grey600_24dp.webp b/res/drawable-mdpi/ic_group_grey600_24dp.webp
deleted file mode 100644
index 7f3d1527d..000000000
Binary files a/res/drawable-mdpi/ic_group_grey600_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_group_white_24dp.webp b/res/drawable-mdpi/ic_group_white_24dp.webp
deleted file mode 100644
index b72b46fec..000000000
Binary files a/res/drawable-mdpi/ic_group_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_laptop_white_24dp.webp b/res/drawable-mdpi/ic_laptop_white_24dp.webp
deleted file mode 100644
index e1148de92..000000000
Binary files a/res/drawable-mdpi/ic_laptop_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_message_black_18dp.webp b/res/drawable-mdpi/ic_message_black_18dp.webp
deleted file mode 100644
index 6ef72cd16..000000000
Binary files a/res/drawable-mdpi/ic_message_black_18dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_message_white_24dp.webp b/res/drawable-mdpi/ic_message_white_24dp.webp
deleted file mode 100644
index 96584a059..000000000
Binary files a/res/drawable-mdpi/ic_message_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_mic_grey600_24dp.webp b/res/drawable-mdpi/ic_mic_grey600_24dp.webp
deleted file mode 100644
index 4c965c8ed..000000000
Binary files a/res/drawable-mdpi/ic_mic_grey600_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_mic_white_24dp.webp b/res/drawable-mdpi/ic_mic_white_24dp.webp
deleted file mode 100644
index 2bd46ef40..000000000
Binary files a/res/drawable-mdpi/ic_mic_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_mic_white_48dp.webp b/res/drawable-mdpi/ic_mic_white_48dp.webp
deleted file mode 100644
index 684a73f84..000000000
Binary files a/res/drawable-mdpi/ic_mic_white_48dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_notifications_white_24dp.webp b/res/drawable-mdpi/ic_notifications_white_24dp.webp
deleted file mode 100644
index b1923dfbb..000000000
Binary files a/res/drawable-mdpi/ic_notifications_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_photo_camera_dark.webp b/res/drawable-mdpi/ic_photo_camera_dark.webp
deleted file mode 100644
index 8277a28c4..000000000
Binary files a/res/drawable-mdpi/ic_photo_camera_dark.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_photo_camera_light.webp b/res/drawable-mdpi/ic_photo_camera_light.webp
deleted file mode 100644
index 4a310923f..000000000
Binary files a/res/drawable-mdpi/ic_photo_camera_light.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_photo_camera_white_48dp.webp b/res/drawable-mdpi/ic_photo_camera_white_48dp.webp
deleted file mode 100644
index 0b171f53b..000000000
Binary files a/res/drawable-mdpi/ic_photo_camera_white_48dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_profile_default.webp b/res/drawable-mdpi/ic_profile_default.webp
deleted file mode 100644
index 4705e30a8..000000000
Binary files a/res/drawable-mdpi/ic_profile_default.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_security_white_24dp.webp b/res/drawable-mdpi/ic_security_white_24dp.webp
deleted file mode 100644
index 7a29da658..000000000
Binary files a/res/drawable-mdpi/ic_security_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_send_push.webp b/res/drawable-mdpi/ic_send_push.webp
deleted file mode 100644
index 93a4c0499..000000000
Binary files a/res/drawable-mdpi/ic_send_push.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_send_push_white_24dp.webp b/res/drawable-mdpi/ic_send_push_white_24dp.webp
deleted file mode 100644
index 09289b8a5..000000000
Binary files a/res/drawable-mdpi/ic_send_push_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_send_sms_insecure.webp b/res/drawable-mdpi/ic_send_sms_insecure.webp
deleted file mode 100644
index fedcc7640..000000000
Binary files a/res/drawable-mdpi/ic_send_sms_insecure.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_send_sms_insecure_dark.webp b/res/drawable-mdpi/ic_send_sms_insecure_dark.webp
deleted file mode 100644
index 25f7cc1a0..000000000
Binary files a/res/drawable-mdpi/ic_send_sms_insecure_dark.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_send_sms_white_24dp.webp b/res/drawable-mdpi/ic_send_sms_white_24dp.webp
deleted file mode 100644
index 4e9dcd580..000000000
Binary files a/res/drawable-mdpi/ic_send_sms_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_textsms_white_24dp.webp b/res/drawable-mdpi/ic_textsms_white_24dp.webp
deleted file mode 100644
index d2e109ca6..000000000
Binary files a/res/drawable-mdpi/ic_textsms_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_timer.webp b/res/drawable-mdpi/ic_timer.webp
deleted file mode 100644
index 179ca4992..000000000
Binary files a/res/drawable-mdpi/ic_timer.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_timer_disabled.webp b/res/drawable-mdpi/ic_timer_disabled.webp
deleted file mode 100644
index c67b13b05..000000000
Binary files a/res/drawable-mdpi/ic_timer_disabled.webp and /dev/null differ
diff --git a/res/drawable-mdpi/ic_timer_off_white_24dp.webp b/res/drawable-mdpi/ic_timer_off_white_24dp.webp
deleted file mode 100644
index 5083bb1a1..000000000
Binary files a/res/drawable-mdpi/ic_timer_off_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-mdpi/quick_camera_dark.webp b/res/drawable-mdpi/quick_camera_dark.webp
deleted file mode 100644
index e54f291a8..000000000
Binary files a/res/drawable-mdpi/quick_camera_dark.webp and /dev/null differ
diff --git a/res/drawable-mdpi/quick_camera_light.webp b/res/drawable-mdpi/quick_camera_light.webp
deleted file mode 100644
index e23677aba..000000000
Binary files a/res/drawable-mdpi/quick_camera_light.webp and /dev/null differ
diff --git a/res/drawable-mdpi/timer00.webp b/res/drawable-mdpi/timer00.webp
deleted file mode 100644
index 5679c00bd..000000000
Binary files a/res/drawable-mdpi/timer00.webp and /dev/null differ
diff --git a/res/drawable-mdpi/timer05.webp b/res/drawable-mdpi/timer05.webp
deleted file mode 100644
index dbbc06b15..000000000
Binary files a/res/drawable-mdpi/timer05.webp and /dev/null differ
diff --git a/res/drawable-mdpi/timer10.webp b/res/drawable-mdpi/timer10.webp
deleted file mode 100644
index cfb786a6a..000000000
Binary files a/res/drawable-mdpi/timer10.webp and /dev/null differ
diff --git a/res/drawable-mdpi/timer15.webp b/res/drawable-mdpi/timer15.webp
deleted file mode 100644
index 648c6186b..000000000
Binary files a/res/drawable-mdpi/timer15.webp and /dev/null differ
diff --git a/res/drawable-mdpi/timer20.webp b/res/drawable-mdpi/timer20.webp
deleted file mode 100644
index 635b6f0d2..000000000
Binary files a/res/drawable-mdpi/timer20.webp and /dev/null differ
diff --git a/res/drawable-mdpi/timer25.webp b/res/drawable-mdpi/timer25.webp
deleted file mode 100644
index 0b6b2e691..000000000
Binary files a/res/drawable-mdpi/timer25.webp and /dev/null differ
diff --git a/res/drawable-mdpi/timer30.webp b/res/drawable-mdpi/timer30.webp
deleted file mode 100644
index b30f60dcf..000000000
Binary files a/res/drawable-mdpi/timer30.webp and /dev/null differ
diff --git a/res/drawable-mdpi/timer35.webp b/res/drawable-mdpi/timer35.webp
deleted file mode 100644
index 9631a4667..000000000
Binary files a/res/drawable-mdpi/timer35.webp and /dev/null differ
diff --git a/res/drawable-mdpi/timer40.webp b/res/drawable-mdpi/timer40.webp
deleted file mode 100644
index 58d434681..000000000
Binary files a/res/drawable-mdpi/timer40.webp and /dev/null differ
diff --git a/res/drawable-mdpi/timer45.webp b/res/drawable-mdpi/timer45.webp
deleted file mode 100644
index 8147852a7..000000000
Binary files a/res/drawable-mdpi/timer45.webp and /dev/null differ
diff --git a/res/drawable-mdpi/timer50.webp b/res/drawable-mdpi/timer50.webp
deleted file mode 100644
index 94d258255..000000000
Binary files a/res/drawable-mdpi/timer50.webp and /dev/null differ
diff --git a/res/drawable-mdpi/timer55.webp b/res/drawable-mdpi/timer55.webp
deleted file mode 100644
index 85ee83487..000000000
Binary files a/res/drawable-mdpi/timer55.webp and /dev/null differ
diff --git a/res/drawable-mdpi/timer60.webp b/res/drawable-mdpi/timer60.webp
deleted file mode 100644
index a40732c59..000000000
Binary files a/res/drawable-mdpi/timer60.webp and /dev/null differ
diff --git a/res/drawable-v21/camera_send_button_background.xml b/res/drawable-v21/camera_send_button_background.xml
index 6ef9e5e0c..bc0ce271c 100644
--- a/res/drawable-v21/camera_send_button_background.xml
+++ b/res/drawable-v21/camera_send_button_background.xml
@@ -1,7 +1,7 @@
+ android:color="@color/transparent_white_20">
-
diff --git a/res/drawable-v21/media_continue_button_background.xml b/res/drawable-v21/media_continue_button_background.xml
index 6ef9e5e0c..bc0ce271c 100644
--- a/res/drawable-v21/media_continue_button_background.xml
+++ b/res/drawable-v21/media_continue_button_background.xml
@@ -1,7 +1,7 @@
+ android:color="@color/transparent_white_20">
-
diff --git a/res/drawable-v21/media_count_button_background.xml b/res/drawable-v21/media_count_button_background.xml
index a5fdc45a0..167a745bc 100644
--- a/res/drawable-v21/media_count_button_background.xml
+++ b/res/drawable-v21/media_count_button_background.xml
@@ -1,7 +1,7 @@
+ android:color="@color/transparent_white_20">
-
diff --git a/res/drawable-v21/mediarail_button_background.xml b/res/drawable-v21/mediarail_button_background.xml
index e5c03c2a8..777372d47 100644
--- a/res/drawable-v21/mediarail_button_background.xml
+++ b/res/drawable-v21/mediarail_button_background.xml
@@ -1,7 +1,7 @@
+ android:color="@color/transparent_white_20">
-
@@ -13,7 +13,7 @@
-
-
+
diff --git a/res/drawable-v21/sticker_button_dark.xml b/res/drawable-v21/sticker_button_dark.xml
index bbd18b7e9..faebab0dd 100644
--- a/res/drawable-v21/sticker_button_dark.xml
+++ b/res/drawable-v21/sticker_button_dark.xml
@@ -1,7 +1,7 @@
+ android:color="@color/transparent_white_20">
-
diff --git a/res/drawable-xhdpi/ic_advanced_white_24dp.webp b/res/drawable-xhdpi/ic_advanced_white_24dp.webp
deleted file mode 100644
index ba473bb9e..000000000
Binary files a/res/drawable-xhdpi/ic_advanced_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_archive_white_24dp.webp b/res/drawable-xhdpi/ic_archive_white_24dp.webp
deleted file mode 100644
index ad6838342..000000000
Binary files a/res/drawable-xhdpi/ic_archive_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_arrow_back_white_24dp.webp b/res/drawable-xhdpi/ic_arrow_back_white_24dp.webp
deleted file mode 100644
index 8d43f9934..000000000
Binary files a/res/drawable-xhdpi/ic_arrow_back_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_brightness_6_white_24dp.webp b/res/drawable-xhdpi/ic_brightness_6_white_24dp.webp
deleted file mode 100644
index 0f5e2ce20..000000000
Binary files a/res/drawable-xhdpi/ic_brightness_6_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_camera_filled_24.webp b/res/drawable-xhdpi/ic_camera_filled_24.webp
deleted file mode 100644
index 3b4d0311e..000000000
Binary files a/res/drawable-xhdpi/ic_camera_filled_24.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_forum_white_24dp.webp b/res/drawable-xhdpi/ic_forum_white_24dp.webp
deleted file mode 100644
index dbf272739..000000000
Binary files a/res/drawable-xhdpi/ic_forum_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_group_grey600_24dp.webp b/res/drawable-xhdpi/ic_group_grey600_24dp.webp
deleted file mode 100644
index 4b21edac2..000000000
Binary files a/res/drawable-xhdpi/ic_group_grey600_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_group_white_24dp.webp b/res/drawable-xhdpi/ic_group_white_24dp.webp
deleted file mode 100644
index 48e4ebf1c..000000000
Binary files a/res/drawable-xhdpi/ic_group_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_laptop_white_24dp.webp b/res/drawable-xhdpi/ic_laptop_white_24dp.webp
deleted file mode 100644
index 91b8a1c71..000000000
Binary files a/res/drawable-xhdpi/ic_laptop_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_message_black_18dp.webp b/res/drawable-xhdpi/ic_message_black_18dp.webp
deleted file mode 100644
index 95cd562f0..000000000
Binary files a/res/drawable-xhdpi/ic_message_black_18dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_message_white_24dp.webp b/res/drawable-xhdpi/ic_message_white_24dp.webp
deleted file mode 100644
index f7b8cf72f..000000000
Binary files a/res/drawable-xhdpi/ic_message_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_mic_grey600_24dp.webp b/res/drawable-xhdpi/ic_mic_grey600_24dp.webp
deleted file mode 100644
index fef604c49..000000000
Binary files a/res/drawable-xhdpi/ic_mic_grey600_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_mic_white_24dp.webp b/res/drawable-xhdpi/ic_mic_white_24dp.webp
deleted file mode 100644
index 684a73f84..000000000
Binary files a/res/drawable-xhdpi/ic_mic_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_mic_white_48dp.webp b/res/drawable-xhdpi/ic_mic_white_48dp.webp
deleted file mode 100644
index 75ebc4ce4..000000000
Binary files a/res/drawable-xhdpi/ic_mic_white_48dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_notifications_white_24dp.webp b/res/drawable-xhdpi/ic_notifications_white_24dp.webp
deleted file mode 100644
index c60db08c1..000000000
Binary files a/res/drawable-xhdpi/ic_notifications_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_photo_camera_dark.webp b/res/drawable-xhdpi/ic_photo_camera_dark.webp
deleted file mode 100644
index bab6244b2..000000000
Binary files a/res/drawable-xhdpi/ic_photo_camera_dark.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_photo_camera_light.webp b/res/drawable-xhdpi/ic_photo_camera_light.webp
deleted file mode 100644
index d3deaa611..000000000
Binary files a/res/drawable-xhdpi/ic_photo_camera_light.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_photo_camera_white_48dp.webp b/res/drawable-xhdpi/ic_photo_camera_white_48dp.webp
deleted file mode 100644
index 7cd9f52bc..000000000
Binary files a/res/drawable-xhdpi/ic_photo_camera_white_48dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_profile_default.webp b/res/drawable-xhdpi/ic_profile_default.webp
deleted file mode 100644
index 188d2d7e9..000000000
Binary files a/res/drawable-xhdpi/ic_profile_default.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_security_white_24dp.webp b/res/drawable-xhdpi/ic_security_white_24dp.webp
deleted file mode 100644
index 1ff3bd3f3..000000000
Binary files a/res/drawable-xhdpi/ic_security_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_send_push.webp b/res/drawable-xhdpi/ic_send_push.webp
deleted file mode 100644
index 500377194..000000000
Binary files a/res/drawable-xhdpi/ic_send_push.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_send_push_white_24dp.webp b/res/drawable-xhdpi/ic_send_push_white_24dp.webp
deleted file mode 100644
index cecac1586..000000000
Binary files a/res/drawable-xhdpi/ic_send_push_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_send_sms_insecure.webp b/res/drawable-xhdpi/ic_send_sms_insecure.webp
deleted file mode 100644
index c990362b7..000000000
Binary files a/res/drawable-xhdpi/ic_send_sms_insecure.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_send_sms_insecure_dark.webp b/res/drawable-xhdpi/ic_send_sms_insecure_dark.webp
deleted file mode 100644
index 28b19060c..000000000
Binary files a/res/drawable-xhdpi/ic_send_sms_insecure_dark.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_send_sms_white_24dp.webp b/res/drawable-xhdpi/ic_send_sms_white_24dp.webp
deleted file mode 100644
index c3f0a88be..000000000
Binary files a/res/drawable-xhdpi/ic_send_sms_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_textsms_white_24dp.webp b/res/drawable-xhdpi/ic_textsms_white_24dp.webp
deleted file mode 100644
index 8d8c4c2f4..000000000
Binary files a/res/drawable-xhdpi/ic_textsms_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_timer.webp b/res/drawable-xhdpi/ic_timer.webp
deleted file mode 100644
index e688a04ac..000000000
Binary files a/res/drawable-xhdpi/ic_timer.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_timer_disabled.webp b/res/drawable-xhdpi/ic_timer_disabled.webp
deleted file mode 100644
index e6b40a69d..000000000
Binary files a/res/drawable-xhdpi/ic_timer_disabled.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/ic_timer_off_white_24dp.webp b/res/drawable-xhdpi/ic_timer_off_white_24dp.webp
deleted file mode 100644
index a444b2c5f..000000000
Binary files a/res/drawable-xhdpi/ic_timer_off_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/quick_camera_dark.webp b/res/drawable-xhdpi/quick_camera_dark.webp
deleted file mode 100644
index 0b171f53b..000000000
Binary files a/res/drawable-xhdpi/quick_camera_dark.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/quick_camera_light.webp b/res/drawable-xhdpi/quick_camera_light.webp
deleted file mode 100644
index 340d86cce..000000000
Binary files a/res/drawable-xhdpi/quick_camera_light.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/timer00.webp b/res/drawable-xhdpi/timer00.webp
deleted file mode 100644
index e8893e585..000000000
Binary files a/res/drawable-xhdpi/timer00.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/timer05.webp b/res/drawable-xhdpi/timer05.webp
deleted file mode 100644
index f0b1b48b2..000000000
Binary files a/res/drawable-xhdpi/timer05.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/timer10.webp b/res/drawable-xhdpi/timer10.webp
deleted file mode 100644
index 51ec73c7f..000000000
Binary files a/res/drawable-xhdpi/timer10.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/timer15.webp b/res/drawable-xhdpi/timer15.webp
deleted file mode 100644
index df403ceda..000000000
Binary files a/res/drawable-xhdpi/timer15.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/timer20.webp b/res/drawable-xhdpi/timer20.webp
deleted file mode 100644
index 0f6d955c1..000000000
Binary files a/res/drawable-xhdpi/timer20.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/timer25.webp b/res/drawable-xhdpi/timer25.webp
deleted file mode 100644
index 83ce0b390..000000000
Binary files a/res/drawable-xhdpi/timer25.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/timer30.webp b/res/drawable-xhdpi/timer30.webp
deleted file mode 100644
index 0446866e9..000000000
Binary files a/res/drawable-xhdpi/timer30.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/timer35.webp b/res/drawable-xhdpi/timer35.webp
deleted file mode 100644
index dd38367d7..000000000
Binary files a/res/drawable-xhdpi/timer35.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/timer40.webp b/res/drawable-xhdpi/timer40.webp
deleted file mode 100644
index 625658504..000000000
Binary files a/res/drawable-xhdpi/timer40.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/timer45.webp b/res/drawable-xhdpi/timer45.webp
deleted file mode 100644
index 0003aba6b..000000000
Binary files a/res/drawable-xhdpi/timer45.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/timer50.webp b/res/drawable-xhdpi/timer50.webp
deleted file mode 100644
index 9a3396d69..000000000
Binary files a/res/drawable-xhdpi/timer50.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/timer55.webp b/res/drawable-xhdpi/timer55.webp
deleted file mode 100644
index 179ca4992..000000000
Binary files a/res/drawable-xhdpi/timer55.webp and /dev/null differ
diff --git a/res/drawable-xhdpi/timer60.webp b/res/drawable-xhdpi/timer60.webp
deleted file mode 100644
index 4823cb45e..000000000
Binary files a/res/drawable-xhdpi/timer60.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_advanced_white_24dp.webp b/res/drawable-xxhdpi/ic_advanced_white_24dp.webp
deleted file mode 100644
index eebdf7937..000000000
Binary files a/res/drawable-xxhdpi/ic_advanced_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_archive_white_24dp.webp b/res/drawable-xxhdpi/ic_archive_white_24dp.webp
deleted file mode 100644
index d8df37a36..000000000
Binary files a/res/drawable-xxhdpi/ic_archive_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_arrow_back_white_24dp.webp b/res/drawable-xxhdpi/ic_arrow_back_white_24dp.webp
deleted file mode 100644
index e830166f1..000000000
Binary files a/res/drawable-xxhdpi/ic_arrow_back_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_brightness_6_white_24dp.webp b/res/drawable-xxhdpi/ic_brightness_6_white_24dp.webp
deleted file mode 100644
index fe17cc0c8..000000000
Binary files a/res/drawable-xxhdpi/ic_brightness_6_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_camera_filled_24.webp b/res/drawable-xxhdpi/ic_camera_filled_24.webp
deleted file mode 100644
index 871e96e75..000000000
Binary files a/res/drawable-xxhdpi/ic_camera_filled_24.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_forum_white_24dp.webp b/res/drawable-xxhdpi/ic_forum_white_24dp.webp
deleted file mode 100644
index 65c3ab39f..000000000
Binary files a/res/drawable-xxhdpi/ic_forum_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_group_grey600_24dp.webp b/res/drawable-xxhdpi/ic_group_grey600_24dp.webp
deleted file mode 100644
index 749d6e221..000000000
Binary files a/res/drawable-xxhdpi/ic_group_grey600_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_group_white_24dp.webp b/res/drawable-xxhdpi/ic_group_white_24dp.webp
deleted file mode 100644
index 6fa7fe9cc..000000000
Binary files a/res/drawable-xxhdpi/ic_group_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_laptop_white_24dp.webp b/res/drawable-xxhdpi/ic_laptop_white_24dp.webp
deleted file mode 100644
index 2d5d114ee..000000000
Binary files a/res/drawable-xxhdpi/ic_laptop_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_message_black_18dp.webp b/res/drawable-xxhdpi/ic_message_black_18dp.webp
deleted file mode 100644
index 16bfc4bb2..000000000
Binary files a/res/drawable-xxhdpi/ic_message_black_18dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_message_white_24dp.webp b/res/drawable-xxhdpi/ic_message_white_24dp.webp
deleted file mode 100644
index 41c96728f..000000000
Binary files a/res/drawable-xxhdpi/ic_message_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_mic_grey600_24dp.webp b/res/drawable-xxhdpi/ic_mic_grey600_24dp.webp
deleted file mode 100644
index 5dbbfc91c..000000000
Binary files a/res/drawable-xxhdpi/ic_mic_grey600_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_mic_white_24dp.webp b/res/drawable-xxhdpi/ic_mic_white_24dp.webp
deleted file mode 100644
index cc114e861..000000000
Binary files a/res/drawable-xxhdpi/ic_mic_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_mic_white_48dp.webp b/res/drawable-xxhdpi/ic_mic_white_48dp.webp
deleted file mode 100644
index 2e3b51a90..000000000
Binary files a/res/drawable-xxhdpi/ic_mic_white_48dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_notifications_white_24dp.webp b/res/drawable-xxhdpi/ic_notifications_white_24dp.webp
deleted file mode 100644
index 2dd9d10ce..000000000
Binary files a/res/drawable-xxhdpi/ic_notifications_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_photo_camera_dark.webp b/res/drawable-xxhdpi/ic_photo_camera_dark.webp
deleted file mode 100644
index 695397ddf..000000000
Binary files a/res/drawable-xxhdpi/ic_photo_camera_dark.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_photo_camera_light.webp b/res/drawable-xxhdpi/ic_photo_camera_light.webp
deleted file mode 100644
index 03514c476..000000000
Binary files a/res/drawable-xxhdpi/ic_photo_camera_light.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_photo_camera_white_48dp.webp b/res/drawable-xxhdpi/ic_photo_camera_white_48dp.webp
deleted file mode 100644
index f2f24f38c..000000000
Binary files a/res/drawable-xxhdpi/ic_photo_camera_white_48dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_profile_default.webp b/res/drawable-xxhdpi/ic_profile_default.webp
deleted file mode 100644
index cf03024aa..000000000
Binary files a/res/drawable-xxhdpi/ic_profile_default.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_search_white_24dp.webp b/res/drawable-xxhdpi/ic_search_white_24dp.webp
deleted file mode 100644
index ad73cdb5a..000000000
Binary files a/res/drawable-xxhdpi/ic_search_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_security_white_24dp.webp b/res/drawable-xxhdpi/ic_security_white_24dp.webp
deleted file mode 100644
index 5b90b9f1d..000000000
Binary files a/res/drawable-xxhdpi/ic_security_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_send_push.webp b/res/drawable-xxhdpi/ic_send_push.webp
deleted file mode 100644
index 8ecc8561a..000000000
Binary files a/res/drawable-xxhdpi/ic_send_push.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_send_push_white_24dp.webp b/res/drawable-xxhdpi/ic_send_push_white_24dp.webp
deleted file mode 100644
index 4b477685c..000000000
Binary files a/res/drawable-xxhdpi/ic_send_push_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_send_sms_insecure.webp b/res/drawable-xxhdpi/ic_send_sms_insecure.webp
deleted file mode 100644
index 91b76b0d5..000000000
Binary files a/res/drawable-xxhdpi/ic_send_sms_insecure.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_send_sms_insecure_dark.webp b/res/drawable-xxhdpi/ic_send_sms_insecure_dark.webp
deleted file mode 100644
index dae91a059..000000000
Binary files a/res/drawable-xxhdpi/ic_send_sms_insecure_dark.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_send_sms_white_24dp.webp b/res/drawable-xxhdpi/ic_send_sms_white_24dp.webp
deleted file mode 100644
index 8cc7b1d6d..000000000
Binary files a/res/drawable-xxhdpi/ic_send_sms_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_textsms_white_24dp.webp b/res/drawable-xxhdpi/ic_textsms_white_24dp.webp
deleted file mode 100644
index ab1f8a8c2..000000000
Binary files a/res/drawable-xxhdpi/ic_textsms_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_timer.webp b/res/drawable-xxhdpi/ic_timer.webp
deleted file mode 100644
index e609d6e87..000000000
Binary files a/res/drawable-xxhdpi/ic_timer.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_timer_disabled.webp b/res/drawable-xxhdpi/ic_timer_disabled.webp
deleted file mode 100644
index 6ff326949..000000000
Binary files a/res/drawable-xxhdpi/ic_timer_disabled.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/ic_timer_off_white_24dp.webp b/res/drawable-xxhdpi/ic_timer_off_white_24dp.webp
deleted file mode 100644
index 6c5426093..000000000
Binary files a/res/drawable-xxhdpi/ic_timer_off_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/quick_camera_dark.webp b/res/drawable-xxhdpi/quick_camera_dark.webp
deleted file mode 100644
index f411c0344..000000000
Binary files a/res/drawable-xxhdpi/quick_camera_dark.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/quick_camera_light.webp b/res/drawable-xxhdpi/quick_camera_light.webp
deleted file mode 100644
index c5009ff2b..000000000
Binary files a/res/drawable-xxhdpi/quick_camera_light.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/timer00.webp b/res/drawable-xxhdpi/timer00.webp
deleted file mode 100644
index 7265ee324..000000000
Binary files a/res/drawable-xxhdpi/timer00.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/timer05.webp b/res/drawable-xxhdpi/timer05.webp
deleted file mode 100644
index 681a1f99d..000000000
Binary files a/res/drawable-xxhdpi/timer05.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/timer10.webp b/res/drawable-xxhdpi/timer10.webp
deleted file mode 100644
index 0ad46371d..000000000
Binary files a/res/drawable-xxhdpi/timer10.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/timer15.webp b/res/drawable-xxhdpi/timer15.webp
deleted file mode 100644
index ac86374bd..000000000
Binary files a/res/drawable-xxhdpi/timer15.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/timer20.webp b/res/drawable-xxhdpi/timer20.webp
deleted file mode 100644
index cff2b7325..000000000
Binary files a/res/drawable-xxhdpi/timer20.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/timer25.webp b/res/drawable-xxhdpi/timer25.webp
deleted file mode 100644
index ccc8ebc38..000000000
Binary files a/res/drawable-xxhdpi/timer25.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/timer30.webp b/res/drawable-xxhdpi/timer30.webp
deleted file mode 100644
index 120b1ec7f..000000000
Binary files a/res/drawable-xxhdpi/timer30.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/timer35.webp b/res/drawable-xxhdpi/timer35.webp
deleted file mode 100644
index 4c718632a..000000000
Binary files a/res/drawable-xxhdpi/timer35.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/timer40.webp b/res/drawable-xxhdpi/timer40.webp
deleted file mode 100644
index 6b9712bb6..000000000
Binary files a/res/drawable-xxhdpi/timer40.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/timer45.webp b/res/drawable-xxhdpi/timer45.webp
deleted file mode 100644
index cfb87952c..000000000
Binary files a/res/drawable-xxhdpi/timer45.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/timer50.webp b/res/drawable-xxhdpi/timer50.webp
deleted file mode 100644
index 180efa7d3..000000000
Binary files a/res/drawable-xxhdpi/timer50.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/timer55.webp b/res/drawable-xxhdpi/timer55.webp
deleted file mode 100644
index b26a7a193..000000000
Binary files a/res/drawable-xxhdpi/timer55.webp and /dev/null differ
diff --git a/res/drawable-xxhdpi/timer60.webp b/res/drawable-xxhdpi/timer60.webp
deleted file mode 100644
index 9751f92a7..000000000
Binary files a/res/drawable-xxhdpi/timer60.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_advanced_white_24dp.webp b/res/drawable-xxxhdpi/ic_advanced_white_24dp.webp
deleted file mode 100644
index dc34ed40d..000000000
Binary files a/res/drawable-xxxhdpi/ic_advanced_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_archive_white_24dp.webp b/res/drawable-xxxhdpi/ic_archive_white_24dp.webp
deleted file mode 100644
index 8c31168ff..000000000
Binary files a/res/drawable-xxxhdpi/ic_archive_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_arrow_back_white_24dp.webp b/res/drawable-xxxhdpi/ic_arrow_back_white_24dp.webp
deleted file mode 100644
index f49281e18..000000000
Binary files a/res/drawable-xxxhdpi/ic_arrow_back_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_brightness_6_white_24dp.webp b/res/drawable-xxxhdpi/ic_brightness_6_white_24dp.webp
deleted file mode 100644
index 113e60a27..000000000
Binary files a/res/drawable-xxxhdpi/ic_brightness_6_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_camera_filled_24.webp b/res/drawable-xxxhdpi/ic_camera_filled_24.webp
deleted file mode 100644
index 421483ebe..000000000
Binary files a/res/drawable-xxxhdpi/ic_camera_filled_24.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_forum_white_24dp.webp b/res/drawable-xxxhdpi/ic_forum_white_24dp.webp
deleted file mode 100644
index 33b71a533..000000000
Binary files a/res/drawable-xxxhdpi/ic_forum_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_laptop_white_24dp.webp b/res/drawable-xxxhdpi/ic_laptop_white_24dp.webp
deleted file mode 100644
index 250f321ca..000000000
Binary files a/res/drawable-xxxhdpi/ic_laptop_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_message_black_18dp.webp b/res/drawable-xxxhdpi/ic_message_black_18dp.webp
deleted file mode 100644
index ae5682511..000000000
Binary files a/res/drawable-xxxhdpi/ic_message_black_18dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_message_white_24dp.webp b/res/drawable-xxxhdpi/ic_message_white_24dp.webp
deleted file mode 100644
index 215d25e3e..000000000
Binary files a/res/drawable-xxxhdpi/ic_message_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_mic_grey600_24dp.webp b/res/drawable-xxxhdpi/ic_mic_grey600_24dp.webp
deleted file mode 100644
index 4ba3453bc..000000000
Binary files a/res/drawable-xxxhdpi/ic_mic_grey600_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_mic_white_24dp.webp b/res/drawable-xxxhdpi/ic_mic_white_24dp.webp
deleted file mode 100644
index 75ebc4ce4..000000000
Binary files a/res/drawable-xxxhdpi/ic_mic_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_mic_white_48dp.webp b/res/drawable-xxxhdpi/ic_mic_white_48dp.webp
deleted file mode 100644
index bc9a00826..000000000
Binary files a/res/drawable-xxxhdpi/ic_mic_white_48dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_notifications_white_24dp.webp b/res/drawable-xxxhdpi/ic_notifications_white_24dp.webp
deleted file mode 100644
index 182ba41d7..000000000
Binary files a/res/drawable-xxxhdpi/ic_notifications_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_photo_camera_dark.webp b/res/drawable-xxxhdpi/ic_photo_camera_dark.webp
deleted file mode 100644
index f2f24f38c..000000000
Binary files a/res/drawable-xxxhdpi/ic_photo_camera_dark.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_photo_camera_light.webp b/res/drawable-xxxhdpi/ic_photo_camera_light.webp
deleted file mode 100644
index 5f0322ba0..000000000
Binary files a/res/drawable-xxxhdpi/ic_photo_camera_light.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_photo_camera_white_48dp.webp b/res/drawable-xxxhdpi/ic_photo_camera_white_48dp.webp
deleted file mode 100644
index 73c7078c2..000000000
Binary files a/res/drawable-xxxhdpi/ic_photo_camera_white_48dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_profile_default.webp b/res/drawable-xxxhdpi/ic_profile_default.webp
deleted file mode 100644
index 844422e19..000000000
Binary files a/res/drawable-xxxhdpi/ic_profile_default.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_security_white_24dp.webp b/res/drawable-xxxhdpi/ic_security_white_24dp.webp
deleted file mode 100644
index 8055855f4..000000000
Binary files a/res/drawable-xxxhdpi/ic_security_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_send_push_white_24dp.webp b/res/drawable-xxxhdpi/ic_send_push_white_24dp.webp
deleted file mode 100644
index 4a4740c31..000000000
Binary files a/res/drawable-xxxhdpi/ic_send_push_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_send_sms_white_24dp.webp b/res/drawable-xxxhdpi/ic_send_sms_white_24dp.webp
deleted file mode 100644
index a1f9754de..000000000
Binary files a/res/drawable-xxxhdpi/ic_send_sms_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_textsms_white_24dp.webp b/res/drawable-xxxhdpi/ic_textsms_white_24dp.webp
deleted file mode 100644
index 691fc8d4f..000000000
Binary files a/res/drawable-xxxhdpi/ic_textsms_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_timer.webp b/res/drawable-xxxhdpi/ic_timer.webp
deleted file mode 100644
index 993125461..000000000
Binary files a/res/drawable-xxxhdpi/ic_timer.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_timer_disabled.webp b/res/drawable-xxxhdpi/ic_timer_disabled.webp
deleted file mode 100644
index e615efa5b..000000000
Binary files a/res/drawable-xxxhdpi/ic_timer_disabled.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/ic_timer_off_white_24dp.webp b/res/drawable-xxxhdpi/ic_timer_off_white_24dp.webp
deleted file mode 100644
index 40c342bd3..000000000
Binary files a/res/drawable-xxxhdpi/ic_timer_off_white_24dp.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/timer00.webp b/res/drawable-xxxhdpi/timer00.webp
deleted file mode 100644
index b71c04ee5..000000000
Binary files a/res/drawable-xxxhdpi/timer00.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/timer05.webp b/res/drawable-xxxhdpi/timer05.webp
deleted file mode 100644
index 167f46877..000000000
Binary files a/res/drawable-xxxhdpi/timer05.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/timer10.webp b/res/drawable-xxxhdpi/timer10.webp
deleted file mode 100644
index d8613b318..000000000
Binary files a/res/drawable-xxxhdpi/timer10.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/timer15.webp b/res/drawable-xxxhdpi/timer15.webp
deleted file mode 100644
index 35a4cb610..000000000
Binary files a/res/drawable-xxxhdpi/timer15.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/timer20.webp b/res/drawable-xxxhdpi/timer20.webp
deleted file mode 100644
index 009f06312..000000000
Binary files a/res/drawable-xxxhdpi/timer20.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/timer25.webp b/res/drawable-xxxhdpi/timer25.webp
deleted file mode 100644
index d2aaaae5b..000000000
Binary files a/res/drawable-xxxhdpi/timer25.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/timer30.webp b/res/drawable-xxxhdpi/timer30.webp
deleted file mode 100644
index b0f253619..000000000
Binary files a/res/drawable-xxxhdpi/timer30.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/timer35.webp b/res/drawable-xxxhdpi/timer35.webp
deleted file mode 100644
index 97e7ac8e2..000000000
Binary files a/res/drawable-xxxhdpi/timer35.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/timer40.webp b/res/drawable-xxxhdpi/timer40.webp
deleted file mode 100644
index 9336b36e0..000000000
Binary files a/res/drawable-xxxhdpi/timer40.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/timer45.webp b/res/drawable-xxxhdpi/timer45.webp
deleted file mode 100644
index 1177dcad5..000000000
Binary files a/res/drawable-xxxhdpi/timer45.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/timer50.webp b/res/drawable-xxxhdpi/timer50.webp
deleted file mode 100644
index b2f1bb26f..000000000
Binary files a/res/drawable-xxxhdpi/timer50.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/timer55.webp b/res/drawable-xxxhdpi/timer55.webp
deleted file mode 100644
index e688a04ac..000000000
Binary files a/res/drawable-xxxhdpi/timer55.webp and /dev/null differ
diff --git a/res/drawable-xxxhdpi/timer60.webp b/res/drawable-xxxhdpi/timer60.webp
deleted file mode 100644
index bdc184594..000000000
Binary files a/res/drawable-xxxhdpi/timer60.webp and /dev/null differ
diff --git a/res/drawable/attachment_selector_shadow.xml b/res/drawable/attachment_selector_shadow.xml
index 34e2aa8cd..df2da7036 100644
--- a/res/drawable/attachment_selector_shadow.xml
+++ b/res/drawable/attachment_selector_shadow.xml
@@ -4,7 +4,7 @@
android:shape="rectangle">
diff --git a/res/drawable/avatar_gradient_dark.xml b/res/drawable/avatar_gradient_dark.xml
index 468abd48a..500a23e55 100644
--- a/res/drawable/avatar_gradient_dark.xml
+++ b/res/drawable/avatar_gradient_dark.xml
@@ -5,7 +5,7 @@
\ No newline at end of file
diff --git a/res/drawable/avatar_gradient_light.xml b/res/drawable/avatar_gradient_light.xml
index bb0a83db3..15b0f62fd 100644
--- a/res/drawable/avatar_gradient_light.xml
+++ b/res/drawable/avatar_gradient_light.xml
@@ -5,7 +5,7 @@
\ No newline at end of file
diff --git a/res/drawable/contact_list_divider_light.xml b/res/drawable/contact_list_divider_light.xml
index 984656136..6157621fe 100644
--- a/res/drawable/contact_list_divider_light.xml
+++ b/res/drawable/contact_list_divider_light.xml
@@ -11,7 +11,7 @@
-
-
+
diff --git a/res/drawable/conversation_list_divider_shape.xml b/res/drawable/conversation_list_divider_shape.xml
index 726ef9eae..0581817d1 100644
--- a/res/drawable/conversation_list_divider_shape.xml
+++ b/res/drawable/conversation_list_divider_shape.xml
@@ -2,7 +2,7 @@
-
-
+
diff --git a/res/drawable/ic_advanced_24.xml b/res/drawable/ic_advanced_24.xml
new file mode 100644
index 000000000..97eaae614
--- /dev/null
+++ b/res/drawable/ic_advanced_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_advanced_24dp.xml b/res/drawable/ic_advanced_24dp.xml
deleted file mode 100644
index 4fb9e1ab0..000000000
--- a/res/drawable/ic_advanced_24dp.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/res/drawable/ic_appearance_outline_24.xml b/res/drawable/ic_appearance_outline_24.xml
new file mode 100644
index 000000000..34c5f8b72
--- /dev/null
+++ b/res/drawable/ic_appearance_outline_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_appearance_solid_24.xml b/res/drawable/ic_appearance_solid_24.xml
new file mode 100644
index 000000000..3d801eb9f
--- /dev/null
+++ b/res/drawable/ic_appearance_solid_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_archive_solid_24.xml b/res/drawable/ic_archive_solid_24.xml
new file mode 100644
index 000000000..bf43d767e
--- /dev/null
+++ b/res/drawable/ic_archive_solid_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_arrow_left_24.xml b/res/drawable/ic_arrow_left_24.xml
new file mode 100644
index 000000000..d372b6f35
--- /dev/null
+++ b/res/drawable/ic_arrow_left_24.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/res/drawable/ic_bell_outline_24.xml b/res/drawable/ic_bell_outline_24.xml
new file mode 100644
index 000000000..9bfbfaaaa
--- /dev/null
+++ b/res/drawable/ic_bell_outline_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_bell_solid_24.xml b/res/drawable/ic_bell_solid_24.xml
new file mode 100644
index 000000000..c5130443c
--- /dev/null
+++ b/res/drawable/ic_bell_solid_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_brightness_6_24dp.xml b/res/drawable/ic_brightness_6_24dp.xml
deleted file mode 100644
index 548ad986f..000000000
--- a/res/drawable/ic_brightness_6_24dp.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/res/drawable/ic_camera_outline_24.xml b/res/drawable/ic_camera_outline_24.xml
new file mode 100644
index 000000000..efa95e1f4
--- /dev/null
+++ b/res/drawable/ic_camera_outline_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_camera_solid_24.xml b/res/drawable/ic_camera_solid_24.xml
new file mode 100644
index 000000000..091d06efa
--- /dev/null
+++ b/res/drawable/ic_camera_solid_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_camera_solid_white_24.xml b/res/drawable/ic_camera_solid_white_24.xml
new file mode 100644
index 000000000..9a7a7fefe
--- /dev/null
+++ b/res/drawable/ic_camera_solid_white_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_check.xml b/res/drawable/ic_check.xml
deleted file mode 100644
index 17aca2af1..000000000
--- a/res/drawable/ic_check.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
diff --git a/res/drawable/ic_check_24.xml b/res/drawable/ic_check_24.xml
new file mode 100644
index 000000000..e996c2ae9
--- /dev/null
+++ b/res/drawable/ic_check_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_compose_solid_24.xml b/res/drawable/ic_compose_solid_24.xml
new file mode 100644
index 000000000..6c06b6e39
--- /dev/null
+++ b/res/drawable/ic_compose_solid_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_dashboard_24.xml b/res/drawable/ic_dashboard_24.xml
index 1304250ca..36466e156 100644
--- a/res/drawable/ic_dashboard_24.xml
+++ b/res/drawable/ic_dashboard_24.xml
@@ -4,6 +4,6 @@
android:viewportWidth="24"
android:viewportHeight="24">
diff --git a/res/drawable/ic_emoji_filled_keyboard_dark.xml b/res/drawable/ic_emoji_filled_keyboard_dark.xml
deleted file mode 100644
index e0429d88f..000000000
--- a/res/drawable/ic_emoji_filled_keyboard_dark.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
diff --git a/res/drawable/ic_emoji_filled_keyboard_light.xml b/res/drawable/ic_emoji_filled_keyboard_light.xml
deleted file mode 100644
index ed8a86b40..000000000
--- a/res/drawable/ic_emoji_filled_keyboard_light.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
diff --git a/res/drawable/ic_emoji_smiley_outline_24.xml b/res/drawable/ic_emoji_smiley_outline_24.xml
new file mode 100644
index 000000000..f91dbdb6e
--- /dev/null
+++ b/res/drawable/ic_emoji_smiley_outline_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_emoji_smiley_solid_24.xml b/res/drawable/ic_emoji_smiley_solid_24.xml
new file mode 100644
index 000000000..cdd980226
--- /dev/null
+++ b/res/drawable/ic_emoji_smiley_solid_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_forum_24dp.xml b/res/drawable/ic_forum_24dp.xml
deleted file mode 100644
index e48c05fd4..000000000
--- a/res/drawable/ic_forum_24dp.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/res/drawable/ic_group_large.xml b/res/drawable/ic_group_large.xml
index b06cdd778..77121f866 100644
--- a/res/drawable/ic_group_large.xml
+++ b/res/drawable/ic_group_large.xml
@@ -3,5 +3,5 @@
android:viewportHeight="24.0"
android:viewportWidth="24.0"
xmlns:android="http://schemas.android.com/apk/res/android">
-
+
diff --git a/res/drawable/ic_group_outline_20.xml b/res/drawable/ic_group_outline_20.xml
new file mode 100644
index 000000000..417d222d0
--- /dev/null
+++ b/res/drawable/ic_group_outline_20.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_group_outline_24.xml b/res/drawable/ic_group_outline_24.xml
new file mode 100644
index 000000000..a5f6b8256
--- /dev/null
+++ b/res/drawable/ic_group_outline_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_group_outline_40.xml b/res/drawable/ic_group_outline_40.xml
new file mode 100644
index 000000000..ea3278892
--- /dev/null
+++ b/res/drawable/ic_group_outline_40.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_group_solid_24.xml b/res/drawable/ic_group_solid_24.xml
new file mode 100644
index 000000000..546a8dd27
--- /dev/null
+++ b/res/drawable/ic_group_solid_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_group_solid_highlight_24.xml b/res/drawable/ic_group_solid_highlight_24.xml
new file mode 100644
index 000000000..ff168f5ae
--- /dev/null
+++ b/res/drawable/ic_group_solid_highlight_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_laptop_24dp.xml b/res/drawable/ic_laptop_24dp.xml
deleted file mode 100644
index bad7920f9..000000000
--- a/res/drawable/ic_laptop_24dp.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/res/drawable/ic_linked_devices_24.xml b/res/drawable/ic_linked_devices_24.xml
new file mode 100644
index 000000000..0ccf29914
--- /dev/null
+++ b/res/drawable/ic_linked_devices_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_lock_outline_24.xml b/res/drawable/ic_lock_outline_24.xml
new file mode 100644
index 000000000..2b480fec3
--- /dev/null
+++ b/res/drawable/ic_lock_outline_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_lock_solid_24.xml b/res/drawable/ic_lock_solid_24.xml
new file mode 100644
index 000000000..6c6c64c09
--- /dev/null
+++ b/res/drawable/ic_lock_solid_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_message_outline_24.xml b/res/drawable/ic_message_outline_24.xml
new file mode 100644
index 000000000..dd19aea77
--- /dev/null
+++ b/res/drawable/ic_message_outline_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_message_solid_24.xml b/res/drawable/ic_message_solid_24.xml
new file mode 100644
index 000000000..fd1d44840
--- /dev/null
+++ b/res/drawable/ic_message_solid_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_mic_filled_24.xml b/res/drawable/ic_mic_filled_24.xml
deleted file mode 100644
index acffc548c..000000000
--- a/res/drawable/ic_mic_filled_24.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/res/drawable/ic_mic_outline_24.xml b/res/drawable/ic_mic_outline_24.xml
new file mode 100644
index 000000000..e8369e31f
--- /dev/null
+++ b/res/drawable/ic_mic_outline_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_mic_solid_24.xml b/res/drawable/ic_mic_solid_24.xml
new file mode 100644
index 000000000..5cc100560
--- /dev/null
+++ b/res/drawable/ic_mic_solid_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_more_vert_24.xml b/res/drawable/ic_more_vert_24.xml
new file mode 100644
index 000000000..961145fce
--- /dev/null
+++ b/res/drawable/ic_more_vert_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_notifications_24dp.xml b/res/drawable/ic_notifications_24dp.xml
deleted file mode 100644
index 56cd14d7a..000000000
--- a/res/drawable/ic_notifications_24dp.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/res/drawable/ic_person_large.xml b/res/drawable/ic_person_large.xml
index c3324be1d..ce4ca2af7 100644
--- a/res/drawable/ic_person_large.xml
+++ b/res/drawable/ic_person_large.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/res/drawable/ic_photo_outline_24.xml b/res/drawable/ic_photo_outline_24.xml
new file mode 100644
index 000000000..d413c1766
--- /dev/null
+++ b/res/drawable/ic_photo_outline_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_photo_solid_24.xml b/res/drawable/ic_photo_solid_24.xml
new file mode 100644
index 000000000..6859b771c
--- /dev/null
+++ b/res/drawable/ic_photo_solid_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_plus_24.xml b/res/drawable/ic_plus_24.xml
index d287574e1..a3b175ada 100644
--- a/res/drawable/ic_plus_24.xml
+++ b/res/drawable/ic_plus_24.xml
@@ -4,6 +4,6 @@
android:viewportWidth="24"
android:viewportHeight="24">
+ android:fillColor="?icon_tint"
+ android:pathData="M21,11.25l-8.25,0l0,-8.25l-1.5,0l0,8.25l-8.25,0l0,1.5l8.25,0l0,8.25l1.5,0l0,-8.25l8.25,0l0,-1.5z"/>
diff --git a/res/drawable/ic_profile_outline_20.xml b/res/drawable/ic_profile_outline_20.xml
new file mode 100644
index 000000000..83dd435e8
--- /dev/null
+++ b/res/drawable/ic_profile_outline_20.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_profile_outline_40.xml b/res/drawable/ic_profile_outline_40.xml
new file mode 100644
index 000000000..c323a7961
--- /dev/null
+++ b/res/drawable/ic_profile_outline_40.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_safety_number_outline_24.xml b/res/drawable/ic_safety_number_outline_24.xml
new file mode 100644
index 000000000..efea29523
--- /dev/null
+++ b/res/drawable/ic_safety_number_outline_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_safety_number_solid_24.xml b/res/drawable/ic_safety_number_solid_24.xml
new file mode 100644
index 000000000..35802774d
--- /dev/null
+++ b/res/drawable/ic_safety_number_solid_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_search_24.xml b/res/drawable/ic_search_24.xml
new file mode 100644
index 000000000..3e6bb3a2f
--- /dev/null
+++ b/res/drawable/ic_search_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_search_dark_24.xml b/res/drawable/ic_search_dark_24.xml
new file mode 100644
index 000000000..b24a3f514
--- /dev/null
+++ b/res/drawable/ic_search_dark_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_security_24dp.xml b/res/drawable/ic_security_24dp.xml
deleted file mode 100644
index 93bd6f813..000000000
--- a/res/drawable/ic_security_24dp.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/res/drawable/ic_send_lock_24.xml b/res/drawable/ic_send_lock_24.xml
new file mode 100644
index 000000000..3e6167796
--- /dev/null
+++ b/res/drawable/ic_send_lock_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_send_unlock_24.xml b/res/drawable/ic_send_unlock_24.xml
new file mode 100644
index 000000000..cedd90d5f
--- /dev/null
+++ b/res/drawable/ic_send_unlock_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_sticker_filled.xml b/res/drawable/ic_sticker_filled.xml
deleted file mode 100644
index 9b4b5c566..000000000
--- a/res/drawable/ic_sticker_filled.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/res/drawable/ic_sticker_filled_keyboard_dark.xml b/res/drawable/ic_sticker_filled_keyboard_dark.xml
deleted file mode 100644
index b8a968b03..000000000
--- a/res/drawable/ic_sticker_filled_keyboard_dark.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/res/drawable/ic_sticker_filled_keyboard_light.xml b/res/drawable/ic_sticker_filled_keyboard_light.xml
deleted file mode 100644
index d4db977f5..000000000
--- a/res/drawable/ic_sticker_filled_keyboard_light.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/res/drawable/ic_sticker_outline.xml b/res/drawable/ic_sticker_outline.xml
deleted file mode 100644
index d2f6e5bb0..000000000
--- a/res/drawable/ic_sticker_outline.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/res/drawable/ic_sticker_outline_24.xml b/res/drawable/ic_sticker_outline_24.xml
new file mode 100644
index 000000000..dee43bb64
--- /dev/null
+++ b/res/drawable/ic_sticker_outline_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_sticker_solid_24.xml b/res/drawable/ic_sticker_solid_24.xml
new file mode 100644
index 000000000..dcd2d4988
--- /dev/null
+++ b/res/drawable/ic_sticker_solid_24.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_textsms_24dp.xml b/res/drawable/ic_textsms_24dp.xml
deleted file mode 100644
index 65acf6795..000000000
--- a/res/drawable/ic_textsms_24dp.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/res/drawable/ic_timer_00_16.xml b/res/drawable/ic_timer_00_16.xml
new file mode 100644
index 000000000..f46340197
--- /dev/null
+++ b/res/drawable/ic_timer_00_16.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_timer_05_16.xml b/res/drawable/ic_timer_05_16.xml
new file mode 100644
index 000000000..62ed8fbf5
--- /dev/null
+++ b/res/drawable/ic_timer_05_16.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_timer_10_16.xml b/res/drawable/ic_timer_10_16.xml
new file mode 100644
index 000000000..88b3bf4e2
--- /dev/null
+++ b/res/drawable/ic_timer_10_16.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_timer_15_16.xml b/res/drawable/ic_timer_15_16.xml
new file mode 100644
index 000000000..3f0511a89
--- /dev/null
+++ b/res/drawable/ic_timer_15_16.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_timer_20_16.xml b/res/drawable/ic_timer_20_16.xml
new file mode 100644
index 000000000..d430c39ed
--- /dev/null
+++ b/res/drawable/ic_timer_20_16.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_timer_24.xml b/res/drawable/ic_timer_24.xml
index a96076ca3..a21db6542 100644
--- a/res/drawable/ic_timer_24.xml
+++ b/res/drawable/ic_timer_24.xml
@@ -4,6 +4,6 @@
android:viewportWidth="24"
android:viewportHeight="24">
+ android:fillColor="?icon_tint"
+ android:pathData="M13,14.5a1,1 0,0 1,-2 0L11.5,8h1ZM21,14A9,9 0,1 1,4.935 8.436,1.232 1.232,0 0,1 4,7.25 1.25,1.25 0,0 1,5.25 6a1.232,1.232 0,0 1,1.186 0.935,8.948 8.948,0 0,1 4.752,-1.894L10,1h4L12.812,5.041a8.948,8.948 0,0 1,4.752 1.894A1.232,1.232 0,0 1,18.75 6,1.25 1.25,0 0,1 20,7.25a1.232,1.232 0,0 1,-0.935 1.186A8.955,8.955 0,0 1,21 14ZM19.5,14A7.5,7.5 0,1 0,12 21.5,7.509 7.509,0 0,0 19.5,14Z"/>
diff --git a/res/drawable/ic_timer_25_16.xml b/res/drawable/ic_timer_25_16.xml
new file mode 100644
index 000000000..c72a8049c
--- /dev/null
+++ b/res/drawable/ic_timer_25_16.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_timer_30_16.xml b/res/drawable/ic_timer_30_16.xml
new file mode 100644
index 000000000..62229cae5
--- /dev/null
+++ b/res/drawable/ic_timer_30_16.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_timer_35_16.xml b/res/drawable/ic_timer_35_16.xml
new file mode 100644
index 000000000..d1c1f210f
--- /dev/null
+++ b/res/drawable/ic_timer_35_16.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_timer_40_16.xml b/res/drawable/ic_timer_40_16.xml
new file mode 100644
index 000000000..a13108493
--- /dev/null
+++ b/res/drawable/ic_timer_40_16.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_timer_45_16.xml b/res/drawable/ic_timer_45_16.xml
new file mode 100644
index 000000000..bde34351c
--- /dev/null
+++ b/res/drawable/ic_timer_45_16.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_timer_50_16.xml b/res/drawable/ic_timer_50_16.xml
new file mode 100644
index 000000000..cb7b693de
--- /dev/null
+++ b/res/drawable/ic_timer_50_16.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_timer_55_16.xml b/res/drawable/ic_timer_55_16.xml
new file mode 100644
index 000000000..292193576
--- /dev/null
+++ b/res/drawable/ic_timer_55_16.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_timer_60_16.xml b/res/drawable/ic_timer_60_16.xml
new file mode 100644
index 000000000..25d801d04
--- /dev/null
+++ b/res/drawable/ic_timer_60_16.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_timer_disabled_24.xml b/res/drawable/ic_timer_disabled_24.xml
index f232761ec..42bc1e1ba 100644
--- a/res/drawable/ic_timer_disabled_24.xml
+++ b/res/drawable/ic_timer_disabled_24.xml
@@ -4,6 +4,9 @@
android:viewportWidth="24"
android:viewportHeight="24">
+ android:fillColor="?icon_tint"
+ android:pathData="M12,21.5A7.491,7.491 0,0 1,5.723 9.907L4.648,8.831A8.989,8.989 0,0 0,17.174 21.357l-1.081,-1.08A7.45,7.45 0,0 1,12 21.5Z"/>
+
diff --git a/res/drawable/ic_view_stream_24.xml b/res/drawable/ic_view_stream_24.xml
index 512f3d400..693b2e413 100644
--- a/res/drawable/ic_view_stream_24.xml
+++ b/res/drawable/ic_view_stream_24.xml
@@ -4,6 +4,6 @@
android:viewportWidth="24"
android:viewportHeight="24">
diff --git a/res/drawable/ic_x_20.xml b/res/drawable/ic_x_20.xml
new file mode 100644
index 000000000..543cff135
--- /dev/null
+++ b/res/drawable/ic_x_20.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_x_dark_20.xml b/res/drawable/ic_x_dark_20.xml
new file mode 100644
index 000000000..b4d63160b
--- /dev/null
+++ b/res/drawable/ic_x_dark_20.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/mediapicker_item_border_dark.xml b/res/drawable/mediapicker_item_border_dark.xml
index 4b5741d8e..8a0a12423 100644
--- a/res/drawable/mediapicker_item_border_dark.xml
+++ b/res/drawable/mediapicker_item_border_dark.xml
@@ -7,6 +7,6 @@
+ android:color="@color/transparent_white_20" />
\ No newline at end of file
diff --git a/res/drawable/mediapicker_item_border_light.xml b/res/drawable/mediapicker_item_border_light.xml
index 6dd07b0d2..159e78823 100644
--- a/res/drawable/mediapicker_item_border_light.xml
+++ b/res/drawable/mediapicker_item_border_light.xml
@@ -5,6 +5,6 @@
+ android:color="@color/transparent_black_20" />
\ No newline at end of file
diff --git a/res/drawable/mediarail_button_background.xml b/res/drawable/mediarail_button_background.xml
index 57a2ce985..85e1a959b 100644
--- a/res/drawable/mediarail_button_background.xml
+++ b/res/drawable/mediarail_button_background.xml
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file
diff --git a/res/drawable/rounded_rectangle_dark.xml b/res/drawable/rounded_rectangle_dark.xml
index 3fa75a9ab..1cc168391 100644
--- a/res/drawable/rounded_rectangle_dark.xml
+++ b/res/drawable/rounded_rectangle_dark.xml
@@ -1,7 +1,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/res/layout/activity_contact_share_edit.xml b/res/layout/activity_contact_share_edit.xml
index 82b6b5dd4..bee338f86 100644
--- a/res/layout/activity_contact_share_edit.xml
+++ b/res/layout/activity_contact_share_edit.xml
@@ -1,8 +1,8 @@
-
+ android:layout_height="match_parent"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
\ No newline at end of file
diff --git a/res/layout/activity_map_bottom_sheet_view.xml b/res/layout/activity_map_bottom_sheet_view.xml
index b4c25a9f4..4ff61d5e0 100755
--- a/res/layout/activity_map_bottom_sheet_view.xml
+++ b/res/layout/activity_map_bottom_sheet_view.xml
@@ -19,7 +19,7 @@
app:fabSize="normal"
app:layout_anchor="@id/root_bottom_sheet"
app:layout_anchorGravity="top|end"
- app:srcCompat="@drawable/ic_check" />
+ app:srcCompat="@drawable/ic_check_24" />
+ app:circleColor="@color/core_grey_50"/>
diff --git a/res/layout/contact_selection_activity.xml b/res/layout/contact_selection_activity.xml
index 748fef44c..ad2067bca 100644
--- a/res/layout/contact_selection_activity.xml
+++ b/res/layout/contact_selection_activity.xml
@@ -11,9 +11,9 @@
android:layout_height="?attr/actionBarSize"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
- android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="?attr/actionBarStyle"
+ app:navigationIcon="@drawable/ic_arrow_left_24"
app:contentInsetStartWithNavigation="0dp"/>
diff --git a/res/layout/conversation_fragment.xml b/res/layout/conversation_fragment.xml
index b27986b32..ee229b09f 100644
--- a/res/layout/conversation_fragment.xml
+++ b/res/layout/conversation_fragment.xml
@@ -27,7 +27,6 @@
android:layout_marginTop="8dp"
style="@style/Signal.Text.Caption"
android:textColor="?attr/conversation_item_sticky_date_text_color"
- android:textAllCaps="true"
android:background="?attr/conversation_item_sticky_date_background"
android:elevation="9dp"
android:visibility="gone"
diff --git a/res/layout/conversation_input_panel.xml b/res/layout/conversation_input_panel.xml
index c3b3e41f7..36e0eb61d 100644
--- a/res/layout/conversation_input_panel.xml
+++ b/res/layout/conversation_input_panel.xml
@@ -88,6 +88,7 @@
android:layout_height="@dimen/conversation_compose_height"
android:layout_gravity="bottom"
android:background="?selectableItemBackgroundBorderless"
+ android:tint="?icon_tint"
android:contentDescription="@string/conversation_activity__emoji_toggle_description"
android:paddingEnd="6dp" />
@@ -134,7 +135,7 @@
android:contentDescription="@string/conversation_activity__quick_attachment_drawer_toggle_camera_description"
android:scaleType="fitCenter"
android:tint="?compose_icon_tint"
- app:srcCompat="@drawable/ic_camera_filled_24" />
+ app:srcCompat="?conversation_attach_camera" />
+ android:tint="@color/core_white"
+ app:srcCompat="?conversation_transport_sms_indicator" />
diff --git a/res/layout/conversation_item_footer.xml b/res/layout/conversation_item_footer.xml
index 685d1c44d..ee0cc0ce4 100644
--- a/res/layout/conversation_item_footer.xml
+++ b/res/layout/conversation_item_footer.xml
@@ -2,54 +2,43 @@
-
+ android:linksClickable="false"
+ style="@style/Signal.Text.Caption.MessageSent"
+ android:textColor="?conversation_item_sent_text_secondary_color"
+ tools:text="30m"/>
-
-
-
-
-
+
+ android:layout_marginStart="4dp"
+ android:layout_gravity="center_vertical"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent" />
diff --git a/res/layout/conversation_item_header.xml b/res/layout/conversation_item_header.xml
index 395d27cf3..2c440a81a 100644
--- a/res/layout/conversation_item_header.xml
+++ b/res/layout/conversation_item_header.xml
@@ -17,7 +17,6 @@
android:gravity="center"
style="@style/Signal.Text.Caption"
android:textColor="?conversation_item_update_text_color"
- android:textAllCaps="true"
tools:text="March 1, 2015" />
diff --git a/res/layout/conversation_item_last_seen.xml b/res/layout/conversation_item_last_seen.xml
index 9a5d18dd2..d4ead4da7 100644
--- a/res/layout/conversation_item_last_seen.xml
+++ b/res/layout/conversation_item_last_seen.xml
@@ -10,9 +10,7 @@
@@ -22,7 +20,6 @@
android:layout_height="wrap_content"
android:layout_gravity="center"
style="@style/Signal.Text.Caption"
- android:textAllCaps="true"
android:fontFamily="sans-serif-medium"
android:textColor="?attr/conversation_item_last_seen_text_color"
tools:text="3 unread messages" />
diff --git a/res/layout/conversation_item_received.xml b/res/layout/conversation_item_received.xml
index 0baa3f2d3..172aee694 100644
--- a/res/layout/conversation_item_received.xml
+++ b/res/layout/conversation_item_received.xml
@@ -36,8 +36,9 @@
@@ -47,7 +48,8 @@
android:layout_width="@dimen/conversation_item_avatar_size"
android:layout_height="@dimen/conversation_item_avatar_size"
android:cropToPadding="true"
- android:contentDescription="@string/conversation_item_received__contact_photo_description" />
+ android:contentDescription="@string/conversation_item_received__contact_photo_description"
+ app:fallbackImageSize="small" />
@@ -78,16 +80,16 @@
+ android:maxLines="1"
+ android:textColor="?conversation_item_received_text_primary_color"
+ android:textStyle="bold"
+ tools:text="+14152222222"
+ tools:visibility="visible" />
+ android:gravity="end"
+ app:footer_text_color="?attr/conversation_subtitle_color"
+ app:footer_icon_color="?attr/conversation_subtitle_color"/>
diff --git a/res/layout/conversation_item_update.xml b/res/layout/conversation_item_update.xml
index 9a2368a43..f70b86a63 100644
--- a/res/layout/conversation_item_update.xml
+++ b/res/layout/conversation_item_update.xml
@@ -1,7 +1,7 @@
-
+ app:srcCompat="@drawable/ic_timer_24" />
@@ -70,7 +69,6 @@
android:gravity="center"
android:linksClickable="false"
android:minWidth="15sp"
- android:textAllCaps="true"
android:textColor="?conversation_item_update_text_color"
tools:text="30 min ago" />
diff --git a/res/layout/conversation_list_activity.xml b/res/layout/conversation_list_activity.xml
index 468e90a2b..4a58843c0 100644
--- a/res/layout/conversation_list_activity.xml
+++ b/res/layout/conversation_list_activity.xml
@@ -1,10 +1,11 @@
+ xmlns:tools="http://schemas.android.com/tools"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@id/container"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
-
-
-
+
@@ -63,6 +74,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
+ android:background="?attr/conversation_list_toolbar_background"
android:elevation="4dp"
android:visibility="invisible" />
diff --git a/res/layout/conversation_list_fragment.xml b/res/layout/conversation_list_fragment.xml
index 26b4bf089..59251232f 100644
--- a/res/layout/conversation_list_fragment.xml
+++ b/res/layout/conversation_list_fragment.xml
@@ -76,7 +76,7 @@
android:layout_marginEnd="16dp"
android:layout_marginBottom="88dp"
android:contentDescription="@string/conversation_list_fragment__open_camera_description"
- android:src="@drawable/ic_camera_filled_24"
+ app:srcCompat="@drawable/ic_camera_solid_24"
android:tint="?conversation_list_camera_icon_tint"
android:focusable="true"
app:backgroundTint="?conversation_list_camera_button_background"/>
@@ -87,7 +87,8 @@
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
- android:src="@drawable/ic_create_white_24dp"
+ android:tint="?conversation_list_compose_icon_tint"
+ app:srcCompat="@drawable/ic_compose_solid_24"
android:focusable="true"
android:contentDescription="@string/conversation_list_fragment__fab_content_description"/>
diff --git a/res/layout/conversation_list_item_view.xml b/res/layout/conversation_list_item_view.xml
index 75dde6858..a1591d8a9 100644
--- a/res/layout/conversation_list_item_view.xml
+++ b/res/layout/conversation_list_item_view.xml
@@ -14,17 +14,17 @@
+ android:layout_marginEnd="2dp">
@@ -132,7 +132,6 @@
android:layout_alignBaseline="@+id/from"
style="@style/Signal.Text.Caption"
android:textColor="?attr/conversation_list_item_date_color"
- android:textAllCaps="true"
tools:text="30 mins"
android:singleLine="true"/>
@@ -149,7 +148,6 @@
style="@style/Signal.Text.Caption"
android:text="@string/conversation_list_item_view__archived"
android:textColor="@color/core_white"
- android:textAllCaps="true"
android:background="@drawable/archived_indicator_background" />
diff --git a/res/layout/conversation_title_view.xml b/res/layout/conversation_title_view.xml
index f60b8fc24..f84f35ffc 100644
--- a/res/layout/conversation_title_view.xml
+++ b/res/layout/conversation_title_view.xml
@@ -11,17 +11,20 @@
+ android:contentDescription="@string/conversation_item_received__contact_photo_description"
+ app:fallbackImageSize="small" />
diff --git a/res/layout/device_link_fragment.xml b/res/layout/device_link_fragment.xml
index 24c2d3d44..1ff895d8a 100644
--- a/res/layout/device_link_fragment.xml
+++ b/res/layout/device_link_fragment.xml
@@ -10,7 +10,7 @@
android:layout_height="wrap_content"
android:src="@drawable/ic_devices_white"
android:transitionName="devices"
- android:tint="@color/gray27"
+ android:tint="@color/core_grey_25"
android:layout_marginBottom="25dp"
android:contentDescription="@string/device_link_fragment__link_device"/>
diff --git a/res/layout/document_view.xml b/res/layout/document_view.xml
index 0178e3882..30c82d343 100644
--- a/res/layout/document_view.xml
+++ b/res/layout/document_view.xml
@@ -60,7 +60,6 @@
android:textAlignment="center"
android:scaleType="centerInside"
style="@style/Signal.Text.Caption"
- android:textAllCaps="true"
android:textSize="10sp"
android:textColor="@color/core_black"
tools:visibility="visible"
diff --git a/res/layout/expiration_timer_menu.xml b/res/layout/expiration_timer_menu.xml
index f95b562bf..c6d5a0ec9 100644
--- a/res/layout/expiration_timer_menu.xml
+++ b/res/layout/expiration_timer_menu.xml
@@ -1,18 +1,20 @@
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ style="?android:attr/actionButtonStyle"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clickable="true"
+ android:focusable="true"
+ android:gravity="center">
diff --git a/res/layout/giphy_activity_toolbar.xml b/res/layout/giphy_activity_toolbar.xml
index fe55d5c9a..9e5c983ea 100644
--- a/res/layout/giphy_activity_toolbar.xml
+++ b/res/layout/giphy_activity_toolbar.xml
@@ -14,7 +14,8 @@
android:gravity="center_vertical"
android:clickable="true"
android:background="@drawable/circle_touch_highlight_background"
- android:src="@drawable/ic_search_white_24dp" />
+ android:tint="?conversation_subtitle_color"
+ app:srcCompat="@drawable/ic_search_24" />
+ android:tint="?conversation_subtitle_color"
+ app:srcCompat="@drawable/ic_x" />
-
+
+
+
+ android:clickable="false"
+ app:layout_constraintTop_toBottomOf="@id/toolbar"
+ app:layout_constraintBottom_toBottomOf="parent">
-
+
diff --git a/res/layout/link_preview.xml b/res/layout/link_preview.xml
index 4aa2af8ae..8007891b6 100644
--- a/res/layout/link_preview.xml
+++ b/res/layout/link_preview.xml
@@ -48,7 +48,6 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="2dp"
- android:textAllCaps="true"
android:textColor="?linkpreview_secondary_text_color"
app:layout_constraintStart_toEndOf="@+id/linkpreview_thumbnail"
app:layout_constraintTop_toBottomOf="@+id/linkpreview_title"
@@ -76,7 +75,7 @@
android:layout_marginEnd="6dp"
android:layout_marginTop="4dp"
android:src="@drawable/ic_close_white_18dp"
- android:tint="@color/gray70"
+ android:tint="@color/core_grey_70"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
diff --git a/res/layout/longmessage_bubble_sent.xml b/res/layout/longmessage_bubble_sent.xml
index 4b28d5ef7..722c7eee1 100644
--- a/res/layout/longmessage_bubble_sent.xml
+++ b/res/layout/longmessage_bubble_sent.xml
@@ -33,6 +33,7 @@
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginBottom="@dimen/message_bubble_bottom_padding"
+ android:layout_gravity="end"
android:clipChildren="false"
android:clipToPadding="false"
app:footer_text_color="?attr/conversation_item_sent_text_secondary_color"
diff --git a/res/layout/media_keyboard.xml b/res/layout/media_keyboard.xml
index 7dc3906cc..24e33aef0 100644
--- a/res/layout/media_keyboard.xml
+++ b/res/layout/media_keyboard.xml
@@ -17,7 +17,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="6dp"
android:padding="6dp"
- android:src="@drawable/ic_search_white_24dp"
+ app:srcCompat="@drawable/ic_search_24"
android:tint="?media_keyboard_button_color"
android:background="?selectableItemBackgroundBorderless"
android:visibility="invisible"
diff --git a/res/layout/media_preview_activity.xml b/res/layout/media_preview_activity.xml
index b685cbb97..ab190eea1 100644
--- a/res/layout/media_preview_activity.xml
+++ b/res/layout/media_preview_activity.xml
@@ -6,7 +6,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@color/gray95">
+ android:background="@color/core_grey_95">
-
+ android:theme="?attr/actionBarStyle"
+ app:navigationIcon="@drawable/ic_arrow_left_24"/>
+ android:background="@color/transparent_black_60" />
+ android:background="@color/transparent_black_40">
diff --git a/res/layout/microphone_recorder_view.xml b/res/layout/microphone_recorder_view.xml
index ace424f17..96418af9e 100644
--- a/res/layout/microphone_recorder_view.xml
+++ b/res/layout/microphone_recorder_view.xml
@@ -14,7 +14,7 @@
android:contentDescription="@string/conversation_activity__quick_attachment_drawer_record_and_send_audio_description"
android:scaleType="fitCenter"
android:tint="?compose_icon_tint"
- app:srcCompat="@drawable/ic_mic_filled_24" />
+ app:srcCompat="?quick_mic_icon" />
diff --git a/res/layout/profile_create_activity.xml b/res/layout/profile_create_activity.xml
index 0f849e0c3..de96ae5f0 100644
--- a/res/layout/profile_create_activity.xml
+++ b/res/layout/profile_create_activity.xml
@@ -57,7 +57,7 @@
android:layout_height="0dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
- android:src="@drawable/ic_profile_default"
+ app:srcCompat="@drawable/ic_profile_outline_40"
android:tint="@color/core_grey_60"
android:transitionName="avatar"
app:layout_constraintBottom_toBottomOf="@+id/avatar_background"
@@ -162,7 +162,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/profile_create_activity__set_later"
- android:textColor="@color/gray50" />
+ android:textColor="@color/core_grey_50" />
diff --git a/res/layout/push_recipients_panel.xml b/res/layout/push_recipients_panel.xml
index e3cc02857..dbbef0842 100644
--- a/res/layout/push_recipients_panel.xml
+++ b/res/layout/push_recipients_panel.xml
@@ -17,7 +17,8 @@
android:layout_width="fill_parent"/>
+ android:tint="@color/core_grey_70" />
\ No newline at end of file
diff --git a/res/layout/recipient_preference_activity.xml b/res/layout/recipient_preference_activity.xml
index 97715b577..8ef073ad7 100644
--- a/res/layout/recipient_preference_activity.xml
+++ b/res/layout/recipient_preference_activity.xml
@@ -11,7 +11,7 @@
@@ -46,9 +46,10 @@
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
- android:theme="@style/TextSecure.LightActionBar"
android:background="@color/transparent"
android:layout_marginTop="24dp"
+ android:theme="@style/TextSecure.DarkActionBar.Conversation"
+ app:navigationIcon="@drawable/ic_arrow_left_24"
app:layout_collapseMode="pin" >
diff --git a/res/layout/recipient_preference_contact_widget.xml b/res/layout/recipient_preference_contact_widget.xml
index 69bce5258..e926d1d69 100644
--- a/res/layout/recipient_preference_contact_widget.xml
+++ b/res/layout/recipient_preference_contact_widget.xml
@@ -1,14 +1,15 @@
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/container"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
diff --git a/res/layout/search_toolbar.xml b/res/layout/search_toolbar.xml
index 228e070bb..dff984f0f 100644
--- a/res/layout/search_toolbar.xml
+++ b/res/layout/search_toolbar.xml
@@ -1,10 +1,10 @@
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ tools:parentTag="android.widget.LinearLayout"
+ tools:orientation="vertical">
diff --git a/res/layout/shared_contact_view.xml b/res/layout/shared_contact_view.xml
index 9834b139d..630a4dafa 100644
--- a/res/layout/shared_contact_view.xml
+++ b/res/layout/shared_contact_view.xml
@@ -62,6 +62,7 @@
android:layout_marginStart="@dimen/message_bubble_horizontal_padding"
android:layout_marginEnd="@dimen/message_bubble_horizontal_padding"
android:layout_marginTop="4dp"
+ android:layout_gravity="end"
android:elevation="9dp"
android:orientation="horizontal" />
diff --git a/res/layout/sticker_keyboard_icon_dark.xml b/res/layout/sticker_keyboard_icon_dark.xml
index d0658ef8c..5cc4fbce1 100644
--- a/res/layout/sticker_keyboard_icon_dark.xml
+++ b/res/layout/sticker_keyboard_icon_dark.xml
@@ -10,6 +10,6 @@
+ app:srcCompat="@drawable/ic_sticker_solid_24" />
\ No newline at end of file
diff --git a/res/layout/sticker_keyboard_icon_dark_selected.xml b/res/layout/sticker_keyboard_icon_dark_selected.xml
index 42a93ba98..92e78660a 100644
--- a/res/layout/sticker_keyboard_icon_dark_selected.xml
+++ b/res/layout/sticker_keyboard_icon_dark_selected.xml
@@ -11,6 +11,6 @@
+ app:srcCompat="@drawable/ic_sticker_solid_24" />
\ No newline at end of file
diff --git a/res/layout/sticker_keyboard_icon_light.xml b/res/layout/sticker_keyboard_icon_light.xml
index 5edaeb5b5..bcccbe5da 100644
--- a/res/layout/sticker_keyboard_icon_light.xml
+++ b/res/layout/sticker_keyboard_icon_light.xml
@@ -10,6 +10,6 @@
+ app:srcCompat="@drawable/ic_sticker_outline_24" />
\ No newline at end of file
diff --git a/res/layout/sticker_keyboard_icon_light_selected.xml b/res/layout/sticker_keyboard_icon_light_selected.xml
index 2fe150781..d42f3a631 100644
--- a/res/layout/sticker_keyboard_icon_light_selected.xml
+++ b/res/layout/sticker_keyboard_icon_light_selected.xml
@@ -11,6 +11,6 @@
+ app:srcCompat="@drawable/ic_sticker_outline_24" />
\ No newline at end of file
diff --git a/res/layout/transport_selection_list_item.xml b/res/layout/transport_selection_list_item.xml
index 5cbe10c80..a2cd6fcf7 100644
--- a/res/layout/transport_selection_list_item.xml
+++ b/res/layout/transport_selection_list_item.xml
@@ -15,7 +15,9 @@
android:padding="7dp"
android:background="@drawable/circle_tintable"
android:contentDescription="@string/transport_selection_list_item__transport_icon"
- tools:src="@drawable/ic_send_push_white_24dp"
+ android:tint="@color/white"
+ tools:src="@drawable/ic_send_lock_24"
+ tools:tint="@color/white"
tools:backgroundTint="@color/textsecure_primary" />
diff --git a/res/layout/webrtc_answer_decline_button.xml b/res/layout/webrtc_answer_decline_button.xml
index 470b2906f..abfe7cea5 100644
--- a/res/layout/webrtc_answer_decline_button.xml
+++ b/res/layout/webrtc_answer_decline_button.xml
@@ -17,7 +17,7 @@
android:alpha="0"
android:importantForAccessibility="no"
android:src="@drawable/ic_keyboard_arrow_up_white_36dp"
- android:tint="@color/gray20"
+ android:tint="@color/core_grey_20"
tools:alpha="1" />
\ No newline at end of file
diff --git a/res/menu/camera_contacts.xml b/res/menu/camera_contacts.xml
index 44bcfd2ca..bea0dd79f 100644
--- a/res/menu/camera_contacts.xml
+++ b/res/menu/camera_contacts.xml
@@ -6,8 +6,8 @@
\ No newline at end of file
diff --git a/res/menu/conversation.xml b/res/menu/conversation.xml
index 5ff463054..d836a0acc 100644
--- a/res/menu/conversation.xml
+++ b/res/menu/conversation.xml
@@ -11,7 +11,7 @@
-
-
diff --git a/res/menu/conversation_list_batch_archive.xml b/res/menu/conversation_list_batch_archive.xml
index 3ed58c44e..dff285e1b 100644
--- a/res/menu/conversation_list_batch_archive.xml
+++ b/res/menu/conversation_list_batch_archive.xml
@@ -4,7 +4,7 @@
\ No newline at end of file
diff --git a/res/menu/conversation_list_search.xml b/res/menu/conversation_list_search.xml
index 8eadb1c17..d75ea2ce2 100644
--- a/res/menu/conversation_list_search.xml
+++ b/res/menu/conversation_list_search.xml
@@ -5,7 +5,7 @@
\ No newline at end of file
diff --git a/res/menu/mediapicker_default.xml b/res/menu/mediapicker_default.xml
index 181edb015..85210962d 100644
--- a/res/menu/mediapicker_default.xml
+++ b/res/menu/mediapicker_default.xml
@@ -7,7 +7,7 @@
android:title="@string/MediaPickerActivity__menu_open_camera"
android:id="@+id/mediapicker_menu_camera"
android:visible="true"
- android:icon="@drawable/ic_camera_alt_white_24dp"
+ android:icon="@drawable/ic_camera_solid_24"
app:showAsAction="always" />
\ No newline at end of file
diff --git a/res/values-v21/themes.xml b/res/values-v21/themes.xml
index 709482676..d60cfabc2 100644
--- a/res/values-v21/themes.xml
+++ b/res/values-v21/themes.xml
@@ -1,15 +1,25 @@
+
+
+
+
diff --git a/res/values-v23/themes.xml b/res/values-v23/themes.xml
index eeffa9535..77087bdad 100644
--- a/res/values-v23/themes.xml
+++ b/res/values-v23/themes.xml
@@ -1,5 +1,16 @@
+
+
+
+
+
+
+
+
diff --git a/res/values-v27/themes.xml b/res/values-v27/themes.xml
new file mode 100644
index 000000000..83d8b0333
--- /dev/null
+++ b/res/values-v27/themes.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 1dd75c9ab..6ca934b5e 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -1,6 +1,14 @@
+
+
+
+
+
+
+
+
@@ -17,6 +25,7 @@
+
@@ -53,6 +62,9 @@
+
+
+
@@ -110,6 +122,8 @@
+
+
@@ -148,6 +162,15 @@
+
+
+
+
+
+
+
+
+
@@ -204,6 +227,10 @@
+
+
+
+
@@ -368,4 +395,8 @@
+
+
+
+
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 9a98951cb..2dc4a227d 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -1,6 +1,6 @@
- #ff2090ea
+ @color/core_blue
#ff1c7ac5
#552090ea
#882090ea
@@ -9,42 +9,22 @@
@color/signal_primary_dark
@color/signal_primary_alpha33
- #ffffffff
- #ff000000
- #ffeeeeee
- #ffdddddd
- #ffe0e0e0
- #ffababab
- #ffcccccc
- #ffbbbbbb
- #ff808080
- #ff595959
- #ff4d4d4d
- #ff383838
- #ff111111
+ @color/core_white
+ @color/core_black
- #05000000
- #10000000
- #20000000
- #30000000
- #40000000
- #70000000
- #90000000
+ #0D000000
+ #33000000
+ #66000000
+ #99000000
- #05ffffff
- #10ffffff
- #20ffffff
- #30ffffff
- #40ffffff
- #60ffffff
- #70ffffff
- #aaffffff
- #bbffffff
- #ddffffff
+ #33ffffff
+ #99ffffff
+ #ccffffff
+ #e6ffffff
#32000000
- @color/gray65
+ @color/core_grey_50
#400099cc
#ffffffff
@@ -68,7 +48,7 @@
#44ff2d00
- @color/transparent_black_90
+ @color/transparent_black_40
#90010101
#88000000
diff --git a/res/values/conversation_colors.xml b/res/values/conversation_colors.xml
index 57d250ebb..cce2d056a 100644
--- a/res/values/conversation_colors.xml
+++ b/res/values/conversation_colors.xml
@@ -8,7 +8,7 @@
#eba78e
#872600
- #756c53
+ #746c53
#c4b997
#58513c
@@ -29,7 +29,7 @@
#285480
#5951c8
- #c2c1e8
+ #c2c1e7
#4840a0
#862caf
diff --git a/res/values/core_colors.xml b/res/values/core_colors.xml
index abd6bb39d..fd56c04b2 100644
--- a/res/values/core_colors.xml
+++ b/res/values/core_colors.xml
@@ -2,20 +2,32 @@
#2090ea
#4caf50
+ #ffd624
#f44336
- #ef5350
+
+ #ef5350
#ffffff
#000000
- #f8f9f9
- #eeefef
- #d5d6d6
- #bbbdbe
- #898a8c
- #6b6d70
- #3d3e44
- #23252a
- #17191d
- #0f1012
+ #f6f6f6
+ #e9e9e9
+ #e2e2e2
+ #d4d4d4
+ #c6c6c6
+ #b9b9b9
+ #b3b3b3
+ #9e9e9e
+ #919191
+ #848484
+ #777777
+ #6a6a6a
+ #5e5e5e
+ #525252
+ #474747
+ #3b3b3b
+ #303030
+ #262626
+ #1b1b1b
+ #121212
\ No newline at end of file
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index b5cc41c30..31666fc1f 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -65,7 +65,7 @@
1dp
20dp
- 36dp
+ 28dp
10dp
4dp
diff --git a/res/values/strings.xml b/res/values/strings.xml
index bf515de6b..47ce764df 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -314,7 +314,7 @@
Now
- %d min
+ %dm
Today
Yesterday
@@ -1273,8 +1273,8 @@
- - %d hour
- - %d hours
+ - %dh
+ - %dh
diff --git a/res/values/styles.xml b/res/values/styles.xml
index f2b2b3efa..62455a5a9 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -1,5 +1,6 @@
-
+
-
@@ -88,15 +89,62 @@
- 4dp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/values/text_styles.xml b/res/values/text_styles.xml
index 544cd22c7..17121eb0e 100644
--- a/res/values/text_styles.xml
+++ b/res/values/text_styles.xml
@@ -13,7 +13,7 @@
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 755246c7a..0f50a319a 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -1,8 +1,12 @@
-
+
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml
index af3044451..591e8cd92 100644
--- a/res/xml/preferences.xml
+++ b/res/xml/preferences.xml
@@ -7,30 +7,30 @@
+ android:icon="?attr/message_icon"/>
+ android:icon="?attr/notifications_icon"/>
+ android:icon="?attr/privacy_icon"/>
+ android:icon="?attr/appearance_icon"/>
+ android:icon="?attr/chats_and_media_icon"/>
+ android:icon="?attr/linked_devices_icon"/>
+ android:icon="?attr/advanced_icon"/>
diff --git a/src/org/thoughtcrime/securesms/ApplicationContext.java b/src/org/thoughtcrime/securesms/ApplicationContext.java
index f6828cf8d..872167735 100644
--- a/src/org/thoughtcrime/securesms/ApplicationContext.java
+++ b/src/org/thoughtcrime/securesms/ApplicationContext.java
@@ -18,6 +18,7 @@ package org.thoughtcrime.securesms;
import android.annotation.SuppressLint;
+import androidx.appcompat.app.AppCompatDelegate;
import androidx.camera.camera2.Camera2AppConfig;
import androidx.camera.core.CameraX;
import androidx.lifecycle.DefaultLifecycleObserver;
@@ -136,6 +137,11 @@ public class ApplicationContext extends MultiDexApplication implements DefaultLi
initializeCameraX();
NotificationChannels.create(this);
ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
+
+ if (Build.VERSION.SDK_INT < 21) {
+ AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
+ }
+
jobManager.beginJobLoop();
}
diff --git a/src/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java b/src/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java
index c6846f893..0bb355edd 100644
--- a/src/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java
+++ b/src/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java
@@ -17,19 +17,12 @@
*/
package org.thoughtcrime.securesms;
-import android.annotation.TargetApi;
-import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
-import android.content.res.TypedArray;
-import android.graphics.drawable.Drawable;
-import android.os.Build;
-import android.os.Build.VERSION;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
-import androidx.core.graphics.drawable.DrawableCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
@@ -155,10 +148,6 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarA
.setOnPreferenceClickListener(new CategoryClickListener(PREFERENCE_CATEGORY_DEVICES));
this.findPreference(PREFERENCE_CATEGORY_ADVANCED)
.setOnPreferenceClickListener(new CategoryClickListener(PREFERENCE_CATEGORY_ADVANCED));
-
- if (VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
- tintIcons(getActivity());
- }
}
@Override
@@ -197,38 +186,6 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarA
}
}
- @TargetApi(11)
- private void tintIcons(Context context) {
- Drawable sms = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_textsms_white_24dp));
- Drawable notifications = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_notifications_white_24dp));
- Drawable privacy = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_security_white_24dp));
- Drawable appearance = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_brightness_6_white_24dp));
- Drawable chats = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_forum_white_24dp));
- Drawable devices = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_laptop_white_24dp));
- Drawable advanced = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_advanced_white_24dp));
-
- int[] tintAttr = new int[]{R.attr.pref_icon_tint};
- TypedArray typedArray = context.obtainStyledAttributes(tintAttr);
- int color = typedArray.getColor(0, 0x0);
- typedArray.recycle();
-
- DrawableCompat.setTint(sms, color);
- DrawableCompat.setTint(notifications, color);
- DrawableCompat.setTint(privacy, color);
- DrawableCompat.setTint(appearance, color);
- DrawableCompat.setTint(chats, color);
- DrawableCompat.setTint(devices, color);
- DrawableCompat.setTint(advanced, color);
-
- this.findPreference(PREFERENCE_CATEGORY_SMS_MMS).setIcon(sms);
- this.findPreference(PREFERENCE_CATEGORY_NOTIFICATIONS).setIcon(notifications);
- this.findPreference(PREFERENCE_CATEGORY_APP_PROTECTION).setIcon(privacy);
- this.findPreference(PREFERENCE_CATEGORY_APPEARANCE).setIcon(appearance);
- this.findPreference(PREFERENCE_CATEGORY_CHATS).setIcon(chats);
- this.findPreference(PREFERENCE_CATEGORY_DEVICES).setIcon(devices);
- this.findPreference(PREFERENCE_CATEGORY_ADVANCED).setIcon(advanced);
- }
-
private class CategoryClickListener implements Preference.OnPreferenceClickListener {
private String category;
diff --git a/src/org/thoughtcrime/securesms/ConversationListActivity.java b/src/org/thoughtcrime/securesms/ConversationListActivity.java
index 7ca96a086..76a61a9c2 100644
--- a/src/org/thoughtcrime/securesms/ConversationListActivity.java
+++ b/src/org/thoughtcrime/securesms/ConversationListActivity.java
@@ -28,6 +28,7 @@ import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.Toolbar;
import androidx.appcompat.widget.TooltipCompat;
+
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuInflater;
@@ -185,7 +186,7 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
fallbackColor = ContactColors.generateFor(name);
}
- Drawable fallback = new GeneratedContactPhoto(name, R.drawable.ic_profile_default).asDrawable(this, fallbackColor.toAvatarColor(this));
+ Drawable fallback = new GeneratedContactPhoto(name, R.drawable.ic_profile_outline_40).asDrawable(this, fallbackColor.toAvatarColor(this));
GlideApp.with(this)
.load(new ProfileContactPhoto(recipient.getId(), String.valueOf(TextSecurePreferences.getProfileAvatarId(this))))
diff --git a/src/org/thoughtcrime/securesms/ConversationListFragment.java b/src/org/thoughtcrime/securesms/ConversationListFragment.java
index afa42ab96..69f3a8768 100644
--- a/src/org/thoughtcrime/securesms/ConversationListFragment.java
+++ b/src/org/thoughtcrime/securesms/ConversationListFragment.java
@@ -170,7 +170,7 @@ public class ConversationListFragment extends Fragment
Permissions.with(requireActivity())
.request(Manifest.permission.CAMERA)
.ifNecessary()
- .withRationaleDialog(getString(R.string.ConversationActivity_to_capture_photos_and_video_allow_signal_access_to_the_camera), R.drawable.ic_photo_camera_white_48dp)
+ .withRationaleDialog(getString(R.string.ConversationActivity_to_capture_photos_and_video_allow_signal_access_to_the_camera), R.drawable.ic_camera_solid_24)
.withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_needs_the_camera_permission_to_take_photos_or_video))
.onAllGranted(() -> startActivity(MediaSendActivity.buildCameraFirstIntent(requireActivity())))
.onAnyDenied(() -> Toast.makeText(requireContext(), R.string.ConversationActivity_signal_needs_camera_permissions_to_take_photos_or_video, Toast.LENGTH_LONG).show())
@@ -463,6 +463,10 @@ public class ConversationListFragment extends Fragment
getActivity().getWindow().setStatusBarColor(getResources().getColor(R.color.action_mode_status_bar));
}
+ if (Build.VERSION.SDK_INT >= 23) {
+ getActivity().getWindow().getDecorView().setSystemUiVisibility(0);
+ }
+
return true;
}
@@ -492,6 +496,10 @@ public class ConversationListFragment extends Fragment
color.recycle();
}
+ if (Build.VERSION.SDK_INT >= 23) {
+ getActivity().getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
+ }
+
actionMode = null;
}
diff --git a/src/org/thoughtcrime/securesms/CreateProfileActivity.java b/src/org/thoughtcrime/securesms/CreateProfileActivity.java
index 1ff82aece..e5102529f 100644
--- a/src/org/thoughtcrime/securesms/CreateProfileActivity.java
+++ b/src/org/thoughtcrime/securesms/CreateProfileActivity.java
@@ -151,7 +151,7 @@ public class CreateProfileActivity extends BaseActionBarActivity {
if (data != null && data.getBooleanExtra("delete", false)) {
avatarBytes = null;
- avatar.setImageDrawable(new ResourceContactPhoto(R.drawable.ic_camera_alt_white_24dp).asDrawable(this, getResources().getColor(R.color.grey_400)));
+ avatar.setImageDrawable(new ResourceContactPhoto(R.drawable.ic_camera_solid_white_24).asDrawable(this, getResources().getColor(R.color.grey_400)));
} else {
AvatarSelection.circularCropImage(this, inputFile, outputFile, R.string.CropImageActivity_profile_avatar);
}
diff --git a/src/org/thoughtcrime/securesms/DeviceActivity.java b/src/org/thoughtcrime/securesms/DeviceActivity.java
index 2ebb90896..fdb7549a2 100644
--- a/src/org/thoughtcrime/securesms/DeviceActivity.java
+++ b/src/org/thoughtcrime/securesms/DeviceActivity.java
@@ -16,6 +16,7 @@ import android.widget.Button;
import android.widget.Toast;
import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
import org.thoughtcrime.securesms.crypto.IdentityKeyUtil;
import org.thoughtcrime.securesms.crypto.ProfileKeyUtil;
@@ -61,6 +62,7 @@ public class DeviceActivity extends PassphraseRequiredActionBarActivity
@Override
public void onCreate(Bundle bundle, boolean ready) {
+ getSupportActionBar().setHomeAsUpIndicator(ContextCompat.getDrawable(this, R.drawable.ic_arrow_left_24));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle(R.string.AndroidManifest__linked_devices);
this.deviceAddFragment = new DeviceAddFragment();
diff --git a/src/org/thoughtcrime/securesms/GroupCreateActivity.java b/src/org/thoughtcrime/securesms/GroupCreateActivity.java
index 24b26815a..bd6ba8712 100644
--- a/src/org/thoughtcrime/securesms/GroupCreateActivity.java
+++ b/src/org/thoughtcrime/securesms/GroupCreateActivity.java
@@ -20,11 +20,13 @@ package org.thoughtcrime.securesms;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
+import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
import android.text.TextUtils;
import org.thoughtcrime.securesms.avatar.AvatarSelection;
@@ -118,7 +120,7 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
protected void onCreate(Bundle state, boolean ready) {
setContentView(R.layout.group_create_activity);
//noinspection ConstantConditions
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ initializeAppBar();
initializeResources();
initializeExistingGroup();
}
@@ -177,6 +179,12 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
addSelectedContacts(recipients.toArray(new Recipient[recipients.size()]));
}
+ private void initializeAppBar() {
+ Drawable upIcon = ContextCompat.getDrawable(this, R.drawable.ic_arrow_left_24);
+ getSupportActionBar().setHomeAsUpIndicator(upIcon);
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ }
+
private void initializeResources() {
RecipientsEditor recipientsEditor = ViewUtil.findById(this, R.id.recipients_text);
PushRecipientsPanel recipientsPanel = ViewUtil.findById(this, R.id.recipients);
@@ -190,7 +198,7 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
recipientsEditor.setHint(R.string.recipients_panel__add_members);
recipientsPanel.setPanelChangeListener(this);
findViewById(R.id.contacts_button).setOnClickListener(new AddRecipientButtonListener());
- avatar.setImageDrawable(new ResourceContactPhoto(R.drawable.ic_group_white_24dp).asDrawable(this, ContactColors.UNKNOWN_COLOR.toConversationColor(this)));
+ avatar.setImageDrawable(new ResourceContactPhoto(R.drawable.ic_group_outline_40, R.drawable.ic_group_outline_20).asDrawable(this, ContactColors.UNKNOWN_COLOR.toConversationColor(this)));
avatar.setOnClickListener(view -> AvatarSelection.startAvatarSelection(this, false, false));
}
diff --git a/src/org/thoughtcrime/securesms/InviteActivity.java b/src/org/thoughtcrime/securesms/InviteActivity.java
index bea92bfd9..d20087e62 100644
--- a/src/org/thoughtcrime/securesms/InviteActivity.java
+++ b/src/org/thoughtcrime/securesms/InviteActivity.java
@@ -5,11 +5,15 @@ import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.Intent;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.os.Bundle;
import androidx.annotation.AnimRes;
+import androidx.appcompat.widget.Toolbar;
+import androidx.core.content.ContextCompat;
import androidx.interpolator.view.animation.FastOutSlowInInterpolator;
import androidx.appcompat.app.AlertDialog;
import android.view.View;
@@ -54,12 +58,21 @@ public class InviteActivity extends PassphraseRequiredActionBarActivity implemen
getIntent().putExtra(ContactSelectionListFragment.REFRESHABLE, false);
setContentView(R.layout.invite_activity);
- assert getSupportActionBar() != null;
- getSupportActionBar().setTitle(R.string.AndroidManifest__invite_friends);
+ initializeAppBar();
initializeResources();
}
+ private void initializeAppBar() {
+ Toolbar toolbar = findViewById(R.id.toolbar);
+ setSupportActionBar(toolbar);
+
+ assert getSupportActionBar() != null;
+
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ getSupportActionBar().setTitle(R.string.AndroidManifest__invite_friends);
+ }
+
private void initializeResources() {
slideInAnimation = loadAnimation(R.anim.slide_from_bottom);
slideOutAnimation = loadAnimation(R.anim.slide_to_bottom);
@@ -87,7 +100,7 @@ public class InviteActivity extends PassphraseRequiredActionBarActivity implemen
smsCancelButton.setOnClickListener(new SmsCancelClickListener());
smsSendButton.setOnClickListener(new SmsSendClickListener());
contactFilter.setOnFilterChangedListener(new ContactFilterChangedListener());
- contactFilter.setNavigationIcon(R.drawable.ic_search_white_24dp);
+ contactFilter.setNavigationIcon(R.drawable.ic_search_24);
}
private Animation loadAnimation(@AnimRes int animResId) {
diff --git a/src/org/thoughtcrime/securesms/MessageDetailsActivity.java b/src/org/thoughtcrime/securesms/MessageDetailsActivity.java
index a89cdd228..1f5255419 100644
--- a/src/org/thoughtcrime/securesms/MessageDetailsActivity.java
+++ b/src/org/thoughtcrime/securesms/MessageDetailsActivity.java
@@ -56,6 +56,7 @@ import org.thoughtcrime.securesms.recipients.LiveRecipient;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.sms.MessageSender;
import org.thoughtcrime.securesms.util.DateUtils;
+import org.thoughtcrime.securesms.util.DynamicDarkActionBarTheme;
import org.thoughtcrime.securesms.util.DynamicLanguage;
import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.ExpirationUtil;
@@ -100,7 +101,7 @@ public class MessageDetailsActivity extends PassphraseRequiredActionBarActivity
private ListView recipientsList;
private LayoutInflater inflater;
- private DynamicTheme dynamicTheme = new DynamicTheme();
+ private DynamicTheme dynamicTheme = new DynamicDarkActionBarTheme();
private DynamicLanguage dynamicLanguage = new DynamicLanguage();
private boolean running;
diff --git a/src/org/thoughtcrime/securesms/PushContactSelectionActivity.java b/src/org/thoughtcrime/securesms/PushContactSelectionActivity.java
index 056e94906..699e9e55e 100644
--- a/src/org/thoughtcrime/securesms/PushContactSelectionActivity.java
+++ b/src/org/thoughtcrime/securesms/PushContactSelectionActivity.java
@@ -38,7 +38,7 @@ public class PushContactSelectionActivity extends ContactSelectionActivity {
getIntent().putExtra(ContactSelectionListFragment.MULTI_SELECT, true);
super.onCreate(icicle, ready);
- getToolbar().setNavigationIcon(R.drawable.ic_check_white_24dp);
+ getToolbar().setNavigationIcon(R.drawable.ic_check_24);
getToolbar().setNavigationOnClickListener(v -> {
Intent resultIntent = getIntent();
List selectedContacts = contactsFragment.getSelectedContacts();
diff --git a/src/org/thoughtcrime/securesms/RecipientPreferenceActivity.java b/src/org/thoughtcrime/securesms/RecipientPreferenceActivity.java
index 89f28664a..cb0e4d423 100644
--- a/src/org/thoughtcrime/securesms/RecipientPreferenceActivity.java
+++ b/src/org/thoughtcrime/securesms/RecipientPreferenceActivity.java
@@ -16,6 +16,8 @@ import android.provider.Settings;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.android.material.appbar.CollapsingToolbarLayout;
+
+import androidx.core.graphics.drawable.DrawableCompat;
import androidx.fragment.app.Fragment;
import androidx.loader.app.LoaderManager;
import androidx.loader.content.Loader;
@@ -73,12 +75,13 @@ import org.thoughtcrime.securesms.recipients.RecipientId;
import org.thoughtcrime.securesms.sms.MessageSender;
import org.thoughtcrime.securesms.util.CommunicationActions;
import org.thoughtcrime.securesms.util.Dialogs;
+import org.thoughtcrime.securesms.util.DynamicDarkToolbarTheme;
import org.thoughtcrime.securesms.util.DynamicLanguage;
-import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.GroupUtil;
import org.thoughtcrime.securesms.util.IdentityUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
+import org.thoughtcrime.securesms.util.ThemeUtil;
import org.thoughtcrime.securesms.util.ViewUtil;
import org.thoughtcrime.securesms.util.concurrent.ListenableFuture;
import org.whispersystems.libsignal.util.guava.Optional;
@@ -104,7 +107,7 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi
private static final String PREFERENCE_ABOUT = "pref_key_number";
private static final String PREFERENCE_CUSTOM_NOTIFICATIONS = "pref_key_recipient_custom_notifications";
- private final DynamicTheme dynamicTheme = new DynamicNoActionBarTheme();
+ private final DynamicTheme dynamicTheme = new DynamicDarkToolbarTheme();
private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
private ImageView avatar;
@@ -173,8 +176,8 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi
this.threadPhotoRailView = ViewUtil.findById(this, R.id.recent_photos);
this.threadPhotoRailLabel = ViewUtil.findById(this, R.id.rail_label);
- this.toolbarLayout.setExpandedTitleColor(getResources().getColor(R.color.white));
- this.toolbarLayout.setCollapsedTitleTextColor(getResources().getColor(R.color.white));
+ this.toolbarLayout.setExpandedTitleColor(ThemeUtil.getThemedColor(this, R.attr.conversation_title_color));
+ this.toolbarLayout.setCollapsedTitleTextColor(ThemeUtil.getThemedColor(this, R.attr.conversation_title_color));
this.threadPhotoRailView.setListener(mediaRecord -> {
Intent intent = new Intent(RecipientPreferenceActivity.this, MediaPreviewActivity.class);
@@ -195,6 +198,7 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi
});
Toolbar toolbar = ViewUtil.findById(this, R.id.toolbar);
+ DrawableCompat.setTint(toolbar.getNavigationIcon(), ThemeUtil.getThemedColor(this, R.attr.conversation_subtitle_color));
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setLogo(null);
@@ -208,7 +212,7 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi
private void setHeader(@NonNull Recipient recipient) {
ContactPhoto contactPhoto = recipient.isLocalNumber() ? new ProfileContactPhoto(recipient.getId(), String.valueOf(TextSecurePreferences.getProfileAvatarId(this)))
: recipient.getContactPhoto();
- FallbackContactPhoto fallbackPhoto = recipient.isLocalNumber() ? new ResourceContactPhoto(R.drawable.ic_profile_default, R.drawable.ic_person_large)
+ FallbackContactPhoto fallbackPhoto = recipient.isLocalNumber() ? new ResourceContactPhoto(R.drawable.ic_profile_outline_40, R.drawable.ic_profile_outline_20, R.drawable.ic_person_large)
: recipient.getFallbackContactPhoto();
glideRequests.load(contactPhoto)
diff --git a/src/org/thoughtcrime/securesms/TransportOptions.java b/src/org/thoughtcrime/securesms/TransportOptions.java
index ab7c2166b..d4ed37c42 100644
--- a/src/org/thoughtcrime/securesms/TransportOptions.java
+++ b/src/org/thoughtcrime/securesms/TransportOptions.java
@@ -108,7 +108,7 @@ public class TransportOptions {
public static @NonNull TransportOption getPushTransportOption(@NonNull Context context) {
return new TransportOption(Type.TEXTSECURE,
- R.drawable.ic_send_push_white_24dp,
+ R.drawable.ic_send_lock_24,
context.getResources().getColor(R.color.textsecure_primary),
context.getString(R.string.ConversationActivity_transport_signal),
context.getString(R.string.conversation_activity__type_message_push),
@@ -187,13 +187,13 @@ public class TransportOptions {
}
if (subscriptions.size() < 2) {
- results.add(new TransportOption(Type.SMS, R.drawable.ic_send_sms_white_24dp,
- context.getResources().getColor(R.color.grey_600),
+ results.add(new TransportOption(Type.SMS, R.drawable.ic_send_unlock_24,
+ context.getResources().getColor(R.color.core_grey_50),
text, composeHint, characterCalculator));
} else {
for (SubscriptionInfoCompat subscriptionInfo : subscriptions) {
- results.add(new TransportOption(Type.SMS, R.drawable.ic_send_sms_white_24dp,
- context.getResources().getColor(R.color.grey_600),
+ results.add(new TransportOption(Type.SMS, R.drawable.ic_send_unlock_24,
+ context.getResources().getColor(R.color.core_grey_50),
text, composeHint, characterCalculator,
Optional.of(subscriptionInfo.getDisplayName()),
Optional.of(subscriptionInfo.getSubscriptionId())));
diff --git a/src/org/thoughtcrime/securesms/WebRtcCallActivity.java b/src/org/thoughtcrime/securesms/WebRtcCallActivity.java
index 6b437a010..385153ffe 100644
--- a/src/org/thoughtcrime/securesms/WebRtcCallActivity.java
+++ b/src/org/thoughtcrime/securesms/WebRtcCallActivity.java
@@ -24,9 +24,12 @@ import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.content.res.Configuration;
import android.media.AudioManager;
+import android.os.Build;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
+import androidx.core.app.ActivityCompat;
+
import org.thoughtcrime.securesms.logging.Log;
import android.view.View;
import android.view.Window;
@@ -170,7 +173,7 @@ public class WebRtcCallActivity extends Activity {
.request(Manifest.permission.RECORD_AUDIO, Manifest.permission.CAMERA)
.ifNecessary()
.withRationaleDialog(getString(R.string.WebRtcCallActivity_to_answer_the_call_from_s_give_signal_access_to_your_microphone, event.getRecipient().toShortString()),
- R.drawable.ic_mic_white_48dp, R.drawable.ic_videocam_white_48dp)
+ R.drawable.ic_mic_solid_24, R.drawable.ic_videocam_white_48dp)
.withPermanentDenialDialog(getString(R.string.WebRtcCallActivity_signal_requires_microphone_and_camera_permissions_in_order_to_make_or_receive_calls))
.onAllGranted(() -> {
callScreen.setActiveCall(event.getRecipient(), getString(R.string.RedPhone_answering));
diff --git a/src/org/thoughtcrime/securesms/color/MaterialColor.java b/src/org/thoughtcrime/securesms/color/MaterialColor.java
index 20b87d29a..bcd8d00de 100644
--- a/src/org/thoughtcrime/securesms/color/MaterialColor.java
+++ b/src/org/thoughtcrime/securesms/color/MaterialColor.java
@@ -78,7 +78,7 @@ public enum MaterialColor {
}
public @ColorInt int toStatusBarColor(@NonNull Context context) {
- return context.getResources().getColor(shadeColor);
+ return context.getResources().getColor(mainColor);
}
public @ColorRes int toQuoteBarColorResource(@NonNull Context context, boolean outgoing) {
@@ -94,8 +94,8 @@ public enum MaterialColor {
int alpha = isDarkTheme(context) ? (int) (0.2 * 255) : (int) (0.4 * 255);
return Color.argb(alpha, Color.red(color), Color.green(color), Color.blue(color));
}
- return context.getResources().getColor(isDarkTheme(context) ? R.color.transparent_black_70
- : R.color.transparent_white_aa);
+ return context.getResources().getColor(isDarkTheme(context) ? R.color.transparent_black_40
+ : R.color.transparent_white_60);
}
public @ColorInt int toQuoteFooterColor(@NonNull Context context, boolean outgoing) {
@@ -104,8 +104,8 @@ public enum MaterialColor {
int alpha = isDarkTheme(context) ? (int) (0.4 * 255) : (int) (0.6 * 255);
return Color.argb(alpha, Color.red(color), Color.green(color), Color.blue(color));
}
- return context.getResources().getColor(isDarkTheme(context) ? R.color.transparent_black_90
- : R.color.transparent_white_bb);
+ return context.getResources().getColor(isDarkTheme(context) ? R.color.transparent_black_60
+ : R.color.transparent_white_80);
}
public boolean represents(Context context, int colorValue) {
diff --git a/src/org/thoughtcrime/securesms/components/AvatarImageView.java b/src/org/thoughtcrime/securesms/components/AvatarImageView.java
index 92b6e8565..7fc0a8489 100644
--- a/src/org/thoughtcrime/securesms/components/AvatarImageView.java
+++ b/src/org/thoughtcrime/securesms/components/AvatarImageView.java
@@ -28,6 +28,9 @@ import java.util.Objects;
public final class AvatarImageView extends AppCompatImageView {
+ private static final int SIZE_LARGE = 1;
+ private static final int SIZE_SMALL = 2;
+
@SuppressWarnings("unused")
private static final String TAG = AvatarImageView.class.getSimpleName();
@@ -46,6 +49,7 @@ public final class AvatarImageView extends AppCompatImageView {
DARK_THEME_OUTLINE_PAINT.setAntiAlias(true);
}
+ private int size;
private boolean inverted;
private Paint outlinePaint;
private OnClickListener listener;
@@ -68,23 +72,27 @@ public final class AvatarImageView extends AppCompatImageView {
if (attrs != null) {
TypedArray typedArray = context.getTheme().obtainStyledAttributes(attrs, R.styleable.AvatarImageView, 0, 0);
- inverted = typedArray.getBoolean(0, false);
+ inverted = typedArray.getBoolean(R.styleable.AvatarImageView_inverted, false);
+ size = typedArray.getInt(R.styleable.AvatarImageView_fallbackImageSize, SIZE_LARGE);
typedArray.recycle();
}
outlinePaint = ThemeUtil.isDarkTheme(getContext()) ? DARK_THEME_OUTLINE_PAINT : LIGHT_THEME_OUTLINE_PAINT;
- unknownRecipientDrawable = new ResourceContactPhoto(R.drawable.ic_profile_default).asDrawable(getContext(), ContactColors.UNKNOWN_COLOR.toConversationColor(getContext()), inverted);
+ unknownRecipientDrawable = new ResourceContactPhoto(R.drawable.ic_profile_outline_40, R.drawable.ic_profile_outline_20).asDrawable(getContext(), ContactColors.UNKNOWN_COLOR.toConversationColor(getContext()), inverted);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
- float cx = getWidth() / 2f;
- float cy = getHeight() / 2f;
- float radius = cx - (outlinePaint.getStrokeWidth() / 2f);
+ float width = getWidth() - getPaddingRight() - getPaddingLeft();
+ float height = getHeight() - getPaddingBottom() - getPaddingTop();
+ float cx = width / 2f;
+ float cy = height / 2f;
+ float radius = Math.min(cx, cy) - (outlinePaint.getStrokeWidth() / 2f);
+ canvas.translate(getPaddingLeft(), getPaddingTop());
canvas.drawCircle(cx, cy, radius, outlinePaint);
}
@@ -102,7 +110,9 @@ public final class AvatarImageView extends AppCompatImageView {
requestManager.clear(this);
recipientContactPhoto = photo;
- Drawable fallbackContactPhotoDrawable = photo.recipient.getFallbackContactPhotoDrawable(getContext(), inverted);
+ Drawable fallbackContactPhotoDrawable = size == SIZE_SMALL
+ ? photo.recipient.getSmallFallbackContactPhotoDrawable(getContext(), inverted)
+ : photo.recipient.getFallbackContactPhotoDrawable(getContext(), inverted);
if (photo.contactPhoto != null) {
requestManager.load(photo.contactPhoto)
diff --git a/src/org/thoughtcrime/securesms/components/ContactFilterToolbar.java b/src/org/thoughtcrime/securesms/components/ContactFilterToolbar.java
index c310323c2..91336d6ad 100644
--- a/src/org/thoughtcrime/securesms/components/ContactFilterToolbar.java
+++ b/src/org/thoughtcrime/securesms/components/ContactFilterToolbar.java
@@ -1,8 +1,13 @@
package org.thoughtcrime.securesms.components;
import android.content.Context;
+import android.content.res.TypedArray;
import android.graphics.Rect;
+
+import androidx.annotation.NonNull;
import androidx.appcompat.widget.Toolbar;
+import androidx.core.widget.TextViewCompat;
+
import android.text.Editable;
import android.text.InputType;
import android.text.TextWatcher;
@@ -97,9 +102,27 @@ public class ContactFilterToolbar extends Toolbar {
setLogo(null);
setContentInsetStartWithNavigation(0);
expandTapArea(toggleContainer, dialpadToggle);
+ styleSearchText(searchText, context, attrs, defStyleAttr);
searchText.requestFocus();
}
+ private void styleSearchText(@NonNull EditText searchText,
+ @NonNull Context context,
+ @NonNull AttributeSet attrs,
+ int defStyle)
+ {
+ final TypedArray attributes = context.obtainStyledAttributes(attrs,
+ R.styleable.ContactFilterToolbar,
+ defStyle,
+ 0);
+
+ int styleResource = attributes.getResourceId(R.styleable.ContactFilterToolbar_searchTextStyle, -1);
+ if (styleResource != -1) {
+ TextViewCompat.setTextAppearance(searchText, styleResource);
+ }
+ attributes.recycle();
+ }
+
public void clear() {
searchText.setText("");
notifyListener();
diff --git a/src/org/thoughtcrime/securesms/components/DarkSearchView.java b/src/org/thoughtcrime/securesms/components/DarkSearchView.java
new file mode 100644
index 000000000..71c017e50
--- /dev/null
+++ b/src/org/thoughtcrime/securesms/components/DarkSearchView.java
@@ -0,0 +1,35 @@
+package org.thoughtcrime.securesms.components;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.util.AttributeSet;
+import android.widget.EditText;
+
+import androidx.annotation.AttrRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+import androidx.core.graphics.drawable.DrawableCompat;
+
+import org.thoughtcrime.securesms.R;
+import org.thoughtcrime.securesms.util.ThemeUtil;
+
+/**
+ * Custom styled search view that we can insert into ActionBar menus
+ */
+public class DarkSearchView extends androidx.appcompat.widget.SearchView {
+ public DarkSearchView(@NonNull Context context) {
+ this(context, null);
+ }
+
+ public DarkSearchView(@NonNull Context context, @Nullable AttributeSet attrs) {
+ this(context, attrs, R.attr.search_view_style_dark);
+ }
+
+ public DarkSearchView(@NonNull Context context, @Nullable AttributeSet attrs, @AttrRes int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+
+ EditText searchText = findViewById(androidx.appcompat.R.id.search_src_text);
+ searchText.setTextColor(ContextCompat.getColor(context, R.color.transparent_white_90));
+ }
+}
diff --git a/src/org/thoughtcrime/securesms/components/ExpirationTimerView.java b/src/org/thoughtcrime/securesms/components/ExpirationTimerView.java
index 1de60b823..33a000433 100644
--- a/src/org/thoughtcrime/securesms/components/ExpirationTimerView.java
+++ b/src/org/thoughtcrime/securesms/components/ExpirationTimerView.java
@@ -19,19 +19,19 @@ public class ExpirationTimerView extends androidx.appcompat.widget.AppCompatImag
private boolean visible = false;
private boolean stopped = true;
- private final int[] frames = new int[]{ R.drawable.timer00,
- R.drawable.timer05,
- R.drawable.timer10,
- R.drawable.timer15,
- R.drawable.timer20,
- R.drawable.timer25,
- R.drawable.timer30,
- R.drawable.timer35,
- R.drawable.timer40,
- R.drawable.timer45,
- R.drawable.timer50,
- R.drawable.timer55,
- R.drawable.timer60 };
+ private final int[] frames = new int[]{ R.drawable.ic_timer_00_16,
+ R.drawable.ic_timer_05_16,
+ R.drawable.ic_timer_10_16,
+ R.drawable.ic_timer_15_16,
+ R.drawable.ic_timer_20_16,
+ R.drawable.ic_timer_25_16,
+ R.drawable.ic_timer_30_16,
+ R.drawable.ic_timer_35_16,
+ R.drawable.ic_timer_40_16,
+ R.drawable.ic_timer_45_16,
+ R.drawable.ic_timer_50_16,
+ R.drawable.ic_timer_55_16,
+ R.drawable.ic_timer_60_16 };
public ExpirationTimerView(Context context) {
super(context);
diff --git a/src/org/thoughtcrime/securesms/components/SearchToolbar.java b/src/org/thoughtcrime/securesms/components/SearchToolbar.java
index 1ac87e56b..4dd64f0df 100644
--- a/src/org/thoughtcrime/securesms/components/SearchToolbar.java
+++ b/src/org/thoughtcrime/securesms/components/SearchToolbar.java
@@ -3,13 +3,14 @@ package org.thoughtcrime.securesms.components;
import android.animation.Animator;
import android.content.Context;
-import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.os.Build;
import androidx.annotation.MainThread;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.SearchView;
import androidx.appcompat.widget.Toolbar;
+import androidx.core.content.ContextCompat;
+
import android.util.AttributeSet;
import android.view.MenuItem;
import android.view.View;
@@ -47,11 +48,9 @@ public class SearchToolbar extends LinearLayout {
Toolbar toolbar = findViewById(R.id.toolbar);
- Drawable drawable = getContext().getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp);
- drawable.mutate();
- drawable.setColorFilter(getContext().getResources().getColor(R.color.grey_700), PorterDuff.Mode.SRC_IN);
-
+ Drawable drawable = ContextCompat.getDrawable(getContext(), R.drawable.ic_arrow_left_24);
toolbar.setNavigationIcon(drawable);
+ toolbar.setCollapseIcon(drawable);
toolbar.inflateMenu(R.menu.conversation_list_search);
this.searchItem = toolbar.getMenu().findItem(R.id.action_filter_search);
diff --git a/src/org/thoughtcrime/securesms/components/SearchView.java b/src/org/thoughtcrime/securesms/components/SearchView.java
new file mode 100644
index 000000000..dc8d3779f
--- /dev/null
+++ b/src/org/thoughtcrime/securesms/components/SearchView.java
@@ -0,0 +1,27 @@
+package org.thoughtcrime.securesms.components;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import androidx.annotation.AttrRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import org.thoughtcrime.securesms.R;
+
+/**
+ * Custom styled search view that we can insert into ActionBar menus
+ */
+public class SearchView extends androidx.appcompat.widget.SearchView {
+ public SearchView(@NonNull Context context) {
+ this(context, null);
+ }
+
+ public SearchView(@NonNull Context context, @Nullable AttributeSet attrs) {
+ this(context, attrs, R.attr.search_view_style);
+ }
+
+ public SearchView(@NonNull Context context, @Nullable AttributeSet attrs, @AttrRes int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
+}
diff --git a/src/org/thoughtcrime/securesms/contacts/avatars/FallbackContactPhoto.java b/src/org/thoughtcrime/securesms/contacts/avatars/FallbackContactPhoto.java
index 8d8bf0ed8..9a4e265c6 100644
--- a/src/org/thoughtcrime/securesms/contacts/avatars/FallbackContactPhoto.java
+++ b/src/org/thoughtcrime/securesms/contacts/avatars/FallbackContactPhoto.java
@@ -7,6 +7,7 @@ public interface FallbackContactPhoto {
public Drawable asDrawable(Context context, int color);
public Drawable asDrawable(Context context, int color, boolean inverted);
+ public Drawable asSmallDrawable(Context context, int color, boolean inverted);
public Drawable asCallCard(Context context);
}
diff --git a/src/org/thoughtcrime/securesms/contacts/avatars/GeneratedContactPhoto.java b/src/org/thoughtcrime/securesms/contacts/avatars/GeneratedContactPhoto.java
index 0812cd9d1..86cc7ab5a 100644
--- a/src/org/thoughtcrime/securesms/contacts/avatars/GeneratedContactPhoto.java
+++ b/src/org/thoughtcrime/securesms/contacts/avatars/GeneratedContactPhoto.java
@@ -61,6 +61,11 @@ public class GeneratedContactPhoto implements FallbackContactPhoto {
return new ResourceContactPhoto(fallbackResId).asDrawable(context, color, inverted);
}
+ @Override
+ public Drawable asSmallDrawable(Context context, int color, boolean inverted) {
+ return asDrawable(context, color, inverted);
+ }
+
private @Nullable String getAbbreviation(String name) {
String[] parts = name.split(" ");
StringBuilder builder = new StringBuilder();
diff --git a/src/org/thoughtcrime/securesms/contacts/avatars/ResourceContactPhoto.java b/src/org/thoughtcrime/securesms/contacts/avatars/ResourceContactPhoto.java
index 6c23bd471..09b97a888 100644
--- a/src/org/thoughtcrime/securesms/contacts/avatars/ResourceContactPhoto.java
+++ b/src/org/thoughtcrime/securesms/contacts/avatars/ResourceContactPhoto.java
@@ -7,6 +7,9 @@ import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import androidx.annotation.DrawableRes;
import androidx.appcompat.content.res.AppCompatResources;
+import androidx.core.content.ContextCompat;
+import androidx.core.graphics.drawable.DrawableCompat;
+
import android.widget.ImageView;
import com.amulyakhare.textdrawable.TextDrawable;
@@ -18,15 +21,21 @@ import org.thoughtcrime.securesms.util.ThemeUtil;
public class ResourceContactPhoto implements FallbackContactPhoto {
private final int resourceId;
+ private final int smallResourceId;
private final int callCardResourceId;
public ResourceContactPhoto(@DrawableRes int resourceId) {
- this(resourceId, resourceId);
+ this(resourceId, resourceId, resourceId);
}
- public ResourceContactPhoto(@DrawableRes int resourceId, @DrawableRes int callCardResourceId) {
+ public ResourceContactPhoto(@DrawableRes int resourceId, @DrawableRes int smallResourceId) {
+ this(resourceId, smallResourceId, resourceId);
+ }
+
+ public ResourceContactPhoto(@DrawableRes int resourceId, @DrawableRes int smallResourceId, @DrawableRes int callCardResourceId) {
this.resourceId = resourceId;
this.callCardResourceId = callCardResourceId;
+ this.smallResourceId = smallResourceId;
}
@Override
@@ -36,8 +45,17 @@ public class ResourceContactPhoto implements FallbackContactPhoto {
@Override
public Drawable asDrawable(Context context, int color, boolean inverted) {
+ return buildDrawable(context, resourceId, color, inverted);
+ }
+
+ @Override
+ public Drawable asSmallDrawable(Context context, int color, boolean inverted) {
+ return buildDrawable(context, smallResourceId, color, inverted);
+ }
+
+ private Drawable buildDrawable(Context context, int resourceId, int color, boolean inverted) {
Drawable background = TextDrawable.builder().buildRound(" ", inverted ? Color.WHITE : color);
- RoundedDrawable foreground = (RoundedDrawable) RoundedDrawable.fromDrawable(context.getResources().getDrawable(resourceId));
+ RoundedDrawable foreground = (RoundedDrawable) RoundedDrawable.fromDrawable(ContextCompat.getDrawable(context, resourceId));
foreground.setScaleType(ImageView.ScaleType.CENTER);
diff --git a/src/org/thoughtcrime/securesms/contacts/avatars/TransparentContactPhoto.java b/src/org/thoughtcrime/securesms/contacts/avatars/TransparentContactPhoto.java
index 318d3a131..17f62f3a4 100644
--- a/src/org/thoughtcrime/securesms/contacts/avatars/TransparentContactPhoto.java
+++ b/src/org/thoughtcrime/securesms/contacts/avatars/TransparentContactPhoto.java
@@ -22,6 +22,11 @@ public class TransparentContactPhoto implements FallbackContactPhoto {
return RoundedDrawable.fromDrawable(context.getResources().getDrawable(android.R.color.transparent));
}
+ @Override
+ public Drawable asSmallDrawable(Context context, int color, boolean inverted) {
+ return asDrawable(context, color, inverted);
+ }
+
@Override
public Drawable asCallCard(Context context) {
return ContextCompat.getDrawable(context, R.drawable.ic_contact_picture_large);
diff --git a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java
index cb42ee2b1..aa2826b4d 100644
--- a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java
+++ b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java
@@ -30,8 +30,9 @@ import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
-import android.graphics.PorterDuff.Mode;
+import android.graphics.PorterDuff;
import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
import android.hardware.Camera;
import android.net.Uri;
import android.os.AsyncTask;
@@ -66,8 +67,10 @@ import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.SearchView;
import androidx.appcompat.widget.Toolbar;
+import androidx.core.content.ContextCompat;
import androidx.core.content.pm.ShortcutInfoCompat;
import androidx.core.content.pm.ShortcutManagerCompat;
+import androidx.core.graphics.drawable.DrawableCompat;
import androidx.core.graphics.drawable.IconCompat;
import androidx.core.view.MenuItemCompat;
import androidx.lifecycle.ViewModelProviders;
@@ -204,8 +207,9 @@ import org.thoughtcrime.securesms.util.CharacterCalculator.CharacterState;
import org.thoughtcrime.securesms.util.CommunicationActions;
import org.thoughtcrime.securesms.util.Dialogs;
import org.thoughtcrime.securesms.util.DirectoryHelper;
+import org.thoughtcrime.securesms.util.DynamicDarkToolbarTheme;
import org.thoughtcrime.securesms.util.DynamicLanguage;
-import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
+import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.ExpirationUtil;
import org.thoughtcrime.securesms.util.GroupUtil;
import org.thoughtcrime.securesms.util.IdentityUtil;
@@ -213,6 +217,7 @@ import org.thoughtcrime.securesms.util.MediaUtil;
import org.thoughtcrime.securesms.util.ServiceUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.TextSecurePreferences.MediaKeyboardMode;
+import org.thoughtcrime.securesms.util.ThemeUtil;
import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.ViewUtil;
import org.thoughtcrime.securesms.util.concurrent.AssertedSuccessListener;
@@ -324,9 +329,9 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
private boolean isMmsEnabled = true;
private boolean isSecurityInitialized = false;
- private final IdentityRecordList identityRecords = new IdentityRecordList();
- private final DynamicNoActionBarTheme dynamicTheme = new DynamicNoActionBarTheme();
- private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
+ private final IdentityRecordList identityRecords = new IdentityRecordList();
+ private final DynamicTheme dynamicTheme = new DynamicDarkToolbarTheme();
+ private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
@Override
protected void onPreCreate() {
@@ -1556,8 +1561,10 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
calculateCharactersRemaining();
updateLinkPreviewState();
composeText.setTransport(newTransport);
- buttonToggle.getBackground().setColorFilter(newTransport.getBackgroundColor(), Mode.MULTIPLY);
+
+ buttonToggle.getBackground().setColorFilter(newTransport.getBackgroundColor(), PorterDuff.Mode.MULTIPLY);
buttonToggle.getBackground().invalidateSelf();
+
if (manuallySelected) recordTransportPreference(newTransport);
});
@@ -1592,6 +1599,11 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar == null) throw new AssertionError();
+ Drawable drawable = ContextCompat.getDrawable(this, R.drawable.ic_arrow_left_24);
+ DrawableCompat.setTint(drawable, ThemeUtil.getThemedColor(this, R.attr.icon_tint_dark));
+ toolbar.setCollapseIcon(drawable);
+
+ supportActionBar.setHomeAsUpIndicator(drawable);
supportActionBar.setDisplayHomeAsUpEnabled(true);
supportActionBar.setDisplayShowTitleEnabled(false);
}
@@ -1778,7 +1790,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
case AttachmentTypeSelector.TAKE_PHOTO:
attachmentManager.capturePhoto(this, TAKE_PHOTO); break;
case AttachmentTypeSelector.ADD_GIF:
- AttachmentManager.selectGif(this, PICK_GIF, !isSecureText); break;
+ AttachmentManager.selectGif(this, PICK_GIF, !isSecureText, recipient.get().getColor().toConversationColor(this)); break;
}
}
@@ -2353,7 +2365,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
Permissions.with(this)
.request(Manifest.permission.RECORD_AUDIO)
.ifNecessary()
- .withRationaleDialog(getString(R.string.ConversationActivity_to_send_audio_messages_allow_signal_access_to_your_microphone), R.drawable.ic_mic_white_48dp)
+ .withRationaleDialog(getString(R.string.ConversationActivity_to_send_audio_messages_allow_signal_access_to_your_microphone), R.drawable.ic_mic_solid_24)
.withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_requires_the_microphone_permission_in_order_to_send_audio_messages))
.execute();
}
@@ -2554,7 +2566,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
Permissions.with(ConversationActivity.this)
.request(Manifest.permission.CAMERA)
.ifNecessary()
- .withRationaleDialog(getString(R.string.ConversationActivity_to_capture_photos_and_video_allow_signal_access_to_the_camera), R.drawable.ic_photo_camera_white_48dp)
+ .withRationaleDialog(getString(R.string.ConversationActivity_to_capture_photos_and_video_allow_signal_access_to_the_camera), R.drawable.ic_camera_solid_24)
.withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_needs_the_camera_permission_to_take_photos_or_video))
.onAllGranted(() -> {
composeText.clearFocus();
diff --git a/src/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java b/src/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java
index 7c4898596..d4a2f7005 100644
--- a/src/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java
+++ b/src/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java
@@ -2,11 +2,14 @@ package org.thoughtcrime.securesms.conversation;
import android.content.Context;
import android.content.Intent;
-import android.graphics.Color;
+import android.graphics.ColorFilter;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
+
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
@@ -29,6 +32,7 @@ import org.thoughtcrime.securesms.util.DateUtils;
import org.thoughtcrime.securesms.util.ExpirationUtil;
import org.thoughtcrime.securesms.util.GroupUtil;
import org.thoughtcrime.securesms.util.IdentityUtil;
+import org.thoughtcrime.securesms.util.ThemeUtil;
import org.thoughtcrime.securesms.util.concurrent.ListenableFuture;
import org.whispersystems.libsignal.util.guava.Optional;
@@ -149,13 +153,12 @@ public class ConversationUpdateItem extends LinearLayout
private void setTimerRecord(final MessageRecord messageRecord) {
if (messageRecord.getExpiresIn() > 0) {
- icon.setImageResource(R.drawable.ic_timer);
- icon.setColorFilter(new PorterDuffColorFilter(Color.parseColor("#757575"), PorterDuff.Mode.MULTIPLY));
+ icon.setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.ic_timer_24));
} else {
- icon.setImageResource(R.drawable.ic_timer_disabled);
- icon.setColorFilter(new PorterDuffColorFilter(Color.parseColor("#757575"), PorterDuff.Mode.MULTIPLY));
+ icon.setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.ic_timer_disabled_24));
}
+ icon.setColorFilter(getGreyFilter());
title.setText(ExpirationUtil.getExpirationDisplayValue(getContext(), (int)(messageRecord.getExpiresIn() / 1000)));
body.setText(messageRecord.getDisplayBody(getContext()));
@@ -164,9 +167,13 @@ public class ConversationUpdateItem extends LinearLayout
date.setVisibility(GONE);
}
+ private ColorFilter getGreyFilter() {
+ return new PorterDuffColorFilter(ContextCompat.getColor(getContext(), R.color.core_grey_50), PorterDuff.Mode.MULTIPLY);
+ }
+
private void setIdentityRecord(final MessageRecord messageRecord) {
- icon.setImageResource(R.drawable.ic_security_white_24dp);
- icon.setColorFilter(new PorterDuffColorFilter(Color.parseColor("#757575"), PorterDuff.Mode.MULTIPLY));
+ icon.setImageDrawable(ThemeUtil.getThemedDrawable(getContext(), R.attr.safety_number_icon));
+ icon.setColorFilter(getGreyFilter());
body.setText(messageRecord.getDisplayBody(getContext()));
title.setVisibility(GONE);
@@ -178,7 +185,7 @@ public class ConversationUpdateItem extends LinearLayout
if (messageRecord.isIdentityVerified()) icon.setImageResource(R.drawable.ic_check_white_24dp);
else icon.setImageResource(R.drawable.ic_info_outline_white_24dp);
- icon.setColorFilter(new PorterDuffColorFilter(Color.parseColor("#757575"), PorterDuff.Mode.MULTIPLY));
+ icon.setColorFilter(getGreyFilter());
body.setText(messageRecord.getDisplayBody(getContext()));
title.setVisibility(GONE);
@@ -187,7 +194,7 @@ public class ConversationUpdateItem extends LinearLayout
}
private void setGroupRecord(MessageRecord messageRecord) {
- icon.setImageResource(R.drawable.ic_group_grey600_24dp);
+ icon.setImageDrawable(ThemeUtil.getThemedDrawable(getContext(), R.attr.menu_group_icon));
icon.clearColorFilter();
body.setText(messageRecord.getDisplayBody(getContext()));
@@ -209,7 +216,7 @@ public class ConversationUpdateItem extends LinearLayout
private void setEndSessionRecord(MessageRecord messageRecord) {
icon.setImageResource(R.drawable.ic_refresh_white_24dp);
- icon.setColorFilter(new PorterDuffColorFilter(Color.parseColor("#757575"), PorterDuff.Mode.MULTIPLY));
+ icon.setColorFilter(getGreyFilter());
body.setText(messageRecord.getDisplayBody(getContext()));
title.setVisibility(GONE);
@@ -278,5 +285,4 @@ public class ConversationUpdateItem extends LinearLayout
});
}
}
-
}
diff --git a/src/org/thoughtcrime/securesms/giph/ui/GiphyActivity.java b/src/org/thoughtcrime/securesms/giph/ui/GiphyActivity.java
index 2611e46b8..681cf8cf3 100644
--- a/src/org/thoughtcrime/securesms/giph/ui/GiphyActivity.java
+++ b/src/org/thoughtcrime/securesms/giph/ui/GiphyActivity.java
@@ -6,21 +6,28 @@ import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
+import android.os.Build;
import android.os.Bundle;
+
+import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.android.material.tabs.TabLayout;
+
+import androidx.core.app.ActivityCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;
import org.thoughtcrime.securesms.logging.Log;
import android.view.View;
+import android.widget.LinearLayout;
import android.widget.Toast;
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.providers.BlobProvider;
+import org.thoughtcrime.securesms.util.DynamicDarkToolbarTheme;
import org.thoughtcrime.securesms.util.DynamicLanguage;
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
import org.thoughtcrime.securesms.util.DynamicTheme;
@@ -41,8 +48,9 @@ public class GiphyActivity extends PassphraseRequiredActionBarActivity
public static final String EXTRA_IS_MMS = "extra_is_mms";
public static final String EXTRA_WIDTH = "extra_width";
public static final String EXTRA_HEIGHT = "extra_height";
+ public static final String EXTRA_COLOR = "extra_color";
- private final DynamicTheme dynamicTheme = new DynamicNoActionBarTheme();
+ private final DynamicTheme dynamicTheme = new DynamicDarkToolbarTheme();
private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
private GiphyGifFragment gifFragment;
@@ -66,11 +74,16 @@ public class GiphyActivity extends PassphraseRequiredActionBarActivity
}
private void initializeToolbar() {
+
GiphyActivityToolbar toolbar = ViewUtil.findById(this, R.id.giphy_toolbar);
toolbar.setOnFilterChangedListener(this);
toolbar.setOnLayoutChangedListener(this);
toolbar.setPersistence(GiphyActivityToolbarTextSecurePreferencesPersistence.fromContext(this));
+ final int conversationColor = getConversationColor();
+ toolbar.setBackgroundColor(conversationColor);
+ setStatusBarColor(conversationColor);
+
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
@@ -91,6 +104,11 @@ public class GiphyActivity extends PassphraseRequiredActionBarActivity
viewPager.setAdapter(new GiphyFragmentPagerAdapter(this, getSupportFragmentManager(),
gifFragment, stickerFragment));
tabLayout.setupWithViewPager(viewPager);
+ tabLayout.setBackgroundColor(getConversationColor());
+ }
+
+ private @ColorInt int getConversationColor() {
+ return getIntent().getIntExtra(EXTRA_COLOR, ActivityCompat.getColor(this, R.color.signal_primary));
}
@Override
diff --git a/src/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java b/src/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java
index 48026aeee..a0a59e797 100644
--- a/src/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java
+++ b/src/org/thoughtcrime/securesms/longmessage/LongMessageActivity.java
@@ -29,6 +29,7 @@ import org.thoughtcrime.securesms.linkpreview.LinkPreviewUtil;
import org.thoughtcrime.securesms.recipients.LiveRecipient;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.recipients.RecipientId;
+import org.thoughtcrime.securesms.util.DynamicDarkActionBarTheme;
import org.thoughtcrime.securesms.util.DynamicLanguage;
import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
@@ -45,7 +46,7 @@ public class LongMessageActivity extends PassphraseRequiredActionBarActivity {
private static final int MAX_DISPLAY_LENGTH = 64 * 1024;
private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
- private final DynamicTheme dynamicTheme = new DynamicTheme();
+ private final DynamicTheme dynamicTheme = new DynamicDarkActionBarTheme();
private Stub sentBubble;
private Stub receivedBubble;
diff --git a/src/org/thoughtcrime/securesms/mediasend/MediaPickerFolderAdapter.java b/src/org/thoughtcrime/securesms/mediasend/MediaPickerFolderAdapter.java
index 059dc5ca6..837a5b470 100644
--- a/src/org/thoughtcrime/securesms/mediasend/MediaPickerFolderAdapter.java
+++ b/src/org/thoughtcrime/securesms/mediasend/MediaPickerFolderAdapter.java
@@ -2,6 +2,8 @@ package org.thoughtcrime.securesms.mediasend;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+
+import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -75,7 +77,7 @@ class MediaPickerFolderAdapter extends RecyclerView.Adapter {
Fragment fragment = getOrCreateCameraFragment();
diff --git a/src/org/thoughtcrime/securesms/mms/AttachmentManager.java b/src/org/thoughtcrime/securesms/mms/AttachmentManager.java
index 53bd32499..abf1dfd5b 100644
--- a/src/org/thoughtcrime/securesms/mms/AttachmentManager.java
+++ b/src/org/thoughtcrime/securesms/mms/AttachmentManager.java
@@ -35,6 +35,7 @@ import android.util.Pair;
import android.view.View;
import android.widget.Toast;
+import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -42,6 +43,7 @@ import org.thoughtcrime.securesms.MediaPreviewActivity;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.TransportOption;
import org.thoughtcrime.securesms.attachments.Attachment;
+import org.thoughtcrime.securesms.color.MaterialColor;
import org.thoughtcrime.securesms.components.AudioView;
import org.thoughtcrime.securesms.components.DocumentView;
import org.thoughtcrime.securesms.components.RemovableEditableMediaView;
@@ -415,9 +417,10 @@ public class AttachmentManager {
.execute();
}
- public static void selectGif(Activity activity, int requestCode, boolean isForMms) {
+ public static void selectGif(Activity activity, int requestCode, boolean isForMms, @ColorInt int color) {
Intent intent = new Intent(activity, GiphyActivity.class);
intent.putExtra(GiphyActivity.EXTRA_IS_MMS, isForMms);
+ intent.putExtra(GiphyActivity.EXTRA_COLOR, color);
activity.startActivityForResult(intent, requestCode);
}
diff --git a/src/org/thoughtcrime/securesms/notifications/SingleRecipientNotificationBuilder.java b/src/org/thoughtcrime/securesms/notifications/SingleRecipientNotificationBuilder.java
index 52724badf..56f47c200 100644
--- a/src/org/thoughtcrime/securesms/notifications/SingleRecipientNotificationBuilder.java
+++ b/src/org/thoughtcrime/securesms/notifications/SingleRecipientNotificationBuilder.java
@@ -93,7 +93,7 @@ public class SingleRecipientNotificationBuilder extends AbstractNotificationBuil
} else {
setContentTitle(context.getString(R.string.SingleRecipientNotificationBuilder_signal));
- setLargeIcon(new GeneratedContactPhoto("Unknown", R.drawable.ic_profile_default).asDrawable(context, ContactColors.UNKNOWN_COLOR.toConversationColor(context)));
+ setLargeIcon(new GeneratedContactPhoto("Unknown", R.drawable.ic_profile_outline_40).asDrawable(context, ContactColors.UNKNOWN_COLOR.toConversationColor(context)));
}
}
diff --git a/src/org/thoughtcrime/securesms/permissions/RationaleDialog.java b/src/org/thoughtcrime/securesms/permissions/RationaleDialog.java
index a29d380f4..271d2f2d9 100644
--- a/src/org/thoughtcrime/securesms/permissions/RationaleDialog.java
+++ b/src/org/thoughtcrime/securesms/permissions/RationaleDialog.java
@@ -6,6 +6,10 @@ import android.content.Context;
import android.graphics.Color;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
+import androidx.core.content.ContextCompat;
+import androidx.core.graphics.drawable.DrawableCompat;
+
+import android.graphics.drawable.Drawable;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
@@ -25,8 +29,10 @@ public class RationaleDialog {
TextView text = view.findViewById(R.id.message);
for (int i=0;i {
diff --git a/src/org/thoughtcrime/securesms/util/DynamicDarkActionBarTheme.java b/src/org/thoughtcrime/securesms/util/DynamicDarkActionBarTheme.java
new file mode 100644
index 000000000..2bdcc8c84
--- /dev/null
+++ b/src/org/thoughtcrime/securesms/util/DynamicDarkActionBarTheme.java
@@ -0,0 +1,18 @@
+package org.thoughtcrime.securesms.util;
+
+import android.app.Activity;
+
+import org.thoughtcrime.securesms.R;
+
+public class DynamicDarkActionBarTheme extends DynamicTheme {
+ @Override
+ protected int getSelectedTheme(Activity activity) {
+ String theme = TextSecurePreferences.getTheme(activity);
+
+ if (theme.equals("dark")) {
+ return R.style.TextSecure_DarkTheme_Conversation;
+ }
+
+ return R.style.TextSecure_LightTheme_Conversation;
+ }
+}
diff --git a/src/org/thoughtcrime/securesms/util/DynamicDarkToolbarTheme.java b/src/org/thoughtcrime/securesms/util/DynamicDarkToolbarTheme.java
new file mode 100644
index 000000000..94990b69d
--- /dev/null
+++ b/src/org/thoughtcrime/securesms/util/DynamicDarkToolbarTheme.java
@@ -0,0 +1,18 @@
+package org.thoughtcrime.securesms.util;
+
+import android.app.Activity;
+
+import org.thoughtcrime.securesms.R;
+
+public class DynamicDarkToolbarTheme extends DynamicTheme {
+ @Override
+ protected int getSelectedTheme(Activity activity) {
+ String theme = TextSecurePreferences.getTheme(activity);
+
+ if (theme.equals("dark")) {
+ return R.style.TextSecure_DarkNoActionBar_DarkToolbar;
+ }
+
+ return R.style.TextSecure_LightNoActionBar_DarkToolbar;
+ }
+}
diff --git a/src/org/thoughtcrime/securesms/util/DynamicTheme.java b/src/org/thoughtcrime/securesms/util/DynamicTheme.java
index 9ee4e89db..b89acd261 100644
--- a/src/org/thoughtcrime/securesms/util/DynamicTheme.java
+++ b/src/org/thoughtcrime/securesms/util/DynamicTheme.java
@@ -2,6 +2,9 @@ package org.thoughtcrime.securesms.util;
import android.app.Activity;
import android.content.Intent;
+import android.content.res.Configuration;
+
+import androidx.appcompat.app.AppCompatDelegate;
import org.thoughtcrime.securesms.R;
@@ -30,7 +33,9 @@ public class DynamicTheme {
protected int getSelectedTheme(Activity activity) {
String theme = TextSecurePreferences.getTheme(activity);
- if (theme.equals(DARK)) return R.style.TextSecure_DarkTheme;
+ if (theme.equals(DARK)) {
+ return R.style.TextSecure_DarkTheme;
+ }
return R.style.TextSecure_LightTheme;
}
diff --git a/src/org/thoughtcrime/securesms/util/ThemeUtil.java b/src/org/thoughtcrime/securesms/util/ThemeUtil.java
index 0c61d9c43..5b449df5a 100644
--- a/src/org/thoughtcrime/securesms/util/ThemeUtil.java
+++ b/src/org/thoughtcrime/securesms/util/ThemeUtil.java
@@ -5,8 +5,12 @@ import android.content.res.Resources;
import android.graphics.Color;
import androidx.annotation.AttrRes;
import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import androidx.annotation.StyleRes;
import androidx.appcompat.view.ContextThemeWrapper;
+import androidx.core.content.ContextCompat;
+
+import android.graphics.drawable.Drawable;
import android.util.TypedValue;
import android.view.LayoutInflater;
@@ -28,6 +32,17 @@ public class ThemeUtil {
return Color.RED;
}
+ public static @Nullable Drawable getThemedDrawable(@NonNull Context context, @AttrRes int attr) {
+ TypedValue typedValue = new TypedValue();
+ Resources.Theme theme = context.getTheme();
+
+ if (theme.resolveAttribute(attr, typedValue, true)) {
+ return ContextCompat.getDrawable(context, typedValue.resourceId);
+ }
+
+ return null;
+ }
+
public static LayoutInflater getThemedInflater(@NonNull Context context, @NonNull LayoutInflater inflater, @StyleRes int theme) {
Context contextThemeWrapper = new ContextThemeWrapper(context, theme);
return inflater.cloneInContext(contextThemeWrapper);