If accessibility is enabled and there is no headset we do not speak the pressed keys.
In such a case we provide a prompt to the blind user to use a headset. This was announced
on every keypress which is quite annoying. Now this is announced only once.
bug:5342234
Change-Id: Ibe55ad991ad2153d09cde57b030544948fa0d73b
The buttons on the lockscreen were sized at startup time,
before the actual size of the keyboard's container (KeyboardView)
was known. Also, horizontal/vertical gaps were not taken into
account in calculating perecent sizes of the keys. This change
causes resize events (including the first one where the container
size is finally known) to recalculate the keys' sizes and positions
according to correct sizing of the container and the keyboard's gaps.
Change-Id: I5ba7a401226ed4b100e5739f3405388955d97997
action mode is turned on/off
Fire AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED when action modes
come and go to give an indication of UI change on the level of a menu
or dialog opening/closing.
Change-Id: Id36c6153b0722b4b6927c8d36503e8ac57c2d2b2
onFinishInputView is called in InputMethodService#hideWindow but not in onDestroy.
For closing IMS safely, onFinishInputView should be called in onDestroy.
Bug: 5265534
Bug: 4697071
Change-Id: I2947b62326e3e0644f1c079eafc839a9981e902b
The previous behavior stopped the extracted text mode, leaving the
text selected and without handles in the app.
As what happens in normal (non extracted) mode, the back key now
stops the text selection mode. A second back will get the user back
to normal mode.
Change-Id: I2e8d2d7a1a1e1344997da75438f8df804fb8735c
1. The password lock screen is accessible and with this
change the PIN lock screen is accessibile as well.
This is enough to cover the enterprise use case of
imposed lock of the deivce. we will hide the options
for pattern since it is hard for use by a blind person.
We may reconsider this for subsequent releases.
bug:4978246
Change-Id: I069f8ebe1ff7ea1591cab42ea580f00f3d31b2e6
Have the framework refer to the DeviceDefault themes for ICS apps that
don't explicitly request another theme.
Change-Id: I27dd0bbaa60f71df4f36e47d260f556d923ba075
1. The password lock screen is accessible and with this
change the PIN lock screen is accessibile as well.
This is enough to cover the enterprise use case of
imposed lock of the deivce. we will hide the options
for pattern since it is hard for use by a blind person.
We may reconsider this for subsequent releases.
bug:4978246
Change-Id: I67ef783b799ffd64ebff6cdb614c03025fc911e6
This presents action modes (such as the one for text editing) in a
less screen-consuming way in the IME extract mode layout. The submit
button is replaced by an "Edit..." button that shows the action mode
menu when clicked.
Still needs UX design and tweaking.
Change-Id: Ia7b3f3446edced0ee5a9abc5e2f0ff16f4fa3ab1
Added the concept of pointer properties in a MotionEvent.
This is currently used to track the pointer tool type to enable
applications to distinguish finger touches from a stylus.
Button states are also reported to application as part of touch events.
There are no new actions for detecting changes in button states.
The application should instead query the button state from the
MotionEvent and take appropriate action as needed.
A good time to check the button state is on ACTION_DOWN.
As a side-effect, applications that do not support multiple buttons
will treat primary, secondary and tertiary buttons identically
for all touch events.
The back button on the mouse is mapped to KEYCODE_BACK
and the forward button is mapped to KEYCODE_FORWARD.
Added basic plumbing for the secondary mouse button to invoke
the context menu, particularly in lists.
Added clamp and split methods on MotionEvent to take care of
common filtering operations so we don't have them scattered
in multiple places across the framework.
Bug: 4260011
Change-Id: Ie992b4d4e00c8f2e76b961da0a902145b27f6d83
Notably, this removes exessive info about resources
from the content package, because it's not a good location
and the info is avilable in the dev guide, but also
added some of the info to the Resources class description.
Change-Id: Ie78af26c9cec66314deb98e53078f48e16c08e70
Bug 3381317
Changes made in https://android-git.corp.google.com/g/#change,91880
displayed the IME onFocus. However, the test was not consistent to what
is done in touch event. textIsEditable is now checked too.
Change-Id: If11382c1c90a557839b87d62494253470c42b621
This fixes a bug introduced in 3c6dd8f9 because we now
have two shift keys. The code now tracks a global state
and looks for up to two shift keys.
Update after review and added code to handle extra
invalidate required by additional shift key.
Change-Id: Ic1728dd0ceec089089cd1beca1b0b30565d6e658
This enables the system bar to carve out a region through which
events will be sent to the IME behind it.
Bug: 3238092
Change-Id: I69b855a8d9b5b3ee525266c0861826e53e5b5028
BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).
Added FULL keyboard type to support full PC-style keyboards.
Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER
Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout. This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)
Modified several places where events were being synthesized
to use the virtual keyboard.
Removed support for the "qwerty" default layout.
The new default layout is "Generic". For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways. The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.
Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.
Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.
Fixed a bug in InputReader generating key ups when keys
are released out of sequence.
Updated tons of documentation.
Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled. This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.
Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
Bug 3064925
Instead of always passing the menu item to the original TextView, do that only
for the 'Select word' option. More ExtractEditText magic, but this ZBB so...
Change-Id: Ic4cb0526dbb9711e2f13a916b997f480307dcad1
- added showInputMethodSubtypePicker to public API
-- show the selector dialog for subtypes
- added getter, setter and event handler to InputMethodManagerService
- extract InputMethodSubtype to the top level class for using it in aidl
- TODO: make an enabler for input method subtypes
- TODO: handle the event of changing an input method subtype in LatinIME
Change-Id: I49f8c6675ac4b06511635d14a37bd398738eff33
Change insertion point on tap is no longer handled by the CommitSelectionReceiver
(as it is not called by ExtractEditText).
Fixed a bug to handle drawing positions when the internal TextView scroller is used.
Change-Id: I87398c7109c5527d21dee6abbdb925848244d594
singleLine flag is set to false by default. However, when no singleLine or input
type is provided, the inputType of the TextView is not set to
EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE for edit texts.
Change-Id: Id747d3319afcddb3ab6ae0463947e8b3e470ef73
Do not correct the touch point if it is within the range of
verticalCorrection from the top of KeyboardView, so that the touch
point will not have negative y-axis value.
Bug: 2659128
Change-Id: I91a3e65fc5dee1383dbbfb45690e307fc0adc1d1