Skip to content

Commit 81dee1b

Browse files
author
野松
committed
request update: bugfix for File
1 parent 47260ca commit 81dee1b

File tree

2 files changed

+20
-9
lines changed

2 files changed

+20
-9
lines changed

Android/LuaViewSDK/src/com/taobao/luaview/scriptbundle/LuaScriptManager.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,14 @@ public static void init(final Context context) {
6060
BASE_FILECACHE_PATH = context.getExternalCacheDir() + File.separator;
6161

6262
//base predownload path
63-
final File file = context.getDir(PACKAGE_NAME_DEFAULT, Context.MODE_PRIVATE);
64-
if(file != null) {
65-
BASE_PREDOWNLOAD_FILECACHE_PATH = file.getPath() + File.separator;
66-
} else {
67-
BASE_PREDOWNLOAD_FILECACHE_PATH = context.getCacheDir() + File.separator;
68-
}
63+
// final File file = context.getDir(PACKAGE_NAME_DEFAULT, Context.MODE_PRIVATE);
64+
// if(file != null) {
65+
// BASE_PREDOWNLOAD_FILECACHE_PATH = file.getPath() + File.separator;
66+
// } else {
67+
// BASE_PREDOWNLOAD_FILECACHE_PATH = context.getCacheDir() + File.separator;
68+
// }
69+
70+
BASE_PREDOWNLOAD_FILECACHE_PATH = "/data/data/" + context.getPackageName() + "/app_luaview/";
6971
} else {
7072
initInternalFilePath(context);
7173
}
@@ -80,7 +82,7 @@ public static void init(final Context context) {
8082
*/
8183
private static void initInternalFilePath(Context context) {
8284
final File dir = context.getDir(PACKAGE_NAME_DEFAULT, Context.MODE_PRIVATE);
83-
if (dir != null) {//优先存在 data/data/packagename/luaview
85+
if (dir != null) {//优先存在 data/data/packagename/app_luaview
8486
BASE_FILECACHE_PATH = dir.getPath() + File.separator;
8587
} else {
8688
BASE_FILECACHE_PATH = context.getCacheDir() + File.separator;
@@ -215,7 +217,7 @@ public static String buildScriptBundleFilePath(final String uri) {
215217
* @return
216218
*/
217219
public static String buildPredownloadScriptBundleFilePath(final String uri) {
218-
if(uri != null){
220+
if (uri != null) {
219221
String fileName = uri.substring(uri.lastIndexOf('/') + 1);//只取最后的文件名
220222
return getPredownloadFilePath(fileName);
221223
} else {

Android/LuaViewSDK/src/com/taobao/luaview/userdata/kit/UDFile.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.taobao.luaview.util.LuaUtil;
2121

2222
import org.luaj.vm2.Globals;
23+
import org.luaj.vm2.LuaString;
2324
import org.luaj.vm2.LuaValue;
2425
import org.luaj.vm2.Varargs;
2526
import org.luaj.vm2.lib.VarArgFunction;
@@ -64,7 +65,15 @@ public Varargs invoke(Varargs args) {
6465
byte[] data = null;
6566
if (LuaUtil.isString(param1)) {
6667
name = param1.optjstring(null);
67-
data = param2 instanceof UDData ? ((UDData) param2).bytes() : null;
68+
69+
if (param2 instanceof UDData) {
70+
data = ((UDData) param2).bytes();
71+
} else if (param2 instanceof LuaString) {
72+
data = ((LuaString) param2).m_bytes;
73+
} else if (param2 instanceof CharSequence) {
74+
data = param2.toString().getBytes();
75+
}
76+
6877
} else if (param1 instanceof UDData) {
6978
data = ((UDData) param1).bytes();
7079
name = param2.optjstring(null);

0 commit comments

Comments
 (0)