Add equals method This adds an equals method which will for now only be used in tests. Test: atest BackgroundStartPrivilegesTest Flag: EXEMPT test only Bug: 322159724 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:8aef21b72dca756458d25a42599779997d199f09) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:4000e8055f66b33ffa1fef9bee23d998b9438114) Merged-In: Ia726fa205b73a693fee775e4a08950ecd4b5f882 Change-Id: Ia726fa205b73a693fee775e4a08950ecd4b5f882
diff --git a/core/java/android/app/BackgroundStartPrivileges.java b/core/java/android/app/BackgroundStartPrivileges.java index 20278ea..adea0a8 100644 --- a/core/java/android/app/BackgroundStartPrivileges.java +++ b/core/java/android/app/BackgroundStartPrivileges.java
@@ -23,12 +23,13 @@ import com.android.internal.util.Preconditions; import java.util.List; +import java.util.Objects; /** * Privileges granted to a Process that allows it to execute starts from the background. * @hide */ -public class BackgroundStartPrivileges { +public final class BackgroundStartPrivileges { /** No privileges. */ public static final BackgroundStartPrivileges NONE = new BackgroundStartPrivileges( false, false, null); @@ -190,4 +191,22 @@ + ", originatingToken=" + mOriginatingToken + ']'; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + BackgroundStartPrivileges that = (BackgroundStartPrivileges) o; + return mAllowsBackgroundActivityStarts == that.mAllowsBackgroundActivityStarts + && mAllowsBackgroundForegroundServiceStarts + == that.mAllowsBackgroundForegroundServiceStarts + && Objects.equals(mOriginatingToken, that.mOriginatingToken); + } + + @Override + public int hashCode() { + return Objects.hash(mAllowsBackgroundActivityStarts, + mAllowsBackgroundForegroundServiceStarts, + mOriginatingToken); + } }
diff --git a/core/tests/coretests/src/android/app/BackgroundStartPrivilegesTest.java b/core/tests/coretests/src/android/app/BackgroundStartPrivilegesTest.java index 982ad63..98fad6a 100644 --- a/core/tests/coretests/src/android/app/BackgroundStartPrivilegesTest.java +++ b/core/tests/coretests/src/android/app/BackgroundStartPrivilegesTest.java
@@ -119,4 +119,15 @@ Arrays.asList(BSP_ALLOW_A, BSP_ALLOW_A, BSP_ALLOW_A, BSP_ALLOW_A))) .isEqualTo(BSP_ALLOW_A); } + + @Test + public void backgroundStartPrivilege_equals_works() { + assertThat(NONE).isEqualTo(NONE); + assertThat(ALLOW_BAL).isEqualTo(ALLOW_BAL); + assertThat(ALLOW_FGS).isEqualTo(ALLOW_FGS); + assertThat(BSP_ALLOW_A).isEqualTo(BSP_ALLOW_A); + assertThat(NONE).isNotEqualTo(ALLOW_BAL); + assertThat(ALLOW_FGS).isNotEqualTo(ALLOW_BAL); + assertThat(BSP_ALLOW_A).isNotEqualTo(BSP_ALLOW_B); + } }