Commit Graph

384 Commits

Author SHA1 Message Date
Dianne Hackborn
3e52fc2515 Fix some issues with updating the offsets of a window.
- Apply the correct crop rect at this point.
- Apply the correct position by taking into account the frame left/top.
- Don't directly apply the new values if the window is currently
  animating, since we need to go through the whole animation step
  to determine what the correct position is (taking into account
  any transformations).

Change-Id: I15d79354d9779867c49c7c0880faccdead7b021d
2012-05-15 17:58:02 -07:00
Jamie Gennis
521e0d794d WindowManager: unset the wallpaper window crop
This change removes the window crop of the wallpaper when setting its position.

Change-Id: I0f4dc10ea9a724b210f75286580ef391145286df
2012-05-14 04:11:02 -07:00
Dianne Hackborn
2a7a6ca00a Merge "Implement new window cropping." into jb-dev 2012-05-13 15:24:32 -07:00
Dianne Hackborn
85afd1b6f8 Implement new window cropping.
The window manager now performs the crop internally, evaluating
it every animation from, to be able to update it along with
the surface position.

Change-Id: I960a2161b9defb6fba4840fa35aee4e411c39b32
2012-05-13 13:31:06 -07:00
Michael Jurka
c8179e7805 Merge "Improve transition out of recents" into jb-dev 2012-05-12 14:01:43 -07:00
Michael Jurka
d5895a7e8a Improve transition out of recents
- During the transition, fade the bg to black
- Exiting activity fades to black
- Recents background no longer fades away, because
then it would fight against the fade to black
happening behind it
2012-05-12 13:24:58 -07:00
Jeff Brown
5877023221 Merge "Move power HAL interactions to PowerManagerService." into jb-dev 2012-05-11 19:32:56 -07:00
Jeff Brown
7304c34382 Move power HAL interactions to PowerManagerService.
This refactoring sets the stage for a follow-on change that
will make use additional functions of the power HAL.

Moved functionality from android.os.Power into PowerManagerService.
None of these functions make sense being called outside of the
system server.  Moving them to the PowerManagerService makes it
easier to ensure that the power HAL is initialized exactly once.

Similarly, moved ShutdownThread out of the policy package and into
the services package where it can tie into the PowerManagerService
as needed.

Bug: 6435382
Change-Id: I958241bb124fb4410d96f5d5eb00ed68d60b29e5
2012-05-11 18:42:42 -07:00
Craig Mautner
35d0e1d11c Keep launcher screen from flashing over lockscreen
Extend the force hide period to include the animation.

Fixes bug b6471929.

Change-Id: I91daf9dc678723be4c69913aa5a3aa0e265d103e
2012-05-11 11:50:58 -07:00
Craig Mautner
4fe5ebcc96 Merge "Update DimAnimator layer when its window changes." into jb-dev 2012-05-10 11:30:53 -07:00
Chet Haase
6b16286f65 Merge "Notify windows when window animations complete" into jb-dev 2012-05-10 10:50:29 -07:00
Craig Mautner
acafd19c5e Update DimAnimator layer when its window changes.
Prior to this fix once dimming had been turned on it stayed at the
same layer and associated with the same window until it was turned
off. Now the DimAnimator layer is updated if either the window layer
changes or the dimming window changes.

Fixes bug 6467865.

Change-Id: I3e1765b92b51be26e3718c8a87e2583041a36af9
2012-05-10 10:41:02 -07:00
Michael Jurka
421dceb0a4 Merge "Making transition out of recents look better" into jb-dev 2012-05-10 10:35:19 -07:00
Chet Haase
198e564c9a Notify windows when window animations complete
Drawing in windows is suppressed during window animations, to make window
animations smoother. This means that drawing activities that the activity
requested are dropped on the floor. There is no call at the end of window
animations to tell the windows that they may now draw, which leaves the windows
and activities in an uncertain state, especially with respect to some of the
dirty flags that we use internally to know when we have requested (and satisfied)
invalidations on views.

The fix is to notice, on the WindowManager side, when we've finished window
animations and to schedule a traversal on the WindowManager, which will then send
out appropriate messages to the affected windows.

Issue #6461113 EventInfo is stuck in day view

Change-Id: I364c9c472531c467d44801698cfb453970173bb3
2012-05-10 09:55:15 -07:00
Michael Jurka
21385cd83d Making transition out of recents look better
- Fading out recents first, then scaling up app
thumbnail
- Fade Recents out over 130ms
- Delay the window animation for 200ms first,
then animate for 200ms (previously we didn't delay
and then animated for 300ms)

Bug: 6390075

Change-Id: Ia8c753bf7ee03d2acef6eb2772b28d88fe10a682
2012-05-09 20:25:28 -07:00
Craig Mautner
9aa695871c Fix wallpaper glitch and moving window animation.
1. Previous fix to hide wallpaper at the same time the wallpaper target
was hidden was too aggressive. In the case where one wallpaper target
was replacing another we would lose the wallpaper for an instant.

2. Previous fix to keep from overwriting the moving window boundaries
was incomplete.  The default values for the parent window were 0,0
which caused the lock window animation to translate down and to the
right. Defaulting the parent window boundaries to the full screen
and restoring it to the full screen after each animation fixes this.

Fixes bug 6472070.

Change-Id: I0b13c642c1aaab666cdd0f4a1e7fb4b716e6b17f
2012-05-09 17:41:13 -07:00
Craig Mautner
393295fabf Merge "Keep layout from overwriting translate dimensions" into jb-dev 2012-05-09 11:17:19 -07:00
satok
e0a99414bd Fix the issue that the insets linger after closing the voice input
Bug: 6456954
Change-Id: Idf7700271cf882dfbf35c9d16f0f173a791221bc
2012-05-10 02:57:11 +09:00
Craig Mautner
a83580614f Keep layout from overwriting translate dimensions
If the layout goes through more than one pass after detecting a window
movement but before animation begins then the later pass overwrites
the animation offsets. The incorrect values are large leading to an
animation starting location in the bottom right corner.

Fixes bug 6450310.

Change-Id: I0f74e67b3e9a15a9246151abf6d47384509340e9
2012-05-09 10:37:41 -07:00
Craig Mautner
79b7742cf1 Merge "Fix wallpaper exposure bugs." into jb-dev 2012-05-08 17:01:43 -07:00
Craig Mautner
0afddcb7f1 Fix wallpaper exposure bugs.
Qualify the test for wallpaper animation to exclude the dummy
animation. This keeps us from treating a dummy-animating wallpaper
as an exiting wallpaper and providing the wrong animation.

Hide wallpapers when the wallpaper target window is hidden. This
fixes a timing issue where the wallpaper was exposed for one pass
through performLayout after the launcher was hidden.

Fixes bug 6454992.

Change-Id: Ib4f9205c01a37e6f48f1f93ddcf2476e40ff942f
2012-05-08 16:32:50 -07:00
Jeff Brown
c042ee2acd Disable input dispatch until boot finished.
Bug: 6263070
Change-Id: I25e15e3d8af8eb3343c7b684fec345337d9f6aab
2012-05-08 13:58:32 -07:00
Craig Mautner
d8efe42496 Merge "Change DimAnimator to reflect rotations." into jb-dev 2012-05-07 13:10:08 -07:00
Craig Mautner
3a67f35f5e Change DimAnimator to reflect rotations.
Enlarge DimAnimator to cover corners when frozen surface rotates.
Update DimAnimator size following rotation to reflect new dimensions.

Fixes bug 6449788.
Fixes bug 6449035.

Change-Id: I217d7c96af940e6affc395b79dc665d00318b18c
2012-05-07 11:21:33 -07:00
Craig Mautner
924d9b75d6 Force BlackSurface to be a black surface.
BlackSurface transparency was tracking animation transparency causing
background images to peek around the corners.

Fixes bug 4998851.

Change-Id: I48ac7bf5d0cc560b655c9f12faccda411985cbad
2012-05-06 14:27:44 -07:00
Jeff Brown
e19dbd9f9d Merge "Separate the internal and external display rotations." into jb-dev 2012-05-03 11:56:25 -07:00
Craig Mautner
232301b027 Merge "Fix flashy transition in QuickContacts" into jb-dev 2012-05-02 17:23:44 -07:00
Craig Mautner
94ef9df22c Fix flashy transition in QuickContacts
Calls to relayout were forcing outgoing app reported visibility to
false. Because there was a DummyAnimation in the outgoing app the
stepAnimation was forcing the app Transformation alpha value to 0
based on the most recent reportedVisibile value. This was causing the
outgoing app to disappear for an instant.  Moving the visibility test
to the time at which the DummyAnimation is set fixes this problem.

Fixes bug 5908102.

Change-Id: Ib574728a007a0af759990816db42e23ba315b468
2012-05-02 17:08:39 -07:00
Jeff Brown
93de746e55 Separate the internal and external display rotations.
When attached to an HDMI touch screen, the input system needs
to know the size and rotation of the external display independent
of the internal display.  The size was already being reported
separately but not the rotation.  The inconsistency can cause problems
if the internal display's natural rotation is portrait but
the external display's natural rotation is landscape.

Change-Id: Id344f04c1ba032625f6265766be66f9ddaa2cc0b
2012-05-02 16:29:42 -07:00
Craig Mautner
be4f5bb7fc Merge "Fix Home key causes wrong animation" into jb-dev 2012-05-02 16:17:24 -07:00
satok
e849230f44 Merge "DO NOT MERGE : Backport I5723f627ce323b0d12b Reduce window resizing during IME transition" into jb-dev 2012-05-02 01:41:23 -07:00
satok
1bc0a49e3c DO NOT MERGE : Backport I5723f627ce323b0d12b Reduce window resizing during IME transition
Bug: 5137498
Change-Id: Ieb8fd700d193eddaa31b0c5ebd8c7f7885586372
2012-05-02 17:30:45 +09:00
Craig Mautner
83339b465c Fix Home key causes wrong animation
Wallpaper logic assumed that if mWallpaperTarget was non-null then
any wallpaper animation should be exiting. However, if the existing
wallpaper target was already animating away then mWallpaperTarget
remains non-null until it is completely gone. Pressing Home during
this time was causing the next animation to exit rather than reverse
and enter.

This fix looks to see if the wallpaper target is animating and if it
is to treat it as null for the purpose of determining which direction
the animation should go.

Fixes bug 6407941.

Change-Id: I731267328db0f9972a5aed6f214962f96737dd07
2012-05-01 22:13:23 -07:00
Jeff Brown
0632b35b68 Merge "Improve handling of built-in keyboard." into jb-dev 2012-05-01 18:39:00 -07:00
Jeff Brown
daa3753a04 Improve handling of built-in keyboard.
The window manager policy made some incorrect assumptions about the
meaning of the Configuration.keyboard field.  We need to be more
careful about distinguishing between built-in and external keyboards.

Most of this change is to move the determination of the parts of
the Configuration related to input devices into the WindowManagerService
leveraging new features of the InputManagerService to good effect.

Then we plumb through the flag that indicates whether a device
is internal or external so that we can be more particular about
how the lid switch effects changes to the Configuration.

Bug: 6424373
Change-Id: I36a1c22ade35e578955465a25940a33f227b9763
2012-05-01 16:34:20 -07:00
Jeff Brown
c5c33c363e Merge "Add support for using the lid switch to turn off the screen." into jb-dev 2012-04-30 17:15:57 -07:00
Jeff Brown
c458ce98ce Add support for using the lid switch to turn off the screen.
Added a config option to allow the lid switch to turn off the
screen.  This is a closer match to what a lid switch should be
doing.

Removed an old feature to bypass keyguard when keyboard is visible
because the way it was plumbed in made bad assumptions about
the meaning of the lid switch.  Also, the last product we shipped
that had a physical keyboard turned this config option off.
So away it goes.  We can bring it back someday if we really want it.
It's questionable how useful the feature is anyhow, since it only
works when the keyguard is unsecure and when the lid switch is
unlikely to be jostled in the user's pocket.

Fixed a bug where we would tell the power manager that the keyboard
was visible even if the lid switch did not control the keyboard.
This used to cause the power manager to try to set the keyboard
brightness, which doesn't work.

Bug: 6377115
Bug: 6406726
Change-Id: Ic84b71d09563d51c92cd1cf132fa8bdee6509103
2012-04-30 15:48:42 -07:00
Dianne Hackborn
5c58de3a52 Add system insets to windows.
This will be used to determine which parts of a window a completely
hidden by system UI elements (status bar, nav bar, system bar) so
that they can be clipped out from rendering.

Change-Id: I2c6c6ac67dbdfeed82d2c089ef806fb483165bd9
2012-04-30 12:11:43 -07:00
Dianne Hackborn
79c6346100 Merge "When a window is first shown only draw once while animating." into jb-dev 2012-04-27 17:42:48 -07:00
Craig Mautner
de7ff082c4 Merge "Call deferred windowFocusChange when draw complete" into jb-dev 2012-04-27 15:37:59 -07:00
Dianne Hackborn
12d3a94397 When a window is first shown only draw once while animating.
On some hardware allocating a new graphics buffer is quite
expensive, which blocks updates to the UI.  This can cause
glitches when performing window animations.

To reduce these glitches, the view hierarchy will now only
allow itself to be drawn once if its window is being shown
while the window manager is animating, not resuming draws
until it is told that the animation is done.

Change-Id: Ie15192f6fddbd0931b022a72c76ddd55ca266d84
2012-04-27 15:21:44 -07:00
Craig Mautner
c8e372031c Merge "Don't resize WindowStates without a Surface." into jb-dev 2012-04-27 14:46:30 -07:00
Craig Mautner
51bb12b3e5 Call deferred windowFocusChange when draw complete
Move the test for deferred window change notification after the drawing
update. Previously there was never a second check after the drawing
completed so we never sent the notification to the departing window.

Fixes bug 6335849.

Change-Id: I8a7eafdb184567a47ae04f1e597bae4cccf6cf62
2012-04-27 14:39:53 -07:00
Craig Mautner
1efacf7fca Don't resize WindowStates without a Surface.
Check to make sure that a WindowState has a Surface before adding it to
mResizingWindows.

Fixes bug 6300793.

Change-Id: Ieb39422523360dcdd5f5bf8109f061ae1ced62b2
2012-04-27 12:58:21 -07:00
Dianne Hackborn
1ded0b1f6a Add traces for window manager and activity manager.
Change-Id: I525d762db328e4c597da27b6b56d9a808e199756
2012-04-26 14:14:50 -07:00
Winson Chung
38cb84fd4b Merge "Reverting min scale in the previous animation changes." 2012-04-24 19:03:55 -07:00
Winson Chung
108b0607cd Reverting min scale in the previous animation changes.
Change-Id: Ia21169386a038026d76a0bb3cf8c74576786e5ba
2012-04-24 18:53:11 -07:00
Winson Chung
069ac9a78d Merge "Updating activity/task transition animations." 2012-04-24 18:24:08 -07:00
Winson Chung
dc6f79bf43 Updating activity/task transition animations.
Change-Id: I0d4295d269222310a5a6594fb379b9592dd9ced0
2012-04-24 18:14:45 -07:00
Craig Mautner
8a197a4e08 Fix dark flash when transition ends.
The DimSurface layer was momentarily being placed above the entering
app animtion. This lets the layering be set after the animations have
been evaluated.

Plus debug enhancements.

Change-Id: Icc034bc5264ae9bc6c57c593534683b56588b59a
2012-04-24 16:59:36 -07:00