From f20d0f0659c6a1f2f078a000b4b621b18e01f907 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Tue, 15 Sep 2020 11:23:04 +0200 Subject: gradle: desugar retrofuture and remove old deps Signed-off-by: Jason A. Donenfeld --- build.gradle | 3 +-- tunnel/build.gradle | 2 -- .../java/com/wireguard/android/backend/WgQuickBackend.java | 4 +--- tunnel/src/main/java/com/wireguard/config/Attribute.java | 3 +-- .../src/main/java/com/wireguard/config/InetEndpoint.java | 7 +++---- tunnel/src/main/java/com/wireguard/config/Interface.java | 14 +++++--------- tunnel/src/main/java/com/wireguard/config/Peer.java | 2 +- ui/build.gradle | 2 ++ .../com/wireguard/android/databinding/BindingAdapters.kt | 2 +- ui/src/main/res/layout/tunnel_detail_fragment.xml | 8 ++++---- ui/src/main/res/layout/tunnel_detail_peer.xml | 12 ++++++------ 11 files changed, 25 insertions(+), 34 deletions(-) diff --git a/build.gradle b/build.gradle index 33b463e9..e43199a9 100644 --- a/build.gradle +++ b/build.gradle @@ -18,9 +18,8 @@ buildscript { materialComponentsVersion = '1.3.0-alpha02' mavenPluginVersion = '2.1' preferenceVersion = '1.1.1' - streamsupportVersion = '1.7.2' - threetenabpVersion = '1.2.4' zxingEmbeddedVersion = '3.6.0' + desugarVersion = '1.0.10' groupName = 'com.wireguard.android' } diff --git a/tunnel/build.gradle b/tunnel/build.gradle index 6f59c391..73b50828 100644 --- a/tunnel/build.gradle +++ b/tunnel/build.gradle @@ -50,11 +50,9 @@ android { } dependencies { - api "net.sourceforge.streamsupport:android-retrostreams:$streamsupportVersion" implementation "androidx.annotation:annotation:$annotationsVersion" implementation "androidx.collection:collection:$collectionVersion" implementation "com.google.code.findbugs:jsr305:$jsr305Version" - implementation "com.jakewharton.threetenabp:threetenabp:$threetenabpVersion" implementation "net.i2p.crypto:eddsa:$eddsaVersion" testImplementation "junit:junit:$junitVersion" } diff --git a/tunnel/src/main/java/com/wireguard/android/backend/WgQuickBackend.java b/tunnel/src/main/java/com/wireguard/android/backend/WgQuickBackend.java index d4d1f152..e2d87653 100644 --- a/tunnel/src/main/java/com/wireguard/android/backend/WgQuickBackend.java +++ b/tunnel/src/main/java/com/wireguard/android/backend/WgQuickBackend.java @@ -32,8 +32,6 @@ import java.util.Objects; import java.util.Set; import androidx.annotation.Nullable; -import java9.util.stream.Collectors; -import java9.util.stream.Stream; /** * WireGuard backend that uses {@code wg-quick} to implement tunnel configuration. @@ -67,7 +65,7 @@ public final class WgQuickBackend implements Backend { return Collections.emptySet(); } // wg puts all interface names on the same line. Split them into separate elements. - return Stream.of(output.get(0).split(" ")).collect(Collectors.toUnmodifiableSet()); + return Set.of(output.get(0).split(" ")); } @Override diff --git a/tunnel/src/main/java/com/wireguard/config/Attribute.java b/tunnel/src/main/java/com/wireguard/config/Attribute.java index 659f7cf4..447d7216 100644 --- a/tunnel/src/main/java/com/wireguard/config/Attribute.java +++ b/tunnel/src/main/java/com/wireguard/config/Attribute.java @@ -8,11 +8,10 @@ package com.wireguard.config; import com.wireguard.util.NonNullForAll; import java.util.Iterator; +import java.util.Optional; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java9.util.Optional; - @NonNullForAll public final class Attribute { private static final Pattern LINE_PATTERN = Pattern.compile("(\\w+)\\s*=\\s*([^\\s#][^#]*)"); diff --git a/tunnel/src/main/java/com/wireguard/config/InetEndpoint.java b/tunnel/src/main/java/com/wireguard/config/InetEndpoint.java index 6eff4a1b..87a4b9d0 100644 --- a/tunnel/src/main/java/com/wireguard/config/InetEndpoint.java +++ b/tunnel/src/main/java/com/wireguard/config/InetEndpoint.java @@ -7,18 +7,17 @@ package com.wireguard.config; import com.wireguard.util.NonNullForAll; -import org.threeten.bp.Duration; -import org.threeten.bp.Instant; - import java.net.Inet4Address; import java.net.InetAddress; import java.net.URI; import java.net.URISyntaxException; import java.net.UnknownHostException; +import java.time.Duration; +import java.time.Instant; +import java.util.Optional; import java.util.regex.Pattern; import androidx.annotation.Nullable; -import java9.util.Optional; /** diff --git a/tunnel/src/main/java/com/wireguard/config/Interface.java b/tunnel/src/main/java/com/wireguard/config/Interface.java index c49357f7..01bb3699 100644 --- a/tunnel/src/main/java/com/wireguard/config/Interface.java +++ b/tunnel/src/main/java/com/wireguard/config/Interface.java @@ -20,13 +20,11 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Locale; import java.util.Objects; +import java.util.Optional; import java.util.Set; +import java.util.stream.Collectors; import androidx.annotation.Nullable; -import java9.util.Lists; -import java9.util.Optional; -import java9.util.stream.Collectors; -import java9.util.stream.StreamSupport; /** * Represents the configuration for a WireGuard interface (an [Interface] block). Interfaces must @@ -223,9 +221,7 @@ public final class Interface { if (!addresses.isEmpty()) sb.append("Address = ").append(Attribute.join(addresses)).append('\n'); if (!dnsServers.isEmpty()) { - final List dnsServerStrings = StreamSupport.stream(dnsServers) - .map(InetAddress::getHostAddress) - .collect(Collectors.toUnmodifiableList()); + final List dnsServerStrings = dnsServers.stream().map(InetAddress::getHostAddress).collect(Collectors.toList()); sb.append("DNS = ").append(Attribute.join(dnsServerStrings)).append('\n'); } if (!excludedApplications.isEmpty()) @@ -339,11 +335,11 @@ public final class Interface { } public Builder parseExcludedApplications(final CharSequence apps) { - return excludeApplications(Lists.of(Attribute.split(apps))); + return excludeApplications(List.of(Attribute.split(apps))); } public Builder parseIncludedApplications(final CharSequence apps) { - return includeApplications(Lists.of(Attribute.split(apps))); + return includeApplications(List.of(Attribute.split(apps))); } public Builder parseListenPort(final String listenPort) throws BadConfigException { diff --git a/tunnel/src/main/java/com/wireguard/config/Peer.java b/tunnel/src/main/java/com/wireguard/config/Peer.java index 984dbe9c..b9824bff 100644 --- a/tunnel/src/main/java/com/wireguard/config/Peer.java +++ b/tunnel/src/main/java/com/wireguard/config/Peer.java @@ -17,10 +17,10 @@ import java.util.Collections; import java.util.LinkedHashSet; import java.util.Locale; import java.util.Objects; +import java.util.Optional; import java.util.Set; import androidx.annotation.Nullable; -import java9.util.Optional; /** * Represents the configuration for a WireGuard peer (a [Peer] block). Peers must have a public key, diff --git a/ui/build.gradle b/ui/build.gradle index 2701466e..0f258dc6 100644 --- a/ui/build.gradle +++ b/ui/build.gradle @@ -24,6 +24,7 @@ android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 + coreLibraryDesugaringEnabled = true } if (keystorePropertiesFile.exists()) { final def keystoreProperties = new Properties() @@ -69,6 +70,7 @@ dependencies { implementation "com.journeyapps:zxing-android-embedded:$zxingEmbeddedVersion" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion" + coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:$desugarVersion" } tasks.withType(JavaCompile) { diff --git a/ui/src/main/java/com/wireguard/android/databinding/BindingAdapters.kt b/ui/src/main/java/com/wireguard/android/databinding/BindingAdapters.kt index b4c27a63..adc42e7b 100644 --- a/ui/src/main/java/com/wireguard/android/databinding/BindingAdapters.kt +++ b/ui/src/main/java/com/wireguard/android/databinding/BindingAdapters.kt @@ -25,8 +25,8 @@ import com.wireguard.android.widget.ToggleSwitch import com.wireguard.android.widget.ToggleSwitch.OnBeforeCheckedChangeListener import com.wireguard.config.Attribute import com.wireguard.config.InetNetwork -import java9.util.Optional import java.net.InetAddress +import java.util.Optional /** * Static methods for use by generated code in the Android data binding library. diff --git a/ui/src/main/res/layout/tunnel_detail_fragment.xml b/ui/src/main/res/layout/tunnel_detail_fragment.xml index 72c58e76..ce33c5c5 100644 --- a/ui/src/main/res/layout/tunnel_detail_fragment.xml +++ b/ui/src/main/res/layout/tunnel_detail_fragment.xml @@ -169,7 +169,7 @@ android:layout_marginTop="8dp" android:labelFor="@+id/listen_port_text" android:text="@string/listen_port" - android:visibility="@{config.interface.listenPort.isEmpty() ? android.view.View.GONE : android.view.View.VISIBLE}" + android:visibility="@{!config.interface.listenPort.isPresent() ? android.view.View.GONE : android.view.View.VISIBLE}" app:layout_constraintEnd_toStartOf="@id/mtu_label" app:layout_constraintHorizontal_weight="0.5" app:layout_constraintStart_toStartOf="parent" @@ -183,7 +183,7 @@ android:contentDescription="@string/listen_port" android:onClick="@{ClipboardUtils::copyTextView}" android:text="@{config.interface.listenPort}" - android:visibility="@{config.interface.listenPort.isEmpty() ? android.view.View.GONE : android.view.View.VISIBLE}" + android:visibility="@{!config.interface.listenPort.isPresent() ? android.view.View.GONE : android.view.View.VISIBLE}" app:layout_constraintEnd_toStartOf="@id/mtu_label" app:layout_constraintHorizontal_weight="0.5" app:layout_constraintStart_toStartOf="parent" @@ -197,7 +197,7 @@ android:layout_marginTop="8dp" android:labelFor="@+id/mtu_text" android:text="@string/mtu" - android:visibility="@{config.interface.mtu.isEmpty() ? android.view.View.GONE : android.view.View.VISIBLE}" + android:visibility="@{!config.interface.mtu.isPresent() ? android.view.View.GONE : android.view.View.VISIBLE}" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_weight="0.5" app:layout_constraintLeft_toRightOf="@id/listen_port_label" @@ -212,7 +212,7 @@ android:contentDescription="@string/mtu" android:onClick="@{ClipboardUtils::copyTextView}" android:text="@{config.interface.mtu}" - android:visibility="@{config.interface.mtu.isEmpty() ? android.view.View.GONE : android.view.View.VISIBLE}" + android:visibility="@{!config.interface.mtu.isPresent() ? android.view.View.GONE : android.view.View.VISIBLE}" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_weight="0.5" app:layout_constraintStart_toEndOf="@id/listen_port_label" diff --git a/ui/src/main/res/layout/tunnel_detail_peer.xml b/ui/src/main/res/layout/tunnel_detail_peer.xml index d0de329b..d0836536 100644 --- a/ui/src/main/res/layout/tunnel_detail_peer.xml +++ b/ui/src/main/res/layout/tunnel_detail_peer.xml @@ -62,7 +62,7 @@ android:layout_marginTop="8dp" android:labelFor="@+id/pre_shared_key_text" android:text="@string/pre_shared_key" - android:visibility="@{item.preSharedKey.isEmpty() ? android.view.View.GONE : android.view.View.VISIBLE}" + android:visibility="@{!item.preSharedKey.isPresent() ? android.view.View.GONE : android.view.View.VISIBLE}" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/public_key_text" /> @@ -76,7 +76,7 @@ android:maxLines="1" android:singleLine="true" android:text="@string/pre_shared_key_enabled" - android:visibility="@{item.preSharedKey.isEmpty() ? android.view.View.GONE : android.view.View.VISIBLE}" + android:visibility="@{!item.preSharedKey.isPresent() ? android.view.View.GONE : android.view.View.VISIBLE}" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/pre_shared_key_label" tools:text="8VyS8W8XeMcBWfKp1GuG3/fZlnUQFkqMNbrdmZtVQIM=" /> @@ -112,7 +112,7 @@ android:layout_marginTop="8dp" android:labelFor="@+id/endpoint_text" android:text="@string/endpoint" - android:visibility="@{item.endpoint.isEmpty() ? android.view.View.GONE : android.view.View.VISIBLE}" + android:visibility="@{!item.endpoint.isPresent() ? android.view.View.GONE : android.view.View.VISIBLE}" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/allowed_ips_text" /> @@ -124,7 +124,7 @@ android:contentDescription="@string/endpoint" android:onClick="@{ClipboardUtils::copyTextView}" android:text="@{item.endpoint}" - android:visibility="@{item.endpoint.isEmpty() ? android.view.View.GONE : android.view.View.VISIBLE}" + android:visibility="@{!item.endpoint.isPresent() ? android.view.View.GONE : android.view.View.VISIBLE}" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/endpoint_label" tools:text="192.168.0.1:51820" /> @@ -136,7 +136,7 @@ android:layout_marginTop="8dp" android:labelFor="@+id/persistent_keepalive_text" android:text="@string/persistent_keepalive" - android:visibility="@{item.persistentKeepalive.isEmpty() ? android.view.View.GONE : android.view.View.VISIBLE}" + android:visibility="@{!item.persistentKeepalive.isPresent() ? android.view.View.GONE : android.view.View.VISIBLE}" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/endpoint_text" /> @@ -148,7 +148,7 @@ android:contentDescription="@string/persistent_keepalive" android:onClick="@{ClipboardUtils::copyTextView}" android:text="@{@plurals/persistent_keepalive_seconds_unit(item.persistentKeepalive.orElse(0), item.persistentKeepalive.orElse(0))}" - android:visibility="@{item.persistentKeepalive.isEmpty() ? android.view.View.GONE : android.view.View.VISIBLE}" + android:visibility="@{!item.persistentKeepalive.isPresent() ? android.view.View.GONE : android.view.View.VISIBLE}" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/persistent_keepalive_label" tools:text="every 3 seconds" /> -- cgit v1.2.3-59-g8ed1b