History log of /frameworks/base/policy/src/com/android/internal/policy/impl/BarController.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f25706fc3e169f07a81017ad38dc4501698a5cb3 08-Nov-2013 John Spurlock <jspurlock@google.com> Fix improperly hidden status bar.

An app lib exposed a possible timing problem, causing the bars
to remain hidden after screen rotation during immersive mode.

Bug:11440463
Change-Id: I5166bdce78a876bc08b18f8b9a340366fbbbb70a
/frameworks/base/policy/src/com/android/internal/policy/impl/BarController.java
c23bd80b38bf9c03c1eb51fbde621eb5a6381c14 06-Nov-2013 John Spurlock <jspurlock@google.com> Ensure bar window state is SHOWING after rotate if visible.

Bug:11544694
Change-Id: Ied56f01a931f33437bdc05d026006cabcdef0149
/frameworks/base/policy/src/com/android/internal/policy/impl/BarController.java
bd95740648372449a4d5c164d7050eee352d4c24 03-Oct-2013 John Spurlock <jspurlock@google.com> 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
/frameworks/base/policy/src/com/android/internal/policy/impl/BarController.java
7edfbca5d00cbc376fda790b50a3fedb9c6070ab 14-Sep-2013 John Spurlock <jspurlock@google.com> Promote lights-out to a bar transition mode.

Move all visual application of the legacy lights-out behind
a new mode managed by BarTransitions for better coordination.

Remove unused "hidden" state in NavigationBarView.

Improve window state (showing/hiding/hidden) calculation,
affecting whether or not sysui thinks it should animate.
Removes invalid interim mode changes causing needless
flashing during some transitions.

Consider WINDOW_STATE_HIDING a state in which we ought to animate,
since at least part of the window is visible throughout.

Make the status/nav bar transition helper classes real boys.

Animate KeyButtonView drawing alpha transition, cancel existing
animations when resetting to avoid needless and unsightly "recovery".

Bug:10746803
Change-Id: Ibd883da9041d071b6a4ff5b42cf96efba7696e9c
/frameworks/base/policy/src/com/android/internal/policy/impl/BarController.java
d4e6575c4f664e0d42d9306c9762d96533df429e 28-Aug-2013 John Spurlock <jspurlock@google.com> Ensure IME windows always appear north of the nav bar.

Even if the bars are transparent / invisible.

Refactor the PSB bar mode override logic to take the IME hint into
account. Bars are overriden to opaque when hint is showing.

Initialize bar state to showing, fix bug that would mark state
as hidden pre-show (on shell restart).

Bug:10505132
Bug:9499956
Change-Id: I21e830e90c7e9812b4192ca65c3c0cd7a6b72798
/frameworks/base/policy/src/com/android/internal/policy/impl/BarController.java
0ec64c65fb7fbfd89556bc33f5caab4ef0937fd4 26-Aug-2013 John Spurlock <jspurlock@google.com> Add new logging for system bar window state.

And re-enable PhoneStatusBar dump output in bugreports.

Bug:10488453
Change-Id: If39b32e82dee59f3c166c5a948d379030da0ea01
/frameworks/base/policy/src/com/android/internal/policy/impl/BarController.java
b77edbfdab54531023c8bbea7d89b6cefc42096c 22-Aug-2013 John Spurlock <jspurlock@google.com> Improve transparent bar transitions.

1. Migrate transparent transitions to the new optimized
background color animations.

2. Ensure sysui animation transparent -> opaque has enough
time to run before window manager crops off the content area.

3. Lose the individual alpha on each status bar icon if the bars
are not opaque. Animate the alpha if visible, make sure they
play together.

4. Documentation typo fix found in AnimatorSet.

Bug:10344949
Change-Id: I615668ce3c552d3df15dbba5cdeeca67549a0220
/frameworks/base/policy/src/com/android/internal/policy/impl/BarController.java
5b9145bf990a9bbf4fdef1739e61ff8c70ec868f 20-Aug-2013 John Spurlock <jspurlock@google.com> Improve transient bar transitions.

1. If app clears transient flag w/ a gesture, the touch-outside
listener would always win, causing an unsightly hide + immediate
reshow. Instead, give the app some time to clear the flag, then
perform a smooth transition in place.

2. When the transient bars are hidden, we do not know ahead of time
which background will be used on reshow (if transient bars are
revealed, the background is semi-transparent, if transient bars
are cleared, the background is opaque). Window manager is responsible
for showing windows, but sysui is responsible for setting the view
background. Therefore, we need some level of coordination between
the two in this case. Introduce two new non-public sysui flags
that represent the window manager's request to reshow the hidden
bars, but do not reshow until sysui acknowledges (by clearing the flag).
This gives sysui whatever time is necessary to prepare itself for
reshow, avoiding unsightly blip from opaque -> transparent during
the enter animation.

3. When both system bars are hidden, any low-profile changes are
moot. Avoid unsightly low-profile animations during bar reshow
by suppressing the flag in this case.

4. Improve transient bar home -> launcher transition by cancelling
the -> opaque animation. This also fixes a bug where hitting
home from the transient bar would leave you with a semi-transparent
bar in a non-transient state.

Bug:10284800
Change-Id: I238210561d8d5f70c1a517283b986c9105a1ec75
/frameworks/base/policy/src/com/android/internal/policy/impl/BarController.java
27735a4ba50d42df64eb82acc3f64fa2d68fd505 14-Aug-2013 John Spurlock <jspurlock@google.com> Maintain TRANSIENT_*_BAR flags until transient bars hidden.

Also factor common bar-management code into a separate helper
class called BarController instead of continuing to pollute
PhoneWindowManager with duplicate logic.

Bug:10345412
Change-Id: I880900e61daa6c2c53b169e4885e68ebc62ecb6c
/frameworks/base/policy/src/com/android/internal/policy/impl/BarController.java