This CL generalizes the optical bounds support previously contained in the
GridLayout implementation and then incorporates the new form directly into
the base View and ViewGroup implementations. After this change, GridLayout is
returned to an 'optical bounds' unaware state, and all layouts (including non-platform
ones) inherit the ability to perform their layout operation by optical (rather than clip)
bounds using their existing implementations.
The "layoutMode" property of ViewGroup and its associated constants are
made public in this CL.
Change-Id: Ic1bba0e1c6fc14da4aeab0b28c975d562b5f82dd
- lightsOut() -> setLightsOut(boolean)
(deprecated lightsOut, will remove once all baked-in dreams are updated)
- Added ability to keep the screen bright (default = false).
- Lights out is now true by default.
- Consistent setters(setXxx) + getters(isXxx) for
interactive, lightsOut, fullscreen, and screenBright dream attributes.
Can set attributes at any time (even before window is created).
- Fleshed out javadocs for public api.
- Reordered things a bit.
- Added example of manifest dream declaration ready for copypasta.
- Removed unused action constant, added category constant.
Bug:7172816
Bug:7111868
Change-Id: I721db7a1a5e5ad047a3723b4d5141ef53b0970af
We're adding support for searching for text (books, magazines) and video
(tv, movies).
Bug: 7208141
Change-Id: I19dd2f745518a96b22b02a29c1ab9a89d53cc0cc
isPrimary to Calendars
/**
* Is this the primary calendar for this account. If this column is not explicitly set, the
* provider will return 1 if {@link Calendars#ACCOUNT_NAME} is equal to
* {@link Calendars#OWNER_ACCOUNT}.
*/
isOrganizer to Events
/**
* Are we the organizer of this event. If this column is not explicitly set, the provider
* will return 1 if {@link #ORGANIZER} is equal to {@link Calendars#OWNER_ACCOUNT}.
* Column name.
* <P>Type: STRING</P>
*/
Bug: 6888477
Change-Id: Ibc2b3903bc4a18fc1f0d52c1f8c897e2bac0c0d4
Calling requestLayout() during a layout pass is inadvisable, but
happens often enough in applications (especially when it occurs in
very indirect means that the application may not easily be able to
control) that we need to handle the situation without breaking. In particular,
applications that have run across this problem have had artifacts which are
difficult to debug (like things just not showing up on the screen) and
also difficult to fix. One of the side-effects of the problem is that it
leaves the view hiearchy in an unpredictable state where some views have
requested layout and are waiting to be layed out while the root view has
not received those requests, so it is never calling layout on those views.
The fix is to try to do the 'right' thing, while avoiding getting into
an inifinite loop (which could result from calling layout, which calls requestLayout(),
which causes another layout, which ...). The solution is two-tier: we handle
all requests that happen during layout by delaying them until after the current
layout is done. We then process those requests and call layout again.
If we receive more requests during that second layout, we post them to the
next frame, to allow us to finish the current one.
Issue #7155974 handle requestLayout() during layout more robustly
Change-Id: I9d13c405be28a19c86add22210e69817ddddaf8b
This change renames the widget-specific API to be more generic
to allow further disabling of keyguard-specific customizations
in the future. Currently only allows disabling widgets and the
secure camera but can now easily be extended to disable other
features we add.
Fixes bug: 7021368
Change-Id: I3934cc2e7c64e0c6d511efb86980fc38a849708d
Dream manager now fires broadcast intents when entering + exiting
dreamland (except when testing).
Power manager can now listen for dreams ending, using polling only
as a backstop.
Also:
- Bullet-proof dream-manager/dream against known failure modes
- Add new read/write dream permissions
- Refactor dream-manager to delegate work + state management into
a new DreamController class, via a handler
Bug:6999949
Bug:7152024
Change-Id: I986bb7812209d8c95ae1d660a5eee5998a7b08b1
Notification and Alarm volumes are per user: they are saved and restored
when the foreground user changes.
Media volume is global: it is still saved and restored per user for
implentation reasons but is copied from one user to the next to ensure
media playback volume continuity when switching users.
Ringer mode (silent, vibrate...) is now a global setting.
Bug 7128886.
Change-Id: I9f4f5a0a3985552bca61c2cc3bbe5a144db755a6