Bug #8667873
windowShouldResize means we need to layout the window, it doesn't mean
the dimensions of the surface have changed. We should only check the
width and the height. With this fix we can avoid a surface allocation
every time the window shade is opened or closed.
Change-Id: I8afe97b820a865723f2aab7a5aa4ddc8eaaec6e1
TtsEngines is hidden class, it's not a public API.
It's required for tracking system language setting by TTS engines
(Change: Ic4bde97ef7406adb64cc03efbe660275360ba3af )
Bug: 8613986
Change-Id: Iafafcdb244e1520893bee65febd5a137e3556317
Bug #8833153
Display lists ops might now keep references to GL resources so they
must be destroyed when the EGL context goes away.
Change-Id: I0feb18f5539b345234a58dafa6f0775d7d7460dc
In case of a ListView has a item which takes more than 33% of its height
(result from getMaxScrollAmount), scroll does not move enough to show
all the item. In this case, consecutive arrow scroll moves selection
everytime while scroll may not move that much.
This fixes the issue by checking the visibility of current selection in
advance.
Bug: 8831751
Change-Id: Ic747bd5513c6734aaf1a1d08e497c1e3ef835004
View.getOverlay().clear() can failed with an NPE if there are
no drawables in the overlay. Fix: add a null check before dereferencing
the mDrawables field.
Issue #8895794 getOverlay.clear() crashes if drawables were not added previously
Change-Id: I9b2a63036450915681ba3a89a0911e2490063702
We are prefetching accessibility node infos to minimize the number of IPC
calls when an accessibility service introspects the screen. It is however,
possible that the view we are prefetching is a child of an AbsListView whose
adapter changed its data but the AbsListView still did not perform a layout
pass to sync its children with the new adapter state. This may lead to an
exeption when trying to query for the state of a child's position. If the
data of the adapter is changed and the layout pass still not performed,
we return null for the AbsLIstView's children. When the layout pass
completes we already notify the accessibliity layer so it will be able to
refetch the children of the AbsListView.
bug:8433433
Change-Id: I56313c721aef3848b15fad50027d068ba1d291f7
We force an invalidate whenever a View becomes VISIBLE so there is
no need to keep the display list object while the view is either
GONE or INVISIBLE. In particular this clears the lists of references
kept by GLES20DisplayList, which helps the GC free large objects
such as Bitmaps.
Change-Id: Ifde0cb40baa1f35e5e6439d3bf8eab3c4c1270f0
We sometimes have issues if disable, enable seq happens to fast.
This should only slow down those fast cases.
bug:8715336
Change-Id: I4f7fe9708b7c3c2300c441511838e8a70eaad5d1
- add missing assignment for text direction (mTextDir)
- when layout direction change, update text direction (mTextDir again)
Change-Id: Id600fb0c5897a0d2ee5f9fe18a63437dc3e528d9
Different devices have different precision, leading to different pixels
being touched during rendering operations. We need to ensure that the
dirty rect we draw with (and which gets erased on the following frame)
encompasses all possible pixels instead of some ideal rounded rectangle.
The bug from this code led to dropped-pixels artifacts on some devices,
where we'd scale a view, drawing it into some pixels, then invalidate
that same area on the next frame, but the invalidation rectangle didn't
cover the same pixels as the device drew into.
The fix is to floor() the left/top pixels and ceil() the right/bottom
pixels of the transformed invalidation rectangle.
Issue #8971348 dropped pixel artifacts during some scaling operations
Change-Id: Iedb1afd5621dff43bf7a3919bdbd8d2251647fd2
The predicate for detecting whether text was right aligned was missing
some cases - it was correctly sensing RIGHT or OPPOSITE aligned text
in the LTR case, but was missing NORMAL for rtl. This patch just adds
that case.
Change-Id: I06691e7122e1ca91d66299cf0d7ef1f8a476a44b