Added a new WindowManager.LayoutParams inputFeatures flag
to disable automatic user activity behavior when an input
event is sent to a window.
Added a new WindowManager.LayoutParams field userActivityTimeout.
Bug: 7165399
Change-Id: I204eafa37ef26aacc2c52a1ba1ecce1eebb0e0d9
(padding is hard)
- set correct values to mUserPaddingLeftInitial / mUserPaddingRightInitial
- reset padding to initial values depending on layout direction
Change-Id: I5cfb941b4874eafbfcfb5e2926f5a3c80b4931d3
When memory gets low on a device, activities flush everything they can.
Hardware-accelerated activites, such as Launcher, flush GL resources and destroy
the GL context. However, some resources were still hanging around, due to deferred
destruction policies (we don't delete layers until the DisplayLists they are in
are finalized, to ensure we don't deref deleted objects). This meant that we were
referring to obsolete GL data in these objects. in particular, it meant that we might
come around later, after a new GL context was created, and delete a texture object
that was incorrect. We use the layer's "texture id" to refer to the texture underlying the
layer. But if there's a new GL context, then this texture ID is no longer valid, and
we may be deleting the texture that a different object (layer, icon, whatever) is referring
to, because the driver may return that same ID under the new GL context.
The fix is to more aggressively delete things that we know will not be used again
when the GL context is destroyed. In particular, we delete all resources being used
by all DisplayLists at GL context destruction time.
Issue #7195815 Textures corruption on all devices, in many apps
Change-Id: I52d2d208173690dbb794a83402d38f14ea4c6c22
- do not need those variables. Use what we already have in View.
- reset padding to initial values before changing it.
Change-Id: Ib396b3dca6e98a94d83a538a9b594b5eb426c453
When computing the adjusted view bounds, don't constrain the
dimensions by the original estimate if the opposite dimension has a
fixed size. This can result in the view never getting properly
enlarged.
Also fix a long-standing bug in MeasureSpec.makeMeasureSpec where
oversized or negative values could result in broken packed values.
Bug 7240251
Change-Id: I359d108ff52b6f3b5c4bf393d2271d28999c0127
Warn in the event of possibly bogus event streams and don't try to
clear empty history.
Bug 7241640
Bug 7243006
Change-Id: I037cf1334cab790ef5998ca5f8f6b323ed5f4459
1. This change adds a global gesture for enabling accessibility.
To enable this gesture the user has to allow it from the
accessibility settings or use the setup wizard to enable
accessibility. When the global gesture is enabled the user
can long press on power to bring the global actions dialog
and then hold with two fingers for a few seconds to enable
accessibility. The appropriate feedback is also provided.
2. The global gesture is writing directly into the settings for
the current user if performed when the keyguard is not on. If
the keygaurd is on and the current user has no accessibility
enabled, the gesture will temporary enable accessibility
for the current user, i.e. no settings are changed, to allow
the blind user to log into his account. As soon as a user
switch happens the new user settings are inherited. If no
user change happens after temporary enabling accessibility
the temporary changes will be undone when the keyguard goes
away and the device will works as expected by the current user.
bug:6171929
3. The initialization code for the owner was not executed due
to a redundant check, thus putting the accessibility layer in
an inconsistent state which breaks pretty much everything.
bug:7240414
Change-Id: Ie7d7aba80f5867b7f88d5893b848b53fb02a7537
- hide isLayoutRtl() from public API
- canResolveXXX() is now smarter: use recursion to get its returned value
- in ViewGroup, if resolution cannot be done then dont ask resolution for
its children
- in ViewGroup, addViewInner() needs to ask to resolve the child. This is
needed for example by ListView which is using the same measurespec before
and after its childs being attached.
It also take care of the general case where a measure pass is done when not
attached to a parent (and thus asking for resolution that will "fail" if we
are using IHNERIT) and never done again. That would lead to never do a
resolution.
- some code refactoring
Change-Id: I120dd2fef7397944f5ba8deff0686b108dc827d2
Our use of the GL flag EGL_SWAP_BEHAVIOR_PRESERVED_BIT caused a problem
with windows that are resized, where some of the contents were not being
updated when the window was first placed/resized. The fix is to force the
window to redraw completely when it is first resized.
Issue #7246918 Label selection view disappears
Change-Id: I3562141569502af581a3d63b1290c598abb57ade
- make RTL compatibility mode more straighforward. Done only in constructor
and resolved() is only done for real RTL case.
- fix also issue concerning needRtlPropertiesResolution(): we were missing
padding and drawables bits.
Change-Id: Ic0569f7542a0d66244e8c4bd35ae85949e39c559
1. In a previous patch the implementation of the method was fixed
in terms of end result but this broke some assumptions about the
method arguments. This change updates the argument expectations.
bug:7172035
Change-Id: I76d738b1c74dfb1dd45fc667f3217911f1c10a5f
- getLayoutDirection() / getTextDirection() / getTextAligment() dont do resolution
- resolution done into onMeasure()
- use XX_RESOLVED bits to check if resolution needs to be done
- code formatting
Change-Id: Ie46a5535860e90f3449b96cfe0aa04dd7e3006d7
Bug #7221449
SurfaceTexture already deletes the GL texture when detachFromContext
is invoked. The newly introduced refcount would casue the Layer
object to be destroyed later and attempt to delete the GL texture
again. By the time the second cleanup occurs, the texture name
might have been reused by somebody else, resulting in erroneous
behaviors.
Change-Id: I257c589fea64b34c00f46fbfaa7732e6854a5e41
Align UI indication to volume policy when docked: the music volume
cannot be adjusted when docked or connected to HDMI. Display
a disabled slider at max volume in this case to be consistent.
Bug 4335692.
Change-Id: I6f8db143b0e2ecf54e4bdacd88afdeb661a98a18
- canResolveXxx() should be hidden
- resetResolvedXxx() should be hidden
- resolveDrawables(), resolveLayoutDirection(), resolvePadding(), resolveTextAlignment(), resolveTextDirection() should be hidden
- onResolvedXxx() should be merged into one callback
- fix also an issue with setting the layout direction of the drawable in ImageView
- fix also an issue with checking if TextAlignment can be resolved
Change-Id: I1402269ddf8632525f5550f80e5610e1a7b4034d