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");
               }

Reply via email to