OSDN Git Service

Transparent system ui flags -> Translucent WM flags.
authorJohn Spurlock <jspurlock@google.com>
Thu, 3 Oct 2013 15:38:39 +0000 (11:38 -0400)
committerJohn Spurlock <jspurlock@google.com>
Sun, 6 Oct 2013 20:03:53 +0000 (16:03 -0400)
commitbd95740648372449a4d5c164d7050eee352d4c24
treeaf058fb4de4178106804e57868796d2a326afe34
parentfd65373dd7ba9e613f95dbf87988811c43a11518
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
24 files changed:
api/current.txt
core/java/android/view/View.java
core/java/android/view/ViewRootImpl.java
core/java/android/view/WindowManager.java
core/res/res/values/attrs.xml
core/res/res/values/config.xml
core/res/res/values/public.xml
core/res/res/values/symbols.xml
core/res/res/values/themes.xml
core/res/res/values/themes_device_defaults.xml
packages/Keyguard/res/values/alias.xml
packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
packages/Keyguard/src/com/android/keyguard/MultiPaneChallengeLayout.java
packages/Keyguard/src/com/android/keyguard/SlidingChallengeLayout.java
packages/SystemUI/res/layout-land/status_bar_recent_panel.xml
packages/SystemUI/res/layout/status_bar_recent_panel.xml
packages/SystemUI/src/com/android/systemui/recent/RecentsActivity.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java
policy/src/com/android/internal/policy/impl/BarController.java
policy/src/com/android/internal/policy/impl/PhoneWindow.java
policy/src/com/android/internal/policy/impl/PhoneWindowManager.java