diff options
author | Arian <arian.kulmer@web.de> | 2022-04-23 14:44:08 +0200 |
---|---|---|
committer | Arian <arian.kulmer@web.de> | 2022-04-23 14:46:28 +0200 |
commit | 16cb5c2f25492428ac9a79d3c9d55018ab991aa5 (patch) | |
tree | 847888405a3a057328d624cbd54e30c4d1cce8bc | |
parent | bbf2442ad447e1e0faffdac47c0ebaa1e676fc66 (diff) |
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
-rw-r--r-- | src/org/lineageos/updater/controller/UpdateInstaller.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/org/lineageos/updater/controller/UpdateInstaller.java b/src/org/lineageos/updater/controller/UpdateInstaller.java index 9735429..b111f9f 100644 --- a/src/org/lineageos/updater/controller/UpdateInstaller.java +++ b/src/org/lineageos/updater/controller/UpdateInstaller.java @@ -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()) |