New APIs to let app developers manage autofill semantics when reusing views.

From the Autofill workflow point of view, each view has an unique AutofillId
that is used to semantically, semantically identify the view. Currently, once
the View's AutofillId is set it cannot be changed, which make it hard to reuse
views for optimization (for example, in a RecyclerView).

This change introduces 2 new APIs (View.setAutofillId() and
Activity.getNextAutofillId()) that let app developers reuse views without
breaking their logical autofill semantics.

Fixes: 73555342

Test: atest CtsAutoFillServiceTestCases:MutableAutofillIdTest
Test: atest CtsAutoFillServiceTestCases

Change-Id: I35fe07b10657f17d7b260f90f578ca7a13782a18
4 files changed