940 Commits

Author SHA1 Message Date
Craig Mautner
81defc794b Force relayout at completion of status bar animation
A final layout pass should be done whenever the status bar has
completed its incoming animation.

Fixes bug 10387660.

Change-Id: I48c19015c53116b58cf73e20be32d1f64dd682ca
2013-10-29 11:32:30 -07:00
Craig Mautner
7c2a2ef2ee Merge "Track window position with task position." into klp-dev 2013-10-24 21:26:11 +00:00
Craig Mautner
77df2ee9de Track window position with task position.
Windows were previously ordered by TaskStack/ActivityStack order. This
change provides a data structure in DisplayContent that tracks task
movement. Previously Recents and Home activity windows were always
adjacent because they were on the same stack. With this change windows
from other activities can be placed between the two.

Fixes bug 11338594.

Change-Id: Ie34443ff22f330d015141d97db79370c54920d28
2013-10-24 12:47:07 -07:00
Craig Mautner
d0d23f6ae1 Merge "Disable time consuming debugging code." into klp-dev 2013-10-24 17:57:24 +00:00
Craig Mautner
4697bea3fd Disable time consuming debugging code.
Scanning bitmaps for monochromicity takes time. Lots of time. Don't do
it.

Fixes bug 11366278.

Change-Id: I7a8ad42751311fc39efc27fb4c51522fc1ba0523
2013-10-24 09:13:14 -07:00
Adam Lesinski
76afd1f129 Improve Jank for translucent activities
The previous jank improvement only worked when closing
an app, not when bringing one forward (hitting home button).
This should cover the specific case that is being missed: Having the
Home task being brought to front over a translucent window, with
a wallpaper behind both tasks.

bug:11253262
Change-Id: I200ef6fe2dda8d9ab4e1f82059b4f888c59007f4
2013-10-23 17:54:25 -07:00
Dianne Hackborn
910c285793 Merge "Fix issue #11278906: Some wm commands fail on shell users" into klp-dev 2013-10-23 17:44:21 +00:00
Dianne Hackborn
0cca3db9ad Fix issue #11278906: Some wm commands fail on shell users
Binder.clearCallingIdentity makes everything better.

Change-Id: I31cd9478c857553b3cf1ea54d5b4987571788796
2013-10-23 10:23:39 -07:00
Craig Mautner
798adeffb0 Don't use transient states for wallpaper animation.
The WindowManagerService member mLowerWallpaperTarget is not stable
throughout an app transition. Relying on it to be stable causes the
intra-wallpaper animation to start out right but after the windows
have been relayed out there is no longer a lower wallpaper target.
This causes the wallpaper to start tracking the animation of the
current wallpaper target rather than remain stable.

Switching to a new variable that saves the state of wallpaper
animation at the start of the animation fixes bug 11240590.

Change-Id: I336a59c47665fcf61019f567b8663956ff0e4940
2013-10-22 14:50:52 -07:00
Adam Lesinski
e17e0f0e6c Merge "Fix jank for translucent window transitions" into klp-dev 2013-10-22 00:13:17 +00:00
Adam Lesinski
43d8d3355b Fix jank for translucent window transitions
When a translucent window is closing, the transition
animation to Launcher is janky because Launcher is
expected to be 'opening' but it has always been open
underneath the translucent window. Therefore, the
animation applied to the translucent app appears
janky.

bug:11253262
Change-Id: I9b6af3291d119e6927401f63785b12f25573f4eb
2013-10-21 16:41:48 -07:00
Craig Mautner
a7f2bd4da7 Remove debug logging.
Change-Id: I5d7c11e8b8525bfc8eb87bb0fff4f71337b4a39d
2013-10-15 16:13:50 -07:00
Craig Mautner
5800443e2d Move the wallpaper beneath the keyguard.
If the keyguard is the wallpaper target the wallpaper cannot sit at
the bottom of the stack and must be directly beneath the keyguard.
Otherwise keep it at the bottom of the window stack.

App animations when the keyguard is showing should not be disabled if
the keyguard is also animating.

Fixes bug 10858941.
Fixes bug 10932680.

Change-Id: I8399837f6510ea16003f68b165e67439f3571ef4
2013-10-14 13:52:28 -07:00
Craig Mautner
4ebe57804d Merge "Revert "Restore wallpaper positioning between apps."" into klp-dev 2013-10-14 01:25:27 +00:00
Craig Mautner
7c495cbf68 Revert "Restore wallpaper positioning between apps."
This reverts commit faf1a40382b61d9cabab82e6e835603511046564.

Bug 10932680 is back where it was.

Change-Id: I5058db837941769f25f09e3fafd9c19ef370df8e
2013-10-13 23:19:45 +00:00
Dianne Hackborn
021d243d6d Fix issue #11199654: Action bar enter animation skips frames when cleared by the system
We have become too aggressive about not allowing windows to draw while windw
animations are running, basically not allowing any drawing in any window when
there is any window animation.  So if you did a relayout while the status bars
were being animated, your window would stop drawing until that status bar
animation was complete.

This change relaxes those rules in two ways:

- A particular window will only be told to stop updating when *it* is
  currently involved in a window animation.  So animations in status bars
  will not stop app windows from update, and vice versa.

- If a window receives input events while it is in the "do not update"
  state, we will immediately terminate that state and start allowing it to
  draw.  If the user is actually interacting with a window, we don't want
  to wait to show feedback.

Change-Id: I72574eec048aee53115b46a78686cf27f42c42f7
2013-10-13 15:56:29 -07:00
Craig Mautner
faf1a40382 Restore wallpaper positioning between apps.
Simplification where wallpaper was behind all apps didn't work when
keyguard and associated wallpaper needed to be above phone screen when
phone screen animated in and out. Instead phone screen was instantly
hiding the wallpaper.

Fixes most of bug 10932680.

This fixes the wallpaper disappearing as soon as the animation begins
when going from keyguard to phone. There remains jank going from phone
to lockscreen where the animation is not occurring and the phone
blanks out immediately.

Change-Id: Ie5f464acb2f6cefd2fb91f3b920a687ec7c15d76
2013-10-12 15:43:07 -07:00
Craig Mautner
d69417d2f6 Merge "Reduce jank on incoming phone call during dream." into klp-dev 2013-10-11 16:49:55 +00:00
Craig Mautner
2881630af9 Reduce jank on incoming phone call during dream.
- Include dreams in the conditions that disable transition animations.
  This way there is no visibility of activities that are closing
  behind the keyguard when an activity that dismisses the keyguard
  starts up.

- Do not notify the keyguard mediator when the keyguard is dismissed
  because a dream is starting up. This keeps activities from resuming
  just because the keyguard is being dismissed.

Fixes bug 11064847.

Change-Id: I9d32fc96d518b1cdab511e187226a3cb889cf6d4
2013-10-10 20:31:00 -07:00
Craig Mautner
4ca2aec2be Merge "Add task to list before looking it up." into klp-dev 2013-10-10 00:20:08 +00:00
Craig Mautner
8e79734ba3 Add task to list before looking it up.
Rearranging the order of operations allows a newly added task to be
bumped to the top during window sorting. Also, redundant calls moving
the home task to the bottom when moving an app task to the top are
removed.

Maybe fix 10858941.

Change-Id: Ic42d2e7045175384591644675dd0e8013a7c7528
2013-10-09 16:39:42 -07:00
Craig Mautner
e8a057a9ae Merge "Remove overly tight constraint on drawn Keyguard." into klp-dev 2013-10-09 19:10:45 +00:00
Craig Mautner
4e8a19c73a Remove overly tight constraint on drawn Keyguard.
The requirement that a window that is invisible will not be drawn is
incorrect. In particular the test fails before a surface has even been
added (mHasSurface == false) or shown (mPolicyVisibility == false).
This was causing the screen to turn on before Keyguard had been drawn
and exposing surfaces that would have normally remained hidden.

Also, don't pass null into KeyguardServiceDelegate.onShown() or we
will immediately turn the screen on before Keyguard is drawn.

Fixes bug 11062635.

Change-Id: I964c7ef186d0a94678020b9c27ca6b79e5433350
2013-10-08 21:32:37 -07:00
Alan Viverette
6930d3805e Merge "Ignore certain WindowManager flags when touch exploration is enabled" into klp-dev 2013-10-08 00:47:23 +00:00
Craig Mautner
e2dd83a5b4 Yet more debugging for 10858941.
Change-Id: I258957044cb1a8331124f6abbe53428429c33355
2013-10-07 17:01:41 -07:00
Alan Viverette
5a0f4eccfb Ignore certain WindowManager flags when touch exploration is enabled
Specifically, ignore any flags that alter the visibility of the navigation
bar and transparency.

BUG: 11082573
Change-Id: I17264dc55a1c6c3cb9b9cf92d5121799cecee5b8
2013-10-07 15:12:57 -07:00
Craig Mautner
27b826325c Merge "Retain IME assignment if no windows accept input." into klp-dev 2013-10-03 21:28:38 +00:00
Craig Mautner
ae87962e3e Retain IME assignment if no windows accept input.
Was skipping over the default assignment due to new null value for
windows (ag/361266).

Fixes bug 10987178.

Change-Id: I89efd41ab54b42de384eec84c5e937cc2a59d099
2013-10-03 14:07:45 -07:00
Craig Mautner
02fa2332ac Merge "Make DimLayer size dependent on stack layout." into klp-dev 2013-10-03 02:49:31 +00:00
John Spurlock
e660ecc436 Merge "Store decor rects per window for transition cropping." into klp-dev 2013-10-03 02:28:58 +00:00
Adam Lesinski
d65825ab1c Merge "Private flags are masked in correct variable" into klp-dev 2013-10-03 01:52:18 +00:00
John Reck
9a93f6f039 Merge "Reduce max recents on lowram" into klp-dev 2013-10-03 01:13:58 +00:00
John Reck
172e87ce51 Reduce max recents on lowram
Bug: 10918599
 Reduce the number of recent tasks to 10 on lowram devices
 Use RGB_565 on low ram devices for thumbnails instead of ARGB_8888
 Combined this saves ~9MB across system_process and systemui

Change-Id: Ieddcb512c7341a90097bc7cbc72d7355a775b416
2013-10-02 17:51:11 -07:00
Craig Mautner
c7b8a10040 Make DimLayer size dependent on stack layout.
Only use the stack bounds for the DimLayer bounds if there is more
than one stack on a layer. Otherwise cover the entire screen (and
more) with the DimLayer. This way there are no exposed regions when
rotating.

Fixes bug 10428085.

Change-Id: I7bfff12b69d59e86610621c498dab35cf0db8eb5
2013-10-02 16:49:52 -07:00
Adam Lesinski
95c42974f7 Private flags are masked in correct variable
Newly added private flags were being masked in the public flag variable
as opposed to the correct privateFlags variable.

bug:11033280
bug:11043194
Change-Id: Idda3a70a083457f3f1b7d4b46d231f4a7e704cf0
2013-10-02 16:18:55 -07:00
Craig Mautner
4aca4c1520 Merge "Don't reorder windows on non-default display." into klp-dev 2013-10-02 22:19:19 +00:00
Craig Mautner
85689b9f48 Don't reorder windows on non-default display.
At least not until we add tasks to those displays.

Fixes bug 10264736.

Change-Id: I3baed4bf324c4a11bbf5b07755218c2992f5af39
2013-10-02 15:13:03 -07:00
John Spurlock
4664623c30 Store decor rects per window for transition cropping.
Instead of keeping a single global system decor rect around
in WindowManagerService, calculate and store policy-defined
system-decor frame for each window.

The per-window decor rect is useful for smooth transitions, since it
determines window cropping during transition animations.

Bug:10938001
Change-Id: Ice6652aa5946027c45c0b7ab4e46473a0f8e3f90
2013-10-02 18:12:16 -04:00
Craig Mautner
93cb8f6b78 Merge "Create new window-side task on demand." into klp-dev 2013-10-02 17:45:47 +00:00
Craig Mautner
31482a7fe1 Create new window-side task on demand.
The activity manager can create a new task under certain
circumstances in resetTargetTaskIfNeededLocked(). In that case the
window manager was not told to create a new task. This fix creates the
task in window manager when it recognizes that there is a new task
required.

Fixes bug 10412588.

Change-Id: Ife9ecfeb7f53f9df5950322c9359c836adc258a2
2013-10-02 10:35:17 -07:00
Dianne Hackborn
164371fb75 Fix issue #11005453: [SUW] G+ profile creation for new user broken
The main problem here was a mistake when turning a single process
structure to a multi-package-process structure with a common
process.  When we cloned the original process state, if there were
any services already created for the process for that package, they
would be left with their process pointer still referencing the
original now common process instead of the package-specific process,
allowing the active counts to get bad.  Now we switch any of those
processes over to the new package-specific process.

There was also another smaller issue with how ServiceRecord is
associated with a ServiceState -- we could be waiting for an
old ServiceRecord to be destroyed while at the same time creating
a new ServiceRecord for that same service class.  These would share
the same ServiceState, so when the old record finally finished
destroying itself it would trample over whatever the new service
is doing.

This is fixed by changing the model to instead of using an "active"
reference count, we have an object identifying the current owner
of the ServiceState.  Then when the old ServiceRecord is cleaning
up, we know if it is still the owner at that point.

Also some other small things along the way -- new Log.wtfStack()
method that is convenient, new suite of Slog.wtf methods, fixed
some services to use Slog.wtf when catching exceptions being
returned to the caller so that we actually know about them.

Change-Id: I75674ce38050b6423fd3c6f43d1be172b470741f
2013-10-01 20:51:12 -07:00
Adam Lesinski
42e9b63100 Merge "Make room for new public flags" into klp-dev 2013-10-02 01:55:09 +00:00
Adam Lesinski
6a591f5859 Make room for new public flags
Moved two hidden flags to private

bug:11033280
Change-Id: Icca867b073aff643eefdaf84df68de86bb6b05ac
2013-10-01 18:48:20 -07:00
Craig Mautner
68cc241e8d Add a timeout for removing starting windows.
If two activities are started at the same time the first activity can
add a starting window but never start. In that case there is no event
that will clear the starting window. This change adds a 10 second
timeout for the starting window to be cleared after which it will
clear the starting window automatically.

Fixes bug 10797865.

Change-Id: I1d59c3058c63367ff688d426474e8a6f006b2e0d
2013-10-01 10:39:43 -07:00
Craig Mautner
564e8e6f54 Merge "Ensure correct window ordering." into klp-dev 2013-09-29 14:26:12 +00:00
Craig Mautner
5ee6d19fd7 Ensure correct window ordering.
Make sure that moveStackWindowsLocked() is called every time that the
stack ordering changes. This will rebuild the window list. Previously
the call was being made after the moveStack() call which got forgotten
in the addAppToken() causing the home stack to obscure incoming phone
and video calls.

Fixes bug 10023223.
Fixes bug 10678010.
Maybe fixes bug 10858941.

Change-Id: I59922dc979a19210008eac1f528704984c63c886
2013-09-28 15:58:38 -07:00
Jim Miller
6c9df5054a Fix permissions on WindowManagerService.showAssistant()
Since binder call permissions are not transitive by design,
the proper way to fix this is to have the call talk directly
to keyguard from the navigation bar.

Fixes bug 9409008

Change-Id: Ibd90a79bb638c969b514455a2ad93c6ff668222d
2013-09-27 16:29:36 -07:00
John Spurlock
0ab7d4d1a1 Merge "Remove Rect allocation in each layout pass." into klp-dev 2013-09-24 21:18:00 +00:00
John Spurlock
4e92a7cf03 Remove Rect allocation in each layout pass.
Bug:10786445
Change-Id: I0cb1ab7697f33e02adeb5319bae19d3a1d20753c
2013-09-24 17:09:05 -04:00
Craig Mautner
9bf6c5cec8 Merge "Fix method for determining focused window." into klp-dev 2013-09-24 19:33:17 +00:00