diff --git a/app/src/main/java/org/thoughtcrime/securesms/contacts/avatars/GroupFallbackPhoto80.java b/app/src/main/java/org/thoughtcrime/securesms/contacts/avatars/GroupFallbackPhoto80.java
new file mode 100644
index 0000000000..a2633fb346
--- /dev/null
+++ b/app/src/main/java/org/thoughtcrime/securesms/contacts/avatars/GroupFallbackPhoto80.java
@@ -0,0 +1,55 @@
+package org.thoughtcrime.securesms.contacts.avatars;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.InsetDrawable;
+import android.graphics.drawable.LayerDrawable;
+import android.os.Build;
+
+import androidx.annotation.NonNull;
+import androidx.appcompat.content.res.AppCompatResources;
+import androidx.core.content.ContextCompat;
+import androidx.core.graphics.drawable.DrawableCompat;
+
+import org.thoughtcrime.securesms.R;
+import org.thoughtcrime.securesms.color.MaterialColor;
+import org.thoughtcrime.securesms.util.ThemeUtil;
+import org.thoughtcrime.securesms.util.ViewUtil;
+
+import java.util.Objects;
+
+public final class GroupFallbackPhoto80 implements FallbackContactPhoto {
+ @Override
+ public Drawable asDrawable(Context context, int color) {
+ return buildDrawable(context);
+ }
+
+ @Override
+ public Drawable asDrawable(Context context, int color, boolean inverted) {
+ return buildDrawable(context);
+ }
+
+ @Override
+ public Drawable asSmallDrawable(Context context, int color, boolean inverted) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Drawable asCallCard(Context context) {
+ throw new UnsupportedOperationException();
+ }
+
+ private @NonNull Drawable buildDrawable(@NonNull Context context) {
+ Drawable background = DrawableCompat.wrap(Objects.requireNonNull(AppCompatResources.getDrawable(context, R.drawable.circle_tintable)));
+ Drawable foreground = AppCompatResources.getDrawable(context, R.drawable.ic_group_80);
+ Drawable gradient = ThemeUtil.getThemedDrawable(context, R.attr.resource_placeholder_gradient);
+ LayerDrawable drawable = new LayerDrawable(new Drawable[]{background, foreground, gradient});
+ int foregroundInset = ViewUtil.dpToPx(24);
+
+ DrawableCompat.setTint(background, MaterialColor.ULTRAMARINE.toAvatarColor(context));
+
+ drawable.setLayerInset(1, foregroundInset, foregroundInset, foregroundInset, foregroundInset);
+
+ return drawable;
+ }
+}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupFragment.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupFragment.java
index c5c7ff302b..ac5cba2d1d 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupFragment.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/managegroup/ManageGroupFragment.java
@@ -31,6 +31,7 @@ import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.components.AvatarImageView;
import org.thoughtcrime.securesms.components.ThreadPhotoRailView;
import org.thoughtcrime.securesms.contacts.avatars.FallbackContactPhoto;
+import org.thoughtcrime.securesms.contacts.avatars.GroupFallbackPhoto80;
import org.thoughtcrime.securesms.groups.GroupId;
import org.thoughtcrime.securesms.groups.ui.GroupMemberListView;
import org.thoughtcrime.securesms.groups.ui.LeaveGroupDialog;
@@ -96,27 +97,7 @@ public class ManageGroupFragment extends Fragment {
private final Recipient.FallbackPhotoProvider fallbackPhotoProvider = new Recipient.FallbackPhotoProvider() {
@Override
public @NonNull FallbackContactPhoto getPhotoForGroup() {
- return new FallbackContactPhoto() {
- @Override
- public Drawable asDrawable(Context context, int color) {
- return ThemeUtil.getThemedDrawable(context, R.attr.group_resource_placeholder_80);
- }
-
- @Override
- public Drawable asDrawable(Context context, int color, boolean inverted) {
- return asDrawable(context, color);
- }
-
- @Override
- public Drawable asSmallDrawable(Context context, int color, boolean inverted) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Drawable asCallCard(Context context) {
- throw new UnsupportedOperationException();
- }
- };
+ return new GroupFallbackPhoto80();
}
};
diff --git a/app/src/main/res/drawable/group_resource_placeholder_80.xml b/app/src/main/res/drawable/group_resource_placeholder_80.xml
deleted file mode 100644
index 5819d71f95..0000000000
--- a/app/src/main/res/drawable/group_resource_placeholder_80.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
- -
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index fd3122dd95..bd0edc7767 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -31,9 +31,7 @@
-
-
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 345adca46e..54c2dd9d21 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -162,9 +162,7 @@
- @color/core_grey_02
- @color/core_grey_15
- - @drawable/group_resource_placeholder_80
- @drawable/avatar_gradient_light
- - @color/core_ultramarine
- @style/Signal.SearchView
- @style/Signal.SearchView.Dark
@@ -456,9 +454,7 @@
- @color/core_grey_60
- @color/core_grey_80
- - @drawable/group_resource_placeholder_80
- @drawable/avatar_gradient_dark
- - @color/core_ultramarine
- @style/Signal.SearchView
- @style/Signal.SearchView.Dark