Repository: incubator-weex Updated Branches: refs/heads/master 3df1c5ddb -> 3e800e2ca
* [Android] Fix display error of base64 IconFont https://jsplayground.taobao.org/raxplayground/64800ba5-9250-4b13-834b-167de6aa9522 This closes #1333 Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/3e800e2c Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/3e800e2c Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/3e800e2c Branch: refs/heads/master Commit: 3e800e2ca2b19ebbc996c2485f97e23ff49b077f Parents: 3df1c5d Author: YorkShen <shenyua...@gmail.com> Authored: Mon Jul 16 21:13:27 2018 +0800 Committer: YorkShen <shenyua...@gmail.com> Committed: Tue Jul 17 16:06:31 2018 +0800 ---------------------------------------------------------------------- .../sdk/src/main/java/com/taobao/weex/utils/FontDO.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3e800e2c/android/sdk/src/main/java/com/taobao/weex/utils/FontDO.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/FontDO.java b/android/sdk/src/main/java/com/taobao/weex/utils/FontDO.java index 18467f3..ca81fa8 100644 --- a/android/sdk/src/main/java/com/taobao/weex/utils/FontDO.java +++ b/android/sdk/src/main/java/com/taobao/weex/utils/FontDO.java @@ -22,11 +22,11 @@ import android.graphics.Typeface; import android.net.Uri; import android.text.TextUtils; import android.util.Base64; - import com.taobao.weex.WXEnvironment; import com.taobao.weex.WXSDKInstance; import com.taobao.weex.adapter.URIAdapter; import com.taobao.weex.common.Constants; +import java.io.File; public class FontDO { private final String mFontFamilyName; @@ -100,9 +100,12 @@ public class FontDO { String base64Data = data[1]; if (!TextUtils.isEmpty(base64Data)) { String md5 = WXFileUtils.md5(base64Data); - String filePath = WXEnvironment.getApplication().getCacheDir() + "/font-family/" + md5; - WXFileUtils.saveFile(filePath, Base64.decode(base64Data, Base64.DEFAULT), WXEnvironment.getApplication()); - mUrl = filePath; + File tmpFile = new File(new File(WXEnvironment.getApplication().getCacheDir(), "font-family"), md5); + if(!tmpFile.exists()){ + tmpFile.createNewFile(); + WXFileUtils.saveFile(tmpFile.getPath(), Base64.decode(base64Data, Base64.DEFAULT), WXEnvironment.getApplication()); + } + mUrl = tmpFile.getPath(); mType = TYPE_BASE64; WXLogUtils.d("TypefaceUtil", "Parse base64 font cost " + (System.currentTimeMillis() - start) + " ms"); }