diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-06-07 04:35:07 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-06-07 04:35:07 +0200 |
commit | 8d27570eeaddf1cac311c3833df584eb253b2723 (patch) | |
tree | d977167b737cb235ff78b56bd8f42d698cd77d13 /app/src/main/java/com/wireguard/android/preference/VersionPreference.java | |
parent | 24605c9c0132135873f7a8c7a966ff2d512edef3 (diff) |
Backend: abstract version information
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'app/src/main/java/com/wireguard/android/preference/VersionPreference.java')
-rw-r--r-- | app/src/main/java/com/wireguard/android/preference/VersionPreference.java | 26 |
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 |