| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Bug: 24038268
Change-Id: I05275c906e02eb9e67331f6f909166eb08ad5536
|
|
|
|
|
|
|
|
|
|
| |
We were previous only taking the Configuration into account when
creating Display objects in the ResourceManager. This led to the
Display object not containing critical CompatibilityInfo. We now
take the entire DisplayAdjustment into account.
Bug: 21637615
Change-Id: Ide5ff49bfa12791ad17993764f312836216b1dd8
|
|
|
|
|
|
|
|
|
| |
Knowledge of the various modes of a display is now available to apps, and they can request a specific mode for their windows.
b/18241736
Change-Id: I8eb16ff713e878512faca3ca6662254f08a9be7f
(cherry picked from commit 5c7773d86484aac5737667c604bd8fe8150c2136)
|
|
|
|
|
|
|
|
|
| |
Write samples of the old and new state to the binary event log whenever
the user modifies the auto-brightness adjustment. We wait a few seconds
before logging to ensure that the user is satisfied with the adjustment.
Bug: 19786916
Change-Id: I41402decd1034d0839aa0f47495bc00907ab9c08
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a new device idle controller service that
monitor's the device state and determines when to go
in to idle mode. When in idle mode, all we do right
now is turn off network access the same as we do for
power save mode. Many more things should come in the
future -- stopping the alarm manager from scheduling
(most) alarms, telling GmsCore for it to stop doing
stuff, etc.
Battery stats now has state tracking for devie idle
mode, as well as events for the reasons we can come
out of idle mode (significant motion or the device
becoming active). Also added new events noting when
packages are installed.
Renamed the "low power" event in battery stats to
"power save" because the former was just way too
confusing.
Finally, fix buffer size reading kernel wake locks.
(Stupidly, just increasing the buffer size. Ideally
we should try to be smarter and grow our buffer to
fit the data available, but I'll leave that for
another time.)
Change-Id: I0be2062466c83ee9d890c6cf5a228d9cc4090eca
|
|
|
|
| |
Change-Id: I031443de83f93eb57a98863001826671b18f3b17
|
|\
| |
| |
| |
| | |
* commit '0fbcc7086fe742e641915ed5f097119d01613cb5':
Burn in protection.
|
| |
| |
| |
| |
| | |
Bug: 19373758
Change-Id: I7242f73acadd21bdee03262b4205c8af0734fccb
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Apps normally use context.getResources().getDisplayMetrics()
or getWindowManager().getDefaultDisplay() to get information
about the screen dimensions. Not all the screen space is available
for apps in a multi-window environment, so we limit the dimensions
of the display object exposed to the app to that of the containing
stack.
Bug: 19225079
Bug: 19354838
Change-Id: I8dc3a6c9b99ecedcca28fc4ddaba9f31feb4f871
|
|
|
|
|
|
|
|
|
| |
When PowerManager.boostScreenBrightness() is called, the screen
brightness is set to maximum for 5 seconds. This action is
also considered to be user activity.
Bug: 17934954
Change-Id: I1cb4a03a60705c6c1c5cc9ff84b1c5dbd2932fcd
|
|
|
|
|
|
|
| |
Also, rename methods to be onPaused instead of onDisplayPaused, etc.
Bug: 17008630
Change-Id: Id9ead22a42d36ac338309f0f021ba341ed991144
|
|
|
|
| |
Change-Id: I3b6e0b54d658352942a38be6a24486bdfc179efd
|
|
|
|
| |
Change-Id: I51231dd6dd231d57dd1ac499349d6335121f07d5
|
|
|
|
| |
Change-Id: I2632fc56c2d2cba356379e42f5c1a3e283b11d1e
|
|
|
|
| |
Change-Id: Ia881f9bcf3b93bd699f9ddf80d51ec7d0e74d2ed
|
|
|
|
|
|
| |
Fix incorrect access modifier in Activity documentation.
Change-Id: Id41da6ccbdfa8b53c89360c899f3a43aec899982
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added setDozeScreenState() and setDozeScreenBrightness() methods to
DreamService. The values specified here only take effect once
startDozing is called and can be changed while dozing.
This required some significant rework of the display power controller
but the result seems quite nice and better represents the policy
we want to apply.
Changed the test dream a little bit to make it flash the screen
every minute using the new functions.
Bug: 15903322
Change-Id: I83bcc34503f1b87727d2b2b3c0ef08507f9f0808
|
|
|
|
|
|
|
|
|
|
| |
ActivityView does not create callbacks for the VirtualDisplay. This
leads to setting Looper.myLooper() from a Binder thread which
leads to NPE when trying to dereference its message queue.
Fixes bug 16386002.
Change-Id: I12760a22075ed4770f3fe960763e0135fe095cfe
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new MediaProjection infrastructure allows the system to hand out
tokens granting the ability to capture the screen's contents, audio,
etc. at a granular level. It's intended to be used both for screen
casting, via the cast APIs, as well as screen sharing via third party
applications.
The screen sharing case is implemented, but all of audio capturing
is still forthcoming.
Change-Id: I4b24669bed7083e11413c10ed8d6b025f5375316
|
|
|
|
|
|
|
|
|
| |
When the device is in low power mode all changes to brightness will be
scaled to half of the brightness that would be normally set when not in
low power mode.
Change-Id: I03be820ef64c1d5631ded35f7dfc2799e807226b
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
|
|\
| |
| |
| |
| |
| |
| | |
virtual display surface." into klp-modular-dev
* commit '18a69b936afa6bdb8c65b6b582989c4dcdac45ee':
Add support for dynamically setting the virtual display surface.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, the surface that backs a virtual display had to be set
at the time when the display was created. This change now makes
it possible to set or remove the surface later. The virtual display
is treated as if it were "off" while no surface is attached to it.
Change-Id: Ib4fdbbb8b4ee79f0fb9ceb648f9bda4a8fa6a2ca
|
|\ \
| |/
| |
| | |
Change-Id: I8168dbf42b68c2f7b5ccb300e0080dddc627af26
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Declare a new method, Display.getState() to retrieve the actual
power state of a display.
Improved documentation for Intent.ACTION_SCREEN_ON and
Intent.ACTION_SCREEN_OFF to clarify what they really mean in
terms of the interactive state of the device.
Deprecated PowerManager.isScreenOn() and replaced it with
PowerManager.isInteractive() with a more suggestive name and
better documentation.
Redirect display power state changes to go through the display
manager first and only then head over to the power manager for
legacy compatibility.
Eliminated the bright here and woke here policy flags since they
were unused. Simplified the input dispatch policy somewhat.
Ensure that screen wake locks are respected up until the point
when dozing really begins.
Fixed a regression in DreamService where onDreamingStarted
might be called before onWindowAttached.
Bug: 13133142
Bug: 13472578
Bug: 13929355
Bug: 13760290
Change-Id: Iabef96921dd554ce3768fb18619cefc3230b5fb0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This refactoring is in preparation for enabling the display manager
to have more control over the blanking state of individual displays.
There are no functional changes. Some bits will be cleaned up in
a subsequent patch.
Bug: 13133142
Change-Id: Ib811835e8757449c7899ac61807029baaf998161
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This refactoring is in preparation for enabling the display manager
to have more control over the blanking state of individual displays.
There are no functional changes. Some bits will be cleaned up in
a subsequent patch.
Bug: 13133142
Change-Id: I159a060088344d8e6fcdf9208a1f242960f7ab90
|
|\ \
| |/
| |
| |
| |
| |
| | |
klp-modular-dev
* commit 'e2c9cd583f4f706b48270b8cbe84df627c69af24':
Refactor display manager service to new pattern.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Transform DisplayManagerService into a SystemService and start cleaning
up other local services that it uses from window manager and input manager.
Clean up service thread initialization.
Remove unnecessary static variables from ActivityManagerService.
It's starting to become clear that we really need a better way to manage
service dependencies. Boot phases don't quite cut it.
Change-Id: If319dbd7cbfbd4812fe55ece969e818d4b20755b
|
|\ \
| |/
| |
| |
| |
| |
| | |
content." into klp-modular-dev
* commit 'b6d9eb875a0bf1bb655a90c88457689342eb0991':
Add flag to force public virtual display to show own content.
|
| |
| |
| |
| | |
Change-Id: I1039f2ef3154169ec90411a4c7ba2c94629f72c4
|
|\ \
| |/
| |
| |
| |
| |
| | |
longer needed.
* commit '2458681b3ea4571d2f1254ef597475fe6a582907':
Stop wifi display discovery when no longer needed.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Keep track of how many clients are requesting scans and scan
continuously until all of them are gone then explicitly terminate the
scan instead of letting it time out as before.
Suspend wifi display scans while connecting or connected to a remote
display. This is handled by both the display manager and media router
since neither has complete information about what is happening.
Much of this code will no longer be needed once wifi display support
is integrated directly into the media router service.
Ensure that we don't attempt to scan or connect to wifi displays
while the wifi display feature is off.
Infer when a connection attempt fails and unselect the wifi display
route automatically so it doesn't appear to be connecting forever.
Fix issues around correctly canceling and retrying connection attempts.
Often we would cancel but not retry.
Improved connection reliability somewhat. It seems that discovery must
already be in progress in order for a connection attempt to succeed.
Ensure QuickSettings uses exactly the same logic as the MediaRouteButton
to determine when the remote display tile should be made visible.
Bug: 11717053
Change-Id: I18afc977b0e8c26204b8c96adaa79f05225f7b6e
|
|/
|
|
| |
Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Only allow the system ui and settings to connect to a remote display.
To do this, we essentially hide the remote displays from applications
by using the ROUTE_TYPE_REMOTE_DISPLAY then add permission checks
around the operations that connect to them.
As a bonus, this may actually save power on devices since applications
that use MediaRouter will not longer be performing discover on
remote display routes at all.
Bug: 11257292
Change-Id: I9ea8c568df4df5a0f0cf3d0f11b39c87e2110795
|
|
|
|
|
|
| |
new meta tag name
Change-Id: If9caba425f825652468a0f3e868f71ed1a778fb1
|
|
|
|
| |
Change-Id: I74c51791192f7fefad4e299d25c91438cbf6ab73
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When certification mode is enabled:
- Pass wfd session info to wifi display settings
- Allow sink to connect to source
- Add interface in display manager for pausing/resuming session
- Add interface in WifiP2pManager for setting lc, oc and starting
autonomous GO
Note that we're compliant regardless of certification mode, but
some confusing options (eg. allowing incoming connection from
sink) we want to hide when not being tested.
Bug: 9371882
Change-Id: Icc7dcae4e046453796cfa03f5f197055fabf234b
|
|
|
|
|
|
|
|
|
| |
Refactor the new private virtual display API to also support
creating public virtual displays with various characteristics.
This feature requires special permissions and is only intended
for use by the system.
Change-Id: I44dd19f37cf76ea6d6e313afe42f4a412bd96663
|
|
|
|
|
|
|
|
| |
First step in adding activity specific information to displays.
Replace CompatibilityInfoHolder with DisplayAdjustmentsHolder that
holds an activity token in addition to the CompatibilityInfo.
Change-Id: Ie113cd8dd9c62e0b5311204e039a4829096bea68
|
|
|
|
|
|
|
|
|
|
|
| |
This change enables applications to create a private virtual
display that renders its content to a surface of its own creation.
The display is private in the sense that only the application
that owns the display is allowed to place windows upon it.
Mirroring and blanking is also disabled for these displays.
Bug: 9192512
Change-Id: I852ea07f0c7df1d244e354e3daca3a6960285ca0
|
|
|
|
|
|
| |
bug 9229799
Change-Id: I9f5fd2107f60c492d42c74e575e6483838a51267
|
|
|
|
|
|
| |
Bug 9229799
Change-Id: I680015943f40cded45645dfa0eae42bbce5ce9a3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some Wifi display devices like to rename themselves after a
connection completes (or at other times). Make sure to update
the name of the display when we detect that it changed in
our scan results.
This problem is somewhat complicated by the fact that we remember
the display name persistently, so we need to update our list
of remembered displays too.
Improve the state machine to avoid redundant attempts to
disconnect or cancel connection.
Bug: 7478895
Change-Id: I35a9e2c6a8deadbe892dacd5e3b4a5a2b12d6cf0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new API makes it possible for an application to ask on
which Display it should show a Presentation based on the currently
selected media route.
Also added a new API on DisplayManager to query displays that
support a certain category of uses.
Improved the documentation of the Presentation class to explain
how to choose an appropriate Display for presentation.
Bug: 7409073
Change-Id: Iab451215e570ae55f3718fc228303143c800fe51
|
|
|
|
|
| |
Bug: 7177920
Change-Id: I9d8406e1016988e2cd267dfa52d78a829f1b385e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a setting to globally disable Wifi display.
Fixed a bug where the wifi display broadcast receiver
was running on the wrong thread.
Removed the wifi-display QuickSettings dialog, all functionality
has been moved to Settings.
Bug: 7178216
Bug: 7192799
Change-Id: I9796baac8245d664cf28fa147b9ed978d81d8ab9
|
|
|
|
| |
Change-Id: I4d46503e5413f52da16f79bbc9c631cc5ae9c178
|
|
|
|
|
|
|
|
|
| |
The API is quite simple. There are a few extra functions
on DisplayManager to scan, connect and disconnect from
wifi displays and get status, and a single protected
broadcast sent when the status changes.
Change-Id: Ic91dbab5ee818e790b27fa32e1a1e93788793be0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added more complete support for logical displays with
support for mirroring, rotation and scaling.
Improved the overlay display adapter's touch interactions.
A big change here is that the display manager no longer relies
on a single-threaded model to maintain its synchronization
invariants. Unfortunately we had to change this so as to play
nice with the fact that the window manager wants to own
the surface flinger transaction around display and surface
manipulations. As a result, the display manager has to be able
to update displays from the context of any thread.
It would be nice to make this process more cooperative.
There are already several components competing to perform
surface flinger transactions including the window manager,
display manager, electron beam, overlay display window,
and mouse pointer. They are not manipulating the same surfaces
but they can collide with one another when they make global
changes to the displays.
Change-Id: I04f448594241f2004f6f3d1a81ccd12c566bf296
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces the ability to create a Context that
is bound to a Display. The context gets its configuration and
metrics from that display and is able to provide a WindowManager
that is bound to the display.
To make it easier to use, we also add a new kind of Dialog
called a Presentation. Presentation takes care of setting
up the context as needed and watches for significant changes
in the display configuration. If the display is removed,
then the presentation simply dismisses itself.
Change-Id: Idc54b4ec84b1ff91505cfb78910cf8cd09696d7d
|