「Update」

1、增加isUseSkin属性,来针对性的开启换肤,防止大面积误伤其它View。原因是很多数据、图片都是动态设置的。会把设置的数据冲掉;
This commit is contained in:
donghongyu
2024-10-25 17:47:31 +08:00
parent 2ccbe54756
commit cb397d919a
7 changed files with 43 additions and 18 deletions

View File

@@ -180,7 +180,8 @@ public class SkinManager extends Observable {
//下载成功将皮肤包信息insert已下载数据库
Log.e(TAG, "DownloadManager 皮肤包下载完成开始校验");
//皮肤包的md5校验 防止下载文件损坏(但是会减慢速度。从数据库查询已下载皮肤表数据库中保留md5字段)
if (TextUtils.equals(SkinUtils.getSkinMD5(skinFile), skin.md5)) {
String localSkinFileMd5 = SkinUtils.getSkinMD5(skinFile);
if (TextUtils.equals(localSkinFileMd5, skin.md5)) {
Log.d(TAG, "DownloadManager 校验成功,修改文件名。");
// 加载指定皮肤包
SkinManager.getInstance().loadSkin(skin.getPathLocal());
@@ -191,8 +192,8 @@ public class SkinManager extends Observable {
} else {
// 回调给使用方成功
skinLoadListener.onLoadFailed(new Exception("皮肤文件校验出错,本地文件MD5 与云端文件MD5 不一致。"));
Log.e(TAG, "DownloadManager 皮肤文件校验出错,本地文件MD5 与云端文件MD5 不一致。");
Toast.makeText(mApplication, "皮肤文件校验出错,本地文件MD5 与云端文件MD5 不一致。", Toast.LENGTH_SHORT).show();
Log.e(TAG, "DownloadManager 皮肤文件校验出错,本地文件 MD5 = " + localSkinFileMd5 + " 与云端文件 MD5 = " + skin.md5 + " 不一致。");
Toast.makeText(mApplication, "皮肤文件校验出错,本地文件 MD5 = " + localSkinFileMd5 + " 与云端文件 MD5 = " + skin.md5 + " 不一致。", Toast.LENGTH_LONG).show();
// TODO 删除本地皮肤文件并重新下载这个操作比较危险需要严格保证配置文件中的md5与实际皮肤包一致否则将是灾难
}
} catch (Exception e) {