Commit Graph

3618 Commits

Author SHA1 Message Date
Jeff Brown
9e316a1a2a Blank or unblank all displays as need.
Ensures that both the internal display and HDMI are blanked
or unblanked in tandem.

Bug: 7309812
Change-Id: Ie8b96d393e8bb20d23c92f3320142d9f7cf42aff
2012-10-08 19:23:15 -07:00
Romain Guy
133fcdf44b Merge "Clear draw flags when updating TextureView's layer Bug #7171323" into jb-mr1-dev 2012-10-07 18:00:41 -07:00
Romain Guy
52b307ebc8 Clear draw flags when updating TextureView's layer
Bug #7171323

Finally!

Change-Id: Iefef8fb9a8ef1fe4b374005067145319312c57cf
2012-10-07 17:57:30 -07:00
Craig Mautner
33877e15b8 Merge "Adds showWhenLocked attribute to Activities." into jb-mr1-dev 2012-10-07 11:48:50 -07:00
Craig Mautner
5962b12bed Adds showWhenLocked attribute to Activities.
The new attribute allows an Activity such as the alarm to appear
on all users screens.

Bug: 7213805 fixed.
Change-Id: If7866b13d88c04af07debc69e0e875d0adc6050a
2012-10-06 13:09:58 -07:00
Svetoslav Ganov
d9c99124d4 Merge "Incorrect temporary detach of accessibility focused view may lead to a crash." into jb-mr1-dev 2012-10-05 20:04:37 -07:00
Svetoslav Ganov
c886060272 Incorrect temporary detach of accessibility focused view may lead to a crash.
1. If an app naither reattaches nor removes detached view that has
   accessibility focus, an exception in the drawing of accessibility
   focus occurs since we are trying to compute the focused rect by
   offseting the bounds of the focused view in coords of the root
   but the focused one is not attached.

bug:7297191

Change-Id: Ib69d52e474b8ea365754f5311f5e809bd757dd1a
2012-10-05 18:47:13 -07:00
Svetoslav Ganov
020daada9d Merge "Accessibility focus not cleared on temporary detach." into jb-mr1-dev 2012-10-05 17:33:36 -07:00
Svetoslav Ganov
8d0739da7f Accessibility focus not cleared on temporary detach.
1. There was a path for removing a view without clearing its accessibility focus.
   Then when we try to draw the focused rectangle we get an exception since the
   accessibility focused view is not attached to the view tree when computing
   the location of the rectangel to draw.

bug:7297191

Change-Id: I81e3c35e830e27cf95e73accb665629d0c456afb
2012-10-05 17:26:49 -07:00
Craig Mautner
2874a54068 Merge "Add flag for displaying non-user's Windows to user." into jb-mr1-dev 2012-10-05 16:14:12 -07:00
Craig Mautner
88400d3a31 Add flag for displaying non-user's Windows to user.
Created a new flag that indicates that a window should be shown
to all users. For the flag to be valid the owner of the window
must have system permissions.

Also separated system window types into those that show to all
users (e.g. StatusBar, Keyguard, ....) and those that appear only
to the owning users (e.g. Drag, ANR, TOAST, ...). Those that appear
only to their owner can override their default behavior using
the new flag (e.g. LowBattery).

Fixes bug 7211965.

Change-Id: I1fdca25d57b7b523f0c7f8bceb819af656c388d4
2012-10-05 15:29:25 -07:00
Romain Guy
5075f8e323 Merge "Update TextureView's layer on size change Bug #7171323" into jb-mr1-dev 2012-10-05 15:14:07 -07:00
Romain Guy
88801b270f Update TextureView's layer on size change
Bug #7171323

Change-Id: I24bedd7775ebf585ffcbd43b661e9c961f380c29
2012-10-05 14:58:33 -07:00
Jeff Brown
c38c9be031 Coordinate screen on with the window manager.
Bug: 7267457
Change-Id: Ic2c322253639e1f0b2e4e72a7b145025d0240f93
2012-10-05 14:39:23 -07:00
Adam Cohen
f752202bee Plumbing to allow keyguard to be shown with user switcher (issue 7175023)
-> Also reduced calls to lockNow, and moved this call in ActivityManagerService

Change-Id: I9ba34ca902f7c0f71fa4ec302104688ca8d11f55
2012-10-04 17:53:01 -07:00
Jeff Brown
dce8b94832 Merge "Fix parceling of display info flags." into jb-mr1-dev 2012-10-04 15:04:21 -07:00
Jeff Brown
3f2ba6220b Fix parceling of display info flags.
Bug: 7283429
Change-Id: I5365a3b06d9b9f2414f9a9d2c94b0906c41b4ece
2012-10-04 14:58:43 -07:00
Satoshi Kataoka
ebf7e2851c Merge "Close the current input method when attached view doesn't have a handler" into jb-mr1-dev 2012-10-03 21:02:20 -07:00
Romain Guy
dfab363807 Fix rendering artifacts on tiled renderers
Bug #7275145

This change fixes ViewRoot and adds extra debug information. It does
not solve the problem entirely. Another CL will.

Change-Id: I7e604ba38aad7f421769783dcbd998d6905ab2d9
2012-10-03 18:07:59 -07:00
Satoshi Kataoka
3573950e0b Close the current input method when attached view doesn't have a handler
Bug: 7187452
Change-Id: Iba4f7ac89f5806e871aaeb97f366935b83b95a5a
2012-10-03 12:07:23 +09:00
Adam Powell
d27f1cd30b Merge "Further refine touchMajor processing in ScaleGestureDetector" into jb-mr1-dev 2012-10-02 19:33:00 -07:00
Adam Powell
5b5c414e31 Further refine touchMajor processing in ScaleGestureDetector
On some devices the information coming from the touchscreen is very
noisy or otherwise unreliable. Perform some processing on the data
we have to try to provide a smoother experience.

Bug 7267507

Change-Id: I863125f58577f522de05a1361b81c2e42975fd89
2012-10-02 19:07:16 -07:00
Jeff Brown
bcbe9cf475 Merge "Add new Display API for secure video capabilities." into jb-mr1-dev 2012-10-02 16:39:08 -07:00
Jeff Brown
77aebfdbae Add new Display API for secure video capabilities.
Added a new API to determine whether the display supports
protected buffers so that an application can choose a different
content stream or change how it decodes the content so
that it will be viewable on the display.

At present, wifi display does not fully support protected
buffers although this may be enhanced in the future.

Bug: 6986623
Change-Id: If53a53d72b0ec92753cc4b29f99fcb131e00449b
2012-10-02 16:25:10 -07:00
Fabrice Di Meglio
acb1c124ac Fix bug #7266459 android.widget.cts.TableLayoutTest#testColumnStretchableEffect failures on JO
- do not ask for requestLayout() nor invalidate() in View.onMeasure() when
resolving RTL properties

Change-Id: I7961fcb4c046d96391a4e748350573534481ae2b
2012-10-02 14:18:55 -07:00
Svetoslav Ganov
a85236e510 Accessibility focus should not scroll automatically.
1. We use auto scroll when a view gets accessibility focus.
   Pros: Having magnification and TalkBack enabled together (not a common use case)
         will have the accessibility focused view on the screen (it is auto panned).
   Cons: A blind user can get stuck in a very lock scroll view - not good.

2. We do not auto scroll when a view gets accessibility focus.
   Pros: A blind user cannot get stuck in a long scroll view as he has to explicitly
         scroll.
   Cons: The magnified area will not pan to ensure the accessibility focused view
         is visible.

Option one is the better trade off and this change removes the auto scrolling.

bug:7265773

Change-Id: I209b54ed18acad36c1f35b4c09b980e45ec9bbff
2012-10-02 11:31:18 -07:00
Fabrice Di Meglio
efe9b48354 Merge "Fix bug #7259242 text is left justified with no padding" into jb-mr1-dev 2012-10-01 16:04:40 -07:00
Adam Powell
075bb6b3df Merge "DO NOT MERGE - Revert fixes for ImageView/MeasureSpec/RelativeLayout" into jb-mr1-dev 2012-10-01 15:53:49 -07:00
Fabrice Di Meglio
6e6d78116b Fix bug #7259242 text is left justified with no padding
(padding is still hard)

- fix Toasts: basically the background drawable padding was not
taken into account

Change-Id: Iefd29782f50b6f6a56578cfeb2af119d381207f0
2012-10-01 15:53:01 -07:00
Jeff Brown
cb6f950f15 Merge "New internal API to eliminate poke locks." into jb-mr1-dev 2012-10-01 15:20:23 -07:00
Adam Powell
946d05b95f DO NOT MERGE - Revert fixes for ImageView/MeasureSpec/RelativeLayout
MeasureSpec.makeMeasureSpec has a bug where a negative or very large
size parameter will cause the resulting MeasureSpec value to
overflow. RelativeLayout partially relies on this when measuring
children with mode UNSPECIFIED; a default value of -1 in a local
variable ends up being passed to makeMeasureSpec, overflowing a mode
value to create a measurespec that is very large in size, with AT_MOST
as the mode. The correct behavior is for RelativeLayout to propagate
the UNSPECIFIED mode.

Unfortunately a number of custom view implementations in apps rely on
the buggy behavior as they do not implement their own onMeasure
method. This makes them fall back to View's default onMeasure
implementation, which accepts the spec's size unconditionally for
AT_MOST or EXACTLY modes, but falls back on
getSuggestedMinimum[Width|Height] for UNSPECIFIED. If the view had no
background drawable with dimensions and no minWidth field set, this
fix for RelativeLayout causes some views to measure with a size of 0
rather than a size of the 30-bit version of 0xFF...

Revert these fixes in the interests of compatibility. The next version
will conditionally use the new behavior if targetSdk > JB-MR1.

This also required reverting a fix for ImageView's adjustViewBounds
functionality, as it cannot be implemented reliably if this
RelativeLayout fix is not also in place.

Revert "Fix UNSPECIFIED measurement in RelativeLayout"

This reverts commit 132a742b94.

Revert "Fix adjustViewBounds handling for ImageView"

This reverts commit d5edc77217.
2012-10-01 15:06:46 -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