Previously, the surface that backs a virtual display had to be set
at the time when the display was created. This change now makes
it possible to set or remove the surface later. The virtual display
is treated as if it were "off" while no surface is attached to it.
Change-Id: Ib4fdbbb8b4ee79f0fb9ceb648f9bda4a8fa6a2ca
isRound allows a view to determine whether the window it is contained
within obscures the corners of the window content. This allows views
aware of this property to adapt their layout accordingly.
Switch ViewRootImpl to use dispatchApplyInsets instead of
fitSystemWindows.
Change-Id: Ic3e3936b73815b2593cb9720af1a309fbd18406e
Conflicts:
core/java/android/view/ViewRootImpl.java
resolved conflicts for merge of ec6676dd to klp-modular-dev-plus-aosp
properly, originally fixed in 35d46778f4
Change-Id: I5d1abf641564ea19d283f60385d39f7670a2f22e
The constant does not have a final value yet but is useful for
documentation purposes during development.
Change-Id: Iddd9b956eff822a9a25e9df483b5bd3979189023
The Binder interface for passing a callback was not implemented
properly. Also the callback for ActivityContainer now has a new
API.
Change-Id: I6b719be0cb57542f022a3cc14e8f4efde60b1a50
This also makes a couple of changes to the framework:
1. ShareActionProvider - Use edit mode to execute activity chooser code.
2. ActionBarImpl - add a new constructor for use by layoutlib.
This also relies on some changes to the plugin to pass the correct params.
Change-Id: Ia30fef816afd91ec1e439734d56b59b1323bfee2
(cherry-picked from 14bf0cef7e)
Applying insets is now handled by:
* WindowInsets class - Encapsulate system insets and local decor
insets into a single object, written specifically so that new inset
categories may be added later. Apps cannot construct their own
WindowInsets, only clone with optional modifications. This is to
prevent losing data in the event of new insets added in the future.
* onApplyWindowInsets - Actually perform the application of insets.
* OnApplyWindowInsetsListener - Allow an app to use a separate
Listener object to apply insets to a View. This allows for things
like support lib integration in custom views written for older
versions where the verifier would otherwise complain about the use
of the new WindowInsets class as a method parameter. It also allows
for applying insets in a custom way without writing a custom view.
* dispatchApplyWindowInsets - Dispatch the call to self and children
in turn, if applicable. An OnApplyWindowInsetsListener will override
the behavior of the view's default onApplyWindowInsets method; a
listener wishing to call down to the 'superclass' implementation as
part of its own operation should call view.onApplyWindowInsets. App
code should generally not override this method and instead override
onApplyWindowInsets or provide a listener.
Compatibility support with the existing fitSystemWindows method has
been provided in both directions: for code that previously called
fitSystemWindows on arbitrary views and also for code that overrode
the fitSystemWindows method in custom views. A view that supports the
newer onApplyWindowInsets mechanism should not mix that behavior with
other calls to fitSystemWindows or vice versa. Support lib-style code
should take care to consistently use one mechanism or the other at
runtime.
Change-Id: Ie88b96e0382beb5d3c3f6cd013f7043acbc0a105
The various text shadow attributes were not being properly applied
because they were being retrieved from the wrong TypedArray.
This is the proper fix for bug 13525033 Shadow* attributes in a style
not being applied in textAppearance.
Change-Id: I57a8f498bf6059c5c5c74c1072edb277a24ea053
Previously, the view hierarchy would suppress drawing whenever the
PowerManager.isScreenOn() method returned false. However, this method
really describes the interactive state of the device rather than the
actual display state. This is especially a problem when there are
multiple displays but it also breaks drawing while in doze mode.
This change makes the view hierarchy consider the actual state of the
display instead on an individual basis.
Bug: 13133142
Change-Id: I69870b6b14a3504607a30562aa48c3452f777c1f
Calling available() on a local socket after close() will cause a native
crash. Other methods that pass LocalSocketImpl.fd to native code copy
the fd and check for null.
Change-Id: I2d0b573f34ae47a23009760bbb1c02933ab0a20e
* commit 'cd4c1c714c37a1bc7ba35ebd2509eca4f0f6a314':
Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
This can be fixed by tweaking their BoardConfig as well,
but that leads to all sorts of other problems.
For now, fall back to the primary zygote if the secondary
is unavailable. This will fail if shared libraries for the
primary zygote ABI are unavailable, but that won't be the
case just yet.
bug: 13970103
Change-Id: Ifa107e43ca95023d57a0d9c641e4fddaccd9a888