|
@@ -36,15 +36,14 @@ import java.util.concurrent.CountDownLatch
|
|
|
object FoodDataProvider {
|
|
|
private val SYSTEM_MODE = BuildConfig.DEBUG
|
|
|
private val TARGET_DST_PARENT = Environment.getExternalStorageDirectory()
|
|
|
- private val TARGET_PATH = File(TARGET_DST_PARENT, "cofa_cooking")
|
|
|
private val RES_DST_PARENT = File("vendor/bundled_uninstall_back-app/cofa_cooking")
|
|
|
private val ZIP_PATH = File(RES_DST_PARENT, "cofa_cooking.zip")
|
|
|
private var foodDatabase: FoodDatabase? = null
|
|
|
private var userDatabase: UserDatabase? = null
|
|
|
private var prepareLiveData = MutableLiveData<Boolean>()
|
|
|
private val preparedLock = CountDownLatch(1)
|
|
|
- private val RES_DST_PATH = File(RES_DST_PARENT, "cofa_cooking")
|
|
|
- private val SUCCESS_FLAG = File(RES_DST_PARENT, "success.lock")
|
|
|
+ private val RES_DST_PATH = File(TARGET_DST_PARENT, "cofa_cooking")
|
|
|
+ private val SUCCESS_FLAG = File(TARGET_DST_PARENT, "success.lock")
|
|
|
|
|
|
init {
|
|
|
if (!RES_DST_PARENT.exists()) {
|
|
@@ -88,7 +87,7 @@ object FoodDataProvider {
|
|
|
try {
|
|
|
var targetZipFile = ZIP_PATH
|
|
|
val start = System.currentTimeMillis()
|
|
|
- ZipUtils.unzipFile(targetZipFile, TARGET_PATH)
|
|
|
+ ZipUtils.unzipFile(targetZipFile, TARGET_DST_PARENT)
|
|
|
Log.d(
|
|
|
"FoodDataProvider", "cost time:${System.currentTimeMillis() - start}"
|
|
|
)
|
|
@@ -134,16 +133,16 @@ object FoodDataProvider {
|
|
|
return resFile.absolutePath
|
|
|
}
|
|
|
return if (relativePath.endsWith("png")) {
|
|
|
- "$RES_DST_PATH/${relativePath.replace("png", "jpg")}"
|
|
|
+ "$TARGET_DST_PARENT/${relativePath.replace("png", "jpg")}"
|
|
|
} else {
|
|
|
- "$RES_DST_PATH/${relativePath.replace("jpg", "png")}"
|
|
|
+ "$TARGET_DST_PARENT/${relativePath.replace("jpg", "png")}"
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**根据菜品number删除对应资源文件*/
|
|
|
fun deleteRecipeResource(recipeNum: String) {
|
|
|
val relPath = "_data/recipe/${recipeNum}"
|
|
|
- val dir = File(RES_DST_PATH, relPath)
|
|
|
+ val dir = File(TARGET_DST_PARENT, relPath)
|
|
|
if (dir.exists()) {
|
|
|
try {
|
|
|
FileUtils.delete(dir)
|
|
@@ -155,10 +154,10 @@ object FoodDataProvider {
|
|
|
|
|
|
/**删除菜品资源包*/
|
|
|
fun deleteAll() {
|
|
|
- if (RES_DST_PATH.exists()) {
|
|
|
+ if (TARGET_DST_PARENT.exists()) {
|
|
|
try {
|
|
|
FileUtils.delete(SUCCESS_FLAG)
|
|
|
- FileUtils.delete(RES_DST_PATH)
|
|
|
+ FileUtils.delete(TARGET_DST_PARENT)
|
|
|
} catch (ex: Exception) {
|
|
|
ex.printStackTrace()
|
|
|
}
|
|
@@ -168,7 +167,7 @@ object FoodDataProvider {
|
|
|
/**根据菜品number获取configJson文件*/
|
|
|
fun getResourceConfigJsonPath(recipeNum: String): File {
|
|
|
val relPath = "_data/recipe/${recipeNum}/data.json"
|
|
|
- return File(RES_DST_PATH, relPath)
|
|
|
+ return File(TARGET_DST_PARENT, relPath)
|
|
|
}
|
|
|
|
|
|
/**判断菜品number对应的configJson文件是否存在*/
|
|
@@ -178,7 +177,7 @@ object FoodDataProvider {
|
|
|
|
|
|
/**获取菜品资源包文件*/
|
|
|
fun getExtRecipeResourceDir(): File {
|
|
|
- return RES_DST_PARENT
|
|
|
+ return TARGET_DST_PARENT
|
|
|
}
|
|
|
|
|
|
/**获取菜品图片路径*/
|
|
@@ -190,12 +189,12 @@ object FoodDataProvider {
|
|
|
return relativePath
|
|
|
}
|
|
|
// preparedLock.await()
|
|
|
- return "$RES_DST_PARENT/$relativePath"
|
|
|
+ return "${TARGET_DST_PARENT.absolutePath}/$relativePath"
|
|
|
}
|
|
|
|
|
|
private fun getResource(relativePath: String): File {
|
|
|
preparedLock.await()
|
|
|
- return File(RES_DST_PATH, relativePath)
|
|
|
+ return File(TARGET_DST_PARENT, relativePath)
|
|
|
}
|
|
|
|
|
|
private fun validateDatabaseFile() {
|