From c867675e38437e01131d86871538326defac4cb9 Mon Sep 17 00:00:00 2001 From: lucaslin Date: Mon, 25 Apr 2022 16:14:58 +0800 Subject: [PATCH] Add equals() & hashCode() for VpnProfileState Bug: 225010642 Test: atest FrameworksNetTests:VpnTest Change-Id: I8711187e690385866fa681c3fe5fccdf353ac30b --- core/java/android/net/VpnProfileState.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/core/java/android/net/VpnProfileState.java b/core/java/android/net/VpnProfileState.java index 0f21a9d7f4713..552a2c171f212 100644 --- a/core/java/android/net/VpnProfileState.java +++ b/core/java/android/net/VpnProfileState.java @@ -24,6 +24,7 @@ import android.os.Parcelable; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.util.Objects; import java.util.StringJoiner; /** @@ -176,4 +177,19 @@ public final class VpnProfileState implements Parcelable { resultJoiner.add("Lockdown: " + isLockdownEnabled()); return resultJoiner.toString(); } + + @Override + public boolean equals(@Nullable Object obj) { + if (!(obj instanceof VpnProfileState)) return false; + final VpnProfileState that = (VpnProfileState) obj; + return (getState() == that.getState() + && Objects.equals(getSessionId(), that.getSessionId()) + && isAlwaysOn() == that.isAlwaysOn() + && isLockdownEnabled() == that.isLockdownEnabled()); + } + + @Override + public int hashCode() { + return Objects.hash(getState(), getSessionId(), isAlwaysOn(), isLockdownEnabled()); + } }