feat: 提供根据 md5 删除对应存档的方法,调整部分变量命名

This commit is contained in:
chenjuntao
2022-11-22 15:10:40 +08:00
parent 842f120de4
commit 5efb343599
2 changed files with 24 additions and 10 deletions

View File

@ -13,19 +13,19 @@ class CommunicationService : Service() {
private var mBinder: ICommunicationManager.Stub = object : ICommunicationManager.Stub() {
override fun archiveUnzipCompleted(packageName: String, isSuccess: Boolean) {
Utils.log(VHelper.LOG_TAG, "$packageName apply archive result is $isSuccess")
Utils.log(VHelper.LOG_TAG, "包名 $packageName 应用存档的结果是 $isSuccess")
VArchiveHelper.onApplyGameArchiveFinished(packageName, isSuccess)
}
override fun archiveinPackageCompleted(packageName: String, isSuccess: Boolean) {
Utils.log(VHelper.LOG_TAG, "$packageName save archive result is $isSuccess")
Utils.log(VHelper.LOG_TAG, "包名 $packageName 保存存档的结果是 $isSuccess")
VArchiveHelper.onSaveGameArchiveFinished(packageName, isSuccess)
}
override fun installGameCompleted(packageName: String, params: VGameInstallerResult) {
Utils.log(VHelper.LOG_TAG, "$packageName install result is ${params.status}")
Utils.log(VHelper.LOG_TAG, "包名 $packageName 安装的结果是 ${params.status}")
VHelper.onInstallFinished(packageName, params)
}

View File

@ -26,8 +26,8 @@ object VArchiveHelper {
private var mLatestArchiveFile: File? = null // 最近一个用于保存的存档文件
private val mSaveArchiveListenerList: ArrayList<(VArchiveEntity) -> Unit> by lazy { arrayListOf() }
private var mArchiveEntityList: ArrayList<VArchiveEntity> = arrayListOf()
private var mArchiveMd5Set: HashSet<String> = hashSetOf()
private var mVArchiveEntityList: ArrayList<VArchiveEntity> = arrayListOf()
private var mVArchiveMd5Set: HashSet<String> = hashSetOf()
private var mLatestDownloadingArchiveEntity: ArchiveEntity? = null // 最近一个正在下载的存档实例
@ -67,11 +67,11 @@ object VArchiveHelper {
vArchiveEntityListLiveData.observeForever {
// 更新已拥有的存档数据
val archiveMd5Set = hashSetOf<String>()
mArchiveEntityList = ArrayList(it)
for (vArchiveEntity in mArchiveEntityList) {
mVArchiveEntityList = ArrayList(it)
for (vArchiveEntity in mVArchiveEntityList) {
archiveMd5Set.add(vArchiveEntity.md5)
}
mArchiveMd5Set = archiveMd5Set
mVArchiveMd5Set = archiveMd5Set
}
}
@ -158,13 +158,13 @@ object VArchiveHelper {
/**
* 本地是否已经拥有该 md5 对应的存档
*/
fun isArchiveDownloaded(md5: String): Boolean = mArchiveMd5Set.contains(md5)
fun isArchiveDownloaded(md5: String): Boolean = mVArchiveMd5Set.contains(md5)
/**
* 根据 md5 获取对应的存档文件 (file)
*/
fun getArchiveFile(md5: String): File? {
for (vArchiveEntity in mArchiveEntityList) {
for (vArchiveEntity in mVArchiveEntityList) {
if (md5 == vArchiveEntity.md5) {
return File(vArchiveEntity.filePath)
}
@ -172,6 +172,20 @@ object VArchiveHelper {
return null
}
/**
* 根据 md5 删除对应的存档文件
*/
fun deleteArchive(md5: String) {
for (vArchiveEntity in mVArchiveEntityList) {
if (md5 == vArchiveEntity.md5) {
runOnIoThread {
mVArchiveDao.delete(vArchiveEntity)
}
break
}
}
}
/**
* 注册生成游戏存档成功结果监听
*/