aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/org/pacien/tincapp/commands/PermissionFixer.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/org/pacien/tincapp/commands/PermissionFixer.java')
-rw-r--r--app/src/main/java/org/pacien/tincapp/commands/PermissionFixer.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/commands/PermissionFixer.java b/app/src/main/java/org/pacien/tincapp/commands/PermissionFixer.java
new file mode 100644
index 0000000..b00d0d6
--- /dev/null
+++ b/app/src/main/java/org/pacien/tincapp/commands/PermissionFixer.java
@@ -0,0 +1,34 @@
1package org.pacien.tincapp.commands;
2
3import android.annotation.SuppressLint;
4import android.content.Context;
5
6import com.annimon.stream.Stream;
7
8import org.pacien.tincapp.context.AppPaths;
9
10import java.io.File;
11
12/**
13 * @author pacien
14 */
15final public class PermissionFixer {
16
17 private PermissionFixer() {
18 // static class
19 }
20
21 @SuppressLint({"SetWorldReadable", "SetWorldWritable"})
22 static private Boolean setAllRWXPermissions(File f) {
23 return f.setReadable(true, false)
24 && f.setWritable(true, false)
25 && f.setExecutable(true, false);
26 }
27
28 static public Boolean makePrivateDirsPublic(Context ctx) {
29 return Stream.of(AppPaths.confDir(ctx), AppPaths.logDir(ctx), AppPaths.pidDir(ctx))
30 .map(PermissionFixer::setAllRWXPermissions)
31 .reduce((x, y) -> x && y).get();
32 }
33
34}