From 381bc36cd8eb05341c006705459d2dd572087566 Mon Sep 17 00:00:00 2001 From: Hristo Hristov Date: Wed, 3 May 2017 14:16:21 +0300 Subject: [PATCH] Bitmap is cleared only when setUri is called with empty/null uri (#97) * Bitmap is cleared only when setUri is called with empty/null uri * update gradle & buildtools versions * fix gradle plugin version * rename assembleRelease to assemble task --- android/build.gradle | 2 +- android/gradle/wrapper/gradle-wrapper.properties | 2 +- android/widgets/build.gradle | 6 +++--- .../main/java/org/nativescript/widgets/ImageView.java | 10 ++++++++-- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index aff4f415e..b78a0b86c 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.1.2' + classpath 'com.android.tools.build:gradle:2.3.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 54cdadd45..f9adae100 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip diff --git a/android/widgets/build.gradle b/android/widgets/build.gradle index 5154acf7b..a83831194 100644 --- a/android/widgets/build.gradle +++ b/android/widgets/build.gradle @@ -20,7 +20,7 @@ def computeBuildToolsVersion() { return buildToolsVersion } else { - return "23.0.3" + return "25.0.2" } } @@ -67,6 +67,6 @@ task copyAar << { } } -assembleRelease.dependsOn(cleanBuildDir) -copyAar.dependsOn(assembleRelease) +assemble.dependsOn(cleanBuildDir) +copyAar.dependsOn(assemble) build.dependsOn(copyAar) \ No newline at end of file diff --git a/android/widgets/src/main/java/org/nativescript/widgets/ImageView.java b/android/widgets/src/main/java/org/nativescript/widgets/ImageView.java index ad942d455..3a5aeac2a 100644 --- a/android/widgets/src/main/java/org/nativescript/widgets/ImageView.java +++ b/android/widgets/src/main/java/org/nativescript/widgets/ImageView.java @@ -167,6 +167,14 @@ public class ImageView extends android.widget.ImageView implements BitmapOwner { mDecodeHeight = decodeHeight; mUseCache = useCache; mAsync = async; + + // Clear current bitmap only if we set empty URI. + // We support settimg bitmap through ImageSource (e.g. Bitmap). + if (uri == null || uri.trim() == "") { + this.setImageBitmap(null); + } + + // Begin loading image only if we are attached to window. if (mAttachedToWindow) { loadImage(); } @@ -181,8 +189,6 @@ public class ImageView extends android.widget.ImageView implements BitmapOwner { if (mUri != null && fetcher != null) { // Get the Bitmap from cache. fetcher.loadImage(mUri, this, mDecodeWidth, mDecodeHeight, mUseCache, mAsync, mListener); - } else { - this.setImageBitmap(null); } }