diff options
author | Samuel Holland <samuel@sholland.org> | 2017-08-23 18:02:37 -0500 |
---|---|---|
committer | Samuel Holland <samuel@sholland.org> | 2017-08-23 18:02:37 -0500 |
commit | 0e46f9566838c529ad5b43034ea1e6686f6c7d8b (patch) | |
tree | df81b87a01bffb55ed2a17e9e1ce4a3f13598be7 /app/src/main/java/com/wireguard/config/Config.java | |
parent | d3e6b311cafc13c627201220d183d07ef748f2bb (diff) |
Config/Interface: Allow copyFrom() to work on null
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'app/src/main/java/com/wireguard/config/Config.java')
-rw-r--r-- | app/src/main/java/com/wireguard/config/Config.java | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/app/src/main/java/com/wireguard/config/Config.java b/app/src/main/java/com/wireguard/config/Config.java index c7fdcc87..8f61dbdd 100644 --- a/app/src/main/java/com/wireguard/config/Config.java +++ b/app/src/main/java/com/wireguard/config/Config.java @@ -61,12 +61,21 @@ public class Config extends BaseObservable @Override public void copyFrom(final Config source) { - iface.copyFrom(source.iface); - isEnabled = source.isEnabled; - name = source.name; - peers.clear(); - for (final Peer peer : source.peers) - addPeer(peer); + if (source != null) { + iface.copyFrom(source.iface); + isEnabled = source.isEnabled; + isPrimary = source.isPrimary; + name = source.name; + peers.clear(); + for (final Peer peer : source.peers) + addPeer(peer); + } else { + iface.copyFrom(null); + isEnabled = false; + isPrimary = false; + name = null; + peers.clear(); + } } public Interface getInterface() { |