diff options
author | Samuel Holland <samuel@sholland.org> | 2018-09-05 20:17:14 -0500 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-12-08 02:39:41 +0100 |
commit | d1e85633fbe8d871355d2b9feb51e2c9983d8a21 (patch) | |
tree | d95ad1ae84d02fc3e18a211aa1e1ef8150d8fa35 /app/src/main/java/com/wireguard/android/widget | |
parent | a264f7ab36bf1335999d53cb4a0d753c54b231d0 (diff) |
Remodel the Model
- The configuration and crypto model is now entirely independent
of Android classes other than Nullable and TextUtils.
- Model classes are immutable and use builders that enforce the
appropriate optional/required attributes.
- The Android config proxies (for Parcelable and databinding) are
moved to the Android side of the codebase, and are designed to be
safe for two-way databinding. This allows proper observability in
TunnelDetailFragment.
- Various robustness fixes and documentation updates to helper classes.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'app/src/main/java/com/wireguard/android/widget')
3 files changed, 9 insertions, 7 deletions
diff --git a/app/src/main/java/com/wireguard/android/widget/KeyInputFilter.java b/app/src/main/java/com/wireguard/android/widget/KeyInputFilter.java index b6cdada7..6332b856 100644 --- a/app/src/main/java/com/wireguard/android/widget/KeyInputFilter.java +++ b/app/src/main/java/com/wireguard/android/widget/KeyInputFilter.java @@ -10,7 +10,7 @@ import android.text.InputFilter; import android.text.SpannableStringBuilder; import android.text.Spanned; -import com.wireguard.crypto.KeyEncoding; +import com.wireguard.crypto.Key; /** * InputFilter for entering WireGuard private/public keys encoded with base64. @@ -25,7 +25,8 @@ public class KeyInputFilter implements InputFilter { return new KeyInputFilter(); } - @Override @Nullable + @Nullable + @Override public CharSequence filter(final CharSequence source, final int sStart, final int sEnd, final Spanned dest, @@ -38,9 +39,9 @@ public class KeyInputFilter implements InputFilter { final int dIndex = dStart + (sIndex - sStart); // Restrict characters to the base64 character set. // Ensure adding this character does not push the length over the limit. - if (((dIndex + 1 < KeyEncoding.KEY_LENGTH_BASE64 && isAllowed(c)) || - (dIndex + 1 == KeyEncoding.KEY_LENGTH_BASE64 && c == '=')) && - dLength + (sIndex - sStart) < KeyEncoding.KEY_LENGTH_BASE64) { + if (((dIndex + 1 < Key.Format.BASE64.getLength() && isAllowed(c)) || + (dIndex + 1 == Key.Format.BASE64.getLength() && c == '=')) && + dLength + (sIndex - sStart) < Key.Format.BASE64.getLength()) { ++rIndex; } else { if (replacement == null) diff --git a/app/src/main/java/com/wireguard/android/widget/NameInputFilter.java b/app/src/main/java/com/wireguard/android/widget/NameInputFilter.java index db5336d0..2352630e 100644 --- a/app/src/main/java/com/wireguard/android/widget/NameInputFilter.java +++ b/app/src/main/java/com/wireguard/android/widget/NameInputFilter.java @@ -25,7 +25,8 @@ public class NameInputFilter implements InputFilter { return new NameInputFilter(); } - @Override @Nullable + @Nullable + @Override public CharSequence filter(final CharSequence source, final int sStart, final int sEnd, final Spanned dest, diff --git a/app/src/main/java/com/wireguard/android/widget/fab/FloatingActionsMenu.java b/app/src/main/java/com/wireguard/android/widget/fab/FloatingActionsMenu.java index ed838914..7f5b67e6 100644 --- a/app/src/main/java/com/wireguard/android/widget/fab/FloatingActionsMenu.java +++ b/app/src/main/java/com/wireguard/android/widget/fab/FloatingActionsMenu.java @@ -539,7 +539,7 @@ public class FloatingActionsMenu extends ViewGroup { return new SavedState[size]; } }; - public boolean mExpanded; + private boolean mExpanded; public SavedState(final Parcelable parcel) { super(parcel); |