diff --git a/base b/base index 5343da418..db68822f9 160000 --- a/base +++ b/base @@ -1 +1 @@ -Subproject commit 5343da41849231b02d56118c76e727488c967767 +Subproject commit db68822f9f1fd2472701b8d0c0677fe531b56333 diff --git a/frontend/apps/reader/modules/readerdictionary.lua b/frontend/apps/reader/modules/readerdictionary.lua index a9956a9a2..a7ab37826 100644 --- a/frontend/apps/reader/modules/readerdictionary.lua +++ b/frontend/apps/reader/modules/readerdictionary.lua @@ -4,15 +4,23 @@ local InfoMessage = require("ui/widget/infomessage") local UIManager = require("ui/uimanager") local Geom = require("ui/geometry") local Screen = require("device").screen +local Device = require("device") local JSON = require("json") local DEBUG = require("dbg") local _ = require("gettext") local T = require("ffi/util").template -local ReaderDictionary = InputContainer:new{} +local ReaderDictionary = InputContainer:new{ + data_dir = nil, +} function ReaderDictionary:init() self.ui.menu:registerToMainMenu(self) + if Device:isAndroid() then + self.data_dir = "/sdcard/koreader/data/dict" + else + self.data_dir = os.getenv("STARDICT_DATA_DIR") or "data/dict" + end end function ReaderDictionary:addToMainMenu(tab_item_table) @@ -62,7 +70,8 @@ function ReaderDictionary:stardictLookup(word, box) word = require("util").stripePunctuations(word) DEBUG("stripped word:", word) -- escape quotes and other funny characters in word - local std_out = io.popen("./sdcv --utf8-input --utf8-output -nj "..("%q"):format(word), "r") + local std_out = io.popen("./sdcv --utf8-input --utf8-output -nj " + .. ("%q"):format(word) .. " --data-dir " .. self.data_dir, "r") local results_str = nil if std_out then results_str = std_out:read("*all") diff --git a/platform/android/llapp_main.lua b/platform/android/llapp_main.lua index 12b136a7a..94f2d12c9 100644 --- a/platform/android/llapp_main.lua +++ b/platform/android/llapp_main.lua @@ -26,6 +26,9 @@ A.LOGI("intent file path " .. (file or "")) -- run koreader patch before koreader startup pcall(function() dofile("/sdcard/koreader/patch.lua") end) +-- set proper permission for sdcv +io.popen("chmod 755 ./sdcv") + -- create fake command-line arguments arg = {"-d", file or "/sdcard"} dofile(A.dir.."/reader.lua") diff --git a/platform/android/luajit-launcher b/platform/android/luajit-launcher index 4c5c9f967..a00e3d1c7 160000 --- a/platform/android/luajit-launcher +++ b/platform/android/luajit-launcher @@ -1 +1 @@ -Subproject commit 4c5c9f967418444d0ac20d775f0ae2a97a33d111 +Subproject commit a00e3d1c7f73756a3c3cf45b1828c2b55a903503