Added new drag_can_accept and drag_hovered XML attributes and the View
logic to support them. Drawable states are now refreshed automatically
when a drag starts/ends and when a drag crosses the boundary of a
participating view.
Change-Id: I25f8ee02c83b3fa4f27201997d7eabf4be653fd8
("setCorrectionSpan" was added in Id3abc9ea4d11753cd )
Also..
- Added a class java doc for CorrectionSpan
- Removed FLAG_DEFAULT
- Changed the return type of getSuggestions from Array<CharSequence> to String[]
Change-Id: If5eb091e307a7a40c5b4a70ec1fe6059ecd9fb2d
The uniqueness of InputMethodInfo was guaranteed by mId (like InputMethodInfo#equals), but the hashCode was not implemented in the same way.
This change fixes a problem happening when the user gets the hashCode of InputMethodInfo obtained through IPC.
Change-Id: Ib876c5cb0d778481100597ec31202f94fb7b8f37
The input dispatcher sends a HOVER_ENTER to a window before dispatching
it any HOVER_MOVE events. For compatibility reasons, the window will
*also* receive the HOVER_MOVE. When the pointer moves into a different
window or the pointer goes down or when events are canceled for some reason,
the input dispatcher sends a HOVER_EXIT to the previously hovered window.
The view hierarchy behavior is similar. All views under the pointer
receive onHoverEvent with HOVER_ENTER followed by any number of HOVER_MOVE
events. When the pointer leaves a view, the view receives HOVER_EXIT.
Similarly, if a parent view decides to capture hover by returning true
from onHoverEvent, the hovered descendants will receive HOVER_EXIT.
The default behavior of onHoverEvent is to update the view's hovered
state by calling setHovered(true/false). Views can query their current
hovered state using isHovered().
For testing purposes, the hovered state is mapped to the pressed
drawable state. This will change in a subsequent commit with the
introduction of a new hovered drawable state.
Change-Id: Ib76a7a90236c8f2c7336e55773acade6346cacbe
The previous fragment implementation allowed for animations
during fragment transitions, but did not account for the
different behavior of fragments when popping the back stack.
In general, you probably don't want to run the same animation
for putting a fragment on the stack as for popping it off, which
is what happens now. For example, you might fade a fragment out when
putting it on the stack. But when popping ot off, fading it out
is probably not the behavior you want.
The new API (setCustomAnimations() overload with two additional
parameters) allows developers to specify animations to be run
in the popping operation. Otherwise, the animations are null and
the operation will not be animated.
Change-Id: I2e132b3890838358e496149f18a25037a59990aa
Like getTransformMatrix, getTimestamp provides a timestamp for the
OpenGL texture produced by the latest call to updateTexImage().
Timestamps are measured in nanoseconds, and are monotonically
increasing. Other properties of the timestamps (zero point,
comparability) depend on the source providing frames to the
SurfaceTexture, and need to be documented by the source.
bug:3300707
Change-Id: I380d94926d0e9f1c77bb5c1576b72d5ef4e2eba1
Tweak padding so layouts now look decent, a few extensions so that
the correct title can be shown.
Change-Id: Ieace16bf4962d66564c6e2f67fb588e582943850
It shouldn't be a problem to put this in -- it is a static final
so it doesn't actually need to be in the on-device system image.
This is important for the SDK.
Change-Id: Iaa086247d0d65fe708c40fbab506aa60cd3e1396
* commit '2c3257b21ddf2a3da843f11d1bb3b4fa8e912707':
Fix for 4089881. - Add one more parameter in the interface of DrmEvent and its subclasses DrmInfoEvent and DrmErrorEvent - Send back DrmInfo in the response of async processDrmInfo calls
- Add one more parameter in the interface of DrmEvent and its subclasses
DrmInfoEvent and DrmErrorEvent
- Send back DrmInfo in the response of async processDrmInfo calls
Change-Id: Ia9b1a641296629a19ae4ffa7913e6c878fd340f8
- CorrectionSpan is a span which has suggestions made by IME.
This has a function to change the current IME to other IME specified
in this span. For security reasons, only the current IME
is allowed to use this function through InputConnection.
(IME token is used for checking the validity of it.).
- CorrectionSpan stores following information:
flags, subtype Id, InputMethodInfo Id, suggests, locale, original string
Change-Id: Id3abc9ea4d11753cdc4f483a2bb3128f49ba198a
4087362: Provide a safer way to call DialogFragment.dismiss()
4087356: PreferenceActivity.invalidateHeaders() can cause
IllegalStateException: Can not perform this action after onSaveInstanceState
These are very safe; the first is just a new public API that
allows you to use an existing feature in DialogFragment, and the
second just uses the version of commit that avoids the failure if
happening at a point where the operation would be lost if restored
from the last state (which is no big deal for preferences).
Change-Id: I53971c9fb1efdcd599694cdcd4585b81afc156b8
* commit '75c95e9a6d5a91b660af62f72b5a3bac0f5c3811':
UsbManager: Hide APIs not needed for USB host or accessory support.
Remove MtpClient class from framework and public API
UsbDevice: Move IO related methods to new UsbDeviceConnection class
UsbDevice is now just an immutable parcelable object like UsbInterface and
UsbEndpoint.
All IO related functionality is now contained in UsbDeviceConnection
and UsbRequest.
Bug: 4067029
Change-Id: Ia84da0b512a697acc940eee0c3566711c62e1a68
Signed-off-by: Mike Lockwood <lockwood@android.com>
HandleView had a reference on its Controller, and Controller had
a reference to its HandleView.
This large refactoring breaks this dependency, creating smarter
HandleView subclasses that don't have to delegate to the controller
anymore.
Change-Id: I472621f747cdc78fd8b2bba84c0edc62cb2f6316