This is a first pass at integrating new remote display functionality
into Quick Settings. The Wireless Display card which previously
only supported Wifi Display is reimplemented to use the media router
to enumerate available remote display routes. This ensures that the
user is presented with a consistent state regarding the currently
selected display route.
In this patch, the Wireless Display card still launches the old
Settings preference page for Wifi Display when clicked. This will be
addressed in future patches.
As part of this change, it was necessary to derive some new lifecycle
information regarding the visibility of the Quick Settings model.
When Quick Settings is shown, an onPrepare event is delivered to
give the model a chance to update its state. Likewise when Quick
Settings is hidden, an onUnprepare event is delivered.
These events allow the system to determine precisely when remote
display discovery is required to update the UI so as not to waste
power performing discovery in the background all of the time.
Bug: 11257292
Change-Id: Id802aa0983b625aeb972b5d123e4cc080dd6705f
Move the logic for managing dimming the navigation bar
elements on the lockscreen into BarTransitions.
Replace search light + camera assets with new
versions at full brightness, and apply 50% dimming
at runtime, including the IME dismiss button.
Remove unused StatusBarManager _NOP hints.
Improve choreography between camera button +
password security (w/ IME). Fix a few found bugs
in PagedView.
Improve password security unlock transition, manually
fade in back along with the rest of the icons.
Bug:11221659
Change-Id: Ifd1f8c9f400d90542f0ca858b9a4deacabbd518a
This gives the location quick setting the same ability that all the
other quick settings have: the accessibility text can now be
different from the display text.
Bug: 11010329
Change-Id: I0dee7b6f974b4e1dc314a35e39d907e90dc8dc3c
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