2494 Commits

Author SHA1 Message Date
Craig Mautner
0e10dfebf1 am 2c345435: am 79a0ed58: Merge "Move the wallpaper beneath the keyguard." into klp-dev
* commit '2c345435458b8b6ad105bf14d3655e0f6836278b':
  Move the wallpaper beneath the keyguard.
2013-10-14 19:00:35 -07:00
Daniel Sandler
c963dfb27a am 596b1f86: am dd73ee4d: Add a config resource to enable translucent bars globally.
* commit '596b1f86ff1a3457a514e1d383d14ef0defc4d53':
  Add a config resource to enable translucent bars globally.
2013-10-14 19:00:10 -07:00
Craig Mautner
79a0ed5848 Merge "Move the wallpaper beneath the keyguard." into klp-dev 2013-10-14 22:24:44 +00: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
Daniel Sandler
dd73ee4d0a Add a config resource to enable translucent bars globally.
Setting config_enableTranslucentDecor to false will not
prevent clients from adding FLAG_TRANSLUCENT_NAVIGATION or
STATUS to the window or using the TransluentDecor themes,
but it will prevent View.STATUS_BAR_TRANSLUCENT and
View.NAVIGATION_BAR_TRANSLUCENT from being propagated to the
SystemUI so these requests will not be honored.

Bug: 11182618
Change-Id: I8be6a3a565acf0987ff12f18f1c7e67c96d563c3
2013-10-14 14:52:44 -04:00
John Spurlock
f1dd32c84f am fc2ecd5e: am 774e8ad8: Merge "Implement new SYSTEM_UI_FLAG_IMMERSIVE_STICKY." into klp-dev
* commit 'fc2ecd5e3f5b336f7955f4c02521ba6faad1e93c':
  Implement new SYSTEM_UI_FLAG_IMMERSIVE_STICKY.
2013-10-14 10:29:12 -07:00
John Spurlock
f1a36648ca Implement new SYSTEM_UI_FLAG_IMMERSIVE_STICKY.
Migrate transient bar mode to IMMERSIVE_STICKY, and
introduce new behavior for IMMERSIVE: namely the
opaque bars are revealed by clearing the flags on swipe.

Remove low-profile optimization that confuses api demos
and other apps using low-profile as a signal.

TransientNavigationConfirmation renamed to
ImmersiveModeConfirmation, and its associated resources,
since the confirmation is now shown when the nav bar is
shown in either of the two immersive modes.

Remove unused Toast.makeBar and associated hidden framework
bits now that the confirmation uses a cling instead.

Bug:11062108
Change-Id: Iae49d31973940b9bee9f5b1827756db5eaa76aa3
2013-10-14 13:11:21 -04:00
Daniel Sandler
5fa473cd47 am 782dbb85: am 69f49434: Merge "Limit transient nav cling to 380dp on large/land devices." into klp-dev
* commit '782dbb8580ba70c4d6d40b31e2a65665ebec9fee':
  Limit transient nav cling to 380dp on large/land devices.
2013-10-14 06:56:34 -07:00
Daniel Sandler
b83f5c6a42 Limit transient nav cling to 380dp on large/land devices.
Bug: 11077915
Change-Id: I141a5f3f565109ae5ac9221053e5a4db36633ca7
2013-10-14 09:26:43 -04:00
John Spurlock
af97c1fc9c am 5ca56cb9: am 1ae1373a: Merge "Wire up new hideycling ok button to persist setting." into klp-dev
* commit '5ca56cb9c9c8c770f58299f193e8e6497593b095':
  Wire up new hideycling ok button to persist setting.
2013-10-13 16:33:53 -07:00
John Spurlock
47e3de2baa Wire up new hideycling ok button to persist setting.
Otherwise you'll see it every time.

Bug:11077915
Change-Id: I2ec725459f6ec133c1b82e9788a80dede6e87343
2013-10-13 19:20:04 -04:00
Daniel Sandler
0b6b099299 am 71352415: am ce6d9066: Merge "New window cling for immersive mode." into klp-dev
* commit '71352415ef3927dba0661c190c627ba381e6745f':
  New window cling for immersive mode.
2013-10-13 12:35:48 -07:00
Daniel Sandler
a953b6d968 New window cling for immersive mode.
Bug: 11077915
Change-Id: I6858259b31301b76dee81d3e6fbc534c1cdea661
2013-10-13 15:28:19 -04:00
Craig Mautner
76371f0f0e am 2c1934d3: am 5a783173: Merge "Test for hidden keyguard before waiting for it." into klp-dev
* commit '2c1934d302730bf4dc9190bc600bee180067df3b':
  Test for hidden keyguard before waiting for it.
2013-10-11 21:58:55 -07:00
Craig Mautner
5a7831733b Merge "Test for hidden keyguard before waiting for it." into klp-dev 2013-10-12 04:54:42 +00:00
Craig Mautner
6f29590e9a Test for hidden keyguard before waiting for it.
Now that non-null window tokens are coming in in additional situations
(ag/372453) we have to look at whether the keyguard is hidden before
deciding to wait for it.

Fixes bug 1187500.

Change-Id: Ie89d5334ab3d0f5b8f2cf8c87fef84a9b6392b72
2013-10-11 21:43:06 -07:00
Jean-Michel Trivi
09872a35cb am fb059f3c: am 7a6ccb87: Merge "Remote volume changes" into klp-dev
* commit 'fb059f3c412733d962f99577f097e91c2badb10e':
  Remote volume changes
2013-10-11 14:17:43 -07:00
Jean-Michel Trivi
7a6ccb8729 Merge "Remote volume changes" into klp-dev 2013-10-11 21:12:22 +00:00
Jean-Michel Trivi
fca1e60323 Remote volume changes
When the user plays media remotely, and presses on the volume
 keys with the screen off, verify whether not only local playback
 is active, but also if remote playback is active to see if
 the volume should be adjusted.
When adjusting the volume with screen off, adjust the remote
 volume if applicable.

When controlling volume, give priority to local media playback.

Bug 11169862

Change-Id: I88a8c003969177d50d4c1569ec6cd2a7c153a341
2013-10-11 11:36:18 -07:00
Craig Mautner
4279a61b04 am 9ccc082c: am d69417d2: Merge "Reduce jank on incoming phone call during dream." into klp-dev
* commit '9ccc082c9a6c41833206d54c85e115d6d1659a12':
  Reduce jank on incoming phone call during dream.
2013-10-11 09:54:30 -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
John Spurlock
89d1ac638d am cf80c6c7: am 8ca2d052: Merge "Fix dock rect calculation when nav is translucent." into klp-dev
* commit 'cf80c6c73541bcfbc7f787834f9b9e7807f52ef8':
  Fix dock rect calculation when nav is translucent.
2013-10-11 08:55:36 -07: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
John Spurlock
f95b89a097 Fix dock rect calculation when nav is translucent.
Make sure the dock rect in PWM takes the nav bar height
into account when translucent.  This forms the basis of
many other window calculations, and has multiple downstream
effects.

Fixing this exposed the fact that the Keyguard was not allowed
to fall into the LAYOUT_HIDE_NAV codepath (since it's not an app
window) - so add TYPE_KEYGUARD to that path.

Bug:11157555
Change-Id: I6b1fc4da973a246b80ec108a561e06f6d8a6a92b
2013-10-10 22:18:56 -04:00
John Spurlock
107c3fed5c am a8c73fbd: am a619afd6: Merge "IME navigation guard implemented as a View." into klp-dev
* commit 'a8c73fbd5c90a0d4eacc7aaedc0ca30cfcd5f621':
  IME navigation guard implemented as a View.
2013-10-10 11:21:37 -07:00
John Spurlock
57beb3b5b3 IME navigation guard implemented as a View.
Instead of a custom onDraw in order to stay 100% in sync with abrupt
layout changes.

Also use the unrestricted layout bottom to avoid unnecessary
fitSystemWindows churn.

Bug:11162351
Change-Id: If9bb9a52d503e348d642bf1238f75c4a418ad805
2013-10-10 12:54:05 -04:00
John Spurlock
4faa694ed2 am d3758420: am 65e91126: Merge "Allow IMEs to extend below nav bar, remove SystemUI veto." into klp-dev
* commit 'd3758420a2ffd702dee914d794764a0615dd6956':
  Allow IMEs to extend below nav bar, remove SystemUI veto.
2013-10-09 15:08:33 -07:00
John Spurlock
65e911261d Merge "Allow IMEs to extend below nav bar, remove SystemUI veto." into klp-dev 2013-10-09 21:57:01 +00:00
John Spurlock
c68d577f29 Allow IMEs to extend below nav bar, remove SystemUI veto.
Layout IMEs below the nav bar, offset by bottom padding and
associated guard rectangle with a black background to ensure
they do not appear as islands during transitions.

This makes it safe to remove the SystemUI forced opaque transition
when showing an IME, making the overall transition less expensive,
quicker and smoother overall.

Bug:11058746
Change-Id: I460912ee7c117480c57b947ed31eca330819f32c
2013-10-09 16:23:15 -04:00
Craig Mautner
f3366c9ec8 am af47d751: am e8a057a9: Merge "Remove overly tight constraint on drawn Keyguard." into klp-dev
* commit 'af47d751b39d7badc268d7a467078b92052f417b':
  Remove overly tight constraint on drawn Keyguard.
2013-10-09 12:13:53 -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
Adam Powell
9121107248 am b43a22e3: am 79782d7c: Merge "Close context menu dialogs if the menu becomes empty" into klp-dev
* commit 'b43a22e3c870183855cd1c9ba4f9e152ed6d6af7':
  Close context menu dialogs if the menu becomes empty
2013-10-08 15:41:58 -07:00
Adam Powell
fd71db8445 Close context menu dialogs if the menu becomes empty
If a view triggers showContextMenu while a context menu is already
shown but contributes no items to the menu the menu dialog would
become empty. Simply close the dialog if this happens.

Bug 11063885

Change-Id: I9e7c96073318c94eda5f1e1c4beb596b3d9da781
2013-10-08 15:20:29 -07:00
John Spurlock
5736b6d3d3 am 2bef87cc: am 4268600f: Merge "Translucent sysui flags affect layout." into klp-dev
* commit '2bef87ccc67a0916bf8b9fddd90f4763c0ada3fe':
  Translucent sysui flags affect layout.
2013-10-08 11:38:39 -07:00
John Spurlock
4268600f39 Merge "Translucent sysui flags affect layout." into klp-dev 2013-10-08 18:34:57 +00:00
John Spurlock
7f4820ae4e Translucent sysui flags affect layout.
Recently removed when they went private, but that was wrong:
they still affect layout.

Bug:11128955
Change-Id: Ic94230732a6b2ff3dcaa79b03e181a4e46585902
2013-10-08 12:54:35 -04:00
John Spurlock
6254413474 am c0ee1ff4: am e60b7bf7: Merge "Don\'t crop top-most windows at rest." into klp-dev
* commit 'c0ee1ff48a7f9e350d5621a37a8d3b1c515a6ca0':
  Don't crop top-most windows at rest.
2013-10-08 09:42:38 -07:00
John Spurlock
65567d4e6c Don't crop top-most windows at rest.
They can affect the system decor state, cropping to their
current requested state is too aggressive.

Bug:11079003
Change-Id: Ifec576d41cdefd1b851463d4b12311f1a8e27b3d
2013-10-08 11:49:47 -04:00
Alan Viverette
e4ccb864e8 am 1bdbdfbe: am 6930d380: Merge "Ignore certain WindowManager flags when touch exploration is enabled" into klp-dev
* commit '1bdbdfbe6a48113bff2069c8eaf9835f9fd8c9bb':
  Ignore certain WindowManager flags when touch exploration is enabled
2013-10-07 17:54:42 -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
John Spurlock
4818db0fc5 am b88ede00: am d5102f19: Merge "Transparent system ui flags -> Translucent WM flags." into klp-dev
* commit 'b88ede00ac12fb359b490a5167cd595ebde7e805':
  Transparent system ui flags -> Translucent WM flags.
2013-10-06 19:19:18 -07:00
John Spurlock
bd95740648 Transparent system ui flags -> Translucent WM flags.
Migrate View.SYSTEM_UI_FLAG_TRANSPARENT_(STATUS/NAVIGATION) to
WindowManager.LayoutParams.FLAG_TRANSLUCENT_(STATUS|NAVIGATION).

Add associated public attrs for both new window flags:
  windowTranslucentStatus
  windowTranslucentNavigation

Introduce convenient four new themes that set translucent decor:
  Theme.Holo.NoActionBar.TranslucentDecor
  Theme.Holo.Light.NoActionBar.TranslucentDecor
  Theme.DeviceDefault.NoActionBar.TranslucentDecor
  Theme.DeviceDefault.Light.NoActionBar.TranslucentDecor

Update PhoneWindowManager mechanism to plumb these values back to
SystemUI to drive bar mode state.

The new translucent flags come from the top fullscreen window, not
the focused window, so translucency does not change when opening
dialogs.

Imply some window-level system-ui visibility if one or both of these
new flags are present, specifically:
  FLAG_TRANSLUCENT_STATUS implies LAYOUT_STABLE, LAYOUT_FULLSCREEN
  FLAG_TRANSLUCENT_NAVIGATION implies LAYOUT STABLE, LAYOUT_HIDE_NAV

Rename all associated variable & resource names to use the term
translucent instead of transparent. (Retain the term semi-transparent
for the transient bar style).

Recents activity allowed to inherit translucent decor state via the
new PRIVATE_FLAG_INHERIT_TRANSLUCENT_DECOR.  Compensating changes
to use the full screen area more appropriately.

Update keyguard to use new WM flags.

Update docs and various api artifacts.

Sanity-check fixes:
 - Toasts and alerts given stable layout.
 - Suppress nu-gradient when in transient (hidey) mode.
 - New translucent flags use top-fullscreen window, dialogs don't clear.

Bug:10674960
Bug:11062108
Bug:10987178
Bug:10786445
Bug:10781433
Change-Id: If667a55bea4cf5e008549524b9899197fab55ebe
2013-10-06 16:03:53 -04:00
John Spurlock
12585551f4 am c4b27478: am 8e0ca288: Window decor rect should not include the nav bar if hidden.
* commit 'c4b274782793e33d58cb119b3c294bbb31daea14':
  Window decor rect should not include the nav bar if hidden.
2013-10-03 15:39:15 -07:00
John Spurlock
bee8af8207 am c3752cfb: am e660ecc4: Merge "Store decor rects per window for transition cropping." into klp-dev
* commit 'c3752cfb6d5381795433ccdbcd8f84cada832790':
  Store decor rects per window for transition cropping.
2013-10-03 15:38:52 -07:00
Adam Lesinski
b2db2fbce3 am 6d90862f: am d65825ab: Merge "Private flags are masked in correct variable" into klp-dev
* commit '6d90862f2387d24c28e9d1c8f080cb9a4ff15011':
  Private flags are masked in correct variable
2013-10-03 15:38:44 -07:00
John Spurlock
8e0ca288fe Window decor rect should not include the nav bar if hidden.
Bug:11059726
Change-Id: Ia445af030ac34da8e361d909978caa3f2793cfda
2013-10-03 11:46:06 -04: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
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
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