From eda68879982626cd809a3050e8f6b1e781f7fe2d Mon Sep 17 00:00:00 2001 From: Chris Comeaux Date: Wed, 13 Jun 2018 21:21:37 -0500 Subject: [PATCH 1/2] Prepare 6.6.4 Fix h-index offset Fix stack overflow when trying to load a large icon --- CHANGELOG.md | 4 ++++ app/build.gradle | 4 ++-- .../java/com/boardgamegeek/ui/GamePlayStatsFragment.java | 2 +- .../java/com/boardgamegeek/util/LargeIconLoader.java | 9 ++++++--- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fe4c6eb5..8ac6fe083 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ Release Notes ============= +Version 6.6.4 +------------- + * Bug fixes + Version 6.6.3 ------------- * Possible fix for inability to sign in diff --git a/app/build.gradle b/app/build.gradle index 1a997c444..874eea8aa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,8 +11,8 @@ buildscript { def versionMajor = 6 def versionMinor = 6 -def versionPatch = 3 -def versionBuild = 2 +def versionPatch = 4 +def versionBuild = 1 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' diff --git a/app/src/main/java/com/boardgamegeek/ui/GamePlayStatsFragment.java b/app/src/main/java/com/boardgamegeek/ui/GamePlayStatsFragment.java index 9017a1b38..d318d5a8d 100644 --- a/app/src/main/java/com/boardgamegeek/ui/GamePlayStatsFragment.java +++ b/app/src/main/java/com/boardgamegeek/ui/GamePlayStatsFragment.java @@ -1009,7 +1009,7 @@ public int getHIndexOffset() { if (playCount >= hIndex) { return -1; } else { - return hIndex - playCount + 1; + return hIndex - playCount; } } diff --git a/app/src/main/java/com/boardgamegeek/util/LargeIconLoader.java b/app/src/main/java/com/boardgamegeek/util/LargeIconLoader.java index 394776be0..3d959e8e7 100644 --- a/app/src/main/java/com/boardgamegeek/util/LargeIconLoader.java +++ b/app/src/main/java/com/boardgamegeek/util/LargeIconLoader.java @@ -36,6 +36,7 @@ public LargeIconLoader(Context context, String imageUrl, String thumbnailUrl, St public void executeInBackground() { if (imageUrls.size() == 0) { if (callback != null) callback.onFailedIconLoad(); + return; } currentImageUrl = imageUrls.poll(); if (TextUtils.isEmpty(currentImageUrl)) { @@ -52,11 +53,13 @@ public void executeInBackground() { } public void executeOnMainThread() { + if (imageUrls.size() == 0) { + if (callback != null) callback.onFailedIconLoad(); + return; + } currentImageUrl = imageUrls.poll(); if (TextUtils.isEmpty(currentImageUrl)) { - if (callback != null) { - callback.onFailedIconLoad(); - } + executeOnMainThread(); } else { getRequestCreator().into(this); } From 507293ee4e14e73d759e6b8361e0f2f10c150ac3 Mon Sep 17 00:00:00 2001 From: Chris Comeaux Date: Thu, 14 Jun 2018 21:54:55 -0500 Subject: [PATCH 2/2] Fix LargeIconLoader (again) --- .../main/java/com/boardgamegeek/util/LargeIconLoader.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/boardgamegeek/util/LargeIconLoader.java b/app/src/main/java/com/boardgamegeek/util/LargeIconLoader.java index 3d959e8e7..251a72a2d 100644 --- a/app/src/main/java/com/boardgamegeek/util/LargeIconLoader.java +++ b/app/src/main/java/com/boardgamegeek/util/LargeIconLoader.java @@ -3,6 +3,8 @@ import android.content.Context; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; +import android.support.annotation.MainThread; +import android.support.annotation.WorkerThread; import android.text.TextUtils; import com.squareup.picasso.Picasso; @@ -33,6 +35,7 @@ public LargeIconLoader(Context context, String imageUrl, String thumbnailUrl, St imageUrls.add(imageUrl); } + @WorkerThread public void executeInBackground() { if (imageUrls.size() == 0) { if (callback != null) callback.onFailedIconLoad(); @@ -52,6 +55,7 @@ public void executeInBackground() { } } + @MainThread public void executeOnMainThread() { if (imageUrls.size() == 0) { if (callback != null) callback.onFailedIconLoad(); @@ -81,7 +85,7 @@ public void onBitmapLoaded(Bitmap bitmap, LoadedFrom from) { @Override public void onBitmapFailed(Drawable errorDrawable) { Timber.i("Didn't find an image at %s", currentImageUrl); - executeOnMainThread(); + if (callback != null) callback.onFailedIconLoad(); } @Override