aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/app/src/main/java/com/wireguard/android/preference
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-06-07 04:35:07 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2018-06-07 04:35:07 +0200
commit8d27570eeaddf1cac311c3833df584eb253b2723 (patch)
treed977167b737cb235ff78b56bd8f42d698cd77d13 /app/src/main/java/com/wireguard/android/preference
parentGive Samuel heart attack by removing Dagger (diff)
downloadwireguard-android-8d27570eeaddf1cac311c3833df584eb253b2723.tar.xz
wireguard-android-8d27570eeaddf1cac311c3833df584eb253b2723.zip
Backend: abstract version information
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'app/src/main/java/com/wireguard/android/preference')
-rw-r--r--app/src/main/java/com/wireguard/android/preference/VersionPreference.java26
1 files changed, 9 insertions, 17 deletions
diff --git a/app/src/main/java/com/wireguard/android/preference/VersionPreference.java b/app/src/main/java/com/wireguard/android/preference/VersionPreference.java
index c42fe32a..ab51644f 100644
--- a/app/src/main/java/com/wireguard/android/preference/VersionPreference.java
+++ b/app/src/main/java/com/wireguard/android/preference/VersionPreference.java
@@ -14,6 +14,7 @@ import android.util.AttributeSet;
import com.wireguard.android.Application;
import com.wireguard.android.BuildConfig;
import com.wireguard.android.R;
+import com.wireguard.android.backend.Backend;
import com.wireguard.android.backend.GoBackend;
import com.wireguard.android.backend.WgQuickBackend;
@@ -26,23 +27,14 @@ public class VersionPreference extends Preference {
public VersionPreference(final Context context, final AttributeSet attrs) {
super(context, attrs);
- if (Application.getBackendType() == GoBackend.class) {
- versionSummary = getContext().getString(R.string.version_userspace_summary, GoBackend.getVersion());
- } else if (Application.getBackendType() == WgQuickBackend.class) {
- versionSummary = getContext().getString(R.string.version_kernel_summary_checking);
- Application.getAsyncWorker().supplyAsync(() -> {
- final List<String> output = new ArrayList<>();
- if (Application.getRootShell()
- .run(output, "cat /sys/module/wireguard/version") != 0 || output.isEmpty())
- throw new RuntimeException("Unable to determine kernel module version");
- return output.get(0);
- }).whenComplete((version, exception) -> {
- versionSummary = exception == null
- ? getContext().getString(R.string.version_kernel_summary, version)
- : getContext().getString(R.string.version_kernel_summary_unknown);
- notifyChanged();
- });
- }
+ final Backend backend = Application.getBackend();
+ versionSummary = getContext().getString(R.string.version_summary_checking, backend.getTypeName().toLowerCase());
+ Application.getAsyncWorker().supplyAsync(backend::getVersion).whenComplete((version, exception) -> {
+ versionSummary = exception == null
+ ? getContext().getString(R.string.version_summary, backend.getTypeName(), version)
+ : getContext().getString(R.string.version_summary_unknown, backend.getTypeName().toLowerCase());
+ notifyChanged();
+ });
}
@Override