diff options
Diffstat (limited to 'app/src/main/java/com/wireguard/android/fragment/TunnelListFragment.java')
-rw-r--r-- | app/src/main/java/com/wireguard/android/fragment/TunnelListFragment.java | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/app/src/main/java/com/wireguard/android/fragment/TunnelListFragment.java b/app/src/main/java/com/wireguard/android/fragment/TunnelListFragment.java index 7509e40c..783c0a29 100644 --- a/app/src/main/java/com/wireguard/android/fragment/TunnelListFragment.java +++ b/app/src/main/java/com/wireguard/android/fragment/TunnelListFragment.java @@ -41,9 +41,10 @@ import com.wireguard.android.util.ExceptionLoggers; import com.wireguard.android.widget.MultiselectableRelativeLayout; import com.wireguard.android.widget.fab.FloatingActionsMenuRecyclerViewScrollListener; import com.wireguard.config.Config; +import com.wireguard.config.ParseException; -import java.io.BufferedReader; -import java.io.InputStreamReader; +import java.io.ByteArrayInputStream; +import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collection; @@ -79,13 +80,13 @@ public class TunnelListFragment extends BaseFragment { private void importTunnel(@NonNull final String configText) { try { // Ensure the config text is parseable before proceeding… - Config.from(configText); + Config.parse(new ByteArrayInputStream(configText.getBytes(StandardCharsets.UTF_8))); // Config text is valid, now create the tunnel… final FragmentManager fragmentManager = getFragmentManager(); if (fragmentManager != null) ConfigNamingDialogFragment.newInstance(configText).show(fragmentManager, null); - } catch (final Exception exception) { + } catch (final IllegalArgumentException | IOException | ParseException exception) { onTunnelImportFinished(Collections.emptyList(), Collections.singletonList(exception)); } } @@ -122,7 +123,6 @@ public class TunnelListFragment extends BaseFragment { if (isZip) { try (ZipInputStream zip = new ZipInputStream(contentResolver.openInputStream(uri))) { - BufferedReader reader = new BufferedReader(new InputStreamReader(zip, StandardCharsets.UTF_8)); ZipEntry entry; while ((entry = zip.getNextEntry()) != null) { if (entry.isDirectory()) @@ -140,7 +140,7 @@ public class TunnelListFragment extends BaseFragment { continue; Config config = null; try { - config = Config.from(reader); + config = Config.parse(zip); } catch (Exception e) { throwables.add(e); } @@ -150,7 +150,7 @@ public class TunnelListFragment extends BaseFragment { } } else { futureTunnels.add(Application.getTunnelManager().create(name, - Config.from(contentResolver.openInputStream(uri))).toCompletableFuture()); + Config.parse(contentResolver.openInputStream(uri))).toCompletableFuture()); } if (futureTunnels.isEmpty()) { |