aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/app/src/main/java/com/wireguard/config/Peer.java
diff options
context:
space:
mode:
authorSamuel Holland <samuel@sholland.org>2017-08-23 23:47:44 -0500
committerSamuel Holland <samuel@sholland.org>2017-08-23 23:47:44 -0500
commitb2357e58e3dcbba77797cc07dd3dec2349ccff1d (patch)
tree2d97b3190e3f044a7897b9ebae96cd365bba8596 /app/src/main/java/com/wireguard/config/Peer.java
parentConfig/Interface/Peer: Fix some missed change notifications (diff)
downloadwireguard-android-b2357e58e3dcbba77797cc07dd3dec2349ccff1d.tar.xz
wireguard-android-b2357e58e3dcbba77797cc07dd3dec2349ccff1d.zip
Config/Interface/Peer: Make Parcelable
This allows saving the editor state across restarts. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r--app/src/main/java/com/wireguard/config/Peer.java37
1 files changed, 36 insertions, 1 deletions
diff --git a/app/src/main/java/com/wireguard/config/Peer.java b/app/src/main/java/com/wireguard/config/Peer.java
index 912e8bf5..4f6d88b2 100644
--- a/app/src/main/java/com/wireguard/config/Peer.java
+++ b/app/src/main/java/com/wireguard/config/Peer.java
@@ -3,6 +3,8 @@ package com.wireguard.config;
import android.databinding.BaseObservable;
import android.databinding.Bindable;
import android.databinding.Observable;
+import android.os.Parcel;
+import android.os.Parcelable;
import com.android.databinding.library.baseAdapters.BR;
@@ -10,7 +12,19 @@ import com.android.databinding.library.baseAdapters.BR;
* Represents the configuration for a WireGuard peer (a [Peer] block).
*/
-public class Peer extends BaseObservable implements Copyable<Peer>, Observable {
+public class Peer extends BaseObservable implements Copyable<Peer>, Observable, Parcelable {
+ public static final Parcelable.Creator<Peer> CREATOR = new Parcelable.Creator<Peer>() {
+ @Override
+ public Peer createFromParcel(final Parcel in) {
+ return new Peer(in);
+ }
+
+ @Override
+ public Peer[] newArray(final int size) {
+ return new Peer[size];
+ }
+ };
+
private String allowedIPs;
private final Config config;
private String endpoint;
@@ -21,6 +35,14 @@ public class Peer extends BaseObservable implements Copyable<Peer>, Observable {
this.config = config;
}
+ protected Peer(final Parcel in) {
+ allowedIPs = in.readString();
+ config = null;
+ endpoint = in.readString();
+ persistentKeepalive = in.readString();
+ publicKey = in.readString();
+ }
+
@Override
public Peer copy() {
return copy(config);
@@ -41,6 +63,11 @@ public class Peer extends BaseObservable implements Copyable<Peer>, Observable {
notifyChange();
}
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
@Bindable
public String getAllowedIPs() {
return allowedIPs;
@@ -120,4 +147,12 @@ public class Peer extends BaseObservable implements Copyable<Peer>, Observable {
sb.append(Attribute.PUBLIC_KEY.composeWith(publicKey));
return sb.toString();
}
+
+ @Override
+ public void writeToParcel(final Parcel dest, final int flags) {
+ dest.writeString(allowedIPs);
+ dest.writeString(endpoint);
+ dest.writeString(persistentKeepalive);
+ dest.writeString(publicKey);
+ }
}