Add APIs to control the external display state
External displays start disabled, signal connection / disconnection and can be enabled / disabled by system apps. The implementation of the signalling is mostly in LogicalDisplayMapper. The flags are accessed through DisplayManagerFlags, which is injected into DisplayManagerService. All other uses come from DisplayManagerService and is propagated. This allows for injection in tests. Currently, we are using a standard flag, but if DeviceConfig is not ready, we instead read a default static value. The value cannot change during the runtime of the device. When read only flags are ready, we can simplify the code to remove the default value, as the flag will always be available. To test on a local device, set `DisplayManagerFlags.DEFAULT_IS_CONNECTED_DISPLAY_MANAGEMENT_ENABLED` to true. Bug: 280739508 Test: atest LocalDisplayAdapterTest Test: atest DisplayManagerServiceTest Change-Id: I91411a8e726982d88474cf2ecd0f423bde9be107
Showing
- core/java/android/hardware/display/DisplayManager.java 46 additions, 1 deletioncore/java/android/hardware/display/DisplayManager.java
- core/java/android/hardware/display/DisplayManagerGlobal.java 48 additions, 0 deletionscore/java/android/hardware/display/DisplayManagerGlobal.java
- core/java/android/hardware/display/IDisplayManager.aidl 8 additions, 0 deletionscore/java/android/hardware/display/IDisplayManager.aidl
- core/res/AndroidManifest.xml 9 additions, 0 deletionscore/res/AndroidManifest.xml
- packages/Shell/AndroidManifest.xml 2 additions, 0 deletionspackages/Shell/AndroidManifest.xml
- services/core/Android.bp 1 addition, 0 deletionsservices/core/Android.bp
- services/core/java/com/android/server/display/DisplayManagerService.java 196 additions, 45 deletions...ava/com/android/server/display/DisplayManagerService.java
- services/core/java/com/android/server/display/DisplayManagerShellCommand.java 37 additions, 1 deletion...om/android/server/display/DisplayManagerShellCommand.java
- services/core/java/com/android/server/display/LocalDisplayAdapter.java 4 additions, 5 deletions.../java/com/android/server/display/LocalDisplayAdapter.java
- services/core/java/com/android/server/display/LogicalDisplay.java 5 additions, 2 deletions.../core/java/com/android/server/display/LogicalDisplay.java
- services/core/java/com/android/server/display/LogicalDisplayMapper.java 108 additions, 16 deletions...java/com/android/server/display/LogicalDisplayMapper.java
- services/core/java/com/android/server/display/feature/Android.bp 12 additions, 0 deletions...s/core/java/com/android/server/display/feature/Android.bp
- services/core/java/com/android/server/display/feature/DisplayManagerFlags.java 59 additions, 0 deletions...m/android/server/display/feature/DisplayManagerFlags.java
- services/core/java/com/android/server/display/feature/display_flags.aconfig 10 additions, 0 deletions.../com/android/server/display/feature/display_flags.aconfig
- services/tests/displayservicetests/Android.bp 1 addition, 0 deletionsservices/tests/displayservicetests/Android.bp
- services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java 471 additions, 66 deletions...com/android/server/display/DisplayManagerServiceTest.java
- services/tests/displayservicetests/src/com/android/server/display/LocalDisplayAdapterTest.java 47 additions, 1 deletion...c/com/android/server/display/LocalDisplayAdapterTest.java
- services/tests/displayservicetests/src/com/android/server/display/LogicalDisplayMapperTest.java 72 additions, 1 deletion.../com/android/server/display/LogicalDisplayMapperTest.java
Loading
Please register or sign in to comment