Implement new color palette.

This commit is contained in:
Greyson Parrelli 2018-09-21 15:16:52 -07:00
parent cfd20d23e8
commit 127505af0b
28 changed files with 215 additions and 218 deletions

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<solid android:color="@color/core_light_35"/>
<solid android:color="@color/core_grey_45"/>
<corners android:radius="10dp"/>
</shape>

View file

@ -5,7 +5,7 @@
<stroke
android:width="1dp"
android:color="@color/core_light_45" />
android:color="@color/core_grey_25" />
<solid
android:color="@color/transparent_black_90" />

View file

@ -5,10 +5,10 @@
<stroke
android:width="1dp"
android:color="@color/core_dark_70" />
android:color="@color/core_grey_75" />
<solid
android:color="@color/core_dark_85" />
android:color="@color/core_grey_90" />
<corners
android:radius="20dp" />

View file

@ -5,10 +5,10 @@
<stroke
android:width="1dp"
android:color="@color/core_light_10" />
android:color="@color/core_grey_05" />
<solid
android:color="@color/core_light_02" />
android:color="@color/core_grey_02" />
<corners
android:radius="20dp" />

View file

@ -4,5 +4,5 @@
android:shape="rectangle">
<corners android:radius="4dp" />
<solid android:color="@color/core_dark_85" />
<solid android:color="@color/core_grey_90" />
</shape>

View file

@ -4,5 +4,5 @@
android:shape="rectangle">
<corners android:radius="4dp" />
<solid android:color="@color/core_light_02" />
<solid android:color="@color/core_grey_02" />
</shape>

View file

@ -17,7 +17,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_error"
android:tint="@color/core_light_60"
android:tint="@color/core_grey_60"
android:visibility="gone"
tools:visibility="visible"
android:layout_gravity="center_vertical"

View file

@ -53,8 +53,8 @@
android:paddingLeft="@dimen/message_bubble_horizontal_padding"
android:paddingRight="@dimen/message_bubble_horizontal_padding"
android:background="@drawable/message_bubble_background_sent_alone"
app:doc_titleColor="?attr/conversation_item_sent_text_primary_color"
app:doc_captionColor="?attr/conversation_item_sent_text_secondary_color"/>
app:doc_titleColor="?attr/conversation_item_received_text_primary_color"
app:doc_captionColor="?attr/conversation_item_received_text_secondary_color"/>
</org.thoughtcrime.securesms.components.RemovableEditableMediaView>

View file

@ -41,8 +41,8 @@
android:layout_marginTop="6dp"
android:visibility="gone"
app:message_type="preview"
app:quote_colorPrimary="?attr/conversation_item_sent_text_primary_color"
app:quote_colorSecondary="?attr/conversation_item_sent_text_primary_color"
app:quote_colorPrimary="?attr/conversation_item_received_text_primary_color"
app:quote_colorSecondary="?attr/conversation_item_received_text_primary_color"
tools:visibility="visible"/>
<FrameLayout
@ -189,7 +189,7 @@
android:layout_marginStart="20dp"
style="@style/Signal.Text.Body"
android:text="00:00"
android:textColor="@color/core_light_60"
android:textColor="@color/core_grey_60"
android:singleLine="true"
android:visibility="gone"
tools:visibility="visible"/>
@ -209,7 +209,7 @@
style="@style/Signal.Text.Caption"
android:text="@string/conversation_input_panel__slide_to_cancel"
android:textAllCaps="true"
android:textColor="@color/core_light_60"
android:textColor="@color/core_grey_60"
android:ellipsize="none"
android:visibility="gone"
android:paddingRight="50dp"

View file

@ -36,7 +36,7 @@
android:clipToPadding="false"
android:clipChildren="false"
android:background="@color/white"
tools:backgroundTint="@color/core_light_10">
tools:backgroundTint="@color/core_grey_05">
<org.thoughtcrime.securesms.components.QuoteView
android:id="@+id/quote_view"
@ -127,6 +127,7 @@
android:layout_marginBottom="@dimen/message_bubble_bottom_padding"
android:clipChildren="false"
android:clipToPadding="false"
android:alpha="0.8"
app:footer_text_color="?attr/conversation_item_sent_text_secondary_color"
app:footer_icon_color="?attr/conversation_item_sent_icon_color"/>

View file

@ -13,7 +13,7 @@
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:background="?attr/conversation_list_toolbar_background"
app:contentInsetStart="14dp"
app:contentInsetLeft="14dp"
android:elevation="4dp"

View file

@ -77,6 +77,7 @@
android:visibility="gone"
android:background="@drawable/circle_touch_highlight_background"
android:src="@drawable/ic_download_circle_fill_white_48dp"
android:tint="@color/core_grey_60"
android:contentDescription="@string/audio_view__download_accessibility_description"/>
</org.thoughtcrime.securesms.components.AnimatingToggle>

View file

@ -75,7 +75,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Signal.Text.Body"
android:textColor="@color/core_light_90"
android:textColor="@color/core_grey_90"
android:maxLines="1"
android:ellipsize="end"
tools:text="The-Amazing-Spider-Man.cba" />
@ -88,7 +88,7 @@
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
style="@style/Signal.Text.Caption"
android:textColor="@color/core_light_90"
android:textColor="@color/core_grey_90"
android:paddingTop="4dp"
android:textStyle="italic"
android:visibility="gone"
@ -168,7 +168,7 @@
android:layout_height="wrap_content"
style="@style/Signal.Text.Caption"
android:text="@string/QuoteView_original_missing"
android:textColor="@color/core_light_90"/>
android:textColor="@color/core_grey_90"/>
</LinearLayout>

View file

@ -4,5 +4,5 @@
android:id="@+id/emoji_drawer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/core_light_90"
android:background="@color/core_grey_90"
android:visibility="gone" />

View file

@ -7,7 +7,7 @@
android:layout_height="match_parent"
android:orientation="vertical"
tools:parentTag="android.widget.LinearLayout"
tools:background="@color/core_light_60">
tools:background="@color/core_grey_60">
<FrameLayout
android:layout_width="match_parent"

View file

@ -18,7 +18,7 @@
android:padding="15dp"
android:gravity="center"
android:longClickable="false"
android:textColor="?conversation_item_received_text_primary_color"
android:textColor="?conversation_item_sent_text_primary_color"
android:drawableLeft="@drawable/ic_file_download_white_36dp"
android:textSize="16dp"
android:visibility="gone"

View file

@ -13,6 +13,7 @@
<attr name="conversation_list_item_date_color" format="reference|color"/>
<attr name="conversation_list_item_unread_color" format="reference|color"/>
<attr name="conversation_list_item_divider" format="reference"/>
<attr name="conversation_list_toolbar_background" format="reference"/>
<attr name="conversation_sent_card_background" format="reference|color"/>
<attr name="conversation_group_member_name" format="reference|color"/>

View file

@ -1,32 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="conversation_red">#d32f2f</color>
<color name="conversation_red_shade">#9a0007</color>
<color name="conversation_crimson">#cc163d</color>
<color name="conversation_crimson_tint">#eda6ae</color>
<color name="conversation_crimson_shade">#8a0f29</color>
<color name="conversation_pink">#d81b60</color>
<color name="conversation_pink_shade">#a00037</color>
<color name="conversation_vermillion">#c73800</color>
<color name="conversation_vermillion_tint">#eba78e</color>
<color name="conversation_vermillion_shade">#872600</color>
<color name="conversation_purple">#8e24aa</color>
<color name="conversation_purple_shade">#5c007a</color>
<color name="conversation_burlap">#756c53</color>
<color name="conversation_burlap_tint">#c4b997</color>
<color name="conversation_burlap_shade">#58513c</color>
<color name="conversation_indigo">#3949ab</color>
<color name="conversation_indigo_shade">#00227b</color>
<color name="conversation_forest">#3b7845</color>
<color name="conversation_forest_tint">#8fcc9a</color>
<color name="conversation_forest_shade">#2b5934</color>
<color name="conversation_blue">#1976d2</color>
<color name="conversation_blue_shade">#004ba0</color>
<color name="conversation_wintergreen">#1c8260</color>
<color name="conversation_wintergreen_tint">#9bcfbd</color>
<color name="conversation_wintergreen_shade">#36544a</color>
<color name="conversation_cyan">#00838f</color>
<color name="conversation_cyan_shade">#005662</color>
<color name="conversation_teal">#067589</color>
<color name="conversation_teal_tint">#a5cad5</color>
<color name="conversation_teal_shade">#055968</color>
<color name="conversation_teal">#00796b</color>
<color name="conversation_teal_shade">#004c40</color>
<color name="conversation_blue">#336ba3</color>
<color name="conversation_blue_tint">#adc8e1</color>
<color name="conversation_blue_shade">#285480</color>
<color name="conversation_green">#2e7d32</color>
<color name="conversation_green_shade">#005005</color>
<color name="conversation_indigo">#5951c8</color>
<color name="conversation_indigo_tint">#c2c1e8</color>
<color name="conversation_indigo_shade">#4840a0</color>
<color name="conversation_orange">#bf360c</color>
<color name="conversation_orange_shade">#870000</color>
<color name="conversation_violet">#862caf</color>
<color name="conversation_violet_tint">#cdaddc</color>
<color name="conversation_violet_shade">#6b248a</color>
<color name="conversation_grey">#757575</color>
<color name="conversation_grey_shade">#494949</color>
<color name="conversation_plumb">#a23474</color>
<color name="conversation_plumb_tint">#dcb2ca</color>
<color name="conversation_plumb_shade">#881b5b</color>
<color name="conversation_taupe">#895d66</color>
<color name="conversation_taupe_tint">#cfb5bb</color>
<color name="conversation_taupe_shade">#6a4e54</color>
<color name="conversation_steel">#6b6b78</color>
<color name="conversation_steel_tint">#bebec6</color>
<color name="conversation_steel_shade">#5a5a63</color>
</resources>

View file

@ -6,19 +6,16 @@
<color name="core_red_highlight">#ef5350</color>
<color name="core_white">#ffffff</color>
<color name="core_light_02">#F9FAFA</color>
<color name="core_light_10">#EEEFEF</color>
<color name="core_light_35">#A4A6A9</color>
<color name="core_light_45">#8B8E91</color>
<color name="core_light_60">#62656A</color>
<color name="core_light_90">#070C14</color>
<color name="core_black">#000000</color>
<color name="core_dark_05">#EFEFEF</color>
<color name="core_dark_30">#A8A9AA</color>
<color name="core_dark_55">#88898C</color>
<color name="core_dark_60">#797A7C</color>
<color name="core_dark_70">#414347</color>
<color name="core_dark_85">#1A1C20</color>
<color name="core_dark_95">#0A0C11</color>
<color name="core_grey_02">#f8f9f9</color>
<color name="core_grey_05">#eeefef</color>
<color name="core_grey_15">#d5d6d6</color>
<color name="core_grey_25">#bbbdbe</color>
<color name="core_grey_45">#898a8c</color>
<color name="core_grey_60">#636467</color>
<color name="core_grey_75">#3d3e44</color>
<color name="core_grey_85">#23252a</color>
<color name="core_grey_90">#17191d</color>
<color name="core_grey_95">#0f1012</color>
</resources>

View file

@ -174,7 +174,7 @@
<item name="android:background">@null</item>
<item name="android:maxLines">4</item>
<item name="android:maxLength">2000</item>
<item name="android:textColor">?conversation_item_sent_text_primary_color</item>
<item name="android:textColor">?conversation_item_received_text_primary_color</item>
<item name="android:capitalize">sentences</item>
<item name="android:autoText">true</item>
<item name="android:gravity">center_vertical</item>

View file

@ -21,8 +21,8 @@
<item name="media_overview_toolbar_background">@color/white</item>
<item name="media_overview_toolbar_foreground">@color/gray70</item>
<item name="media_overview_header_foreground">@color/gray50</item>
<item name="media_overview_document_primary">@color/core_light_90</item>
<item name="media_overview_document_secondary">@color/core_light_60</item>
<item name="media_overview_document_primary">@color/core_grey_90</item>
<item name="media_overview_document_secondary">@color/core_grey_60</item>
</style>
<style name="TextSecure.DarkNoActionBar" parent="@style/TextSecure.DarkTheme">
@ -45,8 +45,8 @@
<item name="media_overview_toolbar_background">@color/black</item>
<item name="media_overview_toolbar_foreground">@color/white</item>
<item name="media_overview_header_foreground">@color/gray10</item>
<item name="media_overview_document_primary">@color/core_dark_05</item>
<item name="media_overview_document_secondary">@color/core_dark_30</item>
<item name="media_overview_document_primary">@color/core_grey_05</item>
<item name="media_overview_document_secondary">@color/core_grey_25</item>
</style>
<style name="TextSecure.HighlightTheme" parent="@style/TextSecure.LightTheme">
@ -86,7 +86,7 @@
<item name="centered_app_title_color">@color/gray27</item>
<item name="ic_arrow_forward">@drawable/ic_arrow_forward_dark</item>
<item name="lockscreen_watermark">@drawable/lockscreen_watermark_dark</item>
<item name="android:windowBackground">@color/black</item>
<item name="android:windowBackground">@color/core_grey_95</item>
<item name="ic_visibility">@drawable/ic_visibility_white_24dp</item>
<item name="ic_visibility_off">@drawable/ic_visibility_off_white_24dp</item>
@ -132,12 +132,13 @@
<item name="attachment_document_icon_large">@drawable/ic_document_large_light</item>
<item name="conversation_list_item_background">@drawable/conversation_list_item_background</item>
<item name="conversation_list_item_contact_color">@color/core_light_90</item>
<item name="conversation_list_item_subject_color">@color/core_light_60</item>
<item name="conversation_list_item_delivery_icon_color">@color/core_light_35</item>
<item name="conversation_list_item_date_color">@color/core_light_60</item>
<item name="conversation_list_item_contact_color">@color/core_grey_90</item>
<item name="conversation_list_item_subject_color">@color/core_grey_60</item>
<item name="conversation_list_item_delivery_icon_color">@color/core_grey_45</item>
<item name="conversation_list_item_date_color">@color/core_grey_60</item>
<item name="conversation_list_item_unread_color">@color/core_black</item>
<item name="conversation_list_item_divider">@drawable/conversation_list_divider_shape</item>
<item name="conversation_list_toolbar_background">@color/core_blue</item>
<item name="fab_color">@color/textsecure_primary</item>
<item name="lower_right_divet">@drawable/divet_lower_right_dark</item>
@ -148,7 +149,7 @@
<item name="conversation_editor_background">#22000000</item>
<item name="conversation_editor_text_color">#ff111111</item>
<item name="conversation_input_background">@drawable/compose_background_light</item>
<item name="conversation_input_inline_attach_icon_tint">@color/core_light_60</item>
<item name="conversation_input_inline_attach_icon_tint">@color/core_grey_60</item>
<item name="conversation_transport_sms_indicator">@drawable/ic_send_sms_insecure</item>
<item name="conversation_transport_push_indicator">@drawable/ic_send_push</item>
<item name="conversation_transport_popup_background">@color/white</item>
@ -185,20 +186,20 @@
<item name="emoji_category_emoticons">@drawable/emoji_category_emoticons_light</item>
<item name="conversation_item_bubble_background">@color/core_light_10</item>
<item name="conversation_item_sent_text_primary_color">@color/core_light_90</item>
<item name="conversation_item_sent_text_secondary_color">@color/core_light_60</item>
<item name="conversation_item_bubble_background">@color/core_grey_05</item>
<item name="conversation_item_sent_text_primary_color">@color/core_white</item>
<item name="conversation_item_sent_text_secondary_color">@color/core_white</item>
<item name="conversation_item_sent_icon_color">@color/core_white</item>
<item name="conversation_item_sent_text_indicator_tab_color">#99000000</item>
<item name="conversation_item_received_text_primary_color">@color/white</item>
<item name="conversation_item_received_text_secondary_color">#ffffff</item>
<item name="conversation_item_update_text_color">@color/core_light_60</item>
<item name="conversation_item_last_seen_text_color">@color/core_light_90</item>
<item name="conversation_item_last_seen_line_color">@color/core_light_60</item>
<item name="conversation_item_date_line_color">@color/core_light_45</item>
<item name="conversation_item_quote_text_color">@color/core_light_90</item>
<item name="conversation_item_received_text_primary_color">@color/core_grey_90</item>
<item name="conversation_item_received_text_secondary_color">@color/core_grey_60</item>
<item name="conversation_item_update_text_color">@color/core_grey_60</item>
<item name="conversation_item_last_seen_text_color">@color/core_grey_90</item>
<item name="conversation_item_last_seen_line_color">@color/core_grey_60</item>
<item name="conversation_item_date_line_color">@color/core_grey_25</item>
<item name="conversation_item_quote_text_color">@color/core_grey_90</item>
<item name="conversation_item_sticky_date_background">@drawable/sticky_date_header_background_light</item>
<item name="conversation_item_sticky_date_text_color">@color/core_light_60</item>
<item name="conversation_item_sent_icon_color">@color/core_light_45</item>
<item name="conversation_item_sticky_date_text_color">@color/core_grey_60</item>
<item name="quick_camera_icon">@drawable/quick_camera_light</item>
<item name="quick_mic_icon">@drawable/ic_mic_grey600_24dp</item>
@ -243,7 +244,7 @@
<item name="pref_divider">@drawable/preference_divider_light</item>
<item name="quote_missing_icon_color">@color/core_light_60</item>
<item name="quote_missing_icon_color">@color/core_grey_60</item>
<item name="group_members_dialog_icon">@drawable/ic_group_grey600_24dp</item>
<item name="preferenceTheme">@style/PreferenceThemeOverlay.Fix</item>
@ -254,7 +255,7 @@
<item name="shared_contact_details_header_background">@color/grey_100</item>
<item name="shared_contact_details_titlebar">@color/grey_400</item>
<item name="shared_contact_item_button_color">@color/core_light_02</item>
<item name="shared_contact_item_button_color">@color/core_grey_02</item>
</style>
<style name="TextSecure.DarkTheme" parent="@style/Theme.AppCompat">
@ -269,7 +270,7 @@
<item name="colorAccent">@color/textsecure_primary_dark</item>
<item name="colorControlActivated">@color/signal_primary_dark</item>
<item name="colorControlHighlight">@color/signal_primary_dark</item>
<item name="android:windowBackground">@color/black</item>
<item name="android:windowBackground">@color/core_grey_95</item>
<item name="alertDialogTheme">@style/AppCompatAlertDialogStyleDark</item>
<item name="android:alertDialogTheme">@style/AppCompatDialogStyleDark</item>
@ -280,28 +281,29 @@
<item name="conversation_list_item_background">@drawable/conversation_list_item_background_dark</item>
<item name="conversation_list_item_contact_color">#ffdddddd</item>
<item name="conversation_list_item_subject_color">#ffdddddd</item>
<item name="conversation_list_item_delivery_icon_color">@color/core_dark_55</item>
<item name="conversation_list_item_delivery_icon_color">@color/core_grey_45</item>
<item name="conversation_list_item_date_color">#ffdddddd</item>
<item name="conversation_list_item_unread_color">@color/core_white</item>
<item name="conversation_list_item_divider">@drawable/conversation_list_divider_shape_dark</item>
<item name="conversation_list_toolbar_background">@color/core_grey_90</item>
<item name="conversation_group_member_name">#99ffffff</item>
<item name="conversation_item_bubble_background">@color/core_dark_70</item>
<item name="conversation_item_sent_text_primary_color">@color/core_dark_05</item>
<item name="conversation_item_sent_text_secondary_color">@color/core_dark_30</item>
<item name="conversation_item_bubble_background">@color/core_grey_75</item>
<item name="conversation_item_sent_text_primary_color">@color/core_grey_05</item>
<item name="conversation_item_sent_text_secondary_color">@color/core_grey_05</item>
<item name="conversation_item_sent_icon_color">@color/core_grey_05</item>
<item name="conversation_item_sent_text_indicator_tab_color">#99ffffff</item>
<item name="conversation_item_received_text_primary_color">@color/core_dark_05</item>
<item name="conversation_item_received_text_secondary_color">#efefef</item>
<item name="conversation_item_received_text_primary_color">@color/core_grey_05</item>
<item name="conversation_item_received_text_secondary_color">@color/core_grey_25</item>
<item name="conversation_item_sent_indicator_text_background">@drawable/conversation_item_sent_indicator_text_shape_dark</item>
<item name="conversation_item_update_text_color">@color/core_light_35</item>
<item name="conversation_item_last_seen_text_color">@color/core_dark_30</item>
<item name="conversation_item_last_seen_line_color">@color/core_dark_30</item>
<item name="conversation_item_date_line_color">@color/core_dark_55</item>
<item name="conversation_item_quote_text_color">@color/core_dark_05</item>
<item name="conversation_item_update_text_color">@color/core_grey_45</item>
<item name="conversation_item_last_seen_text_color">@color/core_grey_25</item>
<item name="conversation_item_last_seen_line_color">@color/core_grey_25</item>
<item name="conversation_item_date_line_color">@color/core_grey_45</item>
<item name="conversation_item_quote_text_color">@color/core_grey_05</item>
<item name="conversation_item_sticky_date_background">@drawable/sticky_date_header_background_dark</item>
<item name="conversation_item_sticky_date_text_color">@color/core_dark_30</item>
<item name="conversation_item_sent_icon_color">@color/core_dark_60</item>
<item name="conversation_item_sticky_date_text_color">@color/core_grey_25</item>
<item name="contact_list_divider">@drawable/contact_list_divider_dark</item>
@ -320,11 +322,11 @@
<item name="fab_color">@color/textsecure_primary_dark</item>
<item name="lower_right_divet">@drawable/divet_lower_right_light</item>
<item name="conversation_background">@color/black</item>
<item name="conversation_background">@color/core_grey_95</item>
<item name="conversation_editor_background">#22ffffff</item>
<item name="conversation_editor_text_color">#ffeeeeee</item>
<item name="conversation_input_background">@drawable/compose_background_dark</item>
<item name="conversation_input_inline_attach_icon_tint">@color/core_dark_05</item>
<item name="conversation_input_inline_attach_icon_tint">@color/core_grey_05</item>
<item name="conversation_transport_sms_indicator">@drawable/ic_send_sms_insecure_dark</item>
<item name="conversation_transport_push_indicator">@drawable/ic_send_push</item>
<item name="conversation_transport_popup_background">@color/black</item>
@ -388,7 +390,7 @@
<item name="pref_divider">@drawable/preference_divider_dark</item>
<item name="quote_missing_icon_color">@color/core_dark_05</item>
<item name="quote_missing_icon_color">@color/core_grey_05</item>
<item name="group_members_dialog_icon">@drawable/ic_group_white_24dp</item>
<item name="preferenceTheme">@style/PreferenceThemeOverlay.Fix</item>
@ -398,7 +400,7 @@
<item name="shared_contact_details_header_background">@color/grey_800</item>
<item name="shared_contact_details_titlebar">@color/grey_900</item>
<item name="shared_contact_item_button_color">@color/core_dark_85</item>
<item name="shared_contact_item_button_color">@color/core_grey_90</item>
</style>
<style name="RationaleDialog" parent="Theme.AppCompat.Light.Dialog.Alert">

View file

@ -2246,12 +2246,14 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
inputPanel.setQuote(GlideApp.with(this),
messageRecord.getDateSent(),
author,
recipient,
body,
slideDeck);
} else {
inputPanel.setQuote(GlideApp.with(this),
messageRecord.getDateSent(),
author,
recipient,
messageRecord.getBody(),
messageRecord.isMms() ? ((MmsMessageRecord) messageRecord).getSlideDeck() : new SlideDeck());
}

View file

@ -303,9 +303,9 @@ public class ConversationItem extends LinearLayout
private void setBubbleState(MessageRecord messageRecord) {
if (messageRecord.isOutgoing()) {
bodyBubble.getBackground().setColorFilter(defaultBubbleColor, PorterDuff.Mode.MULTIPLY);
bodyBubble.getBackground().setColorFilter(messageRecord.getRecipient().getColor().toConversationColor(context), PorterDuff.Mode.MULTIPLY);
} else {
bodyBubble.getBackground().setColorFilter(defaultBubbleColor, PorterDuff.Mode.MULTIPLY);
bodyBubble.getBackground().setColorFilter(messageRecord.getRecipient().getColor().toConversationColor(context), PorterDuff.Mode.MULTIPLY);
}
if (audioViewStub.resolved()) {
@ -315,13 +315,13 @@ public class ConversationItem extends LinearLayout
private void setAudioViewTint(MessageRecord messageRecord, Recipient recipient) {
if (messageRecord.isOutgoing()) {
audioViewStub.get().setTint(Color.WHITE, recipient.getColor().toConversationColor(context));
} else {
if (DynamicTheme.LIGHT.equals(TextSecurePreferences.getTheme(context))) {
audioViewStub.get().setTint(getContext().getResources().getColor(R.color.core_light_60), defaultBubbleColor);
audioViewStub.get().setTint(getContext().getResources().getColor(R.color.core_grey_60), defaultBubbleColor);
} else {
audioViewStub.get().setTint(Color.WHITE, defaultBubbleColor);
}
} else {
audioViewStub.get().setTint(Color.WHITE, recipient.getColor().toConversationColor(context));
}
}
@ -599,7 +599,7 @@ public class ConversationItem extends LinearLayout
if (current.isMms() && !current.isMmsNotification() && ((MediaMmsMessageRecord)current).getQuote() != null) {
Quote quote = ((MediaMmsMessageRecord)current).getQuote();
assert quote != null;
quoteView.setQuote(glideRequests, quote.getId(), Recipient.from(context, quote.getAuthor(), true), quote.getText(), quote.isOriginalMissing(), quote.getAttachment());
quoteView.setQuote(glideRequests, quote.getId(), Recipient.from(context, quote.getAuthor(), true), conversationRecipient, quote.getText(), quote.isOriginalMissing(), quote.getAttachment());
quoteView.setVisibility(View.VISIBLE);
quoteView.getLayoutParams().width = ViewGroup.LayoutParams.WRAP_CONTENT;

View file

@ -2,6 +2,8 @@ package org.thoughtcrime.securesms.color;
import android.content.Context;
import android.graphics.Color;
import android.support.annotation.ColorInt;
import android.support.annotation.ColorRes;
import android.support.annotation.NonNull;
import org.thoughtcrime.securesms.R;
@ -12,119 +14,87 @@ import java.util.Map;
import static org.thoughtcrime.securesms.util.ThemeUtil.isDarkTheme;
public enum MaterialColor {
RED (R.color.conversation_red, R.color.conversation_red_shade, "red"),
PINK (R.color.conversation_pink, R.color.conversation_pink_shade, "pink"),
PURPLE (R.color.conversation_purple, R.color.conversation_purple_shade, "purple"),
INDIGO (R.color.conversation_indigo, R.color.conversation_indigo_shade, "indigo"),
BLUE (R.color.conversation_blue, R.color.conversation_blue_shade, "blue"),
CYAN (R.color.conversation_cyan, R.color.conversation_cyan_shade, "cyan"),
TEAL (R.color.conversation_teal, R.color.conversation_teal_shade, "teal"),
GREEN (R.color.conversation_green, R.color.conversation_green_shade, "green"),
ORANGE (R.color.conversation_orange, R.color.conversation_orange_shade, "orange"),
GREY (R.color.conversation_grey, R.color.conversation_grey_shade, "grey");
CRIMSON (R.color.conversation_crimson, R.color.conversation_crimson_tint, R.color.conversation_crimson_shade, "red"),
VERMILLION (R.color.conversation_vermillion, R.color.conversation_vermillion_tint, R.color.conversation_vermillion_shade, "orange"),
BURLAP (R.color.conversation_burlap, R.color.conversation_burlap_tint, R.color.conversation_burlap_shade, "brown"),
FOREST (R.color.conversation_forest, R.color.conversation_forest_tint, R.color.conversation_forest_shade, "green"),
WINTERGREEN(R.color.conversation_wintergreen, R.color.conversation_wintergreen_tint, R.color.conversation_wintergreen_shade, "light_green"),
TEAL (R.color.conversation_teal, R.color.conversation_teal_tint, R.color.conversation_teal_shade, "teal"),
BLUE (R.color.conversation_blue, R.color.conversation_blue_tint, R.color.conversation_blue_shade, "blue"),
INDIGO (R.color.conversation_indigo, R.color.conversation_indigo_tint, R.color.conversation_indigo_shade, "indigo"),
VIOLET (R.color.conversation_violet, R.color.conversation_violet_tint, R.color.conversation_violet_shade, "purple"),
PLUM (R.color.conversation_plumb, R.color.conversation_plumb_tint, R.color.conversation_plumb_shade, "pink"),
TAUPE (R.color.conversation_taupe, R.color.conversation_taupe_tint, R.color.conversation_taupe_shade, "blue_grey"),
STEEL (R.color.conversation_steel, R.color.conversation_steel_tint, R.color.conversation_steel_shade, "grey");
private static final Map<String, MaterialColor> COLOR_MATCHES = new HashMap<String, MaterialColor>() {{
put("red", RED);
put("brown", RED);
put("pink", PINK);
put("purple", PURPLE);
put("deep_purple", PURPLE);
put("indigo", INDIGO);
put("blue", BLUE);
put("light_blue", BLUE);
put("cyan", CYAN);
put("blue_grey", CYAN);
put("teal", TEAL);
put("green", GREEN);
put("light_green", GREEN);
put("lime", GREEN);
put("orange", ORANGE);
put("amber", ORANGE);
put("deep_orange", ORANGE);
put("yellow", ORANGE);
put("grey", GREY);
put("red", CRIMSON);
put("deep_orange", VERMILLION);
put("orange", VERMILLION);
put("amber", VERMILLION);
put("brown", BURLAP);
put("yellow", BURLAP);
put("pink", PLUM);
put("purple", VIOLET);
put("deep_purple", VIOLET);
put("indigo", INDIGO);
put("blue", BLUE);
put("light_blue", BLUE);
put("cyan", TEAL);
put("teal", TEAL);
put("green", FOREST);
put("light_green", WINTERGREEN);
put("lime", WINTERGREEN);
put("blue_grey", TAUPE);
put("grey", STEEL);
put("group_color", BLUE);
}};
private final int conversationColorLight;
private final int actionBarColorLight;
private final int statusBarColorLight;
private final int conversationColorDark;
private final int actionBarColorDark;
private final int statusBarColorDark;
private final @ColorRes int mainColor;
private final @ColorRes int tintColor;
private final @ColorRes int shadeColor;
private final String serialized;
MaterialColor(int conversationColorLight, int actionBarColorLight,
int statusBarColorLight, int conversationColorDark,
int actionBarColorDark, int statusBarColorDark,
String serialized)
{
this.conversationColorLight = conversationColorLight;
this.actionBarColorLight = actionBarColorLight;
this.statusBarColorLight = statusBarColorLight;
this.conversationColorDark = conversationColorDark;
this.actionBarColorDark = actionBarColorDark;
this.statusBarColorDark = statusBarColorDark;
this.serialized = serialized;
MaterialColor(@ColorRes int mainColor, @ColorRes int tintColor, @ColorRes int shadeColor, String serialized) {
this.mainColor = mainColor;
this.tintColor = tintColor;
this.shadeColor = shadeColor;
this.serialized = serialized;
}
MaterialColor(int conversationColor, int statusBarColor, String serialized)
{
this(conversationColor, conversationColor, statusBarColor,
conversationColor, conversationColor, statusBarColor, serialized);
public @ColorInt int toConversationColor(@NonNull Context context) {
return context.getResources().getColor(mainColor);
}
public int toConversationColor(@NonNull Context context) {
return context.getResources().getColor(isDarkTheme(context) ? conversationColorDark
: conversationColorLight);
public @ColorInt int toActionBarColor(@NonNull Context context) {
return context.getResources().getColor(mainColor);
}
public int toActionBarColor(@NonNull Context context) {
return context.getResources().getColor(isDarkTheme(context) ? actionBarColorDark
: actionBarColorLight);
public @ColorInt int toStatusBarColor(@NonNull Context context) {
return context.getResources().getColor(shadeColor);
}
public int toStatusBarColor(@NonNull Context context) {
return context.getResources().getColor(isDarkTheme(context) ? statusBarColorDark
: statusBarColorLight);
}
public int toQuoteBarColorResource(@NonNull Context context, boolean outgoing) {
public @ColorRes int toQuoteBarColorResource(@NonNull Context context, boolean outgoing) {
if (outgoing) {
return conversationColorDark;
return isDarkTheme(context) ? R.color.core_black : R.color.core_white;
}
return R.color.white;
return isDarkTheme(context) ? tintColor : shadeColor;
}
public int toQuoteBackgroundColor(@NonNull Context context, boolean outgoing) {
if (outgoing) {
int color = toConversationColor(context);
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);
public @ColorInt int toQuoteBackgroundColor(@NonNull Context context, boolean outgoing) {
return context.getResources().getColor(isDarkTheme(context) ? shadeColor : tintColor);
}
public int toQuoteFooterColor(@NonNull Context context, boolean outgoing) {
if (outgoing) {
int color = toConversationColor(context);
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);
public @ColorInt int toQuoteFooterColor(@NonNull Context context, boolean outgoing) {
return context.getResources().getColor(isDarkTheme(context) ? tintColor : shadeColor);
}
public boolean represents(Context context, int colorValue) {
return context.getResources().getColor(conversationColorDark) == colorValue ||
context.getResources().getColor(conversationColorLight) == colorValue ||
context.getResources().getColor(actionBarColorDark) == colorValue ||
context.getResources().getColor(actionBarColorLight) == colorValue ||
context.getResources().getColor(statusBarColorLight) == colorValue ||
context.getResources().getColor(statusBarColorDark) == colorValue;
return context.getResources().getColor(mainColor) == colorValue ||
context.getResources().getColor(tintColor) == colorValue ||
context.getResources().getColor(shadeColor) == colorValue;
}
public String serialize() {
@ -144,5 +114,4 @@ public enum MaterialColor {
super(message);
}
}
}

View file

@ -11,15 +11,18 @@ import java.util.List;
public class MaterialColors {
public static final MaterialColorList CONVERSATION_PALETTE = new MaterialColorList(new ArrayList<>(Arrays.asList(
MaterialColor.ORANGE,
MaterialColor.RED,
MaterialColor.PINK,
MaterialColor.PURPLE,
MaterialColor.INDIGO,
MaterialColor.PLUM,
MaterialColor.CRIMSON,
MaterialColor.VERMILLION,
MaterialColor.VIOLET,
MaterialColor.BLUE,
MaterialColor.GREEN,
MaterialColor.INDIGO,
MaterialColor.FOREST,
MaterialColor.WINTERGREEN,
MaterialColor.TEAL,
MaterialColor.CYAN
MaterialColor.BURLAP,
MaterialColor.TAUPE,
MaterialColor.STEEL
)));
public static class MaterialColorList {

View file

@ -120,8 +120,8 @@ public class InputPanel extends LinearLayout
composeText.setMediaListener(listener);
}
public void setQuote(@NonNull GlideRequests glideRequests, long id, @NonNull Recipient author, @NonNull String body, @NonNull SlideDeck attachments) {
this.quoteView.setQuote(glideRequests, id, author, body, false, attachments);
public void setQuote(@NonNull GlideRequests glideRequests, long id, @NonNull Recipient author, @NonNull Recipient conversation, @NonNull String body, @NonNull SlideDeck attachments) {
this.quoteView.setQuote(glideRequests, id, author, conversation, body, false, attachments);
this.quoteView.setVisibility(View.VISIBLE);
}

View file

@ -54,6 +54,7 @@ public class QuoteView extends FrameLayout implements RecipientModifiedListener
private long id;
private Recipient author;
private Recipient conversation;
private String body;
private TextView mediaDescriptionText;
private TextView missingLinkText;
@ -154,22 +155,24 @@ public class QuoteView extends FrameLayout implements RecipientModifiedListener
public void setQuote(GlideRequests glideRequests,
long id,
@NonNull Recipient author,
@NonNull Recipient conversation,
@Nullable String body,
boolean originalMissing,
@NonNull SlideDeck attachments)
{
if (this.author != null) this.author.removeListener(this);
this.id = id;
this.author = author;
this.body = body;
this.attachments = attachments;
this.id = id;
this.author = author;
this.conversation = conversation;
this.body = body;
this.attachments = attachments;
author.addListener(this);
setQuoteAuthor(author);
setQuoteAuthor(author, conversation);
setQuoteText(body, attachments);
setQuoteAttachment(glideRequests, attachments);
setQuoteMissingFooter(originalMissing);
setQuoteMissingFooter(originalMissing, conversation);
}
public void setTopCornerSizes(boolean topLeftLarge, boolean topRightLarge) {
@ -191,21 +194,21 @@ public class QuoteView extends FrameLayout implements RecipientModifiedListener
public void onModified(Recipient recipient) {
Util.runOnMain(() -> {
if (recipient == author) {
setQuoteAuthor(recipient);
setQuoteAuthor(recipient, conversation);
}
});
}
private void setQuoteAuthor(@NonNull Recipient author) {
boolean outgoing = messageType != MESSAGE_TYPE_INCOMING;
private void setQuoteAuthor(@NonNull Recipient author, @NonNull Recipient conversation) {
boolean outgoing = messageType == MESSAGE_TYPE_OUTGOING;
boolean isOwnNumber = Util.isOwnNumber(getContext(), author.getAddress());
authorView.setText(isOwnNumber ? getContext().getString(R.string.QuoteView_you)
: author.toShortString());
// We use the raw color resource because Android 4.x was struggling with tints here
quoteBarView.setImageResource(author.getColor().toQuoteBarColorResource(getContext(), outgoing));
mainView.setBackgroundColor(author.getColor().toQuoteBackgroundColor(getContext(), outgoing));
quoteBarView.setImageResource(conversation.getColor().toQuoteBarColorResource(getContext(), outgoing));
mainView.setBackgroundColor(conversation.getColor().toQuoteBackgroundColor(getContext(), outgoing));
}
private void setQuoteText(@Nullable String body, @NonNull SlideDeck attachments) {
@ -268,9 +271,9 @@ public class QuoteView extends FrameLayout implements RecipientModifiedListener
}
}
private void setQuoteMissingFooter(boolean missing) {
private void setQuoteMissingFooter(boolean missing, @NonNull Recipient conversation) {
footerView.setVisibility(missing ? VISIBLE : GONE);
footerView.setBackgroundColor(author.getColor().toQuoteFooterColor(getContext(), messageType != MESSAGE_TYPE_INCOMING));
footerView.setBackgroundColor(conversation.getColor().toQuoteFooterColor(getContext(), messageType == MESSAGE_TYPE_OUTGOING));
}
public long getQuoteId() {

View file

@ -7,7 +7,7 @@ import org.thoughtcrime.securesms.color.MaterialColors;
public class ContactColors {
public static final MaterialColor UNKNOWN_COLOR = MaterialColor.GREY;
public static final MaterialColor UNKNOWN_COLOR = MaterialColor.STEEL;
private static final String[] LEGACY_PALETTE = new String[] {
"red",