Change power level username colors

Change-Id: If49dbc83268f04bba923838eda1fb7aa461c23cd
This commit is contained in:
SpiritCroc 2021-07-08 20:10:39 +02:00
parent b0206cbc6e
commit 7d377ea418
7 changed files with 41 additions and 8 deletions

View File

@ -18,7 +18,10 @@
<attr name="message_highlight_bg_color" format="color" />
<attr name="user_color_pl_100" format="color" />
<attr name="user_color_pl_95" format="color" />
<attr name="user_color_pl_51" format="color" />
<attr name="user_color_pl_50" format="color" />
<attr name="user_color_pl_1" format="color" />
<attr name="user_color_pl_0" format="color" />
</declare-styleable>

View File

@ -62,14 +62,28 @@
<!-- Power-level based username colors -->
<color name="user_color_sc_pl_100">#F44336</color>
<color name="user_color_sc_pl_95">#FF5722</color>
<color name="user_color_sc_pl_51">#03A9F4</color>
<color name="user_color_sc_pl_50">#2196F3</color>
<color name="user_color_sc_pl_0">@color/accent_sc</color>
<color name="user_color_sc_pl_1">#CDDC39</color>
<color name="user_color_sc_pl_0">#8bc34a</color>
<!--
<color name="user_color_sc_pl_100">#F44336</color>
<color name="user_color_sc_pl_95">#FF5722</color>
<color name="user_color_sc_pl_51">#FF9800</color>
<color name="user_color_sc_pl_50">#2196F3</color>
<color name="user_color_sc_pl_1">#03A9F4</color>
<color name="user_color_sc_pl_0">#8bc34a</color>
-->
<!-- Exposed Element colors -->
<!-- This is actually not an SC color, but the one found in element for ic_material_play_circle PNGs -->
<color name="element_accent_pale">#76cfa6</color>
<color name="user_color_element_pl_100">@color/palette_polly</color>
<color name="user_color_element_pl_95">@color/palette_grape</color>
<color name="user_color_element_pl_51">@color/palette_azure</color>
<color name="user_color_element_pl_50">@color/palette_azure</color>
<color name="user_color_element_pl_1">@color/palette_kiwi</color>
<color name="user_color_element_pl_0">@color/palette_element_green</color>
</resources>

View File

@ -126,7 +126,10 @@
<item name="dense_dropdown_text_input">@style/Widget.Vector.TextInputLayout.Dense.ExposedDropdownMenu.Dark.SC</item>
<item name="message_highlight_bg_color">?vctr_header_background</item>
<item name="user_color_pl_0">@color/user_color_element_pl_0</item>
<item name="user_color_pl_1">@color/user_color_element_pl_1</item>
<item name="user_color_pl_50">@color/user_color_element_pl_50</item>
<item name="user_color_pl_51">@color/user_color_element_pl_51</item>
<item name="user_color_pl_95">@color/user_color_element_pl_95</item>
<item name="user_color_pl_100">@color/user_color_element_pl_100</item>
<item name="android:statusBarColor">@color/android_status_bar_background_dark</item>

View File

@ -126,7 +126,10 @@
<item name="dense_dropdown_text_input">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense.ExposedDropdownMenu</item>
<item name="message_highlight_bg_color">?vctr_header_background</item>
<item name="user_color_pl_0">@color/user_color_element_pl_0</item>
<item name="user_color_pl_1">@color/user_color_element_pl_1</item>
<item name="user_color_pl_50">@color/user_color_element_pl_50</item>
<item name="user_color_pl_51">@color/user_color_element_pl_51</item>
<item name="user_color_pl_95">@color/user_color_element_pl_95</item>
<item name="user_color_pl_100">@color/user_color_element_pl_100</item>
<!-- Use dark color, to have enough contrast with icons color. windowLightStatusBar is only available in API 23+ -->

View File

@ -87,7 +87,10 @@
<item name="colorAccentPale">@color/accent_sc_pale</item>
<item name="message_highlight_bg_color">@color/accent_sc_alpha25</item>
<item name="user_color_pl_0">@color/user_color_sc_pl_0</item>
<item name="user_color_pl_1">@color/user_color_sc_pl_1</item>
<item name="user_color_pl_50">@color/user_color_sc_pl_50</item>
<item name="user_color_pl_51">@color/user_color_sc_pl_51</item>
<item name="user_color_pl_95">@color/user_color_sc_pl_95</item>
<item name="user_color_pl_100">@color/user_color_sc_pl_100</item>
<item name="android:statusBarColor">@color/background_black_sc</item>

View File

@ -87,7 +87,10 @@
<item name="colorAccentPale">@color/accent_sc_pale</item>
<item name="message_highlight_bg_color">#ffe0e0e0</item>
<item name="user_color_pl_0">@color/user_color_sc_pl_0</item>
<item name="user_color_pl_1">@color/user_color_sc_pl_1</item>
<item name="user_color_pl_50">@color/user_color_sc_pl_50</item>
<item name="user_color_pl_51">@color/user_color_sc_pl_51</item>
<item name="user_color_pl_95">@color/user_color_sc_pl_95</item>
<item name="user_color_pl_100">@color/user_color_sc_pl_100</item>
<item name="android:statusBarColor">@color/background_black_sc</item>

View File

@ -41,13 +41,17 @@ class MatrixItemColorProvider @Inject constructor(
val coloringMode = vectorPreferences.userColorMode(userInRoomInformation?.isDm ?: false, userInRoomInformation?.isPublicRoom ?: false)
return when (coloringMode) {
USER_COLORING_FROM_PL -> {
if (userInRoomInformation?.userPowerLevel == null || userInRoomInformation.userPowerLevel < 30) {
colorProvider.getColorFromAttribute(R.attr.user_color_pl_0)
} else if (userInRoomInformation.userPowerLevel < 80) {
colorProvider.getColorFromAttribute(R.attr.user_color_pl_50)
} else {
colorProvider.getColorFromAttribute(R.attr.user_color_pl_100)
}
colorProvider.getColorFromAttribute(
when {
userInRoomInformation?.userPowerLevel == null -> R.attr.user_color_pl_0
userInRoomInformation.userPowerLevel >= 100 -> R.attr.user_color_pl_100
userInRoomInformation.userPowerLevel >= 95 -> R.attr.user_color_pl_95
userInRoomInformation.userPowerLevel >= 51 -> R.attr.user_color_pl_51
userInRoomInformation.userPowerLevel >= 50 -> R.attr.user_color_pl_50
userInRoomInformation.userPowerLevel >= 1 -> R.attr.user_color_pl_1
else -> R.attr.user_color_pl_0
}
)
}
USER_COLORING_FROM_ID -> {
return cache.getOrPut(matrixItem.id) {