This name is too generic, so we split it in 2 parts:
- ContentCaptureManager: the public API used by views and apps to report their
structure.
- SmartSuggestionsServiec: the system service use to consume these events and
provide autofill suggestions.
This CL also:
- Optimizes ContentCaptureManager allocation so they are not created on contexts that are not
capturing events (such as views from the system server).
- Uses a generic ContentCaptureEventsRequest (rather than a list of events) to make it easier
to be extended.
- Fixed IntelligencePerUserService so it clears the sessions when the
implementation changes.
Test: manual verification
Bug: 119776618
Bug: 117944706
Bug: 119638877
Change-Id: I069bcd23dda94afe18b2781fd3981b8b555afa56
IntelligenceManager must buffer ContentCapture events and send them to the
service in a batch, and this is the initial implementation of such batch:
it's just batching a pre-defined number of events, without any further
optimization (like flushing after x ms).
Test: manual verification
Bug: 111276913
Bug: 119220549
Change-Id: I96a4708fd3fcfd3098a0894a3ae3e967804cf4e6
Augmented Autofill is a mechanism that will let a system-provided service
provide autofill suggestions when the stardand autofill can't.
Because the Augmented Autofill service is a system app, it has less restrictions
than the standard service; in particular, this service will be responsible for
drawing the autofill UI, although the framework will provide a mechanism to host
the window. Right now, it's creating a TYPE_APPLICATION_OVERLAY window in the
service process roughly below the focused view, but in the long-term it will
use the IME suggestion window to display it.
This CL provides the initial APIs and end-to-end workflow for the simplest
scenario, but it's still full of TODO's.
Test: atest CtsAutoFillServiceTestCases # to make sure it doesn't break it
Test: atest FrameworksCoreTests:SettingsBackupTest
Test: mmm -j150 packages/experimental/FillService &&\
adb install -r ${OUT}/data/app/FillService/FillService.apk &&\
adb shell settings put secure intel_service foo.bar.fill/.AiaiService &&\
adb shell settings put global autofill_smart_suggestion_emulation_flags 2 &&\
adb shell pm grant foo.bar.fill android.permission.SYSTEM_ALERT_WINDOW
Bug: 119638877
Change-Id: I8d59b4eab3e530cd89b81456681a72fdab532756
- Proxy requested assist data from swipe up through the the
IntelligenceServiceManager to AiAi for each activity that we receive
assist data for (the AssistDataReceiver to be removed later once AiAi
implements the new IntelligenceService interface).
Bug: 117268952
Test: Build dummy intelligence service, ensure that we get capture event
on swipe up.
Change-Id: Iec29792932d30e94a702bd5079711c6615d0738a