summaryrefslogtreecommitdiffstats
path: root/core/java/android/hardware/display
Commit message (Collapse)AuthorAgeFilesLines
* Add support for setting color transformsMichael Wright2015-09-182-0/+11
| | | | | Bug: 24038268 Change-Id: I05275c906e02eb9e67331f6f909166eb08ad5536
* Use DisplayAdjustments when creating display in ResourceManagerWale Ogunwale2015-06-061-11/+0
| | | | | | | | | | 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
* DO NOT MERGE - Display mode switches.P.Y. Laligand2015-05-111-1/+3
| | | | | | | | | 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)
* Add code to collect data about auto-brightness adjustments.Jeff Brown2015-04-281-0/+7
| | | | | | | | | 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
* First stab at device idle mode.Dianne Hackborn2015-03-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove unused imports in frameworks/base.John Spurlock2015-02-281-1/+0
| | | | Change-Id: I031443de83f93eb57a98863001826671b18f3b17
* am 0fbcc708: am 1e74b5d6: Merge "Burn in protection." into lmp-mr1-modular-devFilip Gruszczynski2015-02-251-0/+13
|\ | | | | | | | | * commit '0fbcc7086fe742e641915ed5f097119d01613cb5': Burn in protection.
| * Burn in protection.Filip Gruszczynski2015-02-251-0/+13
| | | | | | | | | | Bug: 19373758 Change-Id: I7242f73acadd21bdee03262b4205c8af0734fccb
* | Adjust activity display metrics based on stack configuration.Wale Ogunwale2015-02-131-4/+4
|/ | | | | | | | | | | | | 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
* Add a function to boost screen brightness temporarily.Jeff Brown2014-10-311-1/+7
| | | | | | | | | 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
* VirtualDisplay.Callbacks -> CallbackMichael Wright2014-09-015-44/+44
| | | | | | | Also, rename methods to be onPaused instead of onDisplayPaused, etc. Bug: 17008630 Change-Id: Id9ead22a42d36ac338309f0f021ba341ed991144
* Allow media projections to create public presentations.Michael Wright2014-08-071-15/+38
| | | | Change-Id: I3b6e0b54d658352942a38be6a24486bdfc179efd
* Add supported refresh rate to displaysMichael Wright2014-08-061-5/+14
| | | | Change-Id: I51231dd6dd231d57dd1ac499349d6335121f07d5
* Add resize method for virtual displaysMichael Wright2014-08-053-0/+25
| | | | Change-Id: I2632fc56c2d2cba356379e42f5c1a3e283b11d1e
* Add paragraph tags to MediaProjection docsMichael Wright2014-07-291-0/+4
| | | | Change-Id: Ia881f9bcf3b93bd699f9ddf80d51ec7d0e74d2ed
* Add missing documentation for createVirtualDisplayMichael Wright2014-07-251-0/+2
| | | | | | Fix incorrect access modifier in Activity documentation. Change-Id: Id41da6ccbdfa8b53c89360c899f3a43aec899982
* Allow dreams to control screen state and brightness.Jeff Brown2014-07-221-28/+49
| | | | | | | | | | | | | | | | 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
* Don't create a delegate for null callbacks.Craig Mautner2014-07-211-7/+12
| | | | | | | | | | 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
* Add MediaProjection APIs.Michael Wright2014-07-175-24/+194
| | | | | | | | | | | | | 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
* Display: Brightness: Low power mode scales the brightness to 50 percent.Ruchi Kandoi2014-05-091-2/+8
| | | | | | | | | 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>
* am 18a69b93: am 8e1e4006: Merge "Add support for dynamically setting the ↵Jeff Brown2014-04-174-10/+59
|\ | | | | | | | | | | | | virtual display surface." into klp-modular-dev * commit '18a69b936afa6bdb8c65b6b582989c4dcdac45ee': Add support for dynamically setting the virtual display surface.
| * Add support for dynamically setting the virtual display surface.Jeff Brown2014-04-164-10/+59
| | | | | | | | | | | | | | | | | | 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
* | resolved conflicts for merge of 337e764d to masterJeff Brown2014-04-111-13/+1
|\ \ | |/ | | | | Change-Id: I8168dbf42b68c2f7b5ccb300e0080dddc627af26
| * Plumb display power state through display manager.Jeff Brown2014-04-101-13/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Move display power controller to display manager service. (DO NOT MERGE)Jeff Brown2014-04-081-0/+164
| | | | | | | | | | | | | | | | | | | | 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
* | Move display power controller to display manager service.Jeff Brown2014-04-081-0/+164
| | | | | | | | | | | | | | | | | | | | 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
* | am e2c9cd58: Merge "Refactor display manager service to new pattern." into ↵Jeff Brown2014-01-182-0/+186
|\ \ | |/ | | | | | | | | | | klp-modular-dev * commit 'e2c9cd583f4f706b48270b8cbe84df627c69af24': Refactor display manager service to new pattern.
| * Refactor display manager service to new pattern.Jeff Brown2014-01-162-0/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | am b6d9eb87: Merge "Add flag to force public virtual display to show own ↵Jeff Brown2014-01-091-2/+19
|\ \ | |/ | | | | | | | | | | content." into klp-modular-dev * commit 'b6d9eb875a0bf1bb655a90c88457689342eb0991': Add flag to force public virtual display to show own content.
| * Add flag to force public virtual display to show own content.Jeff Brown2014-01-071-2/+19
| | | | | | | | Change-Id: I1039f2ef3154169ec90411a4c7ba2c94629f72c4
* | am 2458681b: am 263c4310: am ce468a35: Stop wifi display discovery when no ↵Jeff Brown2013-11-213-18/+59
|\ \ | |/ | | | | | | | | | | longer needed. * commit '2458681b3ea4571d2f1254ef597475fe6a582907': Stop wifi display discovery when no longer needed.
| * Stop wifi display discovery when no longer needed.Jeff Brown2013-11-213-18/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Remove unused imports from frameworks/base.John Spurlock2013-11-201-2/+0
|/ | | | Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
* Disallow applications from initiating cast screen.Jeff Brown2013-11-151-2/+5
| | | | | | | | | | | | | | 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
* some javadoc improvements for virtual display andScott Main2013-10-161-1/+7
| | | | | | new meta tag name Change-Id: If9caba425f825652468a0f3e868f71ed1a778fb1
* Docs changes pursuant to API review feedback.Jeff Brown2013-08-231-5/+3
| | | | Change-Id: I74c51791192f7fefad4e299d25c91438cbf6ab73
* wifi-display: add certification optionsChong Zhang2013-08-235-5/+171
| | | | | | | | | | | | | | | | | | | | 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
* Support public virtual displays.Jeff Brown2013-08-024-35/+142
| | | | | | | | | 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
* Add activity token to display system.Craig Mautner2013-06-222-7/+18
| | | | | | | | 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
* Add an API to allow for creating private virtual displays.Jeff Brown2013-06-184-0/+157
| | | | | | | | | | | 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
* MediaRouter: grey out wifi displays that's in useChong Zhang2013-06-132-59/+54
| | | | | | bug 9229799 Change-Id: I9f5fd2107f60c492d42c74e575e6483838a51267
* wifi-display: set display to unavailable if p2p device is unavailableChong Zhang2013-06-061-2/+21
| | | | | | Bug 9229799 Change-Id: I680015943f40cded45645dfa0eae42bbce5ce9a3
* Support Wifi display devices that rename themselves.Jeff Brown2012-11-071-0/+9
| | | | | | | | | | | | | | | | | 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
* Add MediaRouter API to get presentation display.Jeff Brown2012-10-251-13/+59
| | | | | | | | | | | | | | | 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
* Allow applications to connect to known wifi displays.Jeff Brown2012-09-262-7/+13
| | | | | Bug: 7177920 Change-Id: I9d8406e1016988e2cd267dfa52d78a829f1b385e
* Add support for remembering Wifi display devices.Jeff Brown2012-09-195-36/+176
| | | | | | | | | | | | | | 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
* Improve Wifi display discovery API.Jeff Brown2012-09-081-37/+48
| | | | Change-Id: I4d46503e5413f52da16f79bbc9c631cc5ae9c178
* Add new wifi display discovery API.Jeff Brown2012-09-087-0/+418
| | | | | | | | | 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
* More improvements to the display manager.Jeff Brown2012-08-311-13/+38
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Initial draft of high-level multi-display APIs.Jeff Brown2012-08-311-10/+1
| | | | | | | | | | | | | | | 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