From 26f76f3fd1e73fb0cfde41712f2b5b804fdf973f Mon Sep 17 00:00:00 2001 From: niuniuyang Date: Tue, 7 Sep 2021 19:35:53 +0800 Subject: [PATCH] fix: getSize --- android/sdk/maven_for_qb.gradle | 2 +- .../hippy/adapter/image/HippyImageLoader.java | 30 +++++++++++++ .../image/ImageLoaderModule.java | 43 ++----------------- 3 files changed, 34 insertions(+), 41 deletions(-) diff --git a/android/sdk/maven_for_qb.gradle b/android/sdk/maven_for_qb.gradle index b7a8635b235..f1f63ec454d 100644 --- a/android/sdk/maven_for_qb.gradle +++ b/android/sdk/maven_for_qb.gradle @@ -30,7 +30,7 @@ publishing { myPub(MavenPublication) { groupId 'com.tencent.qqbrowser.hippyforqb' artifactId 'hippysdk' - version 'qb-androidx-11.9.6.1' + version 'qb-androidx-11.9.6.2' artifact(androidSourcesJar) artifact("$buildDir/outputs/aar/android-sdk.aar") pom.withXml { diff --git a/android/sdk/src/main/java/com/tencent/mtt/hippy/adapter/image/HippyImageLoader.java b/android/sdk/src/main/java/com/tencent/mtt/hippy/adapter/image/HippyImageLoader.java index 427dcd9ead8..1a073e75eba 100644 --- a/android/sdk/src/main/java/com/tencent/mtt/hippy/adapter/image/HippyImageLoader.java +++ b/android/sdk/src/main/java/com/tencent/mtt/hippy/adapter/image/HippyImageLoader.java @@ -15,7 +15,10 @@ */ package com.tencent.mtt.hippy.adapter.image; +import android.graphics.Bitmap; import android.util.SparseArray; +import com.tencent.mtt.hippy.common.HippyMap; +import com.tencent.mtt.hippy.modules.Promise; import com.tencent.mtt.supportui.adapters.image.IImageLoaderAdapter; import com.tencent.mtt.supportui.adapters.image.IImageRequestListener; @@ -56,6 +59,33 @@ public HippyDrawable getImage(String source, Object param) return drawable; } + public void getSize(final String url, final Promise promise) { + fetchImage(url, new HippyImageLoader.Callback() { + @Override + public void onRequestStart(HippyDrawable hippyDrawable) { + } + + @Override + public void onRequestSuccess(HippyDrawable hippyDrawable) { + if (hippyDrawable != null) { + Bitmap bitmap = hippyDrawable.getBitmap(); + HippyMap resultMap = new HippyMap(); + resultMap.pushInt("width", bitmap != null ? bitmap.getWidth() : hippyDrawable.getWidth()); + resultMap.pushInt("height", bitmap != null ? bitmap.getHeight() : hippyDrawable.getHeight()); + promise.resolve(resultMap); + hippyDrawable.onDrawableDetached(); + } else { + promise.reject("fetch image fail " + url); + } + } + + @Override + public void onRequestFail(Throwable throwable, String source) { + promise.reject("fetch image fail " + source); + } + }, null); + } + public void destroyIfNeed(){ } /** diff --git a/android/sdk/src/main/java/com/tencent/mtt/hippy/modules/nativemodules/image/ImageLoaderModule.java b/android/sdk/src/main/java/com/tencent/mtt/hippy/modules/nativemodules/image/ImageLoaderModule.java index 97304727bfd..9201f173ed7 100644 --- a/android/sdk/src/main/java/com/tencent/mtt/hippy/modules/nativemodules/image/ImageLoaderModule.java +++ b/android/sdk/src/main/java/com/tencent/mtt/hippy/modules/nativemodules/image/ImageLoaderModule.java @@ -15,14 +15,11 @@ */ package com.tencent.mtt.hippy.modules.nativemodules.image; -import android.graphics.Bitmap; - import com.tencent.mtt.hippy.HippyEngineContext; import com.tencent.mtt.hippy.adapter.image.HippyDrawable; import com.tencent.mtt.hippy.adapter.image.HippyImageLoader; import com.tencent.mtt.hippy.annotation.HippyMethod; import com.tencent.mtt.hippy.annotation.HippyNativeModule; -import com.tencent.mtt.hippy.common.HippyMap; import com.tencent.mtt.hippy.modules.Promise; import com.tencent.mtt.hippy.modules.nativemodules.HippyNativeModuleBase; @@ -42,43 +39,9 @@ public ImageLoaderModule(HippyEngineContext context) } @HippyMethod(name = "getSize") - public void getSize(final String url, final Promise promise) - { - if (mImageAdapter != null) - { - mImageAdapter.fetchImage(url, new HippyImageLoader.Callback() - { - @Override - public void onRequestStart(HippyDrawable hippyDrawable) - { - } - - @Override - public void onRequestSuccess(HippyDrawable hippyDrawable) - { - if (hippyDrawable != null) - { - Bitmap bitmap = hippyDrawable.getBitmap(); - int width = bitmap != null ? bitmap.getWidth() : hippyDrawable.getWidth(); - int height = bitmap != null ? bitmap.getHeight() : hippyDrawable.getHeight(); - HippyMap resultMap = new HippyMap(); - resultMap.pushInt("width", width); - resultMap.pushInt("height", height); - promise.resolve(resultMap); - hippyDrawable.onDrawableDetached(); - } - else - { - promise.reject("fetch image fail " + url); - } - } - - @Override - public void onRequestFail(Throwable throwable, String source) - { - promise.reject("fetch image fail " + source); - } - }, null); + public void getSize(final String url, final Promise promise) { + if (mImageAdapter != null) { + mImageAdapter.getSize(url, promise); } }