From c3b28a35c7b2facd30d034209f455e6abdf592c4 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Wed, 14 Apr 2021 13:32:32 +0200 Subject: [PATCH 01/12] use headline color for participants list item headline(s) Signed-off-by: Andy Scherzinger --- app/src/main/res/values/styles.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 0f91348e2..111ba3ef0 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -30,7 +30,7 @@ @color/colorAccent @color/colorPrimary @color/nc_outcoming_text_default - @color/nc_incoming_text_default + @color/conversation_item_header @style/appActionBarPopupMenu @style/appActionBarPopupMenu @style/appActionBarPopupMenu From 690d09eb602642e91e509a05603f7036a45fdaf9 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Wed, 14 Apr 2021 17:05:33 +0200 Subject: [PATCH 02/12] optimize grey tones regarding WCAG guidelines and material design standard colors Signed-off-by: Andy Scherzinger --- .../talk/adapters/items/UserItem.java | 21 +++++++++++-------- .../layout/controller_conversation_info.xml | 2 +- .../main/res/layout/controller_profile.xml | 5 ++--- .../main/res/layout/controller_settings.xml | 8 ++++--- .../rv_item_conversation_info_participant.xml | 7 ++++--- app/src/main/res/layout/rv_item_mention.xml | 6 ++---- app/src/main/res/values-night/colors.xml | 5 ++++- app/src/main/res/values/colors.xml | 7 ++++++- app/src/main/res/values/styles.xml | 7 +++++-- 9 files changed, 41 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java b/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java index 1859bc684..87ba9093d 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java +++ b/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java @@ -42,6 +42,8 @@ import java.util.regex.Pattern; import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.core.content.res.ResourcesCompat; import androidx.emoji.widget.EmojiTextView; import butterknife.BindView; import butterknife.ButterKnife; @@ -121,16 +123,18 @@ public class UserItem extends AbstractFlexibleItem } if (!isOnline) { - if (holder.contactMentionId != null) { - holder.contactMentionId.setAlpha(0.38f); - } - holder.contactDisplayName.setAlpha(0.38f); + holder.contactDisplayName.setTextColor(ResourcesCompat.getColor( + holder.contactDisplayName.getContext().getResources(), + R.color.medium_emphasis_text, + null) + ); holder.simpleDraweeView.setAlpha(0.38f); } else { - if (holder.contactMentionId != null) { - holder.contactMentionId.setAlpha(1.0f); - } - holder.contactDisplayName.setAlpha(1.0f); + holder.contactDisplayName.setTextColor(ResourcesCompat.getColor( + holder.contactDisplayName.getContext().getResources(), + R.color.high_emphasis_text, + null) + ); holder.simpleDraweeView.setAlpha(1.0f); } @@ -243,7 +247,6 @@ public class UserItem extends AbstractFlexibleItem if (!holder.contactMentionId.getText().equals(userType)) { holder.contactMentionId.setText(userType); - holder.contactMentionId.setTextColor(NextcloudTalkApplication.Companion.getSharedApplication().getResources().getColor(R.color.textColorMaxContrast)); } } } diff --git a/app/src/main/res/layout/controller_conversation_info.xml b/app/src/main/res/layout/controller_conversation_info.xml index a8a89b44c..57c6cefd5 100644 --- a/app/src/main/res/layout/controller_conversation_info.xml +++ b/app/src/main/res/layout/controller_conversation_info.xml @@ -127,7 +127,7 @@ android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="wrap_content" - tools:listitem="@layout/rv_item_contact" /> + tools:listitem="@layout/rv_item_conversation_info_participant" /> diff --git a/app/src/main/res/layout/controller_profile.xml b/app/src/main/res/layout/controller_profile.xml index ba793c4b1..39a3f675e 100644 --- a/app/src/main/res/layout/controller_profile.xml +++ b/app/src/main/res/layout/controller_profile.xml @@ -37,7 +37,8 @@ android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:transitionName="userAvatar.transitionTag" - app:roundAsCircle="true" /> + app:roundAsCircle="true" + tools:src="@tools:sample/avatars[0]" /> @@ -60,7 +61,7 @@ android:layout_below="@id/avatar_image" android:layout_centerHorizontal="true" android:layout_marginTop="@dimen/margin_between_elements" - android:textColor="@color/nc_incoming_text_default" /> + tools:text="Jane Doe" /> + tools:text="jane@nextcloud.com"/> + apc:roundAsCircle="true" + tools:src="@tools:sample/avatars[0]" /> + android:textColor="@color/conversation_item_header" + tools:text="Jane Doe" /> + android:textColor="?android:attr/textColorSecondary" + tools:text="Moderator" /> diff --git a/app/src/main/res/layout/rv_item_mention.xml b/app/src/main/res/layout/rv_item_mention.xml index 4a93c0991..d8187d6ee 100644 --- a/app/src/main/res/layout/rv_item_mention.xml +++ b/app/src/main/res/layout/rv_item_mention.xml @@ -58,8 +58,7 @@ android:layout_height="wrap_content" android:ellipsize="middle" android:singleLine="true" - android:textColor="@color/textColorMaxContrast" - android:textSize="16sp" + android:textAppearance="?android:attr/textAppearanceListItem" tools:text="Call item text" /> diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml index 85576dd37..2d71a2a7e 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -32,7 +32,10 @@ #1E1E1E #FFFFFF - #deffffff + + #deffffff + #99ffffff + #61ffffff #121212 @color/grey950 diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index e2564e3e4..608cce367 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -33,13 +33,18 @@ #666666 #A5A5A5 + + #de000000 + #99000000 + #61000000 + #FFFFFF #37505D - #000000 + @color/high_emphasis_text #DBDBDB #222222 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 111ba3ef0..b52a805f9 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -31,6 +31,9 @@ @color/colorPrimary @color/nc_outcoming_text_default @color/conversation_item_header + @color/high_emphasis_text + @color/medium_emphasis_text + @color/low_emphasis_text @style/appActionBarPopupMenu @style/appActionBarPopupMenu @style/appActionBarPopupMenu @@ -44,7 +47,7 @@ @@ -65,7 +68,7 @@ @color/fg_inverse @color/fontAppbar @color/appbar - @color/conversation_item_header + @color/high_emphasis_text @color/fontAppbar From b80396b34bb41dba4d8c2648387dcd22b6f243d7 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Wed, 14 Apr 2021 18:09:11 +0200 Subject: [PATCH 03/12] sort participants list Signed-off-by: Andy Scherzinger --- .../talk/adapters/items/UserItem.java | 12 ++++------ .../controllers/ConversationInfoController.kt | 22 ++++++++++++++++--- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java b/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java index 87ba9093d..d13d9b292 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java +++ b/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java @@ -26,6 +26,10 @@ import android.text.TextUtils; import android.view.View; import android.widget.ImageView; +import androidx.annotation.Nullable; +import androidx.core.content.res.ResourcesCompat; +import androidx.emoji.widget.EmojiTextView; + import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.drawee.interfaces.DraweeController; import com.facebook.drawee.view.SimpleDraweeView; @@ -40,11 +44,6 @@ import com.nextcloud.talk.utils.DisplayUtils; import java.util.List; import java.util.regex.Pattern; -import androidx.annotation.Nullable; - -import androidx.core.content.ContextCompat; -import androidx.core.content.res.ResourcesCompat; -import androidx.emoji.widget.EmojiTextView; import butterknife.BindView; import butterknife.ButterKnife; import eu.davidea.flexibleadapter.FlexibleAdapter; @@ -269,7 +268,6 @@ public class UserItem extends AbstractFlexibleItem this.header = header; } - static class UserItemViewHolder extends FlexibleViewHolder { @BindView(R.id.name_text) @@ -297,6 +295,4 @@ public class UserItem extends AbstractFlexibleItem ButterKnife.bind(this, view); } } - - } diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ConversationInfoController.kt b/app/src/main/java/com/nextcloud/talk/controllers/ConversationInfoController.kt index c5678fe8c..f9a31e419 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ConversationInfoController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/ConversationInfoController.kt @@ -78,7 +78,6 @@ import com.yarolegovich.mp.MaterialStandardPreference import com.yarolegovich.mp.MaterialSwitchPreference import eu.davidea.flexibleadapter.FlexibleAdapter import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager -import eu.davidea.flexibleadapter.items.AbstractFlexibleItem import io.reactivex.Observer import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable @@ -142,8 +141,8 @@ class ConversationInfoController(args: Bundle) : BaseController(args), FlexibleA private var databaseStorageModule: DatabaseStorageModule? = null private var conversation: Conversation? = null - private var adapter: FlexibleAdapter>? = null - private var recyclerViewItems: MutableList> = ArrayList() + private var adapter: FlexibleAdapter? = null + private var recyclerViewItems: MutableList = ArrayList() private var saveStateHandler: LovelySaveStateHandler? = null @@ -376,6 +375,7 @@ class ConversationInfoController(args: Bundle) : BaseController(args), FlexibleA } } + Collections.sort(recyclerViewItems, UserItemComparator()) if (ownUserItem != null) { recyclerViewItems.add(0, ownUserItem) @@ -684,4 +684,20 @@ class ConversationInfoController(args: Bundle) : BaseController(args), FlexibleA private const val ID_DELETE_CONVERSATION_DIALOG = 0 } + + class UserItemComparator : Comparator { + override fun compare(left: UserItem, right: UserItem): Int { + if (left.isOnline && !right.isOnline) { + return -1 + } else if (!left.isOnline && right.isOnline) { + return 1 + } + if (Participant.ParticipantType.MODERATOR == left.model.type && Participant.ParticipantType.MODERATOR != right.model.type) { + return -1 + } else if (Participant.ParticipantType.MODERATOR != left.model.type && Participant.ParticipantType.MODERATOR == right.model.type) { + return 1 + } + return left.model.displayName.compareTo(right.model.displayName) + } + } } From 80905f6ed2cf7bfcdc30069bafcc39dc08e6b29c Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Wed, 14 Apr 2021 18:13:23 +0200 Subject: [PATCH 04/12] WCAG: prevent click-ability for unread-message counter, add description to image button Signed-off-by: Andy Scherzinger --- .../main/res/layout/rv_item_conversation_with_last_message.xml | 1 + app/src/main/res/layout/search_layout.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/app/src/main/res/layout/rv_item_conversation_with_last_message.xml b/app/src/main/res/layout/rv_item_conversation_with_last_message.xml index aa8cc7641..f7c055a03 100644 --- a/app/src/main/res/layout/rv_item_conversation_with_last_message.xml +++ b/app/src/main/res/layout/rv_item_conversation_with_last_message.xml @@ -92,6 +92,7 @@ android:layout_height="18dp" android:layout_alignParentEnd="true" android:layout_marginStart="8dp" + android:clickable="false" android:gravity="top" android:lines="1" android:textAppearance="@style/ChipUnreadMessagesTextAppearance" diff --git a/app/src/main/res/layout/search_layout.xml b/app/src/main/res/layout/search_layout.xml index 7a91e026f..5f78df5fe 100644 --- a/app/src/main/res/layout/search_layout.xml +++ b/app/src/main/res/layout/search_layout.xml @@ -95,6 +95,7 @@ android:layout_width="48dp" android:layout_height="48dp" android:layout_gravity="center" + android:contentDescription="@string/nc_settings" android:scaleType="fitCenter" android:transitionName="userAvatar.transitionTag" app:cornerRadius="@dimen/button_corner_radius" From 8b0dc345719c4384f2b87c7f916130010eee9352 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Wed, 14 Apr 2021 18:37:04 +0200 Subject: [PATCH 05/12] make text-menu items not all-caps Signed-off-by: Andy Scherzinger --- app/src/main/res/values/styles.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index b52a805f9..0d1b1309e 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -37,6 +37,7 @@ @style/appActionBarPopupMenu @style/appActionBarPopupMenu @style/appActionBarPopupMenu + @style/menuTextAppearance @style/SearchView @color/bg_default @@ -72,6 +73,10 @@ @color/fontAppbar + +