aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/app/src/main/java/com/wireguard/android/util/ToolsInstaller.java
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2020-03-08 20:20:29 -0600
committerJason A. Donenfeld <Jason@zx2c4.com>2020-03-08 20:23:25 -0600
commit7a4af834c213672c65c89b14c75229bf5f2ea4ab (patch)
tree64fad45abe8f1586449b2f1090547d6d57f5b934 /app/src/main/java/com/wireguard/android/util/ToolsInstaller.java
parentGoBackend: setConfigureIntent does nothing (diff)
downloadwireguard-android-7a4af834c213672c65c89b14c75229bf5f2ea4ab.tar.xz
wireguard-android-7a4af834c213672c65c89b14c75229bf5f2ea4ab.zip
Backend: do not use singletons
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r--app/src/main/java/com/wireguard/android/util/ToolsInstaller.java13
1 files changed, 7 insertions, 6 deletions
diff --git a/app/src/main/java/com/wireguard/android/util/ToolsInstaller.java b/app/src/main/java/com/wireguard/android/util/ToolsInstaller.java
index f2fdeddc..5a75c158 100644
--- a/app/src/main/java/com/wireguard/android/util/ToolsInstaller.java
+++ b/app/src/main/java/com/wireguard/android/util/ToolsInstaller.java
@@ -10,7 +10,6 @@ import androidx.annotation.Nullable;
import android.system.OsConstants;
import android.util.Log;
-import com.wireguard.android.Application;
import com.wireguard.android.BuildConfig;
import com.wireguard.android.util.RootShell.RootShellException;
@@ -39,14 +38,16 @@ public final class ToolsInstaller {
private static final String TAG = "WireGuard/" + ToolsInstaller.class.getSimpleName();
private final Context context;
+ private final RootShell rootShell;
private final File localBinaryDir;
private final Object lock = new Object();
@Nullable private Boolean areToolsAvailable;
@Nullable private Boolean installAsMagiskModule;
- public ToolsInstaller(final Context context) {
+ public ToolsInstaller(final Context context, final RootShell rootShell) {
localBinaryDir = new File(context.getCodeCacheDir(), "bin");
this.context = context;
+ this.rootShell = rootShell;
}
@Nullable
@@ -73,7 +74,7 @@ public final class ToolsInstaller {
}
script.append("exit ").append(OsConstants.EALREADY).append(';');
try {
- final int ret = Application.getRootShell().run(null, script.toString());
+ final int ret = rootShell.run(null, script.toString());
if (ret == OsConstants.EALREADY)
return willInstallAsMagiskModule() ? YES | MAGISK : YES | SYSTEM;
else
@@ -124,7 +125,7 @@ public final class ToolsInstaller {
script.append("trap - INT TERM EXIT;");
try {
- return Application.getRootShell().run(null, script.toString()) == 0 ? YES | MAGISK : ERROR;
+ return rootShell.run(null, script.toString()) == 0 ? YES | MAGISK : ERROR;
} catch (final IOException ignored) {
return ERROR;
} catch (final RootShellException e) {
@@ -146,7 +147,7 @@ public final class ToolsInstaller {
new File(localBinaryDir, name), destination, destination, destination));
}
try {
- return Application.getRootShell().run(null, script.toString()) == 0 ? YES | SYSTEM : ERROR;
+ return rootShell.run(null, script.toString()) == 0 ? YES | SYSTEM : ERROR;
} catch (final IOException ignored) {
return ERROR;
} catch (final RootShellException e) {
@@ -183,7 +184,7 @@ public final class ToolsInstaller {
synchronized (lock) {
if (installAsMagiskModule == null) {
try {
- installAsMagiskModule = Application.getRootShell().run(null, "[ -d /sbin/.magisk/mirror -a -d /sbin/.magisk/img -a ! -f /cache/.disable_magisk ]") == OsConstants.EXIT_SUCCESS;
+ installAsMagiskModule = rootShell.run(null, "[ -d /sbin/.magisk/mirror -a -d /sbin/.magisk/img -a ! -f /cache/.disable_magisk ]") == OsConstants.EXIT_SUCCESS;
} catch (final Exception ignored) {
installAsMagiskModule = false;
}