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

Commit b3af56c6 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix AugmentedAutofillService onFillRequest() wrong focused AutofillId...

Merge "Fix AugmentedAutofillService onFillRequest() wrong focused AutofillId for WebView" into rvc-dev am: cc4f13e0

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11700779

Change-Id: I5eab56b26b026787c9b1ee906f12ac1137be893d
parents 0a666773 cc4f13e0
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -75,7 +75,10 @@ public final class AutofillId implements Parcelable {
    /** @hide */
    /** @hide */
    public static AutofillId withoutSession(@NonNull AutofillId id) {
    public static AutofillId withoutSession(@NonNull AutofillId id) {
        final int flags = id.mFlags & ~FLAG_HAS_SESSION;
        final int flags = id.mFlags & ~FLAG_HAS_SESSION;
        return new AutofillId(flags, id.mViewId, id.mVirtualLongId, NO_SESSION);
        final long virtualChildId =
                ((id.mFlags & FLAG_IS_VIRTUAL_LONG) != 0) ? id.mVirtualLongId
                        : id.mVirtualIntId;
        return new AutofillId(flags, id.mViewId, virtualChildId, NO_SESSION);
    }
    }


    /** @hide */
    /** @hide */
+26 −0
Original line number Original line Diff line number Diff line
@@ -125,6 +125,32 @@ public class AutofillIdTest {
        assertNonVirtual(idWithoutSession, 42, NO_SESSION);
        assertNonVirtual(idWithoutSession, 42, NO_SESSION);
    }
    }


    @Test
    public void testVirtual_Long_withoutSession() {
        final AutofillId id = new AutofillId(new AutofillId(42), 108L, 666);
        final AutofillId idWithoutSession = AutofillId.withoutSession(id);
        assertThat(idWithoutSession.getViewId()).isEqualTo(42);
        assertThat(idWithoutSession.isVirtualLong()).isTrue();
        assertThat(idWithoutSession.isVirtualInt()).isFalse();
        assertThat(idWithoutSession.isNonVirtual()).isFalse();
        assertThat(idWithoutSession.getVirtualChildLongId()).isEqualTo(108L);
        assertThat(idWithoutSession.getVirtualChildIntId()).isEqualTo(View.NO_ID);
        assertThat(idWithoutSession.getSessionId()).isEqualTo(NO_SESSION);
    }

    @Test
    public void testVirtual_Int_withoutSession() {
        final AutofillId id = new AutofillId(42, 108);
        final AutofillId idWithoutSession = AutofillId.withoutSession(id);
        assertThat(idWithoutSession.getViewId()).isEqualTo(42);
        assertThat(idWithoutSession.isVirtualLong()).isFalse();
        assertThat(idWithoutSession.isVirtualInt()).isTrue();
        assertThat(idWithoutSession.isNonVirtual()).isFalse();
        assertThat(idWithoutSession.getVirtualChildIntId()).isEqualTo(108);
        assertThat(idWithoutSession.getVirtualChildLongId()).isEqualTo(View.NO_ID);
        assertThat(idWithoutSession.getSessionId()).isEqualTo(NO_SESSION);
    }

    @Test
    @Test
    public void testSetResetSession() {
    public void testSetResetSession() {
        final AutofillId id = new AutofillId(42);
        final AutofillId id = new AutofillId(42);