diff --git a/xpage-compiler/src/main/java/com/xuexiang/xpage/comiler/PageConfigProcessor.java b/xpage-compiler/src/main/java/com/xuexiang/xpage/compiler/PageConfigProcessor.java similarity index 99% rename from xpage-compiler/src/main/java/com/xuexiang/xpage/comiler/PageConfigProcessor.java rename to xpage-compiler/src/main/java/com/xuexiang/xpage/compiler/PageConfigProcessor.java index ae8d55b..335c8a4 100755 --- a/xpage-compiler/src/main/java/com/xuexiang/xpage/comiler/PageConfigProcessor.java +++ b/xpage-compiler/src/main/java/com/xuexiang/xpage/compiler/PageConfigProcessor.java @@ -1,4 +1,4 @@ -package com.xuexiang.xpage.comiler; +package com.xuexiang.xpage.compiler; import com.google.auto.service.AutoService; import com.squareup.javapoet.ClassName; diff --git a/xpage-lib/src/main/java/com/xuexiang/xpage/core/CorePageManager.java b/xpage-lib/src/main/java/com/xuexiang/xpage/core/CorePageManager.java index 2e69de1..31f1a6e 100755 --- a/xpage-lib/src/main/java/com/xuexiang/xpage/core/CorePageManager.java +++ b/xpage-lib/src/main/java/com/xuexiang/xpage/core/CorePageManager.java @@ -16,6 +16,8 @@ import com.xuexiang.xpage.logger.PageLog; import java.io.BufferedReader; +import java.io.Closeable; +import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Iterator; @@ -23,10 +25,11 @@ import java.util.Set; /** - * 跳转页面管理 - * - * @author XUE - * @date 2017/9/8 14:30 + *
+ *     desc   : 跳转页面管理
+ *     author : xuexiang
+ *     time   : 2018/5/9 下午3:13
+ * 
*/ public class CorePageManager { /** @@ -91,6 +94,8 @@ public void init(Context context, String pageJson) { */ public void readConfig(String content) { + if (TextUtils.isEmpty(content)) return; + PageLog.d("readConfig from json"); JSONArray jsonArray = JSON.parseArray(content); Iterator iterator = jsonArray.iterator(); @@ -121,17 +126,39 @@ public void readConfig(String content) { * @return */ private String readFileFromAssets(Context context, String fileName) { - String result = ""; + StringBuilder s = new StringBuilder(); + BufferedReader br = null; try { InputStreamReader inputReader = new InputStreamReader(context.getResources().getAssets().open(fileName)); - BufferedReader bufReader = new BufferedReader(inputReader); + br = new BufferedReader(inputReader); String line; - while ((line = bufReader.readLine()) != null) - result += line; + while ((line = br.readLine()) != null) { + s.append(line); + } } catch (Exception e) { - e.printStackTrace(); + + } finally { + closeIO(br); + } + return s.toString(); + } + + /** + * 关闭 IO + * + * @param closeables closeables + */ + static void closeIO(final Closeable... closeables) { + if (closeables == null) return; + for (Closeable closeable : closeables) { + if (closeable != null) { + try { + closeable.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } } - return result; } /** @@ -294,7 +321,7 @@ private Bundle buildBundle(CorePage corePage) { /** * 判断fragment是否位于栈顶 * - * @param context 上下文 + * @param context 上下文 * @param fragmentTag fragment的tag * @return 是否是栈顶Fragment */ @@ -303,11 +330,7 @@ public boolean isFragmentTop(Context context, String fragmentTag) { return ((CoreSwitcher) context).isFragmentTop(fragmentTag); } else { BaseActivity topActivity = BaseActivity.getTopActivity(); - if (topActivity != null) { - return topActivity.isFragmentTop(fragmentTag); - } else { - return false; - } + return topActivity != null && topActivity.isFragmentTop(fragmentTag); } } }