Bug: 195411307
Test: atest CtsSharesheetTestCases:android.sharesheet.cts.CtsSharesheetDeviceTest
Test: manually test on the device
Change-Id: If7d3f7acadcbed3340616b0ab239c776dedf7af7
(cherry picked from commit 13b9f947e0)
Route the sharesheet user interaction from PeopleService to Remote Prediction Service, while PeopleService is making inference for sharesheet.
It is guarded by the flag "adb shell device_config put systemui dark_launch_remote_prediction_service_enabled true"
Test: test on local device
Bug: 180933488
Change-Id: I7db52c69224e69ad3125362185e2ffd1a474bb78
Merged-In: I7db52c69224e69ad3125362185e2ffd1a474bb78
(cherry picked from commit 51daca2ea3)
The recently added AndroidFrameworkBinderIdentity Error Prone checker
examines code to ensure that any cleared identities are restored to
avoid obscure security vulnerabilities.
This change is a purely mechanical refactoring that adds the "final"
keyword to the cleared identity to ensure that it's not accidentally
modified before eventually being cleared. Here's the exact command
used to generate this CL:
$ find . -name "*.java" -exec sed -Ei \
's/ (long \w+ = .+?clearCallingIdentity)/ final \1/' \
{} \;
Bug: 155703208
Test: make
Exempt-From-Owner-Approval: trivial refactoring
Change-Id: I832c9d70c3dfcd8d669cf71939d97837becc973a
Currently new app prediction session will be created each time
launcher crashes, this introduces some memory impact since the
existing callbacks are not released after the crash.
The root cause being random UUID was used to create the session,
as a result app prediction service is not able to dedupe it with
against existing sessions.
Bug: 161391868
Test: manual
Change-Id: I937cdaa6081d2b85d27ee0192f6af7f197b8e102
This reverts commit 2327596f51.
Reason for revert: <The flag has been propogated from server side to Droidfood devices>
Bug: 157500121
Change-Id: Ic96789cffd6c307147f5a6e279e0729450d4f8c2
The CL would be rolled back after testing PeopleService on Droidfood for
2 weeks.
Bug: 157500121
Test: manual test on the phone.
Change-Id: Icf9c19b1c7c6673226c3fb9eab8c649807696c96
After App Prediction service restarts, existing app prediction sessions
will be inactive and needs to be resurrected.
Test: flash to physical device and
1. Open a couple of Personal Profile and Work Profile apps and observe
that they make it to the prediction row.
2. Clear storage via the Settings > Privacy > Device Personalization
Services > Personal > Clear data > All time
3. Verify prediction row should start getting updated again for
subsequently opened apps
Bug: 146802640
Change-Id: I74d87e374806b92649a9a3436926fb5bd5572874
immediately instead of sending them to main thread Looper queue of
ChooserActivity.
These methods are relatively latency-sensitive. When main thread Looper queue has many backlogs, it takes long time
to dispatch requests.
Bug: 155551642
Test: atest CtsSharesheetTestCases:android.sharesheet.cts.CtsSharesheetDeviceTest
Test: manually test on the device
Change-Id: I7d00e49c6a30fec478e620bc98180d379f801fc8
Bug: 148173565
Change-Id: I83c100d315609095b427b096d8a1215949849c42
Test: manual override the flag to force routing through
people service, and verify it works.
call to different instance of AppPredictionPerUserService based on
calling context.
Bug: 148230574
Test: Manual
Change-Id: I5987ed6a80155a8aed7c1985e8edd1ba98e51149
Before AppPredictionPerUserService instantiates an instance of
RemoteAppPredictionService based on default componentName, do a
component lookup based on app prediction context and session id,
and switches to different service dynamically.
original architecure:
https://sequencediagram.googleplex.com/view/4764463320268800
proposed chages:
https://sequencediagram.googleplex.com/view/6517721785171968
Bug: 148173565
Test: atest AppPredictionServiceTest
Change-Id: Ic522d7ed76adafe06813ba488b83e222d61b23c1
Rebind to the remote AppPredictionService when the service package is
updated. Also adds new restart policy flags in
AbstractMasterSystemService to be able to keep per-user instances in the
cache when service restarts as a result of package data getting cleared,
so that we can revive the existing sessions. This would potentially fix
the issue for other services that try to keep the sessions over data
resets.
Bug: 139445447
Test: Reinstall the AiAi package and verify that suggested apps in launcher are getting updated
Test: Clear data for Device Personalization Services and verify that suggested apps in launcher are getting updated
Test: atest CtsAppPredictionServiceTestCases CtsContentCaptureServiceTestCases
Change-Id: Ie835cb159faa9c0718cd63a3045251444b89e505
Bug: 134680085
Test: Verified no errors in logcat while closing the ShareSheet
Test: Enable debug flag and verify the logs by killing the client and the servicer
Kill launcher: adb shell killall com.google.android.apps.nexuslauncher
Kill service: adb shell killall com.google.android.as
Change-Id: I706bd0f7224f24bd774ed009babc5f73e12629ca
Bug: 130183389
Test: Manual test by killing the remote service (following steps)
1) adb shell killall com.google.android.as
2) Launch a few apps on the test device
3) Verify that the suggested apps in All Apps has been updated
Change-Id: Ia96ece071b3c9fb22564e7367e9bad66828385c0
in order to support multiple binding flags
And supply BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS for RemoteFillService.
Test: atest CtsAutoFillServiceTestCases
Test: atest AutofillManagerServiceTest
Bug: 126267782
Change-Id: Id5262d6a4e0fde0ad874020f783cfbf72fe201f4
This allows us to expose both system-only and app available APIs for
role in RoleControllerService.
Bug: 127691087
Test: manual
Change-Id: I86fe3736fc28516aae25d48efe3ba599ffdf45d5