This change is to implement device log access dialog from SystemUI rather than
system server.
Bug: 238434889, 244173014
Test: GtsVerifier
Ignore-AOSP-First: migration of device log access dialog
Change-Id: I17058c008084f91099cd45a51ec8d8fbab1d78bb
We received many bugs the ContentCaptureService entered zombie
state but we don't know the reason why the process died. The issue
timing didn't be captured in bugreport.
Currently, the AbstractRemoteService will enter an odd state if the
service cannot be reconnected. This state does not allow the requests
be sent until the service be reconnected again on an unknown timing.
In some cases, it is expected the service will not be reconnected.
e.g. app stop from settings. We should fix the problem in the
AbstractRemoteService but before doing this, we try to add debugging
signal in bugreport to help us understand if the existing issues come
from this odd state for reasonable reasons.
The change was merged in master so skip automerge. The minor change
here will have a seperate change in master.
Bug: 248218072
Bug: 250859760
Test: disable app and dumpsys content_capture
Change-Id: Ia33462006a3925754001562b0d80540b9b0bc45d
Merged-in: Ia33462006a3925754001562b0d80540b9b0bc45d
(cherry picked from commit d060ed5697)
Introduce new API to support gesture preview as user is operating over
text.
Bug: 254726230
Bug: 254727073
Test: InputConnectionEndToEndTest
Change-Id: I6c2ac5a5aaeaeab78411d24870f573670304e898
This is the 2nd attempt to submit this cleanup [1], after a revert [2] due to some build failure.
This is a follow up CL to our previous CL [3], which introduced
InputMethodManagerService#showInputMethodPickerFromClient(
@NonNull IInputMethodClient client,
int auxiliarySubtypeMode, int displayId);
Somehow the "client" has never been used, which is fine because the
actual caller verification is done by requiring WRITE_SECURE_SETTINGS
permission.
Let's remove such an unused parameter for simplicity.
There must be no observable behavior change.
[1]: I2f27160cbe7d83201c8f52dbb6dcb774a5b8ae43
3efbbb5e49
[2]: I343828ad83d50436211004753f1b9ba1b13b60ca
2fb98cdab1
[3]: Ic7d7c5a7ad8005a3fbd9d1c1b73e3c5a39a07001
0b05f9e49d
Bug: 234882948
Bug: 256952514
Test: presubmit
Test: lunch aosp_bramble-userdebug && make -j
Change-Id: Ia536d8793f0022179dfafd1cbf21091537375992
Fix: b/256819989
Test: collect traces with Winscope 2.0 and check that real timestamps are correct
Change-Id: Id3435f6f4c71b97f7504abf8623948e46cb85b54
Add a new group of information related to text appearance in
CursorAnchorInfo, which is extracted from TextView.
Bug: 231894524
Test: atest android.view.inputmethod.cts.CursorAnchorInfoTest#testBuilder
atest android.view.inputmethod.cts.CursorAnchorInfoTest#testEquality
atest android.view.inputmethod.cts.InputMethodServiceTest#testOnUpdateCursorAnchorInfo
Change-Id: I8b96f055506b0a426dcfc6334db867dda7073868
This is a follow up CL to our previous CL [1], which introduced
InputMethodManagerService#showInputMethodPickerFromClient(
@NonNull IInputMethodClient client,
int auxiliarySubtypeMode, int displayId);
Somehow the "client" has never been used, which is fine because the
actual caller verification is done by requiring WRITE_SECURE_SETTINGS
permission.
Let's remove such an unused parameter for simplicity.
There must be no observable behavior change.
[1]: Ic7d7c5a7ad8005a3fbd9d1c1b73e3c5a39a07001
0b05f9e49d
Bug: 234882948
Test: presubmit
Change-Id: I2f27160cbe7d83201c8f52dbb6dcb774a5b8ae43
By the original design, we register the activity event in the
ActivityManagerService. After getting the activity event, we will
query current visible activities and report them to Assistant.
Assistant will start to get direct actions of those visible
activities. But sometimes they can not get the direct actions
due to the stage of activity lifecycle before onStart().
We change the logic to make sure that the stage of visible
activity that we reported to the Assistant is after onStart().
Bug: 235296082
Test: atest VoiceInteractionSessionVisibleActivityTest
Test: atest android.app.activity.ActivityThreadClientTest
Test: atest android.view.DisplayTest
Test: atest android.window.ConfigurationHelperTest
Test: atest android.window.SizeConfigurationBucketsTest
Change-Id: Ie439ff3706dab35e875c1eb995a67fa73aec4d76
(cherry picked from commit 29bb3a3428)
Merged-In: Ie439ff3706dab35e875c1eb995a67fa73aec4d76
Combining broadcasts WIDGET_ENABLED and WIDGET_UPDATE into
WIDGET_ENABLE_AND_UPDATE to reduce response time at boot time
Test: Manually verified that some app widgets would function properly
Fix: 221890505
Change-Id: I6aff0f00464ec8628d2258d0d84dcd3c82258d57
(cherry picked from commit 1ae08fe75e)
Merged-In: I6aff0f00464ec8628d2258d0d84dcd3c82258d57
ResolverActivity#onPostListReady is called asynchronously on the main
thread and it is possible for it to be executed after activity’s
onDestroy call.
A check for activity’s status is added to the method.
Test: atest FrameworksCoreTests:ChooserActivityTest
Fix: 254787909
Change-Id: I96d98a03d86881845868a67e33ea8ee7c9dc6631
This is a follow up CL to our previous CL [1], which introduced
HandwritingGesture and several subclasses.
One of the challenge is that we only wanted to make child classes
Parcelable, while keeping the abstract base class HandwritingGesture
non-Parcelable. Although InputConnection has only one method
InputConnection#performHandwritingGesture(
HandwritingGesture, ResultReceiver),
in the IPC layer IRemoteInputConnection needed to define methods for
each subclass, e.g.
* performHandwritingSelectGesture(in InputConnectionCommandHeader,
in SelectGesture, ...)
* performHandwritingInsertGesture(in InputConnectionCommandHeader,
in InsertGesture, ...)
* performHandwritingDeleteGesture(in InputConnectionCommandHeader,
in DeleteGesture, ...)
because their abstract class HandwritingGesture is not Parcelable.
To avoid such method definitions (and lots of type-based dispatching /
merging logic), this CL introduces
ParcelableHandwritingGesture
as a generic Parcelable container of HandwritingGesture subclasses.
You can freely use ParcelableHandwritingGesture in AIDL method
definitions as follows.
performHandwritingGesture(in InputConnectionCommandHeader,
in ParcelableHandwritingGesture, ...)
In the Java side, you can easily wrap objects as follows.
var parcelableGesture = ParcelableHandwritingGesture.of(gesture);
var unparceledGesture = parcelableGesture.get();
Note that this CL is still an internal cleanup. There must be no
developer observable behavior change.
[1]: I53bcb62e03ac1c371feb60d1385c88c921754092
3e3ff1a3d2
Bug: 234882948
Bug: 239783077
Test: presubmit
Test: atest FrameworksCoreTests:ParcelableHandwritingGestureTest
Change-Id: I158026087653f6772a78cc2394e678ae9741fb00
This is a follow up CL to our previous CL [1], which introduced an @TestApi
InputMethodManager#addVirtualStylusIdForTestSession(),
which internally requires INJECT_EVENTS permission.
Now that TEST_INPUT_METHOD is also available [2], let's require it
instead of INJECT_EVENTS for better consistency with other test APIs
defined in InputMethodManager.
This CL also add @RequiresPermission(TEST_INPUT_METHOD) to
InputMethodManager#addVirtualStylusIdForTestSession()
to make it clear that it's guarded with the permission.
[1]: I7399c0a56c04f024d65c16d459818cc2c5cdbc7f
d96ef57bc4
[2]: Ie79a3e9d41ce22605ae083594d639c37d08b7def
b869c78380
Bug: 256239860
Test: atest CtsInputMethodTestCases:StylusHandwritingTest
Change-Id: Icdbb4ade2bd4b5066984e209efcf0ca93bfa08ca