From 68a20276111fa3a0993b359eb8491fbd976c5b1c Mon Sep 17 00:00:00 2001 From: Sam Steele Date: Fri, 5 May 2017 09:08:40 -0400 Subject: [PATCH] fix a crash --- .idea/misc.xml | 2 +- build.gradle | 2 +- irccloud-android.iml | 14 ++--- .../irccloud/android/NetworkConnection.java | 2 +- .../irccloud/android/data/model/Avatar.java | 62 ++++++++++--------- 5 files changed, 43 insertions(+), 39 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 95f0f0310..1caa1363c 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -37,7 +37,7 @@ - + diff --git a/build.gradle b/build.gradle index 3abb75654..0b1393a3c 100644 --- a/build.gradle +++ b/build.gradle @@ -55,7 +55,7 @@ android { useLibrary 'org.apache.http.legacy' defaultConfig { - versionCode 117 + versionCode 118 versionName "3.22" minSdkVersion 10 targetSdkVersion 25 diff --git a/irccloud-android.iml b/irccloud-android.iml index c95730685..fb3c15c76 100644 --- a/irccloud-android.iml +++ b/irccloud-android.iml @@ -52,13 +52,6 @@ - - - - - - - @@ -66,6 +59,13 @@ + + + + + + + diff --git a/src/com/irccloud/android/NetworkConnection.java b/src/com/irccloud/android/NetworkConnection.java index 1de03451c..8e50abd17 100644 --- a/src/com/irccloud/android/NetworkConnection.java +++ b/src/com/irccloud/android/NetworkConnection.java @@ -3219,7 +3219,7 @@ public synchronized void notifyHandlers(int message, final Object object, IRCEve ArrayList buffers = mBuffers.getBuffers(); for (Buffer b : buffers) { if (b.getTimeout() > 0) { - Crashlytics.log(Log.DEBUG, TAG, "Requesting backlog for timed-out buffer: " + b.getName()); + Crashlytics.log(Log.DEBUG, TAG, "Requesting backlog for timed-out buffer: bid" + b.getBid()); request_backlog(b.getCid(), b.getBid(), 0); } diff --git a/src/com/irccloud/android/data/model/Avatar.java b/src/com/irccloud/android/data/model/Avatar.java index a62dc2e9c..61f5ac27f 100644 --- a/src/com/irccloud/android/data/model/Avatar.java +++ b/src/com/irccloud/android/data/model/Avatar.java @@ -43,37 +43,41 @@ public class Avatar { public static Bitmap generateBitmap(String text, int textColor, int bgColor, boolean isDarkTheme, int size, boolean round) { Bitmap bitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888); - Canvas c = new Canvas(bitmap); - Paint p = new Paint(Paint.ANTI_ALIAS_FLAG); - p.setStyle(Paint.Style.FILL); - - if(isDarkTheme || !round) { - p.setColor(bgColor); - if(round) - c.drawCircle(size / 2, size / 2, size / 2, p); - else - c.drawColor(bgColor); - } else { - float[] hsv = new float[3]; - Color.colorToHSV(bgColor, hsv); - hsv[2] *= 0.8f; - p.setColor(Color.HSVToColor(hsv)); - c.drawCircle(size / 2, size / 2, (size / 2) - 2, p); - p.setColor(bgColor); - c.drawCircle(size / 2, (size / 2) - 2, (size / 2) - 2, p); - } - TextPaint tp = new TextPaint(Paint.ANTI_ALIAS_FLAG); - tp.setTextAlign(Paint.Align.CENTER); - tp.setTypeface(font); - tp.setTextSize((int)(size * 0.65)); - tp.setColor(textColor); - if (isDarkTheme || !round) { - c.drawText(text, size/2, (size/2) - ((tp.descent() + tp.ascent()) / 2), tp); + if(bitmap != null) { + Canvas c = new Canvas(bitmap); + Paint p = new Paint(Paint.ANTI_ALIAS_FLAG); + p.setStyle(Paint.Style.FILL); + + if (isDarkTheme || !round) { + p.setColor(bgColor); + if (round) + c.drawCircle(size / 2, size / 2, size / 2, p); + else + c.drawColor(bgColor); + } else { + float[] hsv = new float[3]; + Color.colorToHSV(bgColor, hsv); + hsv[2] *= 0.8f; + p.setColor(Color.HSVToColor(hsv)); + c.drawCircle(size / 2, size / 2, (size / 2) - 2, p); + p.setColor(bgColor); + c.drawCircle(size / 2, (size / 2) - 2, (size / 2) - 2, p); + } + TextPaint tp = new TextPaint(Paint.ANTI_ALIAS_FLAG); + tp.setTextAlign(Paint.Align.CENTER); + tp.setTypeface(font); + tp.setTextSize((int) (size * 0.65)); + tp.setColor(textColor); + if (isDarkTheme || !round) { + c.drawText(text, size / 2, (size / 2) - ((tp.descent() + tp.ascent()) / 2), tp); + } else { + c.drawText(text, size / 2, (size / 2) - 4 - ((tp.descent() + tp.ascent()) / 2), tp); + } + + return bitmap; } else { - c.drawText(text, size/2, (size/2) - 4 - ((tp.descent() + tp.ascent()) / 2), tp); + return null; } - - return bitmap; } public static Bitmap generateBitmap(String text, int textColor, int bgColor, boolean isDarkTheme, int size) {