From Android Q, Talkback supports lift-to-type feature if the node claims
it is a text entry key via setTextEntryKey(). We implement this API to
show how this API is applied.
This CL uses AccessibilityNodeInfoCompat instead of AccessibilityNodeInfo
so that the same functionality can be used even on pre-Q devices when
the AccessibilityService supports it.
With that, this CL removes the legacy code of lift-to-type feature,
which was implemented in the AOSP Keyboard side.
Bug: 131644969
Test: manual - enable Talkback suporting lift-to-type,check Talback
perform click action when finger is lifted.
Change-Id: I1ec2928f5a9ba0bde999b09d4c0b9c922f179a2a
This CL fixes the following compiler warnings.
- Indirect access to static member
- Access to a non-accessible member of an enclosing type
- Parameter assignment
- Method can be static
- Local variable declaration hides another field or variable
- Value of local variable is not used
- Unused import
- Unused private member
- Unnecessary 'else' statement
- Unnecessary declaration of throw exception
- Redundant type arguments
- Missing '@Override' annotation
- Unused '@SuppressWarning' annotations
Bug: 18003991
Change-Id: Icfebe753e53a2cc621848f769d6a3d7ce501ebc7
This reverts commit a63d0a8ee6.
This patch seems to be fine after all, but was submitted without its companion [ML1.1] patch causing a build breakage. Reverting the revert and submitting both at the same time seems like the right thing to do.
Change-Id: Ib8fefa40b74dcee0edb025a52dac9b35c82d49df
This CL adds ACTION_CLICK or ACTION_LONG_CLICK actions to a key node
info. But report a node info without these actions for the same key
while hovering to avoid announcement "double tap to select and double
tap and hold to long press".
Bug: 15727335
Change-Id: I1e9333c94c819d049bda81ad410299f5a509d29c
Partially reverting Ie033d21ef8 to populate root node info.
This CL also fixes the bounds in screen of virtual node info.
Bug: 15746768
Bug: 15582251
Change-Id: I3a82f904270adf138036ef462fd70b349a3cd33e
Because a keyboard handling hover events and determining a virtual
node by itself, there is no need to supply whole virtual nodes info
for the keyboard. Just returning an empty accessibility node info
supresses annoucements of all keys.
This CL also fixes the undefined virtual id value.
Bug: 15582251
Change-Id: Ie033d21ef878d272417cf2b20f8eec1e516587f6
A more keys keyboard may have a divider on it. The MoreKeysDetector
should be used even with accessibility mode on to be able to handle a
divider.
Bug: 15583354
Change-Id: Ife2cf8304496c4c330127fde8ca1f34c2f0838e2
With accessibility mode on, hover events for a more keys keyboard are
handled among MoreKeysKeyboardAccessibilityDelegate and
MoreKeysKeyboardView. But the more keys keyboard is shown by
MainKeyboardAccessibilityDelegate that uses PointerTracker to handle
hover events. Thus we need to clear PointerTracker state when the more
keys keyboard is dismissed.
This is a workaround to resolve the issue. We should reconsider the
structure of those views and accessibility delegates in the future.
Bug: 15583751
Change-Id: Ida8c3e55194c59bdaa5bc4ff06068e699b888ced
KeyboardAccessibilityDelegate.synthesizeTouchEvent() wrongly passed
pointer's id as a 6th argument of MotionEvent.obtain method that
should be metaState.
Change-Id: I822f9647a1ba27ee8cee39f373f6a1c003ebf665
This CL also refactors KeyboardAccessibilityDelegate a bit to be able
to override on hovering methods that handle enter, move, and exit on a
key.
Bug: 12491371
Change-Id: I3c7e81ccb8729ae6e466c654efde0c18ed734bdf
Because the number of emoji description spoken string resources is
rather huge (~800), some locales may chose an empty description as a
translation. If that is the case, we will announce "unknown emoji" as
a fallback.
Bug: 11452158
Change-Id: Ibb65e5bec93030c40bd33ac2be2115c3bbc8bd11