Signal-android: Dark theme: Color of hourglass symbol for disappearing messages not adjusted for dark theme

Created on 8 Oct 2016  路  6Comments  路  Source: signalapp/Signal-Android

I have:


Bug description

The color of the hourglass symbol for disappearing messages is not adjusted for the dark theme. See screenshot below.

Steps to reproduce

  • Switch to dark theme
  • Send a disappearing message

Actual result: Hourglass symbol is black
Expected result: Hourglass symbol should have the same color (gray) as the checkmark & lock symbols

Screenshots

screenshot_20161008-131810_cr

Device info

Device: LG Nexus 5X
Android version: 7.0.0
Signal version: 3.20.2

ux

Most helpful comment

Seems to affect only your own messages. Received messages have a light hourglass.

@2-4601 Yes, I think I can see that in the code.

Just stabbing in the dark with zero knowledge (but sometimes capable of copying & pasting) ...

In this line
https://github.com/WhisperSystems/Signal-Android/blob/0a569676f7a57144374a24faef566b2ca3233290/res/layout/conversation_item_sent.xml#L161

could you replace

app:tint="@color/black"

with

app:tint="?conversation_item_sent_text_secondary_color"

and test that? Somehow my new installation of Android Studio doesn't want me to import Signal currently...

All 6 comments

Seems to affect only your own messages. Received messages have a light hourglass.

Seems to affect only your own messages. Received messages have a light hourglass.

@2-4601 Yes, I think I can see that in the code.

Just stabbing in the dark with zero knowledge (but sometimes capable of copying & pasting) ...

In this line
https://github.com/WhisperSystems/Signal-Android/blob/0a569676f7a57144374a24faef566b2ca3233290/res/layout/conversation_item_sent.xml#L161

could you replace

app:tint="@color/black"

with

app:tint="?conversation_item_sent_text_secondary_color"

and test that? Somehow my new installation of Android Studio doesn't want me to import Signal currently...

Works. Tested on Android 4.4.4. Will you open a PR @RiseT ?

@FeuRenard
Hurray. One shot, one hit. Yes, will do a PR.

Just one question in order to learn something.
I was wondering about the different ways each of these indicators is colored in the code. I would have guessed that these could (and should?) be structured the same way.

Do you know why that is the case, and if there is a "best" way of doing this?

Thanks in advance.

In conversation_item_sent.xml,

_delivery_status_ (the checkmarks) uses

app:iconColor="?conversation_item_sent_text_secondary_color"/>

and _secure_indicator_ (the lock) uses

android:tint="?conversation_item_sent_text_secondary_color"
android:tintMode="multiply"

In conversation_item_received.xml,

_expiration_indicator_ (the hourglass) uses

app:tint="?conversation_item_received_text_secondary_color"

@RiseT good question! Those ones starting with app: are custom properties. They're defined in res/values/attrs.xml.
Your second example (secure_indicator) is an ImageView on which you can directly set the android:tint property. Examples 1 and 3, on the other hand, are custom components (DeliveryStatusView and ExpirationTimerView). They probably contain ImageViews and some Java code which takes the custom property value and tints its ImageViews with it :)

This is still not fixed as of version 4.5.3.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

vvug picture vvug  路  3Comments

vvug picture vvug  路  3Comments

wesinator picture wesinator  路  3Comments

derWalter picture derWalter  路  3Comments

notthematrix picture notthematrix  路  3Comments