diff options
Diffstat (limited to 'app/src/main/java/org/pacien/tincapp/commands/PermissionFixer.kt')
-rw-r--r-- | app/src/main/java/org/pacien/tincapp/commands/PermissionFixer.kt | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/commands/PermissionFixer.kt b/app/src/main/java/org/pacien/tincapp/commands/PermissionFixer.kt new file mode 100644 index 0000000..493927c --- /dev/null +++ b/app/src/main/java/org/pacien/tincapp/commands/PermissionFixer.kt | |||
@@ -0,0 +1,20 @@ | |||
1 | package org.pacien.tincapp.commands | ||
2 | |||
3 | import android.annotation.SuppressLint | ||
4 | import android.content.Context | ||
5 | import org.pacien.tincapp.context.AppPaths | ||
6 | import java.io.File | ||
7 | |||
8 | /** | ||
9 | * @author pacien | ||
10 | */ | ||
11 | object PermissionFixer { | ||
12 | |||
13 | @SuppressLint("SetWorldReadable", "SetWorldWritable") | ||
14 | private fun setAllRWXPermissions(f: File): Boolean = | ||
15 | f.setReadable(true, false) && f.setWritable(true, false) && f.setExecutable(true, false) | ||
16 | |||
17 | fun makePrivateDirsPublic(ctx: Context): Boolean = listOf(AppPaths.confDir(ctx), AppPaths.logDir(ctx), AppPaths.pidDir(ctx)) | ||
18 | .map { setAllRWXPermissions(it) }.all { it } | ||
19 | |||
20 | } | ||