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" />
+
+
+
+