UpdateInstaller: Set file permissions on uncrypt ota package
----- E RecoverySystemService: Failed to reserve space for compressed apex: E RecoverySystemService: java.io.FileNotFoundException: /data/lineageos_updates/lineage-19.1-20220422-UNOFFICIAL-GMS-sagit.zip.uncrypt (Permission denied) E RecoverySystemService: at java.util.zip.ZipFile.open(Native Method) E RecoverySystemService: at java.util.zip.ZipFile.<init>(ZipFile.java:265) E RecoverySystemService: at java.util.zip.ZipFile.<init>(ZipFile.java:187) E RecoverySystemService: at java.util.zip.ZipFile.<init>(ZipFile.java:158) E RecoverySystemService: at com.android.server.recoverysystem.RecoverySystemService.getCompressedApexInfoList(RecoverySystemService.java:921) E RecoverySystemService: at com.android.server.recoverysystem.RecoverySystemService.allocateSpaceForUpdate(RecoverySystemService.java:972) E RecoverySystemService: at android.os.IRecoverySystem$Stub.onTransact(IRecoverySystem.java:156) E RecoverySystemService: at android.os.Binder.execTransactInternal(Binder.java:1179) E RecoverySystemService: at android.os.Binder.execTransact(Binder.java:1143) E UpdateInstaller: Could not install update E UpdateInstaller: java.io.IOException: Failed to allocate space for update /data/lineageos_updates/lineage-19.1-20220422-UNOFFICIAL-GMS-sagit.zip.uncrypt E UpdateInstaller: at android.os.RecoverySystem.installPackage(RecoverySystem.java:678) E UpdateInstaller: at android.os.RecoverySystem.installPackage(RecoverySystem.java:596) E UpdateInstaller: at org.lineageos.updater.controller.UpdateInstaller.installPackage(UpdateInstaller.java:100) E UpdateInstaller: at org.lineageos.updater.controller.UpdateInstaller.access$400(UpdateInstaller.java:35) E UpdateInstaller: at org.lineageos.updater.controller.UpdateInstaller$1.run(UpdateInstaller.java:144) E UpdateInstaller: at java.lang.Thread.run(Thread.java:920) Change-Id: I8250bf58709b92572cdffc8e5faca4bf243935aa
This commit is contained in:
@@ -31,6 +31,10 @@ import org.lineageos.updater.model.UpdateStatus;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.attribute.PosixFilePermission;
|
||||
import java.nio.file.Files;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
class UpdateInstaller {
|
||||
|
||||
@@ -131,6 +135,15 @@ class UpdateInstaller {
|
||||
try {
|
||||
mCanCancel = true;
|
||||
FileUtils.copyFile(update.getFile(), uncryptFile, mProgressCallBack);
|
||||
try {
|
||||
Set<PosixFilePermission> perms = new HashSet<>();
|
||||
perms.add(PosixFilePermission.OWNER_READ);
|
||||
perms.add(PosixFilePermission.OWNER_WRITE);
|
||||
perms.add(PosixFilePermission.OTHERS_READ);
|
||||
perms.add(PosixFilePermission.GROUP_READ);
|
||||
Files.setPosixFilePermissions(uncryptFile.toPath(), perms);
|
||||
} catch (IOException exception) {}
|
||||
|
||||
mCanCancel = false;
|
||||
if (mPrepareUpdateThread.isInterrupted()) {
|
||||
mUpdaterController.getActualUpdate(update.getDownloadId())
|
||||
|
||||
Reference in New Issue
Block a user