This is the best and only way for apps to listen for
notifications: create a NotificationListenerService, wait
for the NoMan to bind to you (as a result of the user
checking a box somewhere in Settings and agreeing to a
scary dialog box), and you'll start receiving notification
posted and dismissed callbacks. Your service, while enabled,
will also be able to clear one or all notifications.
Use this power wisely.
This change moves StatusBarNotification out of
com.android.internal into android.service.notification.
[Internal customers, including System UI and early users of
the system-only listener binder API, will need to be
updated.]
Bug: 8199624
Change-Id: I1be46f823d4b3ddc901109ec1e085cd6deb740c2
The min layer was set to only show the windows that matched
the specified app token. But that meant when dialogs were
launched it only showed the dialogs and not the background
windows.
Added improved debugging.
fixes bug 8502844.
Change-Id: I26b49568b872801ec9aa088df20317aa752dacd6
Don't install packages where we have multiple, conflicting
<uses-permission> lines for the same permission.
For example, a package which contains:
<uses-permission android:name="android.permission.INTERNET" android:required="false" />
<uses-permission android:name="android.permission.INTERNET" android:required="true" />
will now fail to install.
In addition, this change slightly refactors the code, and creates a new
parseUsesPermission() method.
Change-Id: I0f4bb8b51dc4a0c5b73458a70f706e19829275d2
Remove remnants from times long gone. We don't need to redraw the
union of the previous frame's dirty region and the new dirty
region.
Change-Id: I9fb96f99a6a72c2233f9ca563cf6432a42b2b65b
bug:8540150
Layers now require traversal in update order, as it will be child
first, then parent for layer-in-layer
Fixes issue with deferred layer playback not flushing in order, and
thus child not painting before parent
Also fixes DisplayList to only be cleared after flush in deferred list
Change-Id: I2f284d00079cdb20798aeef6a1c94e823940db40
Don't honor <uses-permission android:required="false"> on older apps.
Lots of apps in the wild are improperly using this, and we don't
want to break them.
Bug: 8528162
Change-Id: I6e0a10bc9feac58d13ef624239c6b91e9fc34590
This change uses a new OpenGL ES 3.0 feature to upload less data when
the font cache needs to be update. This can result in significant
performance improvements on device with large textures or with locales
that use a lot of glyphs (CJK for instance.)
This change also fixes various unpack alignment issues. The unpack
alignment, as well as the unpack row length, is not texture specific
but a global state that affect all glTex/SubImage2D calls. Some of
them were missing the appropriate glPixelStorei() call. This could
result in corrupted textures.
Change-Id: Iefb429d4d0d0b4e0faeadf27daafee6d30a21d85
RectEvaluator is useful when animating object bounds.
The other change is a hidden API that allows temporary suspension
of layout, useful for animations which need to animate view bounds
without conflicting with layout passes that might happen in the middle
of the animation.
Change-Id: I3dc08cb6ec455dfa3409e825506b218d3ea63d7a
Some apps aren't particularly happy if a stray key event is dispatched
to a newly created window before its menu is prepared, causing the
action bar's Home/Up event to be dispatched. Ignore these clicks on
the Home/Up button before the menu goes through its initial prepare
step.
Note that it is still possible (and valid!) for Home/Up to be
dispatched even if the app chose to return false from
onCreateOptionsMenu or similar.
Bug 7085070
Change-Id: If4b7d5f8c5a08ce8a094f1919347604d78ddedfb
This commit replaces a regex pattern match for Linkify.PHONE_NUMBER
with a call to libphonenumber's PhoneNumberUtil.findNumbers().
Bug: 5533245
Change-Id: I0e0563b241fb62e77d7f49e4a8484c6b0685dd8f