Skip to content

Commit a378dbf

Browse files
committed
fix: Incorrect restore state on finish page
Change-Id: I760b7ba54f82c2393d687294bf6d0ea3d8ce3e6f
1 parent b13b0b6 commit a378dbf

4 files changed

Lines changed: 14 additions & 18 deletions

File tree

source/core/service/src/main/kotlin/com/xayah/core/service/util/CommonBackupUtil.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class CommonBackupUtil @Inject constructor(
5050
log { "Backing up itself..." }
5151

5252
val packageName = context.packageName
53-
val isSuccess: Boolean
53+
var isSuccess = true
5454
val out = mutableListOf<String>()
5555
val sourceDirList = rootService.getPackageSourceDir(packageName, android.os.Process.myUid() / 100000)
5656
if (sourceDirList.isNotEmpty()) {
@@ -67,7 +67,6 @@ class CommonBackupUtil @Inject constructor(
6767
}
6868
} == true)
6969
) {
70-
isSuccess = true
7170
out.add(log { "$targetPath exists, skip." })
7271
} else {
7372
isSuccess = rootService.copyTo(path = path, targetPath = targetPath, overwrite = true)

source/core/service/src/main/kotlin/com/xayah/core/service/util/MediumBackupUtil.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ class MediumBackupUtil @Inject constructor(
7272
val name = m.name
7373
val ct = m.indexInfo.compressionType
7474
val dst = mediaRepository.getArchiveDst(dstDir = dstDir, ct = ct)
75-
var isSuccess: Boolean
75+
var isSuccess = true
7676
val out = mutableListOf<String>()
7777
val src = m.path
7878
val srcDir = PathUtil.getParentPath(src)
@@ -90,7 +90,6 @@ class MediumBackupUtil @Inject constructor(
9090
val sizeBytes = rootService.calculateSize(src)
9191
t.updateInfo(state = OperationState.PROCESSING, bytes = sizeBytes)
9292
if (rootService.exists(dst) && sizeBytes == r?.getDataBytes()) {
93-
isSuccess = true
9493
t.updateInfo(state = OperationState.SKIP)
9594
out.add(log { "Data has not changed." })
9695
} else {
@@ -107,7 +106,7 @@ class MediumBackupUtil @Inject constructor(
107106
out.addAll(result.out)
108107
}
109108
commonBackupUtil.testArchive(src = dst, ct = ct).also { result ->
110-
isSuccess = isSuccess and result.isSuccess
109+
isSuccess = isSuccess && result.isSuccess
111110
out.addAll(result.out)
112111
if (result.isSuccess) {
113112
m.setDataBytes(sizeBytes)

source/core/service/src/main/kotlin/com/xayah/core/service/util/PackagesBackupUtil.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ class PackagesBackupUtil @Inject constructor(
207207
out.addAll(result.out)
208208
}
209209
commonBackupUtil.testArchive(src = dst, ct = tarCt).also { result ->
210-
isSuccess = isSuccess and result.isSuccess
210+
isSuccess = isSuccess && result.isSuccess
211211
out.addAll(result.out)
212212
}
213213

@@ -248,7 +248,7 @@ class PackagesBackupUtil @Inject constructor(
248248
out.addAll(result.out)
249249
}
250250
commonBackupUtil.testArchive(src = dst, ct = ct).also { result ->
251-
isSuccess = isSuccess and result.isSuccess
251+
isSuccess = isSuccess && result.isSuccess
252252
out.addAll(result.out)
253253
if (result.isSuccess) {
254254
p.setDataBytes(dataType, sizeBytes)
@@ -342,7 +342,7 @@ class PackagesBackupUtil @Inject constructor(
342342
out.addAll(result.out)
343343
}
344344
commonBackupUtil.testArchive(src = dst, ct = ct).also { result ->
345-
isSuccess = isSuccess and result.isSuccess
345+
isSuccess = isSuccess && result.isSuccess
346346
out.addAll(result.out)
347347
if (result.isSuccess) {
348348
p.setDataBytes(dataType, sizeBytes)

source/core/service/src/main/kotlin/com/xayah/core/service/util/PackagesRestoreUtil.kt

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -163,11 +163,10 @@ class PackagesRestoreUtil @Inject constructor(
163163
val packageName = p.packageName
164164
val ct = p.indexInfo.compressionType
165165
val src = packageRepository.getArchiveDst(dstDir = srcDir, dataType = dataType, ct = ct)
166-
var isSuccess: Boolean
166+
var isSuccess = true
167167
val out = mutableListOf<String>()
168168

169169
if (p.getDataSelected(dataType).not()) {
170-
isSuccess = true
171170
t.updateInfo(dataType = dataType, state = OperationState.SKIP)
172171
} else {
173172
// Return if the archive doesn't exist.
@@ -193,7 +192,7 @@ class PackagesRestoreUtil @Inject constructor(
193192

194193
1 -> {
195194
Pm.install(userId = userId, src = apksPath.first()).also { result ->
196-
isSuccess = isSuccess and result.isSuccess
195+
isSuccess = isSuccess && result.isSuccess
197196
out.addAll(result.out)
198197
}
199198
}
@@ -213,13 +212,13 @@ class PackagesRestoreUtil @Inject constructor(
213212

214213
apksPath.forEach { apkPath ->
215214
Pm.Install.write(session = pmSession, srcName = PathUtil.getFileName(apkPath), src = apkPath).also { result ->
216-
isSuccess = isSuccess and result.isSuccess
215+
isSuccess = isSuccess && result.isSuccess
217216
out.addAll(result.out)
218217
}
219218
}
220219

221220
Pm.Install.commit(pmSession).also { result ->
222-
isSuccess = isSuccess and result.isSuccess
221+
isSuccess = isSuccess && result.isSuccess
223222
out.addAll(result.out)
224223
}
225224
}
@@ -256,11 +255,10 @@ class PackagesRestoreUtil @Inject constructor(
256255
val dstDir = packageRepository.getDataSrcDir(dataType, userId)
257256
val dst = packageRepository.getDataSrc(dstDir, packageName)
258257
val uid = rootService.getPackageUid(packageName = packageName, userId = userId)
259-
var isSuccess: Boolean
258+
var isSuccess = true
260259
val out = mutableListOf<String>()
261260

262261
if (p.getDataSelected(dataType).not()) {
263-
isSuccess = true
264262
t.updateInfo(dataType = dataType, state = OperationState.SKIP)
265263
} else {
266264
if (uid == -1) {
@@ -317,12 +315,12 @@ class PackagesRestoreUtil @Inject constructor(
317315
gid = pathGid
318316
}
319317
SELinux.chown(uid = uid.toUInt(), gid = gid, path = dst).also { result ->
320-
isSuccess = result.isSuccess
318+
isSuccess = isSuccess && result.isSuccess
321319
out.addAll(result.out)
322320
}
323321
if (pathContext.isNotEmpty()) {
324322
SELinux.chcon(context = pathContext, path = dst).also { result ->
325-
isSuccess = result.isSuccess
323+
isSuccess = isSuccess && result.isSuccess
326324
out.addAll(result.out)
327325
}
328326
} else {
@@ -332,7 +330,7 @@ class PackagesRestoreUtil @Inject constructor(
332330
}
333331
if (parentContext.isNotEmpty()) {
334332
SELinux.chcon(context = parentContext, path = dst).also { result ->
335-
isSuccess = result.isSuccess
333+
isSuccess = isSuccess && result.isSuccess
336334
out.addAll(result.out)
337335
}
338336
} else {

0 commit comments

Comments
 (0)