Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2020-11-04 19:59:20 +0300
committerStefan Niedermann <info@niedermann.it>2020-11-04 19:59:20 +0300
commit27a07f62966fbd22aa828acb3c386e9a8cbfcfbd (patch)
tree6610631324f70032be6a4c313e4941570c465c48 /app/src/main/java/it/niedermann/nextcloud/deck/ui
parenta78b0f8935d90870527b3e75ed27c4f35349972f (diff)
Provide fallback initials for contacts wtihout avatars
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactItemViewHolder.java30
1 files changed, 25 insertions, 5 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactItemViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactItemViewHolder.java
index 272fcdca3..3a3eee3f9 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactItemViewHolder.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactItemViewHolder.java
@@ -1,7 +1,9 @@
package it.niedermann.nextcloud.deck.ui.card.attachments.picker;
import android.graphics.Bitmap;
+import android.graphics.drawable.ColorDrawable;
import android.net.Uri;
+import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -15,6 +17,10 @@ import java.util.function.Consumer;
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.databinding.ItemPickerUserBinding;
+import static android.view.View.GONE;
+import static android.view.View.VISIBLE;
+import static it.niedermann.nextcloud.deck.util.VCardUtil.getColorBasedOnDisplayName;
+
public class ContactItemViewHolder extends RecyclerView.ViewHolder {
private final ItemPickerUserBinding binding;
@@ -27,11 +33,25 @@ public class ContactItemViewHolder extends RecyclerView.ViewHolder {
public void bind(@NonNull Uri uri, @Nullable Bitmap image, @NonNull String displayName, @NonNull Consumer<Uri> onSelect) {
itemView.setOnClickListener((v) -> onSelect.accept(uri));
binding.displayName.setText(displayName);
- Glide.with(itemView.getContext())
- .load(image)
- .placeholder(R.drawable.ic_person_grey600_24dp)
- .apply(RequestOptions.circleCropTransform())
- .into(binding.avatar);
+ if (image == null) {
+ binding.initials.setVisibility(VISIBLE);
+ binding.initials.setText(TextUtils.isEmpty(displayName)
+ ? null
+ : String.valueOf(displayName.charAt(0))
+ );
+ Glide.with(itemView.getContext())
+ .load(new ColorDrawable(getColorBasedOnDisplayName(itemView.getContext(), displayName)))
+ .apply(RequestOptions.circleCropTransform())
+ .into(binding.avatar);
+ } else {
+ binding.initials.setVisibility(GONE);
+ binding.initials.setText(null);
+ Glide.with(itemView.getContext())
+ .load(image)
+ .placeholder(R.drawable.ic_person_grey600_24dp)
+ .apply(RequestOptions.circleCropTransform())
+ .into(binding.avatar);
+ }
}
public void bindError() {