diff options
author | Daniel Gultsch <daniel.gultsch@rwth-aachen.de> | 2014-02-01 01:25:56 +0100 |
---|---|---|
committer | Daniel Gultsch <daniel.gultsch@rwth-aachen.de> | 2014-02-01 01:25:56 +0100 |
commit | 43531113b798cda6b2f76257641f38b0af986437 (patch) | |
tree | 73107f086ec5d772a9041aa3ad4b1c7b8e0dcce9 /src/de/gultsch/chat/utils/Beautifier.java | |
parent | c3e4f0eaacf8ab32ceab32b8f46e8b7d85c71cfb (diff) |
more code cleanup for xmpp parser. more eventy. nice unknown contact pictures
Diffstat (limited to '')
-rw-r--r-- | src/de/gultsch/chat/utils/Beautifier.java | 43 |
1 files changed, 39 insertions, 4 deletions
diff --git a/src/de/gultsch/chat/utils/Beautifier.java b/src/de/gultsch/chat/utils/Beautifier.java index 43b7acc2..5184c0c7 100644 --- a/src/de/gultsch/chat/utils/Beautifier.java +++ b/src/de/gultsch/chat/utils/Beautifier.java @@ -3,18 +3,24 @@ package de.gultsch.chat.utils; import java.text.SimpleDateFormat; import java.util.Date; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; +import android.util.DisplayMetrics; + public class Beautifier { public static String readableTimeDifference(long time) { - if (time==0) { + if (time == 0) { return "just now"; } Date date = new Date(time); long difference = (System.currentTimeMillis() - time) / 1000; - if (difference<60) { + if (difference < 60) { return "just now"; - } else if (difference<60*10) { + } else if (difference < 60 * 10) { return difference / 60 + " min ago"; - } else if (difference<60*60*24) { + } else if (difference < 60 * 60 * 24) { SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); return sdf.format(date); } else { @@ -22,4 +28,33 @@ public class Beautifier { return sdf.format(date); } } + + public static Bitmap getUnknownContactPicture(String name, int size) { + String firstLetter = name.substring(0, 1).toUpperCase(); + String centerLetter = name.substring(name.length() / 2, + (name.length() / 2) + 1); + + int holoColors[] = { 0xFF1da9da, 0xFFb368d9, 0xFF83b600, 0xFFffa713, + 0xFFe92727 }; + + int color = holoColors[centerLetter.charAt(0) % holoColors.length]; + + Bitmap bitmap = Bitmap + .createBitmap(size, size, Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(bitmap); + + bitmap.eraseColor(color); + + Paint paint = new Paint(); + paint.setColor(0xffe5e5e5); + paint.setTextSize((float) (size * 0.9)); + paint.setAntiAlias(true); + Rect rect = new Rect(); + paint.getTextBounds(firstLetter, 0, 1, rect); + float width = paint.measureText(firstLetter); + canvas.drawText(firstLetter, (size / 2) - (width / 2), (size / 2) + + (rect.height() / 2), paint); + + return bitmap; + } } |