|
@@ -20,6 +20,7 @@ import com.develop.base.app.BaseApp
|
|
|
import com.develop.base.ext.getBrandNum
|
|
|
import com.develop.base.ext.getOtaFileMd5
|
|
|
import com.develop.base.ext.getSN
|
|
|
+import com.develop.base.ext.getUpdateRecipeTime
|
|
|
import com.develop.base.ext.globalApp
|
|
|
import com.develop.base.ext.setAppCode
|
|
|
import com.develop.base.ext.setIsBrand011A
|
|
@@ -28,6 +29,7 @@ import com.develop.base.ext.setIsBrand054A
|
|
|
import com.develop.base.ext.setIsBrand062
|
|
|
import com.develop.base.ext.setNightTheme
|
|
|
import com.develop.base.ext.setOtaFileMd5
|
|
|
+import com.develop.base.ext.setUpdateRecipeTime
|
|
|
import com.develop.base.util.MMkvUtils
|
|
|
import com.develop.common.bean.TuyaEvent
|
|
|
import com.develop.common.data_repo.FoodDataProvider
|
|
@@ -145,7 +147,7 @@ class FoodCookingApp : BaseApp() {
|
|
|
.switchThemeSkin(if (isNight) 1 else if (is062) 2 else if (is011) 3 else 0)
|
|
|
|
|
|
//由于之前011黑色风格 故在这做 011兼容, 这个判断,不能在设置皮肤前面
|
|
|
- if (isNight || is011){
|
|
|
+ if (isNight || is011) {
|
|
|
setNightTheme(true)
|
|
|
}
|
|
|
CofarSDK.init(getBrandNum())
|
|
@@ -154,41 +156,90 @@ class FoodCookingApp : BaseApp() {
|
|
|
CofarSDK.stopNative()
|
|
|
|
|
|
Thread {
|
|
|
- val md5 = getOtaFileMd5()
|
|
|
- val sn = getSN()
|
|
|
- Log.d("TAG md5","time :"+System.currentTimeMillis())
|
|
|
- //大概50秒才获取到
|
|
|
-// val zipMd2 = StringUtils.getFileMD5("system/media/cofa_cooking.zip")
|
|
|
- Log.d("TAG md5", "md5 :$md5")
|
|
|
- var zipMd5 = ""
|
|
|
- if (md5.isNotEmpty()){
|
|
|
- zipMd5 = FileUtils.getFileMD5ToString("system/media/cofa_cooking.zip")
|
|
|
- }
|
|
|
- Log.d("TAG md5","time2222 :"+System.currentTimeMillis())
|
|
|
- Log.d("TAG md5", "string :$zipMd5")
|
|
|
- //处理ota食谱更新问题
|
|
|
- if (sn.startsWith("010") && (md5.isEmpty() || md5 != zipMd5)) {
|
|
|
- /**
|
|
|
- * 如果MD5的值不存在,重新解压
|
|
|
- * 如果MD5的值不一样的,就代表食谱包已经重新更新
|
|
|
- * 需要先删除sd卡目录下的cofa文件,再重新解压
|
|
|
- * */
|
|
|
- FileUtils.delete(File(Environment.getExternalStorageDirectory(), "cofa_cooking"))
|
|
|
- FileUtils.delete(File(Environment.getExternalStorageDirectory(), "success.lock"))
|
|
|
-
|
|
|
- FoodDataProvider.prepareData(this)
|
|
|
+ var isUpdateFile = StringUtils.doesUpdateTxtFileExist()
|
|
|
+ //之前根据zip包的md5 更新,现在做一个文本获取进行更新, 先判断是否存在,存在再处理,不存在就走之前的方法
|
|
|
+ if (isUpdateFile) {
|
|
|
+ Log.d("TAG update", "isUpdateFile 文件存在 ")
|
|
|
+ var fileUpdate = StringUtils.getUpdateTime()
|
|
|
+ var roomUpdate = getUpdateRecipeTime()
|
|
|
+
|
|
|
+ Log.d("TAG update", "fileUpdate : $fileUpdate")
|
|
|
+ Log.d("TAG update", "roomUpdate : $roomUpdate")
|
|
|
+
|
|
|
+ //当本地时间为空,或者file的文件时间比本地时间大的时候,证明食谱包更新了
|
|
|
+ if (roomUpdate=="" || fileUpdate.toLong()>roomUpdate.toLong()){
|
|
|
+ Log.d("TAG update", "isUpdateFile1111111-------- 文件存在 ")
|
|
|
+
|
|
|
+
|
|
|
+ //需要删掉
|
|
|
+ FileUtils.delete(
|
|
|
+ File(
|
|
|
+ Environment.getExternalStorageDirectory(),
|
|
|
+ "cofa_cooking"
|
|
|
+ )
|
|
|
+ )
|
|
|
+ FileUtils.delete(
|
|
|
+ File(
|
|
|
+ Environment.getExternalStorageDirectory(),
|
|
|
+ "success.lock"
|
|
|
+ )
|
|
|
+ )
|
|
|
+
|
|
|
+ FoodDataProvider.prepareData(this)
|
|
|
+ }else{
|
|
|
+ FoodDataProvider.prepareData(this)
|
|
|
+ }
|
|
|
+
|
|
|
+ setUpdateRecipeTime(fileUpdate)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
} else {
|
|
|
- FoodDataProvider.prepareData(this)
|
|
|
- }
|
|
|
- //010 每一次都把md5的值set进去
|
|
|
- if (sn.startsWith("010")) {
|
|
|
- //优化启动程序
|
|
|
- if (zipMd5.isEmpty()){
|
|
|
+ val md5 = getOtaFileMd5()
|
|
|
+ val sn = getSN()
|
|
|
+ Log.d("TAG md5", "time :" + System.currentTimeMillis())
|
|
|
+ //大概50秒才获取到
|
|
|
+// val zipMd2 = StringUtils.getFileMD5("system/media/cofa_cooking.zip")
|
|
|
+ Log.d("TAG md5", "md5 :$md5")
|
|
|
+ var zipMd5 = ""
|
|
|
+ if (md5.isNotEmpty()) {
|
|
|
zipMd5 = FileUtils.getFileMD5ToString("system/media/cofa_cooking.zip")
|
|
|
}
|
|
|
- setOtaFileMd5(zipMd5)
|
|
|
+ Log.d("TAG md5", "time2222 :" + System.currentTimeMillis())
|
|
|
+ Log.d("TAG md5", "string :$zipMd5")
|
|
|
+ //处理ota食谱更新问题
|
|
|
+ if (sn.startsWith("010") && (md5.isEmpty() || md5 != zipMd5)) {
|
|
|
+ /**
|
|
|
+ * 如果MD5的值不存在,重新解压
|
|
|
+ * 如果MD5的值不一样的,就代表食谱包已经重新更新
|
|
|
+ * 需要先删除sd卡目录下的cofa文件,再重新解压
|
|
|
+ * */
|
|
|
+ FileUtils.delete(
|
|
|
+ File(
|
|
|
+ Environment.getExternalStorageDirectory(),
|
|
|
+ "cofa_cooking"
|
|
|
+ )
|
|
|
+ )
|
|
|
+ FileUtils.delete(
|
|
|
+ File(
|
|
|
+ Environment.getExternalStorageDirectory(),
|
|
|
+ "success.lock"
|
|
|
+ )
|
|
|
+ )
|
|
|
+
|
|
|
+ FoodDataProvider.prepareData(this)
|
|
|
+ } else {
|
|
|
+ FoodDataProvider.prepareData(this)
|
|
|
+ }
|
|
|
+ //010 每一次都把md5的值set进去
|
|
|
+ if (sn.startsWith("010")) {
|
|
|
+ //优化启动程序
|
|
|
+ if (zipMd5.isEmpty()) {
|
|
|
+ zipMd5 = FileUtils.getFileMD5ToString("system/media/cofa_cooking.zip")
|
|
|
+ }
|
|
|
+ setOtaFileMd5(zipMd5)
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
}.start()
|
|
|
// val powerManager = getSystemService(POWER_SERVICE) as PowerManager
|
|
|
// val wakeLock: PowerManager.WakeLock =
|