b0608636a29bcec8ecb4391cd50f29f68b3e7e81 |
|
05-Apr-2017 |
Santos Cordon <santoscordon@google.com> |
Add uniqueId to Virtual Display and pass through to inputflinger (1/2) This CL adds: 1) Adds uniqueId (protected via system/sig permission) to virtual displays. 2) Add support for N virtual display viewports into inputflinger. 3) Set the virtual display's viewports in inputflinger if it has the uniqueId value set to non-null. (a) Moving the new viewport from java to native inputflinger and (b) adding "uniqueId" value to viewports makes up the great majority of this change. 4) From the inputflinger side, we also read in a new value from the input device configuration files called 'touch.displayId'. 5) When touch.displayId and the virtual display's uniqueId match, inputflinger links the two. Test: Start VR and ensure that the virtual viewport shows up when running 'adb shell dump input". Run a VR app, and ensure that the virtual input device is associated with the new virtual viewport. Test: com.android.server.display.DisplayManagerServiceTest Bug: 36051620 Change-Id: Ic2117eb8e19f7f3c59687160591f8bc6692c1f12 Merged-In: Ic2117eb8e19f7f3c59687160591f8bc6692c1f12
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
609bf65668181d93502a57575f6f20281f2494b8 |
|
10-Feb-2017 |
Bryce Lee <brycelee@google.com> |
Update DisplayAdjustments in Display from Resources. Previously, a copy of DisplayAdjustments was provided during Display construction. If the Display instance is held, the adjustments would not update. However, the DisplayInfo would, leading to a mismatch. This changelist adds a reference to the Resources, which can be queried to provide the latest adjustments. Fixes: 33430498 Test: manual from bug repro steps. Test: make -j32 cts; cts-tradefed; run cts --module CtsAppTestCases --test android.app.cts.DisplayTest#testRotation Change-Id: Ida2ed3990add885d06b011494af24b055343f3fa
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
1c9977b762b4bac46b4470f04c898bfd17da5d90 |
|
12-Jul-2016 |
Michael Wright <michaelwr@google.com> |
Rename color transform to color mode and persist the value. Also, standardize on a set of possible modes for the displays to enter and separate the configuration of the color mode from the configuration of the display mode. Bug: 29044347 Change-Id: I6af0a7d1f11bc72d4cefc380f115c1fb00788864
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
f8880561e67e1da246970b49b14285efd4164ab1 |
|
26-Feb-2016 |
Jeff Sharkey <jsharkey@android.com> |
When system server goes down, crash apps more. Similar to first patch, but now using new "rethrowFromSystemServer()" method which internally translates DeadObjectException into DeadSystemException. New logic over in Log.printlns() now suppresses the DeadSystemException stack traces, since they're misleading and just added pressure to the precious log buffer space. Add some extra RuntimeInit checks to suppress logging-about-logging when the system server is dead. Bug: 27364859 Change-Id: I05316b3e8e42416b30a56a76c09cd3113a018123
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
58e829f71d2c525309e5bb5a1c02dc64397df221 |
|
15-Sep-2015 |
Michael Wright <michaelwr@google.com> |
Add support for setting color transforms Bug: 24038268 Change-Id: I05275c906e02eb9e67331f6f909166eb08ad5536
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
26698514fbac587675221149aca98f3ea6414d55 |
|
06-Jun-2015 |
Wale Ogunwale <ogunwale@google.com> |
Use DisplayAdjustments when creating display in ResourceManager 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
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
7c72668f19d404b01412abc67937b1b5c660df71 |
|
07-Feb-2015 |
Wale Ogunwale <ogunwale@google.com> |
Adjust activity display metrics based on stack configuration. 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
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
75ee9fcde4d9e1be3883eba6c8d193db4375b052 |
|
02-Sep-2014 |
Michael Wright <michaelwr@google.com> |
VirtualDisplay.Callbacks -> Callback Also, rename methods to be onPaused instead of onDisplayPaused, etc. Bug: 17008630 Change-Id: Id9ead22a42d36ac338309f0f021ba341ed991144
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
01e840ff9441e005153d799e71d65b38bcb21902 |
|
27-Jun-2014 |
Michael Wright <michaelwr@google.com> |
Add resize method for virtual displays Change-Id: I2632fc56c2d2cba356379e42f5c1a3e283b11d1e
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
3d0c57a1d3b8eb6bb54045c02c2e93a9313d3cf7 |
|
21-Jul-2014 |
Craig Mautner <cmautner@google.com> |
Don't create a delegate for null callbacks. 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
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
c39d47a8e7c74bd539104b0efab898ef6fc43ddf |
|
09-Jul-2014 |
Michael Wright <michaelwr@google.com> |
Add MediaProjection APIs. 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
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
92207df753c27b094e9e0ca80d41bc0d54dc6bd5 |
|
16-Apr-2014 |
Jeff Brown <jeffbrown@google.com> |
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
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
ce468a35b388ca46578934706b38dbae94941643 |
|
22-Nov-2013 |
Jeff Brown <jeffbrown@google.com> |
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
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
1f3ecaae6303d5ee6c5ca8499262c9962f036365 |
|
04-May-2013 |
Chong Zhang <chz@google.com> |
wifi-display: add certification options 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
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
7d00affce6e25b22fd8fc135933b3bf6b547a0dc |
|
03-Aug-2013 |
Jeff Brown <jeffbrown@google.com> |
Support public virtual displays. 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
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
48d0d1886731ff19ed3fb47a5997be5df0d1bba8 |
|
11-Jun-2013 |
Craig Mautner <cmautner@google.com> |
Add activity token to display system. 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
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
a506a6ec94863a35acca9feb165db76ddac3892c |
|
04-Jun-2013 |
Jeff Brown <jeffbrown@google.com> |
Add an API to allow for creating private virtual displays. 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
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
89d5546d7fd3a3bb19820c42e8b4527013dd6545 |
|
19-Sep-2012 |
Jeff Brown <jeffbrown@google.com> |
Add support for remembering Wifi display devices. 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
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
e08ae388d63c4db8f9d9a7ecd634f9a51f6e91b9 |
|
08-Sep-2012 |
Jeff Brown <jeffbrown@google.com> |
Add new wifi display discovery API. 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
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
4ed8fe75e1dde1a2b9576f3862aecc5a572c56b5 |
|
31-Aug-2012 |
Jeff Brown <jeffbrown@google.com> |
More improvements to the display manager. 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
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|
bd6e1500aedc5461e832f69e76341bff0e55fa2b |
|
28-Aug-2012 |
Jeff Brown <jeffbrown@google.com> |
Add initial multi-display support. Split the DisplayManager into two parts. One part is bound to a Context and takes care of Display compatibility and caching Display objects on behalf of the Context. The other part is global and takes care of communicating with the DisplayManagerService, handling callbacks, and caching DisplayInfo objects on behalf of the process. Implemented support for enumerating Displays and getting callbacks when displays are added, removed or changed. Elaborated the roles of DisplayManagerService, DisplayAdapter, and DisplayDevice. We now support having multiple display adapters registered, each of which can register multiple display devices and configure them dynamically. Added an OverlayDisplayAdapter which is used to simulate secondary displays by means of overlay windows. Different configurations of overlays can be selected using a new setting in the Developer Settings panel. The overlays can be repositioned and resized by the user for convenience. At the moment, all displays are mirrors of display 0 and no display transformations are applied. This will be improved in future patches. Refactored the way that the window manager creates its threads. The OverlayDisplayAdapter needs to be able to use hardware acceleration so it must share the same UI thread as the Keyguard and window manager policy. We now handle this explicitly as part of starting up the system server. This puts us in a better position to consider how we might want to share (or not share) Loopers among components. Overlay displays are disabled when in safe mode or in only-core mode to reduce the number of dependencies started in these modes. Change-Id: Ic2a661d5448dde01b095ab150697cb6791d69bb5
/frameworks/base/core/java/android/hardware/display/DisplayManagerGlobal.java
|