summaryrefslogtreecommitdiff
path: root/core/java/android/view/Display.java
Commit message (Collapse)AuthorAgeFilesLines
* Add display committed state to DisplayInfoNicolo' Mazzucato2023-03-141-0/+15
| | | | | | | | | | | | | | | | | | This adds the committed state to the display. The `state` is used to set the correct power state (e.g. turning display on/off), however there was no way to know when this power state change finished. This new "committedState" aims to fulfill this gap. DisplayListeners receives a `onDisplayChanged` callback whenever the power state change is fully committed, and can get this information from DisplayInfo. This will be used in a follow up cl to improve unfold latency performances. Bug: 223808403 Bug: 220690092 Bug: 197515205 Bug: 273204503 Test: atest LocalDisplayAdapterTest && manual Change-Id: Ia2fbab768b696c59578d974c88157ee3c8f3ddde Merged-In: Ia2fbab768b696c59578d974c88157ee3c8f3ddde (cherry picked from commit 07c6ebdd97ea3e9e3640fa5165b24249a52dd7e5)
* Defines flag to disable touch feedback on displayyuanjiahsu2022-05-191-0/+9
| | | | | | | | Define FLAG_TOUCH_FEEDBACK_DISABLED to disable touch sound and haptic feedback when creating virtual display. Bug: 185558698 Test: atest FrameworksCoreTests:ViewRootImplTest, manual testing Change-Id: Ida67f4027f2636e004218595b3bf088c06194522
* "Revert "Temporarily exclude Launcher from sandboxing; to be reverted once""Naomi Musgrave2022-04-081-41/+1
| | | | | | | | | | | This reverts commit 5824b897630b58453ee1098b70f08be2c2809a66. Reason for revert: Launcher has removed their dependency on Display#getRealSize Bug: 181219241 Test: atest FrameworksMockingCoreTests:android.view.DisplayTest Change-Id: I9bbf2b511a5b92eea6365bbd2a594238e01f1b36 Merged In: I9bbf2b511a5b92eea6365bbd2a594238e01f1b36
* Revert "Temporary flag for Launcher to debug their usage of sandboxed ↵Naomi Musgrave2022-04-051-3/+3
| | | | | | | | | | | | display APIs" This reverts commit 253696fea3e6224c0950ace721942d8fae5d7470. Reason for revert: remove from tm-dev Bug: 206649452 Change-Id: I013f08dfba89eb89e7713dddc1f4f894e335df62 (cherry picked from commit 608a679783c4b1173452aa45bd8fe1f6e293629b)
* Merge "Revised the API documentation of the getMetrics and getSize methods ↵Jon Eckenrode2022-03-231-54/+69
|\ | | | | | | | | | | | | | | to account for differences in API levels." am: 7ac639b11b am: d3fd072f68 am: bfad78abc6 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1957098 Change-Id: I38e40ff8310cf9a4e1a1ee9b527c62ce62f8fed4
| * Revised the API documentation of the getMetrics and getSize methods to ↵joneckenrode2022-03-221-53/+68
| | | | | | | | | | | | | | | | | | account for differences in API levels. Bug: 183681583 Test: Built API documentation Signed-off-by: joneckenrode <joneckenrode@google.com> Change-Id: I5659661dad29c964ac614326f79164326b3093ec
* | getDisplayDecorationSupport: return more detailed infoLeon Scroggins III2022-02-091-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call the updated native version of getDisplayDecorationSupport (added in I961051c0a660b596039ac04b546040764ee20d34), and convert the NDK struct into a Java class. Depend on the graphics AIDLs, which now have Java backends. A future CL will update SysUI to call the new API. Add a PixelFormat for R_8 to correspond to the native version. This will allow SysUI to use COLOR_MODE_A8 when the HAL reports R_8. If64fd6924960f592b7a211371bc2ca6536ae34f7 demonstrates using this. Bug: 216644902 Test: manual Change-Id: I0e34c6d6e369fda0a96231ab38c3bd5f3bfe3e06
* | Merge "Revert "Revert "Boot time resolution changes in framework"""TreeHugger Robot2022-02-021-0/+13
|\ \
| * | Revert "Revert "Boot time resolution changes in framework""Kriti Dang2022-02-021-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 5f415e6190891bc5193a4a974aa26c62b6e409df. Reason for revert: Fixed the underlying issue BUG: 217335654 Test: verified on forrest Change-Id: I599ed7c6ed8f3483b68653cfb35ddb1effb01efb
* | | Merge "Revert "Boot time resolution changes in framework""Shubham Dubey2022-02-011-13/+0
|\| |
| * | Revert "Boot time resolution changes in framework"Shubham Dubey2022-02-011-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit aef5aa78b5030fa33783af26591772ed058acebf. Reason for revert: Causing boot failures BUG: 217335654 Change-Id: I41e47b88ef7663804de4a04928be4eb08ad83f73
* | | Merge "Boot time resolution changes in framework"TreeHugger Robot2022-02-011-0/+13
|\| |
| * | Boot time resolution changes in frameworkKriti Dang2022-01-311-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Adding API and changes to incorporate boot-time resolution HAL APIs Bug: 209598222 Test: atest CtsBootDisplayModeTestCases Change-Id: I7081af903d8259cf7c0009238e7968d458ff3325
* | | Move fixed-rotation-related display information into configEvan Rosky2022-01-261-33/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Augment the "apparent" display information in configuration from just the display bounds (maxBounds) to also include the display rotation and cutout. Like maxBounds, these will be expected to always be set as basically "the display that this configuration was built against". This heavily simplifies fixed-rotation since now we don't need to deal with the "are we overriding?" question and also don't need extra activity servertransactions. The configuration is also in sync (since it is the source of truth used by resources). Additionally, this means that even the current legacy fixed-rotation model should work with in any mixed-rotation situtaion, not just fullscreen. Bug: 202201326 Test: atest DisplayTest Change-Id: I6232f74c74324b70b1b0c9f46448c509c2694310
* | | Let the client set transform hint on its ownTiger Huang2022-01-221-0/+12
|/ / | | | | | | | | | | | | | | | | This is a step to move the layout logic to the client side. We won't invoke IWindowSession#relayout then. Bug: 161810301 Test: atest WmTests Change-Id: Ib5ac048a573907af0a81f3e228575d9458862cfd
* | Runtime resolution changesKriti Dang2022-01-131-0/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | Changed the names of existing display mode APIs. Added similar APIs in Display class, so that resolution and refresh rate settings can be pesisted for each display. The APIs can now be used to set display mode (or only resolution or refreshRate). Bug: 206911689 Test: atest DefaultDisplayModeTest Change-Id: I19655fc347d36e45b5664e2b6faa3d58b5d7004c
* | Add a flag for allowing always unlocked virtual displaysAntony Sargent2021-11-301-0/+9
| | | | | | | | | | | | Bug: 201555593 Test: atest ActivityTaskManagerServiceTests DisplayManagerServiceTest Change-Id: I23ae346b0413603582d2543c576d2542244421f6
* | Default resolution settings [Backend]Kriti Dang2021-09-091-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Added new APIs to DisplayManager to: 1. set the user preferred display mode, 2. clear user preferred display mode and 3. wheteher user has chosen a display mode These new settings are stored in Settings.Global. Bug: 192332479 Test: atest DefaultDisplayModeTest Test: atest LocalDisplayAdapterTest Change-Id: I3a60e271c7ec23c84e74487e89b3e29ca91e8a40
* | Temporary flag for Launcher to debug their usage of sandboxed display APIsNaomi Musgrave2021-08-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The flag does not impact any other application calling the sandboxed display APIs. The flag will be removed after Launcher finishes identifying the breakages attributed to the display API changes. For Launcher to receive the un-sandboxed values: adb shell cmd display constrain-display-apis false Test: manual Bug: 193421404 Change-Id: I5d8612fd7dcb49769ae005130c9786b2d8416bfc
* | Revert "Revert "Temporarily exclude Launcher from sandboxing; to be reverted ↵Paul Hobbs2021-06-211-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | once"" This reverts commit 202e35b7cf7fc94e5e2ab0cc6f2b5b921f205889. Reason for revert: Breaks Launcher tests (b/191395224, http://go/forrest-run/L01400000924167319) Bug: 191395224 Bug: 191492708 Bug: 191488971 Change-Id: I325a024daed9cf643f7cd2cb9a536637c13262fa
* | Revert "Temporarily exclude Launcher from sandboxing; to be reverted once"Naomi Musgrave2021-06-171-41/+1
|/ | | | | | | | | | | This reverts commit 6574e37f7c40aada1a4d823b51fa4772ba368114. Bug: 179308296 Bug: 186056836 Reason for revert: No longer needed, as Launcher has updated their approach (verified in sc-v2) Change-Id: Iadaa4fbf82708cadff518cdb6db973ee402cd094
* Add listener for brightness-specific changes.Santos Cordon2021-04-231-0/+11
| | | | | | | | | | | | | | Add FLAG to registerDisplayListener method to receive brightness-specific changes. getBrightnessInfo() method added to android.view.Display to get brightness value, min, max and highBrightnessMode status. Bug: 168210311 Bug: 171023136 Test: atest com.android.server.display Change-Id: I581e86e039cc7cf1bbca4cf7af03daa41dbddfe0
* Fix NPEs for virtual displaysMarin Shalamanov2021-04-121-1/+14
| | | | | | | | | Fix for NPEs in Display.getHdrCapabilities(), isHdr() and getReportedHdrTypes() for virtual displays. Bug: 184722440 Test: atest VirtualDisplayTest Change-Id: Iad5706fd66c01e0e58e43c63d617557e1532ae05
* Hdr format settings [Backend]Kriti Dang2021-03-291-0/+16
| | | | | | | | | | | Adding new APIs in display manager to get the user disabled formats, to get the formats supported by device and get formats reported by display. Bug: 172905874 Test: N/A Change-Id: I58a7714f03a3e165bbd22f2fa7a021ad90b41b39 Merged-In: I58a7714f03a3e165bbd22f2fa7a021ad90b41b39 (cherry picked from commit 25f1822005b8ebf9a6cf5c6fda0dae26f8212d50)
* Hdr format settings [Backend]Kriti Dang2021-03-251-2/+35
| | | | | | | | | | | | | Added new APIs to DisplayManager to set the user disabled HDR formats, and get/set if user disabled formats should be ignored or not. These new settings are stored in Settings.Global. Modified the implementation of Display#getHdrCapabilities to not return the formats disabled by user. Bug: 172905874 Test: atest CtsDisplayTestCases Change-Id: I4841af251ee0e4938614b154d0c5239814ea7cd9 Merged-In: I4841af251ee0e4938614b154d0c5239814ea7cd9
* Update device info on Display.getDeviceProductInfo()Marin Shalamanov2021-03-111-1/+4
| | | | | | | | | Each getter of the Display class should first call updateDisplayInfoLocked(). Test: presubmit Bug: 179775994 Change-Id: I4df9945cd030296da0e170411af8c66c89f57adf
* Display API: Do not expose internal locksMarin Shalamanov2021-03-111-34/+35
| | | | | | | | | Currently the display class synchronizes on this, which is against the API guidelines. Bug: 171240622 Test: presubmit Change-Id: I5706cb38803c9868cc4bae0803aa3fd0c5991bde
* Temporarily exclude Launcher from sandboxing; to be reverted onceNaomi Musgrave2021-03-091-1/+41
| | | | | | | | bug is addressed. Bug: 181219241 Test: Manual Change-Id: I468104a853908c5649359084fa9d683e7f1ce532
* Sandbox letterbox and size compat appsNaomi Musgrave2021-03-091-3/+45
| | | | | | | | | | | | | | | | | Sandbox Display#getRealSize and WindowManager bounds when letterbox or size compat mode are applied to the configuration. Display uses this field to provide the sandboxed display size. This reverts commit 0ba6185639c20ee8a55cf697aad00716b14d22e9. Test: atest WindowConfigurationTests Test: atest FrameworksMockingCoreTests:android.view.DisplayTests Test: atest WmTests:SizeCompatTests Bug: 181219241 Change-Id: I86e8edb8368269da8e02cf34f429d245550666c6
* Deprecate Display#getRealSize / getRealMetrics, and direct usersNaomi Musgrave2021-03-091-24/+84
| | | | | | | | to WindowManager#getCurrentWindowMetrics instead Bug: 171386167 Test: manual Change-Id: I8ebb08d514138f7f3a2b4aae29f59c8452c5aa0f
* Adding public API to expose DisplayInfo.deviceProductInfoKriti Dang2021-02-261-0/+13
| | | | | | | | | | Changing class DeviceProductInfo to public class with hidden ctor to expose via Display#getDeviceProductInfo. Removing the relative address and changing to connectionToSinkType. Bug: 179775994 Test: atest CtsDisplayTestCases Change-Id: I92f32461a054244b75dc4d5ddfd30e9a7968f3dd
* Revert "Adding public API to expose DisplayInfo.deviceProductInfo"Ulyana Trafimovich2021-02-231-13/+0
| | | | | | | | | | | | | | | | | | | | | | | Revert "Adding aidl file to share deviceProductInfo constants bw..." Revert "Changes in tvsystem/ DeviceProductInfo to mirror changes..." Revert "Adding new CTS test for the API display#getDeviceProductInfo" Revert submission 13552775-expose DisplayInfo.deviceProductInfo Reason for revert: broken test android.compat.sjp.cts.StrictJavaPackagesTest#testBootClassPathAndSystemServerClasspath_nonDuplicateClasses on git_sc-dev on cf_x86_64_phone-userdebug at 7162420 Bug: 181021245 Reverted Changes: Id6767127f:Adding aidl file to share deviceProductInfo consta... I6959d2829:Adding public API to expose DisplayInfo.deviceProd... I720dbfe84:Adding new CTS test for the API display#getDeviceP... I6c726e12c:Changes in tvsystem/ DeviceProductInfo to mirror c... Change-Id: I4c8545c651d1e399ed3ca5061d1ef5f526c3929a
* Adding public API to expose DisplayInfo.deviceProductInfoKriti Dang2021-02-191-0/+13
| | | | | | | | | | Changing class DeviceProductInfo to public class with hidden ctor to expose via Display#getDeviceProductInfo. Removing the relative address and changing to connectionToSinkType. Bug: 179775994 Test: atest CtsDisplayTestCases Change-Id: I6959d2829f7ff9ba609f9e4e3cb7b52e0f555c3f
* Merge "Revert "Sandbox letterbox and size compat apps"" into sc-devWinson Chung2021-02-051-54/+26
|\
| * Revert "Sandbox letterbox and size compat apps"Winson Chung2021-02-041-54/+26
| | | | | | | | | | | | | | | | This reverts commit 4d3f1c5681c4db99ffb4be881cee134b750542eb. Reason for revert: b/179308296 Change-Id: Idccf97038d5aa92268a13bacc512215878e8aefa
* | Merge "Provides apps the rounded corners info" into sc-devShawn Lin2021-02-031-0/+26
|\ \ | |/ |/|
| * Provides apps the rounded corners infoshawnlin2021-02-021-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Created a new @hide class RoundedCorners - The class is used to create and manager all the rounded corners. - Created a new public class RoundedCorner - Represent each rounded corner. - Created a new public API in Display to get the original rounded corners. - Created a new public API in WindowInsets to get the rounded corners relative to the window bounds. Bug: 161808676 Test: atest RoundedCornerTest RoundedCornersTest DisplayPolicyLayoutTests DisplayPolicyTests WallpaperControllerTests Change-Id: I58c671b0e9a077cdf26764c6302537c72db0f667
* | Sandbox letterbox and size compat appsNaomi Musgrave2021-02-031-26/+54
|/ | | | | | | | | | | | | | Sandbox Display#getRealSize and WindowManager bounds when letterbox or size compat mode are applied to the configuration. Display uses this field to provide the sandboxed display size. Test: atest WindowConfigurationTests Test: atest FrameworksMockingCoreTests:android.view.DisplayTests Test: atest WmTests:SizeCompatTests Bug: 171386167 Change-Id: I6f78edcd9214b52ab0708e3892bc86ee05bb5b9a
* Add DisplayGroup ID to DisplayInfoSean Stout2021-01-271-0/+13
| | | | | | | | | This allows for DisplayGroup to be used outside of the Display and Power subsystems. Bug: 175919470 test: make Change-Id: I4346196202b3fff8ac42b0a52a395d6fe61d8ea8
* Support folding display in screenshot controller.Santos Cordon2021-01-221-6/+8
| | | | | | | | | | | | Since the underlying display device can now change for the default logical display, we need to remove some caching that is done in screenshot controller to appropriately grab the correct display content when a sceenshot is requested. Test: Manually test that a screenshot is taken before and after a device's default display changed (folded device folds). Bug: 173144019 Change-Id: I8c8057f0eba78676580fa23c90cdf72cb6f1df9d
* Add config.xml fallback in DisplayDeviceConfigFiona Campbell2021-01-051-0/+13
| | | | | | | | | | | | | This change adds the default brightness to the ddc, and a fallback to config.xml when the ddc doesn't exist. It adds the minimum and maximum brightness constrtaints to the display device config - which are currently sourced from config.xml. Bug: 147415200 Test: manual Change-Id: Ibbfbbbd495048114befb3f867bd5f4e26916ca9e
* Update docs for getAlternativeRefreshRates()Marin Shalamanov2020-12-011-0/+3
| | | | | | Fixes: 173712255 Test: n/a Change-Id: Ic6170ccc3110d90fb0adab77b6f640fb4caab5e2
* Merge "Handle DISPLAY_EVENT_FRAME_RATE_OVERRIDE"Ady Abraham2020-11-231-1/+14
|\
| * Handle DISPLAY_EVENT_FRAME_RATE_OVERRIDEAdy Abraham2020-11-231-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When getting DISPLAY_EVENT_FRAME_RATE_OVERRIDE from SurfaceFlinger, expose the overridden frame rate to the relevant application if the current refresh rate allows that. Bug: 169271059 Bug: 169271062 Bug: 170503758 Test: manual test using SF backdoor adb shell service call SurfaceFlinger 1039 i32 <uid> f <refresh rate> Change-Id: I6ae1a98e6ca13e9d3d095a5713a6b0ca99652256
* | Introduce MeasuredEnergyStats to BatteryStatsImplMichael Wachenschwanz2020-11-201-0/+17
|/ | | | | | | | | | | | Initial checkin that plumbs the flow of energy consumption data through BatteryStatsService, BatteryStatsImpl, and BatteryExternalStatsWorker. Also, start monitoring the display subsystem measured enegy consumption and attribute energy to screen on and screen doze state. Fixes: 171728122 Test: atest FrameworksCoreTests:MeasuredEnergyStatsTest Change-Id: I014c2ee99da773ebc93e18d026b2e2e694d0d4b2
* Add Display.Mode.getAlternativeRefreshRates()Marin Shalamanov2020-11-061-2/+42
| | | | | | | | | | | | | | | Add a method to Display.Mode to return all refresh rates to which a seamless display mode switch can be done. Note that this is not a hard guarantee for seamless switches, but rather a guarantee that switching to any other mode will be non seamless. This is implemented using the config groups which we get from SurfaceFlinger. Bug: 161776429 Test: atest LocalDisplayAdapterTest Change-Id: Id0e721f6c278ce9dcc04d59422b2f881a1154102
* Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-10-291-3/+3
| | | | | | | | | | | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. This is a resubmit of ag/12929664 with some APIs excluded that caused test failures; see bugs 171886397, 171888296, 171864568. APIs excluded: Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord; Landroid/os/Process;->myPpid()I Landroid/os/SharedMemory;->getFd()I Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I Bug: 170729553 Test: Treehugger Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7
* Merge "Revert "Add maxTargetSdk restriction to unused APIs.""Hongwei Wang2020-10-281-3/+3
|\
| * Revert "Add maxTargetSdk restriction to unused APIs."Hongwei Wang2020-10-281-3/+3
| | | | | | | | | | | | | | | | | | This reverts commit 72f07d6a8a32db4a0dedd7682a0b3385be2b9cd6. Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?testMethod=testAppZygotePreload&testClass=android.app.cts.ServiceTest&atpConfigName=suite%2Ftest-mapping-presubmit-retry_cloud-tf&testModule=CtsAppTestCases&fkbb=6936597&lkbb=6936969&lkgb=6936551&testResults=true&branch=git_master&target=cf_x86_phone-userdebug>, bug b/171886397 Bug: 171886397 Change-Id: Ibe0f0430a3451477c1ee8ef56a596e91ea1e7672
* | Merge "Add maxTargetSdk restriction to unused APIs."Mathew Inwood2020-10-281-3/+3
|\|