This CL creates a test app that emulates game apps by using surfaceview in immersive mode for implementing ironwood P0 CUJs (b/244261956).
Demo: https://screencast.googleplex.com/cast/NTI2NDQ0Mzk5NTg0ODcwNHwzYTcxZWY1Yi1lZg
Test: manual
Bug: 244261956
Bug: 242247304
Change-Id: Iaee9fee5a343df0544057de485e9d6092b69b483
Merged-In: Iaee9fee5a343df0544057de485e9d6092b69b483
1) virtual displays creation and removal.
2) App Uids running on virtual displays.
These will be used in combination to ignore vibration initiated from a virtual display.
This change also consolicates the fix to avoid Null reference when VirtualDeviceManger
is not present in the available system services. See also ag/19744341.
Test: VibrationSettingsTest, VibratorManagerServiceTest
bug: 189474679
Change-Id: Ie10dbfe65bb3ab9d62ed5c7b5ed7095a51bccf24
Merged-In: Ie10dbfe65bb3ab9d62ed5c7b5ed7095a51bccf24
(cherry picked from commit a0ae5c1951)
This commit updates IkeSessionParamsUtils to be able
to encode/decode IkeSessionParams with IKE_OPTION_REKEY_MOBILITY,
IKE_OPTION_AUTOMATIC_ADDRESS_FAMILY_SELECTION and
IKE_OPTION_AUTOMATIC_NATT_KEEPALIVES.
This commit can also maintain compatibility with older T IPsec
modules that do not support the two IKE_OPTION_AUTOMATIC_ options
Bug: 242231517
Test: atest IkeSessionParamsUtilsTest
Change-Id: Icadbe98b3df3cf3a80f51dc1467eb99753d82216
(cherry picked from commit 332f738998)
Merged-In: Icadbe98b3df3cf3a80f51dc1467eb99753d82216
This reverts commit 4e2e4c9337, plus
replacing data_device_bins with data_device_bins_both.
Previously, the test has dirty hacks that force building the device
executable in correct name. Switch to the proper solution now that we
have it.
Bug: 228775576
Test: atest ApkVerityTest
Test: lunch cf_x86_64_tv-eng; atest ApkVerityTest (against cf_x86_tv VM)
Change-Id: Iccb457131d74a83b9f5cb8457833d7c5ea495b05
Merged-In: Iccb457131d74a83b9f5cb8457833d7c5ea495b05
(cherry picked from commit 3b6c701cc7)
To catch Bug 230733128 that the size of TaskSnapshotStartingWindow
surface wrongly rendered by not applying fixed-rotation when the
snapshot included IME,
Add snapshotStartingWindowLayerCoversExactlyOnApp to verify the
size of snapshotRegion should cover appVisibleRegion exactly
in animation.
Bug: 232242249
Test: atest FlickerTest:OpenImeWindowFromFixedOrientationAppTest
Change-Id: I709d8899381126efff82a43a0d39d3342079f122
In DC#computeImeParent we defer reparenting IME surface to the target
until the target has started the input to be the input target since the
IME requested visibility will updated after then.
However the logic didn't aware of the IME input target may null when it
be removed, so IME surface will be appear on the display area if the
next layering target has not yet to start the input.
The lucky thing is CloseImeEditorPopupDialogTest caught this errorprone
when verifying IME layer will expected gone after IME-snapshot/dialog
dismissed, but actually may failed by IME layer may still visible
after dismissed the dialog.
Fix this defer IME reparent logic and also consolidate
CloseImeEditorPopupDialogTest in FlickerTest to verify IME snpshot and
IME visiblity until IME window has gone to ensure the layer tracing
could record the full animation frames to verify the IME-snapshot /
IME layer visiblity correctly during the animation.
Fix: 231108751
Test: atest FlickerTests:CloseImeEditorPopupDialogTest
--rerun-until-failure 20
Change-Id: I863231507c210739fd363746ccbc8ac9072e8094
If a type of insets doesn't provide any insets to a window, the previous
logic would think the type is controllable. This is wrong.
If a type of insets provides the entire inset to a window, the previous
logic would think the type is not controllable when the width or height
doesn't match the display frame. This doesn't make much sense as well.
This CL fixes the issues mentioned above and also refines
WindowInsetsTests. It displays the name (string) of the controllable
types, not the value (number).
Fix: 234426300
Test: WindowInsetsTests
Test: atest InsetsControllerTest
Change-Id: Ice71db61cc4963c6d8489096bec9c295d58bfd78
To detect IME gone bugs 230733128 in ShellTransition with following
refined test steps:
- Launch the activity with expecting IME will be shown.
- Swiping out the IME activity to home.
- Bring the exist IME activity to the front in landscape mode
device rotation.
Fix: 232242249
Test: atest FlickerTest:OpenImeWindowFromFixedOrientationAppTest
Change-Id: I0148545ed19f52c58e0f45d578e6fe5634d1cc06
This reverts commit fb4a590dbc.
This change brings back the grace period built in VCN because
the carrier privileges grace period is turn off.
Bug: 229418673
Test: atest FrameworksVcnTests CtsVcnTestCases
Change-Id: I85738c969c2bf78da33beaebe5863432948b7735
This change adds a utility to convert persistable bundles to and from
disk-stable byte arrays.
Bug: 192078259
Test: atest FrameworksVcnTests:PersistableBundleUtilsTest
Change-Id: Ifafb7081ec6a34ce3ab8e2aa502d46411405cb6d
(cherry picked from commit 823599b4a8)
Merged-In: Ifafb7081ec6a34ce3ab8e2aa502d46411405cb6d
Since Bluetooth is optional module, it can have 2 name depending on the
target.
Test: Build + pre-submit + try to send message from carkit
Bug: 226403247
Fix: 228936027
Change-Id: I96a9bf4de972f16d5a391cc277aae237ff89e31c
Launch an ImeStateInitializeActivity to make sure
the Ime state is expected before we run into each
test.
Bug: 227146931
Test: atest FlickerTests:LaunchAppShowImeOnStartTest --rerun-until-failure 100
Change-Id: I41028a97757d65db06b06043b42cd433a6810135
Trustagents should know to downgrade to trustable when the keyguard
visiblity changes. This will fix a bug on tablet where hitting the power
button doesn't sleep the device, and consequently doesn't broadcast the
SCREEN_OFF broadcast which causes the unit tests to fail. This also
fixes a larger issue where if the phone gets unlatched, or if a
trustagent is set up while the phone is unlocked, the phone will be able
to downgrade the trustagent to trustable at the correct time.
As part of this chance, we can remove the USER_PRESENT broadcast which
ends up duplicating the reportKeyguardShowingChanged. Also, in
TemporaryAndRenewableTrustTest.kt, we now grantTrust after waking the
phone which is more realistic and was causing the tests to fail before.
Test: atest TrustTests:TemporaryAndRenewableTrustTests --iterations
Bug: 213631682
Fixes: 231326751
Change-Id: I10a3270ff0b9f12d62acd448ad754f829d843b0e
The methods are only used in system server. It is unnecessary to
declare in aidl.
This also eliminates the confusion of missing permission check
for updateRotation().
Bug: 230863943
Test: atest WindowManagerPermissionTests
Change-Id: I703830650bab3a792982cada99aa1512430658a4
In case the window may become to IME input target when dismissing the
dialog window to mistakly hide the IME when getting the IME insets
control.
Also, add the SystemBars' insets visibility string on the dialog for the
test to easier track and verify the insets visiblity before thetest.
Bug: 227142436
Test: atest LaunchAppShowImeAndDialogThemeAppTest
--rerun-until-failure 10
Change-Id: I96b17c78d4bd211a930bc0e4a083168e83f8aae9
CtsIntentSignatureTestCases asserts system apps' intent filters
shouldn't have any "android.*" intent actions that are not public/system
APIs.
So let's just use a com.android prefix.
Bug: 230099874
Test: atest ComponentAliasTests ComponentAliasTests1 ComponentAliasTests2
Change-Id: Ife697a58abb220cebce1ffda393f20cbe821a13a
The assertion is flaky at the moment because `Splash Screen com.android.server.wm.flicker.testapp` sometimes appear
Fixes: 228878926
Test: atest FlickerTests
Change-Id: I0cb4e32502abe78e6bc4f1624ecd83864560c5b5
This CL fixes a race condition for IMM#showSoftInput, which surfaces
when it's called during an IME hide animation.
IMM#showSoftInput ends up calling WIC#show asynchronously, but at that
time the running IME hide animation may have already been finished
successfully, and WIC#show may fail to cancel the hide animation
(then the cleanup IMM#notifyImeHidden hides the IME again disruptively).
I think a clean fix is to have IMM#showSoftInput call WIC#show
synchronously. However, this requires a significant refactoring.
As a short term fix, this CL adds a boolean field indicating whether or
not IMM#showSoftInput has been called. If it's called, we skip calling
IMM#notifyImeHidden.
Bug: 221483132
Bug: 225674038
Test: atest InputMethodStressTest
Test: atest CtsInputMethodTestCases
Test: atest WindowInsetsAnimationControllerTests
Change-Id: I36d570630085d0bc34097a2433208601dc9cb0fd
(cherry picked from commit 4c607982ed)
Merged-In: I36d570630085d0bc34097a2433208601dc9cb0fd
Currently, IMMS will be notified asynchronously when an IME hide
animation finishes, via message dispatching through IMS
(IMM#notifyImeHidden -> IMS#notifyImeHidden -> IMMS#hideMySoftInput).
This creates a race condition when IMM#showSoftInput or WIC#show is
called around the end of hide animation.
This CL fixes the race condition by synchronously and directly
calling IMMS#hideSoftInput from IMM#notifyImeHidden.
Note that there is still another race condition for IMM#showSoftInput
(not WIC#show) if it's called during an IME hide animation;
IMM#showSoftInput ended up calling WIC#show asynchronously, but at that
time the running IME hide animation may have already been finished
successfully and WIC#show may fail to cancel the hide animation
(then the cleanup IMM#notifyImeHidden hides the IME again disruptively).
I will fix the latter issue in a separate CL.
Bug: 221483132
Bug: 225674038
Test: atest InputMethodStressTest
Test: atest CtsInputMethodTestCases
Test: atest WindowInsetsAnimationControllerTests
Change-Id: I7c71dc5a1d6b61aa79d1666f0e257e6401e4adb2
(cherry picked from commit 9065310f81)
Merged-In: I7c71dc5a1d6b61aa79d1666f0e257e6401e4adb2