Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4183c1d4 authored by Alex Johnston's avatar Alex Johnston Committed by Android (Google) Code Review
Browse files

Merge "AppUriAuthenticationPolicy and UrisToAliases equals and hashcode" into sc-dev

parents be50d605 0c3f0c51
Loading
Loading
Loading
Loading
+1 −34
Original line number Diff line number Diff line
@@ -37,8 +37,6 @@ import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Iterator;
import java.util.Map;

@SmallTest
@RunWith(AndroidJUnit4.class)
@@ -149,37 +147,6 @@ public final class CredentialManagementAppTest {
    private void assertCredentialManagementAppsEqual(CredentialManagementApp actual,
            CredentialManagementApp expected) {
        assertThat(actual.getPackageName(), is(expected.getPackageName()));
        assertAuthenticationPoliciesEqual(actual.getAuthenticationPolicy(),
                expected.getAuthenticationPolicy());
    }

    private void assertAuthenticationPoliciesEqual(AppUriAuthenticationPolicy actual,
            AppUriAuthenticationPolicy expected) {
        Iterator<Map.Entry<String, Map<Uri, String>>> actualIter =
                actual.getAppAndUriMappings().entrySet().iterator();
        Iterator<Map.Entry<String, Map<Uri, String>>> expectedIter =
                expected.getAppAndUriMappings().entrySet().iterator();

        assertThat(actual.getAppAndUriMappings().size(),
                is(expected.getAppAndUriMappings().size()));
        while (actualIter.hasNext()) {
            Map.Entry<String, Map<Uri, String>> actualAppToUri = actualIter.next();
            Map.Entry<String, Map<Uri, String>> expectedAppToUri = expectedIter.next();
            assertThat(actualAppToUri.getKey(), is(expectedAppToUri.getKey()));
            assertUrisToAliasesEqual(actualAppToUri.getValue(), expectedAppToUri.getValue());
        }
    }

    private void assertUrisToAliasesEqual(Map<Uri, String> actual, Map<Uri, String> expected) {
        Iterator<Map.Entry<Uri, String>> actualIter = actual.entrySet().iterator();
        Iterator<Map.Entry<Uri, String>> expectedIter = expected.entrySet().iterator();

        assertThat(actual.size(), is(expected.size()));
        while (actualIter.hasNext()) {
            Map.Entry<Uri, String> actualUriToAlias = actualIter.next();
            Map.Entry<Uri, String> expectedUriToAlias = expectedIter.next();
            assertThat(actualUriToAlias.getKey(), is(expectedUriToAlias.getKey()));
            assertThat(actualUriToAlias.getValue(), is(expectedUriToAlias.getValue()));
        }
        assertThat(actual.getAuthenticationPolicy(), is(expected.getAuthenticationPolicy()));
    }
}
+17 −0
Original line number Diff line number Diff line
@@ -238,4 +238,21 @@ public final class AppUriAuthenticationPolicy implements Parcelable {
        return aliases;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (!(obj instanceof AppUriAuthenticationPolicy)) {
            return false;
        }
        AppUriAuthenticationPolicy other = (AppUriAuthenticationPolicy) obj;
        return Objects.equals(mAppToUris, other.mAppToUris);
    }

    @Override
    public int hashCode() {
        return mAppToUris.hashCode();
    }

}
+18 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;

/**
 * The mapping from URI to alias, which determines the alias to use when the user visits a URI.
@@ -135,4 +136,21 @@ public final class UrisToAliases implements Parcelable {
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeMap(mUrisToAliases);
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (!(obj instanceof UrisToAliases)) {
            return false;
        }
        UrisToAliases other = (UrisToAliases) obj;
        return Objects.equals(mUrisToAliases, other.mUrisToAliases);
    }

    @Override
    public int hashCode() {
        return mUrisToAliases.hashCode();
    }
}