This will be used for logging text selection interaction.
Bug: 64914512
Test: No test. Everything builds fine.
Change-Id: Idb28864e0fc969be05d81855b2e7cd8389bd835e
When the AutofillService sets a PendingIntent to launch an activity when
clicking a chield view (for example, to lauch a web page displayign the terms
and conditions of saving something), the system must hide the Save UI and
restore it after the new activity is dismissed.
That sounds simple in the surface, but it requires a huge refactoring behind
the scenes, such as injecting a token in the activity intent and using that
token to hide / cancel the UI during some activity lifecycle events.
Test: lotta of brand-new shinning tests on CtsAutoFillServiceTestCases
Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases
Change-Id: Ie8ec7aeb2c63cab68467046c1a9dcf85dbcc24ec
Fixes: 64309238
This CL introduces several haptic feedback constants that are ready
to be exposed to developers.
Test: checkbuild
Fixes: 64537070
Change-Id: If54d5bc6cab4e2c405615b7a40648c74a1097ea3
Previously in the last release we started sleeping as soon as
the device was not interactive anymore. However, this caused
issues with ambiactive activites on Android Wear.
Instead, we introduce a new private flag on a window that signals
that all activities should be put to sleep. We use this flag in
SystemUI as soon as SystemUI is "dozing", which means its ambient
display is showing. This flag gets set before we request PWM to
wake-up, so it's ensured that this will not cause any spurious
lifecycle events.
Test: go/wm-smoke
Test: android.server.cts.KeyguardTests
Change-Id: I20f6dd4bfde220f945ef94d2ac1b89dd3694de32
Fixes: 64940094
When client receives two consecutive app visibility updates
sometimes it might handle them in single traversal pass and
in ViewRootImpl#performTraversals it will not detect a
visibility change.
Server side in this case will be stuck waiting for relayout
call from the client and will not draw the app window. This
can also cause focus not being switched properly and WM
remain with no focused window.
Bug: 64517357
Test: android.server.cts.ActivityManagerPinnedStackTests
Test: #testEnterPipFromTaskWithMultipleActivities
Test: Run the test and check if there are no focused window logs
Change-Id: I714da72a881e2dee5cf8dafd62113fbb9f2f3f4d
Bug: 62344706
Test: Now able to bring up keyboard in split-screen mode.
Also a11y CTS and unit tests pass.
Change-Id: Ic4340425680c89e8fc5e586aa1d363b01fd69763
Some view groups (e.g. the support.v4.viewPager) need to be laid out
to determine the order of it's children. As we need the order before
being able to collect the structure of the children we need to skip
their collection until they are laid out.
Fixes: 38198484
Test: cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases
cts-tradefed run cts-dev -m CtsAccessibilityTestCases
cts-tradefed run cts-dev -m CtsAccessibilityServiceTestCases
Change-Id: I1f7bee1505edaf70c9d9a686be6f9a76d8aedd0b
Rolls back one line of ag/2257919.
Bug: 63811145
Test: TalkBack no longer reads the page backwards in:
Settings > System > Reset > Factory data reset
Settings > Connected devices > Android Beam
Change-Id: I6b04e64cd650ebda193da4a54bf0721bd256820c
The events were ending up not important for a11y and
with invalid window ids, which prevented TalkBack from
seeing them properly.
Bug: 64428961
Test: Ran YouTube in PiP, now able to select it.
Change-Id: I38ccbf5f2f35ffda255b84f229e98ca23e6b11aa
According to traceview, most of the time spent in filterByLanguage
is calling getLocaleObject to create java.util.Locale objects.
The solution is to cache the object to save the cost. Note that both
mSubtypeLangugageTag and mSubtypeLocale are final, so it is fine to
cache the locale object.
Test: bit FrameworksCoreTests:android.view.inputmethod.InputMethodSubtypeTest
Test: bit FrameworksCoreTests:com.android.internal.inputmethod.LocaleUtilsTest
Test: Try to switch user back and forth, and tap a textview to show IME.
Bug: 37647204
Fix: 37647213
Change-Id: Ib6ff7e97b17fc547c8109af8177f05fc3ea41b08
Add black background behind letterboxed apps on displays with tall
aspect ratio. This is needed to make sure that other windows won't
bleed through status/navigation bar area, because letterboxed
windows are not considered fullscreen.
Bug: 63156733
Bug: 62893418
Test: go/wm-smoke
Test: Trigger animations to/from recents with different rotations.
Change-Id: If0eac9a3801518185d560a87d9f88ee0aafa3a9c
Consider this VirtualDisplay (VD) scenario:
HostActivity creates a VD which holds SettingsActivity. When EditText
on SettingsActivity is tapped, it gains focus.
On eventual taps, it loses focus i.e. the Window in VD loses focus and
the host activity in primary display gets the focus instead. This
happens because WM's TaskTapPointerEventListener.onPointerEvent()
is called on the default display only.
Root cause:
1. Tap detector isn't registered for non-default display.
2. Tap detector has no info on which displayId touch was received.
3. InputFlinger doesn't deliver InputMonitor events for
non-default displays (fixed in a separate CL)
Fixing above results in onPointerEvent(MotionEvent) to deliver the
Touch events successfully to VD. We restrict these changes to physical
multi-displays and VR VirtualDisplays (which uses virtual touch device).
[VrManagerService calls WMInternal.setVr2dDisplayId(int)]
In future, displayId should be part of InputEvent. Bug: 64258305
Bug: 62033391
Test: bit FrameworksServicesTests:com.android.server.wm.DisplayContentTests
Change-Id: I3626f4de5aa9bcf905da9abd39f3ab1baefc4c48
Instead of ANR in an infinite loop, this will detect
a cycle and return null.
Bug: 62960867
Test: Added in CTS FocusFinderTest#testChainVisibility
Change-Id: Ifb4638e3350642f065c40b3bea112cc12efff447