aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Straub <andy@strb.org>2014-04-13 20:44:17 +0200
committerAndreas Straub <andy@strb.org>2014-04-13 21:13:37 +0200
commit132689376cd3709bf25f949292bef81f496c4f37 (patch)
tree3058432c68306a6f4add617e5016d40e3ab4c0f9
parent901ce085a7df579b9c8c402b8af59a7ce7233044 (diff)
Added ellipsis tile for large conversations
For more than 4 members in a conversation, the fourth tile now contains an ellipsis to indicate this
-rw-r--r--src/eu/siacs/conversations/utils/UIHelper.java22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/eu/siacs/conversations/utils/UIHelper.java b/src/eu/siacs/conversations/utils/UIHelper.java
index c794db5e..322ca210 100644
--- a/src/eu/siacs/conversations/utils/UIHelper.java
+++ b/src/eu/siacs/conversations/utils/UIHelper.java
@@ -84,18 +84,30 @@ public class UIHelper {
return color;
}
- int tiles = (names.length > 4)? 4 : names.length;
private static Bitmap getUnknownContactPicture(String[] names, int size, int bgColor, int fgColor) {
+ int tiles = (names.length > 4)? 4 :
+ (names.length < 1)? 1 :
+ names.length;
Bitmap bitmap = Bitmap
.createBitmap(size, size, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
String[] letters = new String[tiles];
int[] colors = new int[tiles];
- for(int i = 0; i < tiles; ++i) {
- letters[i] = (names[i].length() > 0) ?
- names[i].substring(0, 1).toUpperCase(Locale.US) : " ";
- colors[i] = getNameColor(names[i]);
+ if (names.length < 1) {
+ letters[0] = "?";
+ colors[0] = 0xFFe92727;
+ } else {
+ for(int i = 0; i < tiles; ++i) {
+ letters[i] = (names[i].length() > 0) ?
+ names[i].substring(0, 1).toUpperCase(Locale.US) : " ";
+ colors[i] = getNameColor(names[i]);
+ }
+
+ if (names.length > 4) {
+ letters[3] = "\u2026"; // Unicode ellipsis
+ colors[3] = 0xFF444444;
+ }
}
Paint textPaint = new Paint(), tilePaint = new Paint();
textPaint.setColor(fgColor);