11package com.xayah.core.service.packages.restore
22
3+ import android.util.Log
34import com.xayah.core.data.repository.PackageRepository
45import com.xayah.core.data.repository.TaskRepository
56import com.xayah.core.database.dao.PackageDao
@@ -17,6 +18,7 @@ import com.xayah.core.util.PathUtil
1718import com.xayah.core.util.localBackupSaveDir
1819import dagger.hilt.android.AndroidEntryPoint
1920import javax.inject.Inject
21+ import java.io.File
2022
2123@AndroidEntryPoint
2224internal class RestoreServiceLocalImpl @Inject constructor() : AbstractRestoreService() {
@@ -50,7 +52,21 @@ internal class RestoreServiceLocalImpl @Inject constructor() : AbstractRestoreSe
5052 }
5153
5254 override suspend fun getPackages (): List <PackageEntity > {
53- return mPackageRepo.queryActivated(OpType .RESTORE , " " , mRootDir)
55+ // 检查是否为 Restic 恢复场景
56+ val restoreDir = File (" ${mRootDir} /restore" )
57+ val backupDir = if (restoreDir.exists()) {
58+ Log .d(mTAG, " 检测到 Restic 恢复场景,使用 restore 子目录" )
59+ " ${mRootDir} /restore/"
60+ } else {
61+ Log .d(mTAG, " 使用标准恢复路径" )
62+ mRootDir
63+ }
64+
65+ Log .d(mTAG, " 查询参数: cloud=, backupDir=$backupDir " )
66+ val packages = mPackageRepo.queryActivated(OpType .RESTORE , " " , backupDir)
67+ Log .d(mTAG, " 查询到 ${packages.size} 个激活的应用" )
68+
69+ return packages
5470 }
5571
5672 override suspend fun restore (type : DataType , userId : Int , p : PackageEntity , t : TaskDetailPackageEntity , srcDir : String ) {
0 commit comments