CacheTextureLine was useful before we were packing the glyph
textures; it allowed simple packing of any particular texture according to
how many lines there were in a texture, and how tall those lines were.
Now that we are packing more efficiently (both horizontally and vertically
in any given texture line), it is more efficient to have
open space in every texture, removing the need for CacheTextureLine (which
now gets in the way since it limits how much can be stored in each line).
This change removes CacheTextureLine and just uses CacheTexture directly,
allowing caching of glyphs anywhere in the open space of each texture. As before,
the packing of these glyphs is determined by the CacheBlock structure, which
is a linked list of open spaces in each CacheTexture.
Change-Id: Id6f628170df0f676f8743ac7de76f2377fc6a012
This seems to have been incorrect since this code was first written for HC. I
can only think that the error was made due to confusion between portrait and
landscape mode as development switched from phones to tablets.
Tested on stingray and prime.
A similar fix will be required for Chrome.
Change-Id: I5da13c489fdb9de340b9e6ea8868c9f1adc15bb2
Strictly speaking, this is a change in behavior for all products.
Instead of using discrete zones, they will all now use spline
interpolation. We could make this behavior configurable
but there seems to be little point to it. The range of brightness
values used will be more or less the same as before, it's just
that what used to be the brightness value for all levels within
a particular zone now becomes the brightness value for the
highest level in that zone and lower values are used for lower
levels within the zone.
Change-Id: I39804ee630ba55f018e1e53c0576b28e7bd27931
Don't send a "cancel preloading" event to recents
from PhoneWindowManager if we're not using
long-press on home to invoke recents (ie phones
with soft nav keys)
1. Before JellyBean touch exploration was a global setting controlled by the user via
the UI. However, if the enabled accessibility services do not handle touch exploration
mode, enabling it makes no sense. Therefore, in JellyBean the services request touch
exploration mode and the user is presented with a dialog to allow that and if she
does we store that in the database.
As a result of the above change a user that has enabled accessibility, touch
exploration, and some accessibility services running a pre-JellyBean system
version may lose touch exploration state, thus rendering the device useless unless
sighted help is provided, since the enabled service(s) are not in the list of
services to which the user granted a permission to put the device in touch explore
mode.
The fix is during a database upgrade to allow allow all enabled accessibility
services to toggle touch exploration provided accessibility and touch exploration
are enabled and no services can toggle touch exploration. Note that the user has
already manually enabled the services and touch exploration which means the she
has given consent to have these services work in touch exploration mode
bug:6996354
Change-Id: I0af2dc578cc4fbcc90043341035163b876978ab2
Tests all library functions with all input types and outputs timing data via
rsDebug. Also tests all basic numerical operations and type conversions.
Change-Id: I39038606776bbf7361d5fc7a9a3ec3b05b8e6ae0
Lightly refactor original filter and rework math for performance. Add approx
version which uses approx_rsqrt, approx_sqrt, and the new approx_atan function.
Change-Id: I796d50da05c1684167696ea4da37d7d75fc78626
Notifications for background users are hidden from the
panel and status bar.
Still need to add a concept of "any user" notifications (for
things coming from the system) and notification visibility
controls (for access to icons + possibly masked text of
a background user's notifications).
Change-Id: Iba121f35a6c25c2e1c44db029d776a5a59a6a008
Pulling down anywhere on the status bar when a panel is
already showing will switch to the other panel.
Also adjust gesture recorder output to track the settings
panel and annotate it separately.
Change-Id: I0ca3b395b5f2c6c8767237126bce26d0e8c9b8c0
Emulated external storage always has multi-user support using paths
like "/data/media/<user_id>". Creates and destroys these paths along
with user data. Uses new ensure_dir() to create directories while
always ensuring permissions.
Add external storage mount mode to zygote, supporting both single-
and multi-user devices. For example, devices with physical SD cards
are treated as single-user. Begin migrating to mount mode instead
of relying on sdcard_r GID to enforce READ_EXTERNAL_STORAGE.
Bug: 6925012
Change-Id: I9b872ded992cd078e2c013567d59f9f0032ec02b
The window manager was telling the activity manager to evaluate
the new configuration when first initializing the display, before
actually setting mDisplay, so it failed creating that first config.
Change-Id: I6e94fcf55b0587ccf15a5fd7ecbe2c9a0c201b96
The new WiFi watchdog requires kernel/driver to export some packet loss
counters. This CTS tests whether those counters are correctly exported.
Change-Id: I41999676f8488e86f35f1f8214ce668f1a2b5638
Precaching at startup was not working. One-liner fix to init the caches
so that precaching would kick in earlier, saving time at startup by avoiding
the multiple-upload issue of caching at render time.
Issue #6893691 long app launch time on manta for some apps comparing to nakasi/stingray
Change-Id: Ie5c7f0536ec8ea371c7892e5e09c1db14795531c
Chrome is disabling the scissor, which doesn't play well with our
code that assumes that we know the state of the scissor. This fix
sets up our internal state based on the actual state of the scissor
in the resume() function (which is called after any calls out to the
Chrome or Browser GL functor). This fixes intermittent rendering
artifacts, including a gray address bar (where the gray background
gets painted without the clip that is being applied to the text foreground).
Issue #6886339 Address bar in Chrome turns gray after swiping the tabs / favicons drift outside of tab
Change-Id: I3d8a23f4438b41a367336507845baaea90cccc7e