Previously when processing playlists, the entire audio table would be read for
every line in a playlist file. While there would be only one query, a lot of
data was being moved from sqlite to java over and over again, and if the data
didn't all fit in a CursorWindow, additional queries would be done under the
hood.
With this change, playlists are first cached in memory. Then the audio table
is queried, and for every row in the audio table, the best match from the
playlist cache is found. This way the audio table is only traversed once,
so each row is only fetched once. Once the entire audio table has been read,
the in-memory playlist cache contains the best matching entry for each line,
and the playlists are written out to the database. Currently, the audio table
is traversed once for each playlist. This could be further optimized in the
future by processing all playlists at the same time.
b/6346786
Change-Id: Iead3f9ae838d600d085e8e6d3c4874d42314468e
When used in a `ViewPager`, fragments that are present on the adjacent,
cached pages will receive context selection dispatches which, depending
on your fragment contents, can be difficult to determine whether or not
the event truly originated from your view.
By using the visible hint we restrict dispatching to only those fragments
which are marked as being visible. Since the fragment pager adapter
updates this setting properly most implementations will be afforded this
fix without any change required. If the user is implementing their own
adapter they likely already understand the implications of these cached
fragments and the reponsibility for updating the boolean falls to them.
Mirrors support library change Ie6a72c1c82c2784774373670007b6f5948fe16da
Integrated from AOSP.
Change-Id: I19bbbe4c8d910fb38c14d6ae5d462eb7dd44fd26
To give RINGTONE_PICKER external storage access, move it from system
to MediaProvider. Fix OOBE when getRingtoneUri() kicked requery().
Bug: 6346701
Change-Id: I837002eef0580b8cdd8920a27b068c745995a8a3
We couldn't put forward-locked apps in ASEC containers before since we
didn't have any permissioned filesystems. This adds the ability for
forward-locked applications to be in ASEC containers.
This means that forward locked applications will be able to be on the SD
card now.
This change also removes the old type of forward-locking that placed
parts of apps in /data/app-private. Now all forward-locked applications
will be in ASEC containers.
Change-Id: I17ae0b0d65a4a965ef33c0ac2c47e990e55707ad
Compare the channel configuration against a mask of the public
channel masks in AudioFormat for up to 5.1 with back channels,
and allow combinations within this mask.
Change-Id: I84b72dfd88d4490f0c67bf10d13151a9eb06f6a8
We used to only prefer it when connecting for default connection purposes,
but it makes sense to use the preference for all apn types it supports.
bug:6377793
Change-Id: I8b26b77fc0787121749cce9d32303ab24cc72c75
This won't be shown in usual condition since in most cases the method
will just use the block just above the logging and return true/false
there. On the other hand this might be useful if the case is truely
exceptional and thus this path is really used.
Bug: 5914560
Bug: 6383850
Change-Id: I2242f93a9b905b5a39d997aa30d9fd6f5bfbdf49
- now use ICU u_isMirrored() instead of a small hardcoded list of unicode points
see bug #5961254 Harfbuzz should be able to support Bidi_mirrored unicode attribute
Change-Id: I3243a58558a97930f0e7fdf5e9c1d5695d9393de
This uses the new global search intent provided by SearchManager.
It also fixes the layout on tablets.
Change-Id: I9dd97785a454a4793aed7da1f5e260377f648354
1. The granularities for traversing the text content of an accessibility
node info are now predefined constants and custom ones will not be
supported. This is the simplest solution - we can always add namespaced
user defined ones (unlikely).
2. Added actions for traversing web content. These actions can be used by
an accessibility service to transparently drive the JavaScript based
screen reader that is used for handling web content.
3. Added a new accessibility event type for traversing the content of a
view. This event is needed to announce to the user what is the next
element, i.e. the one next to the cursor, after the view's text was
traversed.
bug:5932640
bug:6389591
Change-Id: I144647da55bc4005c64f89865ef333af8359e145
...has no cross-activity transition
We apparently no longer want to skip the activity transition when
it is starting from behind the status bar.
Change-Id: I1feb0cf0303f8b89d9089b38b217eac440382059
...foreground app when the device was put to sleep
This is because of activities being kept in the stopped state
while the lock screen is shown, so we never get to the point of
it becoming visible again to know to proceed.
Just at this point consider the lock screen hidden so the
activity can be resumed and run as normal; the whole point of
this is to soon hide the lock screen, anyway.
Change-Id: I3a713a2f87b8e4412ff66724c051f09a2675be00