Make sure that TouchDelegate does not interfere with
handling of parent's events, such as onClick().
Currently, the variable mDelegateTargeted is sticky,
and after the TouchDelegate is first activated,
stays true for the remainder of its life. Therefore, the
parent view will no longer receive clicks after the
TouchDelegate is first clicked. This patch forces the
re-evaluation of mDelegateTargeted on each new ACTION_DOWN
event.
Test: bit CtsViewTestCases:.TouchDelegateTest
Bug: 65392236
Change-Id: Ifa6430ce6e8400c0411df7da66281219ea97733c
Bug: 63914635
Test: ensure shortcut delay is still 3sec before dialog confirmation and
1.5sec afterwards
Change-Id: Ifbc25dd2a3915809b570719ad79fbc83016989a6
This is a preparation to work on Bug 36897707.
For instance, the reason why most of IME-related callbacks in
InputMethodService get called on the main thread is because
IInputMethodWrapper keeps forwarding incoming IPCs into the
main looper of the IME process as follows:
InputMethodManagerService (IMMS)
------
-> one-way binder IPCs over IInputMethod
------
-> IInputMethodWrapper (on the binder thread(s))
-> Handler (to dispatch tasks to main thread)
-> InputMethodImpl.* (on the main thread)
-> InputMethodService.* (on the main thread)
By adding explicit annotations such as @BinderThread and @MainThread
in relevant methods, this CL makes that kind of investigation much
easier than before.
Bug: 36897707
Test: compile
Change-Id: I8f9afe9a1986a9fa41fb66fdc64e8f0f67e45c2e
Using software canvas when profiling views does not give the
correct result as by default apps expect hardware canvas. Also
it prevents crashes when a view is drawing hardware bitmap.
Test: Manually tested using hierarchy viewer
Change-Id: I9e0fffbdac3209f1bc68c1a383bdaa92976addca
This way there is a single switch for detailed logging vs summarised
logging. We can keep the switch on in development but limit the logs
in production devices.
Test: manually tested log switch turned on/off.
Change-Id: I8ad291b19554f393a05fbc7cae3d545163d21a99
- Replace SHOW_AS_OVERFLOW_ALWAYS with SHOW_AS_ACTION_NEVER
- MenuItem ordering
- Allow textAssist items in overflow to show text with images
- MenuItem label text now standard case (not allcaps)
Bug: 62447250
Test: bit FrameworksCoreTests:android.widget.TextViewActivityTest
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Change-Id: I07fa06f433a34adfad20b371417c95ce76422456
Joystick MotionEvents, such as AXIS_HAT0Y and AXIS_HAT0X,
are translated into KeyEvents KEYCODE_DPAD_UP,
KEYCODE_DPAD_DOWN, etc for navigating menus. When two or more
AXIS_HAT0Y events are batched into a single event, this would
not be recognized by the SyntheticJoystickHandler as a down/up
event, thus missing the event entirely. This commit updates
SyntheticJoystickHandler to use the entire MotionEvent,
including the HistoricalEvent portions.
Bug: 36069459
Test: Connected Sony DS4 joystick, recorded the event
that reproduces the bug with inputstudio. Replayed the
event after patch, the bug could not be reproduced.
Change-Id: I7c15c3a7c9ac326481214b1f6b553ae39c459bc4
1. smart_selection_enabled_for_edit_text
Disables smart selection for editable text.
2. smart_selection_dark_launch
Dark launch TextClassifierImpl.suggestSelection(...)
In this mode we run the method, but never change the user's
selection to measure the quality of the results based on what
the user actually wanted.
Bug: 65959640
Test: Manually tested flags turn on/off feature with 'adb shell
settings put global' and GServices override.
Test: bit FrameworksCoreTests:android.provider.SettingsBackupTest
Change-Id: Iacc561c8ee004b0123de66ad1ee06b1f56b4e4b4
Currently, case and switch start at the same
ident level, which fails the presubmit hooks.
Test: make
Change-Id: I4e22fe0c633541c00cfda3ed27731f78490e8fae
This is a patch for another bug. When the cache refreshes
nodes, it marks the transaction to bypass the cache. We
still, however, replace the cached node. If we recycle
the node as well, we end up refreshing it after it's been
recycled and end up with a sealed node in the cache. That
node can then be obtained and then throw an exception when
a setter is called. These exceptions are almost impossible
to debug.
I'm going to leave the bug open to roll this CL back and
fix the cache's behavior, but this fix seems safer this
late.
Bug: 35626351
Test: Ran a11y CTS and unit tests. Verified on instrumented
master build that the error indeed goes away. Removing one
line from unit tests that requires recycling.
Change-Id: Icc9a43ee49cf7c6bfa996839b35954faaf31621c
For now we reimplement global transactions in the Java side
JNI layer.
Bug: 64815723
Bug: 64816140
Bug: 64815766
Test: Existing tests pass. go/wm-smoke
Change-Id: I6c0a7b5e65b1b6cc844ac61f3269629af60a4244
When an activity overrides attachBaseContext(), the attached context must share
the same AutofillCient, otherwise it will break autofill in the activity.
Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases -t android.autofillservice.cts.AttachedContextActivityTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases
Fixes: 67350639
Change-Id: I6b0c4c2fab5fa68eb6ee0714e107ca0816efb2cb
* implementation of a magnifier which can be attached to any view
* important APIs:
** show(float centerXOnScreen, float centerYOnScreen, float scale)
** dismiss()
* smart offset => shows below if there is no space above
* controlled by boolean flag (easy to turn off)
* attached the magnifier to Editor's handles
* vertically snaps to the middle of the line containing the
selection
* horizontally snaps to the offset of the character where
the selection starts/ends
Bug: 66657373
Test: bit FrameworksCoreTests:android.widget.TextViewActivityTest
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Test: manual test that shows the magnifier working
Change-Id: I1d4616b8bb1210d869ac47dca137ea9636355250