411 Commits

Author SHA1 Message Date
Craig Mautner
ad5725d798 Eliminate wallpaper exposure during transition.
Make sure that the wallpaper target exists and is visible before
exposing the wallpaper.

Fixes bug 6570335.

Change-Id: I1dddfe26683e84fd813e7bee884ba2bd4bb85272
2012-06-05 10:20:56 -07:00
Daniel Sandler
ab886f588d Don't do closing animation on an opening app.
Check to make sure that the closing wallpaper animation isn't used on
an opening app token. This can happen when a previous animation hasn't
completed when the next animation is starting.

Fixes bug 6557751.

Change-Id: Ib8bd4dd7de1e361f6fc0cab11d0997e70f9ddd0b
2012-06-04 13:57:49 -07:00
Dianne Hackborn
6593be0c20 Merge "Work on issue #6579997: Mariner entrance animation" into jb-dev 2012-06-04 10:29:32 -07:00
Craig Mautner
da652f6e51 Merge "Revert change to correct animations." into jb-dev 2012-06-03 00:57:23 -07:00
Craig Mautner
3aa7fcac1c Revert change to correct animations.
Incorrect animation was introduced with CL 196207 (perhaps in
combination with a later CL). Reverting part of that CL fixes
the incorrect animation and so far has not reintroduced the jank
that was fixed by that CL. If the jank reappears it should be
fixed in a different fashion than in CL 196207.

Fixes bug 6597505.

Change-Id: Ie8012237a8d49810ede51bd8d78ef8c2fd91ddd4
2012-06-02 15:31:33 -07:00
Dianne Hackborn
84375876fc Work on issue #6579997: Mariner entrance animation
Add a new variation of ActivityOptions that allows you to
supply custom animation resources and get a callback when the
animation starts.

Use this in SearchPanelView to determine when to start hiding
the search panel instead of having a fixed delay.

Fix some issues in the activity manager where we would cancel
the options in cases where we should actually keep them to give
to the window manager for a transition.  (Basically when the
activity being started is not actually ending up launched, but
just results in a shift in the activity stack.)

Note that this is not quite what the design calls for -- the
entire search UI is waiting and then disappearing when the
animation starts, instead of the ring first disappearing while
waiting for the time to fade out the circle.

Change-Id: Iee9a404ba530908d73cdbd4a9d0d2907ac03428f
2012-06-01 19:13:55 -07:00
Craig Mautner
881656831c Use Surface layer for Surface operation.
Previous fix exposed an existing bug where we were using mAnimLayer to
determine the highest Surface layer. This fix uses mSurfaceLayer to set
the layer limits for making the screenshot.

Fixes bug 6586168.

Change-Id: Iaa3b43867aef795ca617ff4b8076428dfc91eaf2
2012-05-31 14:25:31 -07:00
Jeff Brown
7e4ff4b986 Fix comparison of device source bits.
Bug: 6576743
Change-Id: I6952b052e2ab9e62ddd46ab76f4df37ecc656757
2012-05-30 14:32:16 -07:00
Craig Mautner
de1ddd0f93 Merge "Better handle changing app transitions." into jb-dev 2012-05-29 13:53:06 -07:00
Craig Mautner
1d961d46d6 Better handle changing app transitions.
When we are in the middle of an app transition and need to change to a
new one we were not ending the old one in a clean state. Also,
wallpapers were defaulting to the wrong animation in certain
situations.

Remove ':' style iterators.

Fixes bug 6486708.

Change-Id: Ied17e8410486020295db380ff68df5dad08bc5cc
2012-05-29 13:00:25 -07:00
Craig Mautner
1dee897469 Merge "Track animating apps up until animation starts." into jb-dev 2012-05-29 11:45:16 -07:00
Craig Mautner
06a94f710d Track animating apps up until animation starts.
ActivityStack sets the mNextAppTransition value before moving the apps
to their proper position. This makes the test for mNextAppTransition
being TRANSITION_UNSET incorrect. Better to just look for animating.

Fixes bug 6565418.

Change-Id: I4651b7d3678e46fc712a8e901992fb01b94c415e
2012-05-29 10:46:00 -07:00
Craig Mautner
3d7b7d59c8 Redraw all windows earlier in power on sequence.
Send a message to all windows to redraw before notifying
PhoneWindowManager of screen on. This minimizes the delay in
screen update that causes the keyguard clock to display the old time
before displaying the current time.

Fixes bug 6381021.

Change-Id: Ida7071e7dac2284540f101c5d004511b52133b91
2012-05-24 15:38:54 -07:00
Craig Mautner
67e6070fa1 Merge "Change method of tracking moving AppWindowTokens." into jb-dev 2012-05-23 18:30:25 -07:00
Craig Mautner
ef25d7a019 Change method of tracking moving AppWindowTokens.
Stop trying to keep track of the AppTokens that have been moved
to the top and bottom and then try and match the WindowStates when
transitions are goodToGo. Instead rebuild the WindowState order based
on the AppToken order when we are goodToGo.

When moving AppWindowTokens lower in mAppTokens create a new ArrayList
of AppWindowTokens to keep track of the apps in Z order while
animating.

Fixes bug 6481078.

Change-Id: I29b33a507b45752f15feb10a9f4b47a3f5eb9f0e
2012-05-23 17:07:36 -07:00
Craig Mautner
8e4df6c1e2 Fix jank when launching apps that show wallpaper.
Do not create a StartingWindow for apps that show wallpaper.
Fix handling of obscure case where found wallpaper is hidden.

Fixes bug 6484034.

Change-Id: I07181c4aea56fa9e530df0c95d886fe8ad61ec9d
2012-05-23 16:57:23 -07:00
Craig Mautner
208236dd96 Merge "Pull showStrictModeViolation off of local threads." into jb-dev 2012-05-22 16:54:09 -07:00
Craig Mautner
0447a81e6d Pull showStrictModeViolation off of local threads.
By moving the StrictModeViolation display onto the WindowManager
Handler we avoid potential deadlocks as found in the bug below.

Fixes bug 6537798.

Change-Id: Ia46a43d1f7f6e55256f770b9e196602092669b49
2012-05-22 16:01:31 -07:00
Dianne Hackborn
ac92087a9a Fix issue #6499411: Characters not displayed (but suggestion bar is working)
The problem was that when dismissing the lock screen, the window manager
would briefly turn off force hiding when it started animating the transition
and then turn it back on until the transition was done.

This would cause it to briefly switch focus to the app behind and then
take focus off it.  The app would find out it got focus, and re-start
input on itself, asking the input method service to do so.  At this
point the input method service would ask the window manager if the
caller really had focus, and it may or may not be told no depending
on the timing.  If it is told no, then it doesn't allow the focus
switch to happen at that point, ignoring the new input connection,
and ultimately when focus does really switch the IME is left talking
with an old dead input connection.

I added some code to the input connection to make sure when we are
no longer using one that we mark it inactive and can't use it.  This
bug was especially difficult to track down because it would only
visibly break when a GC happened during this time, causing the weak
reference on the input connection to become null.  With this change
it will now always break (though in the scenario here only if you
hit the race condition correctly).

Change-Id: I81a6164dc140c548da1a9736e42cd253e8238a80
2012-05-22 12:15:15 -07:00
Svetoslav Ganov
9faa9374c1 Merge "Changing the interaction model of the touch explorer." into jb-dev 2012-05-21 17:52:28 -07:00
Svetoslav Ganov
e15ccb93ad Changing the interaction model of the touch explorer.
1. Now the user have to double tap to activate the last
   item. If the last touched window is not active because
   it does not take input focus the click on the last
   touch explored location. Othewise the click is on the
   accessibility focus location.

bug:5932640

Change-Id: Ibb7b97262a7c5f2f94abef429e02790fdc91a8dd
2012-05-21 14:08:57 -07:00
Jeff Brown
cf39bdf3df Add support for switching between multiple keyboard layouts.
Also show a notification when an external keyboard is connected
and does not have a keyboard layout selected yet.

Bug: 6405203
Change-Id: Id0ac6d83b3b381f8a236b2244a04c9acb203db3c
2012-05-20 14:56:22 -07:00
Craig Mautner
255632d160 Merge "Prevent dim surface from flashing." into jb-dev 2012-05-18 17:32:48 -07:00
Craig Mautner
067ca32a52 Prevent dim surface from flashing.
This fix keeps the dim surface below the highest shown layer. If
two shown layers were both dim it was ambiguous where the dim surface
would appear causing dialogs to first be dimmed and then flash when
the dim was put behind them.

Fixes bug 6497476.

Change-Id: I360cf2d23d58fc4c03edbbed16d79c08c29e48b9
2012-05-18 17:19:51 -07:00
Dianne Hackborn
abe3927701 Merge "Fix issue #6515427: Add android.hardware.television and fix..." into jb-dev 2012-05-17 18:18:27 -07:00
Dianne Hackborn
0cf2c8a533 Fix issue #6515427: Add android.hardware.television and fix...
...logic for notouch in Configuration

Added new TELEVISION feature.

We now force the configuration to "television" if the TELEVISION
feature is set, and "notouch" if the TOUCHSCREEN feature is not set.

Also cleaned up documentation, deprecated some configurations that
are not used.

Change-Id: If1c7a284b580a8a66bda2a75f0c7fa841b3dc9b7
2012-05-17 18:11:14 -07:00
Craig Mautner
bf08af3323 Eliminate deferred surface destruction.
Removing the code that delays a surface destruction when
WindowManager.FLAG_KEEP_SURFACE_WHILE_ANIMATING is set. The lock
screen that continued to animate after destroySurfaceLocked is no
longer used and this code was causing problems.

Also mDrawState was being set to NO_SURFACE in destroySurfaceLocked
even if the surface ended up not being destroyed. Later when it was
reused the false value of mDrawState was messing things up.

The screen lock bug referenced below no longer levaes the user stuck
with a black lockscreen. However it occasionally powers back up in the
launcher screen rather than the lock screen.

Fixes bug 6485955.

Change-Id: I684104c7e7c39c161a5118aa890889fbae92e635
2012-05-16 20:07:22 -07:00
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