Commit Graph

3588 Commits

Author SHA1 Message Date
Jeff Brown
cb6f950f15 Merge "New internal API to eliminate poke locks." into jb-mr1-dev 2012-10-01 15:20:23 -07:00
Jeff Brown
1e3b98d47d New internal API to eliminate poke locks.
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
2012-10-01 14:27:34 -07:00
Fabrice Di Meglio
80766f1bdf Fix bug #7259242 text is left justified with no padding
(padding is hard)

- set correct values to mUserPaddingLeftInitial / mUserPaddingRightInitial
- reset padding to initial values depending on layout direction

Change-Id: I5cfb941b4874eafbfcfb5e2926f5a3c80b4931d3
2012-10-01 13:13:12 -07:00
Chet Haase
6a2d17f713 Fix texture corruption
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
2012-09-30 15:35:08 -07:00
Fabrice Di Meglio
10c84edcfa Merge "Fix bug #7199562 UI mirroring for RTL locales (Arabic, Hebrew, Farsi): Play settings" into jb-mr1-dev 2012-09-30 11:33:31 -07:00
Romain Guy
8ed6b6a96b Merge "Perform a long computation to catch bitmap sizes > 32 bits Bug #7257930" into jb-mr1-dev 2012-09-30 11:28:54 -07:00
Romain Guy
af61cc4cbb Perform a long computation to catch bitmap sizes > 32 bits
Bug #7257930

Change-Id: I28d08024fabe8103251d480524b0b0f2fd2d2aba
2012-09-30 11:26:39 -07:00
Fabrice Di Meglio
47fb191841 Fix bug #7199562 UI mirroring for RTL locales (Arabic, Hebrew, Farsi): Play settings
- do not need those variables. Use what we already have in View.
- reset padding to initial values before changing it.

Change-Id: Ib396b3dca6e98a94d83a538a9b594b5eb426c453
2012-09-30 11:00:02 -07:00
Fabrice Di Meglio
f2e5cf487e Merge "Fix bug #6427629 Clean up layout direction APIs" into jb-mr1-dev 2012-09-30 10:53:26 -07:00
Fabrice Di Meglio
343e11345e Fix bug #6427629 Clean up layout direction APIs
- remove onPaddingChanged(int) and fold it into onRtlPropertiesChanged(int)

Change-Id: I1d7f02d2b4538c6c991bd4285501bbc73e6aa5c3
2012-09-28 18:26:07 -07:00
Adam Powell
d5edc77217 Fix adjustViewBounds handling for ImageView
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
2012-09-28 15:52:36 -07:00
Fabrice Di Meglio
8af2a13d03 Merge "Fix bug # 7172247 API REVIEW: android.view.ViewGroup.MarginLayoutParams" into jb-mr1-dev 2012-09-28 12:33:49 -07:00
Fabrice Di Meglio
669aa7cb35 Merge "Other improvements for bug #6427629 Clean up layout direction APIs" into jb-mr1-dev 2012-09-28 12:31:46 -07:00
Adam Powell
f3a2bf8edd ScaleGestureDetector does the safety dance.
Warn in the event of possibly bogus event streams and don't try to
clear empty history.

Bug 7241640
Bug 7243006

Change-Id: I037cf1334cab790ef5998ca5f8f6b323ed5f4459
2012-09-28 12:05:10 -07:00
Romain Guy
08874db8ed Merge "Fix HierarchyViewer so it can load Contacts" into jb-mr1-dev 2012-09-27 23:40:56 -07:00
Romain Guy
97723b2eb4 Fix HierarchyViewer so it can load Contacts
Change-Id: I5d5f400a9283f9c2431d91a10f85be42b02fe6a0
2012-09-27 23:36:34 -07:00
Fabrice Di Meglio
10a2979e55 Merge "Fix bug #7249363 Icons in the Camera UI (to switch camera types and on the focus ring) are missing" into jb-mr1-dev 2012-09-27 20:57:13 -07:00
Svetoslav Ganov
7befb7deb2 Global gesture to toggle Accessibility system-wide.
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
2012-09-27 20:33:20 -07:00
Fabrice Di Meglio
75aefb8fe8 Fix bug #7249363 Icons in the Camera UI (to switch camera types and on the focus ring) are missing
- no need to initialize mPaddingLeft/Right to UNDEFINED_PADDING

Change-Id: Icfdcc9bcb904228443e9adfde8038b5d8764365b
2012-09-27 19:55:18 -07:00
Fabrice Di Meglio
03b8d3a9a4 Fix bug # 7172247 API REVIEW: android.view.ViewGroup.MarginLayoutParams
- remove isLayoutRtl() from public API

Change-Id: If700e3f5f30e3c98403b48dbcdd892535d929e2d
2012-09-27 17:05:27 -07:00
Fabrice Di Meglio
9a04856d5e Other improvements for bug #6427629 Clean up layout direction APIs
- 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
2012-09-27 16:39:14 -07:00
Chet Haase
4af1146145 Merge "Force redraw of new/resized windows" into jb-mr1-dev 2012-09-27 16:05:12 -07:00
Chet Haase
391fef0f5d Force redraw of new/resized windows
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
2012-09-27 15:26:36 -07:00
Fabrice Di Meglio
bbd1029b70 Fix bug #7241988 Padding is mostly set to "0"
- 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
2012-09-27 14:08:49 -07:00
Adam Powell
5a864aa0d8 Merge "ScaleGestureDetector bugfixes" into jb-mr1-dev 2012-09-26 17:20:37 -07:00
Adam Powell
abde042a82 ScaleGestureDetector bugfixes
* Use radius, not diameter.

* Properly determine initial span on ACTION_DOWN.

Change-Id: Ia1dcff6589f8226181a9beaecef34440e9e16330
2012-09-26 17:12:50 -07:00
Jesse Hall
62fbb8311a Merge "Document interaction of SurfaceView and post-layout transforms" into jb-mr1-dev 2012-09-26 14:34:44 -07:00
Fabrice Di Meglio
fea9df6386 Merge "Fix bug #6427629 Clean up layout direction APIs" into jb-mr1-dev 2012-09-26 13:54:16 -07:00
Romain Guy
bd43152bda Always set the EGL_BUFFER_PRESERVED EGL_SWAP_BEHAVIOR
Bug #7221173

Change-Id: I231a47187792c93af9e3b9321fd1e25bc2f20117
2012-09-26 13:36:47 -07:00
Jesse Hall
c9f345ff7b Document interaction of SurfaceView and post-layout transforms
Bug: 7179570
Change-Id: I9c4d71242bcb832c0cb3b62ec26aba54f146d70a
2012-09-26 12:07:12 -07:00
Adam Powell
d736d2069b Further tweak touchMajor/Minor stabilization in ScaleGestureDetector
Change-Id: Ifa717c7dee96c5a2eb18a414a257f01762365b00
2012-09-25 19:30:44 -07:00
Adam Powell
a4ce6ae0d3 Smooth out handling of touchMajor/touchMinor in ScaleGestureDetector.
Bug 7199099

Change-Id: I7268268237cc690c2ff952d4b2cd2ddc6dce2ca5
2012-09-25 16:21:53 -07:00
Svetoslav Ganov
989ae759f8 Fixing argument expectations of View.requestRectangleOnScreen
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
2012-09-25 15:16:54 -07:00
Fabrice Di Meglio
1f88ba8bf6 Fix bug #6427629 Clean up layout direction APIs
- 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
2012-09-25 12:50:17 -07:00
Romain Guy
ef09a210dd Don't destroy the same texture twice
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
2012-09-25 12:22:21 -07:00
Eric Laurent
4bbcc65497 Display a fixed volume silder when docked.
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
2012-09-25 10:28:05 -07:00
Romain Guy
ed1b6f4fc0 Really Trigger the log when EGL_NO_CONTEXT is returned by eglCreateContext
Bug #7216919

Change-Id: Ie4a855ee51a0a4fad69bae8f377189d0c653f543
2012-09-25 09:44:35 -07:00
Romain Guy
c002936e4b Trigger the log when EGL_NO_CONTEXT is returned by eglCreateContext
Bug #7216919

Change-Id: If2059227d55e8ddb2d2673ee36029c3c92dd9a3d
2012-09-25 09:43:23 -07:00
Jean-Baptiste Queru
ec1996131d Merge into jb-mr1-dev
Change-Id: I97ff2551b36a1b590f2d314cabfcf198dd10f404
2012-09-25 09:35:19 -07:00
Jean-Baptiste Queru
c68accd35e Merge into jb-mr1-dev
Change-Id: Icd17d762c9d8e96ea6b78b18fa8f66471bc694ae
2012-09-25 09:28:32 -07:00
Romain Guy
4c7dc4aa5c Add extra error check when eglCreateContext fails
Bug #7216919

Change-Id: I322cbe4579d7a4eb2a64d288175e145d0badc857
2012-09-24 15:35:33 -07:00
Jeff Brown
8d0243a3d0 Fix surface view on secondary display.
Bug: 7183618
Change-Id: I8d743b5db8f362afb97f720846d990f9a722b3bd
2012-09-24 15:02:15 -07:00
Fabrice Di Meglio
f7a3e979a7 Merge "Fix bug #6427629 Clean up layout direction APIs" into jb-mr1-dev 2012-09-23 16:45:51 -07:00
Fabrice Di Meglio
1a7d487380 Fix bug #6427629 Clean up layout direction APIs
- rename getResolvedTextAlignment() to getTextAlignment()

Change-Id: I6a2b6c9ec4f5cea1adde46e35d5f3c49880791ee
2012-09-23 16:19:58 -07:00
Fabrice Di Meglio
be4c5dd9d0 Merge "Fix bug #6427629 Clean up layout direction APIs" into jb-mr1-dev 2012-09-23 16:19:03 -07:00
Fabrice Di Meglio
97e146cf02 Fix bug #6427629 Clean up layout direction APIs
- rename getResolvedTextDirection() to getTextDirection()

Change-Id: Id2a6025daf5521dcd676e454fc6bb9955fdccf2d
2012-09-23 15:55:11 -07:00
Fabrice Di Meglio
239e430578 Merge "Fix bug #6427629 Clean up layout direction APIs" into jb-mr1-dev 2012-09-23 15:09:56 -07:00
Fabrice Di Meglio
e3f2ac9e52 Merge "Fix bug #6427629 Clean up layout direction APIs" into jb-mr1-dev 2012-09-23 15:05:56 -07:00
Fabrice Di Meglio
e56ffdc7b3 Fix bug #6427629 Clean up layout direction APIs
- rename getResolvedLayoutDirection() to getLayoutDirection()

Change-Id: I3afe56c0db0751952f5056c23893cb7455531d29
2012-09-23 14:51:16 -07:00
Fabrice Di Meglio
4457e85a70 Fix bug #6427629 Clean up layout direction APIs
- 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
2012-09-23 14:15:26 -07:00