From 4e55d2d94178300440cae14b326259a01e3f6e95 Mon Sep 17 00:00:00 2001 From: Alan Evans Date: Tue, 21 Jul 2020 15:54:34 -0300 Subject: [PATCH] Tint pending group invites menu icon. --- .../securesms/groups/ui/PopupMenuView.java | 27 ++++++++++++++++--- .../res/layout/group_recipient_list_item.xml | 11 ++++---- app/src/main/res/values/attrs.xml | 4 +++ 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/PopupMenuView.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/PopupMenuView.java index 4014fed4f..2ceb6552d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/PopupMenuView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/PopupMenuView.java @@ -1,6 +1,9 @@ package org.thoughtcrime.securesms.groups.ui; import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Color; +import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.Menu; import android.view.MenuInflater; @@ -12,9 +15,13 @@ import androidx.annotation.MenuRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.PopupMenu; +import androidx.core.content.ContextCompat; +import androidx.core.graphics.drawable.DrawableCompat; import org.thoughtcrime.securesms.R; +import java.util.Objects; + public final class PopupMenuView extends View { @MenuRes private int menu; @@ -23,22 +30,34 @@ public final class PopupMenuView extends View { public PopupMenuView(Context context) { super(context); - init(); + init(null); } public PopupMenuView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); - init(); + init(attrs); } public PopupMenuView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); - init(); + init(attrs); } - private void init() { + private void init(@Nullable AttributeSet attrs) { setBackgroundResource(R.drawable.ic_more_vert_24); + if (attrs != null) { + TypedArray typedArray = getContext().getTheme().obtainStyledAttributes(attrs, R.styleable.PopupMenuView, 0, 0); + int tint = typedArray.getColor(R.styleable.PopupMenuView_background_tint, Color.BLACK); + Drawable drawable = ContextCompat.getDrawable(getContext(), R.drawable.ic_more_vert_24); + + DrawableCompat.setTint(Objects.requireNonNull(drawable), tint); + + setBackground(drawable); + + typedArray.recycle(); + } + setOnClickListener(v -> { if (callback != null) { PopupMenu popup = new PopupMenu(getContext(), v); diff --git a/app/src/main/res/layout/group_recipient_list_item.xml b/app/src/main/res/layout/group_recipient_list_item.xml index b768e3c6e..698c37b69 100644 --- a/app/src/main/res/layout/group_recipient_list_item.xml +++ b/app/src/main/res/layout/group_recipient_list_item.xml @@ -16,19 +16,19 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" - tools:src="@tools:sample/avatars"/> + tools:src="@tools:sample/avatars" /> + tools:checked="true" /> + + + +