summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-04[automerger skipped] DO NOT MERGE ANYWHERE resolve merge conflicts of ↵android-9.0.0_r41android-9.0.0_r40android-9.0.0_r37android-9.0.0_r36pie-qpr3-s1-releasepie-b4s4-devBryan Ferris
bcf5e2388e608e4ec4372d1eeb918bbe0e095b2e to oc-dr1-dev am: 2ad06909c9 -s ours am skip reason: subject contains skip directive am: 1fb9beca3f -s ours am skip reason: subject contains skip directive Change-Id: Idf3e102c8176259eba32d253cd0d127f8d08d21b
2019-01-04[automerger skipped] DO NOT MERGE ANYWHERE resolve merge conflicts of ↵Bryan Ferris
bcf5e2388e608e4ec4372d1eeb918bbe0e095b2e to oc-dr1-dev am: 2ad06909c9 -s ours am skip reason: subject contains skip directive Change-Id: I08a81b0a363b7d31eb1bfbe1a64f24c2a78c8f67
2019-01-04DO NOT MERGE ANYWHERE resolve merge conflicts of ↵Bryan Ferris
bcf5e2388e608e4ec4372d1eeb918bbe0e095b2e to oc-dr1-dev Bug: 115739809 Bug: 120630087 Test: I solemnly swear I tested this conflict resolution. Change-Id: If09327be8a4b4c35efe580d99d441d9320cbe2e9
2019-01-02Sanitize InputMessage before sendingSiarhei Vishniakou
am: e730f5aaa1 Change-Id: Iadf7bddb31cbef821417fc33b6c1d734b8dfc730
2018-12-05[RenderEngine] Clamp input color for BT2020_PQ EOTFSiddharth Kapoor
Color input to EOTF for PQ transfer function is out-of-bounds [0.0, 1.0] Reason being, texture2D returns values which is not in range [0.0, 1.0]. These returned values are passed as gl_FragColor.rgb to EOTF for PQ transfer function. In EOTF, colors outside the range [0.0, 1.0] are rendered as black resulting in artifacts while video playback. Clamp the input color to the range [0.0, 1.0] Bug: 118794307 Test: Youtube HDR video plays fine, also screenshots taken while playback does not have any artifacts. Change-Id: I266f5a009c4c58924510283295757abae811a41e
2018-12-04Sanitize InputMessage before sendingSiarhei Vishniakou
The struct InputMessage has many fields, and is force-aligned to 8-byte boundaries. There are also some padding fields that carry no information. This struct is typically allocated in the stack and populated with various values before being sent across as a stream of bytes through the socket. Therefore, the "unused" data portions of the struct could contain portions of the stack, since there aren't ever writes to those memory locations. To avoid this information leak, forcefully sanitize the struct. Create a new struct that is explicitly set to zero. Next, only fill the meaningful fields manually. Bug: 115739809 Test: cts-tradefed run cts -m CtsSecurityBulletinHostTestCases -t android.security.cts.Poc18_12; adb shell monkey 100000 Change-Id: I7e44dacf1e8fa3156c8e4d2f7784ef0c53dab507 Merged-In: I7e44dacf1e8fa3156c8e4d2f7784ef0c53dab507
2018-12-05[automerger] Sanitize InputMessage before sending am: cb2f0ceed8 am: ↵Android Build Merger (Role)
9a7bf9f1db am: 0e9e9b0970 am: 26bf1d2499 am: e67d59255e Change-Id: Icb796e5fec430490c211ecfc365f38c0897c5d79
2018-12-05[automerger] Sanitize InputMessage before sending am: cb2f0ceed8 am: ↵Android Build Merger (Role)
9a7bf9f1db am: 0e9e9b0970 am: 26bf1d2499 Change-Id: I37de2ace6d13d022d63c11446a4a58ec929efa6f
2018-12-05[automerger] Sanitize InputMessage before sending am: cb2f0ceed8 am: ↵Android Build Merger (Role)
9a7bf9f1db am: 0e9e9b0970 Change-Id: I4fcda65956abf2331e0625ec71b76e32322584ef
2018-12-05[automerger] Sanitize InputMessage before sending am: cb2f0ceed8 am: 9a7bf9f1dbAndroid Build Merger (Role)
Change-Id: I4f797beb8c68c7442a908313ffb9d71c42ef5eec
2018-12-05[automerger] Sanitize InputMessage before sending am: cb2f0ceed8Android Build Merger (Role)
Change-Id: Id5fe663812bb4e355656cb0715ce4e56802e32e8
2018-12-04Sanitize InputMessage before sendingSiarhei Vishniakou
The struct InputMessage has many fields, and is force-aligned to 8-byte boundaries. There are also some padding fields that carry no information. This struct is typically allocated in the stack and populated with various values before being sent across as a stream of bytes through the socket. Therefore, the "unused" data portions of the struct could contain portions of the stack, since there aren't ever writes to those memory locations. To avoid this information leak, forcefully sanitize the struct. Create a new struct that is explicitly set to zero. Next, only fill the meaningful fields manually. Bug: 115739809 Test: cts-tradefed run cts -m CtsSecurityBulletinHostTestCases -t android.security.cts.Poc18_12; adb shell monkey 100000 Change-Id: I7e44dacf1e8fa3156c8e4d2f7784ef0c53dab507 Merged-In: I7e44dacf1e8fa3156c8e4d2f7784ef0c53dab507
2018-11-13Do not use raw coordinates in VelocityTrackerSiarhei Vishniakou
In P, we switched VelocityTracker to use raw coordinates when calculating the velocity. While that helped solve the issues with views being moved while touched, this has broken some other assumptions in the view hierarchy. Currently during dispatch, MotionEvent coordinates are getting adjusted as events are passed to the child views. One example is a rotated ListView. When setRotation is called on a ListView, ListView continues to use getYVelocity to determine the fling speed. However, after the view is rotated, its action is in the horizontal direction. This causes flings on ListView to not work properly. Further analysing the View system api, it appears that the problem could also occur in such cases as scale, where the view gets increased in size, and MotionEvents are adjusted accordingly. This issue could have been solved in the view hierarchy by changing the assumptions and reworking the VelocityTracker usage. However, that is deemed infeasible. The switch to raw coordinates was to resolve the issue when a moving view is trying to calculate the velocity of the fling. Since that no longer is possible, we will have to use work-arounds for those use cases. One such example is the SystemUI use case, in PanelView.java. Bug: 117921784 Bug: 117475766 Test: Sample app from bug 117475766, flings in the horizontal direction work properly Change-Id: If4cd6ace0bbef52521e1bbab8d58d649b295e2b7
2018-11-03SF: Fix DisplayTransactionTestLloyd Pique
SetupNewDisplayDeviceInternalTest.createHwcVirtualDisplay was failing after presubmit unit tests were enabled on pi-dev-plus-aosp. It turned out somehow the test had gotten out of sync with the implementation, and the expectations did not match for one of the cases tested. This patch simply fixes the test to use the correct expectations for what calls are made for a HWC supported virtual display when one is created. Bug: 118887786 Test: Presubmit passes Change-Id: I366e51d81ae3cb048e7a287e4f859ac92c55a20f
2018-10-31exclude broken test from presubmitGuang Zhu
Bug: 111454530 Bug: 118754178 Test: runng this change via forrest Change-Id: I7c1b2ae81feba7d9798cf7dcb999499b5a2cb27f Merged-In: I7c1b2ae81feba7d9798cf7dcb999499b5a2cb27f (cherry picked from commit 2e702c31452b27b757632544d0c479beee81b21b)
2018-10-11libui: add boundary check to GraphicBuffer::unflatten am: bf8d7210c4Chia-I Wu
am: 11ed3dccbd Change-Id: I29e41b7825be1d65aade78e8c536908183112b01
2018-10-11libui: add boundary check to GraphicBuffer::unflattenChia-I Wu
am: bf8d7210c4 Change-Id: Ia2ccc52e854e324cebd978ca648de438c23ae660
2018-10-09libui: add boundary check to GraphicBuffer::unflattenChia-I Wu
Commit cb496acbe593326e8d5d563847067d02b2df40ec removed the boundary check by accident. Bug: 114223584 Test: manual Change-Id: I057bc02d5807e438530d1a5327c2e02b9d154151
2018-09-25SF: Enforce a size limitation on SurfaceTracingYichi Chen
SurfaceTracing records operations of each frame update. It can exhaust more than 2GB on memory heap in 5 mins if display keeps updating. Enforce a size limitation on it and stop automatically to prevent memory and storage from exhausting. Note: Merge changes Iadbc1894, I3a3e499a Bug: 115434782 Test: Trigger SurfaceTracing on/off repeatedly for thread-safe Test: Enable SurfeaceTracing and let it disabled automatically Change-Id: I52d945f86a7bc501590b7c311f63a6273b9192fd Merged-In: I52d945f86a7bc501590b7c311f63a6273b9192fd
2018-08-27Add batterystats -c data to telephony bugreportsKelly Rossmoyer
Telephony bugreports currently capture 'dumpsys batterystats' output, but only in its human-friendly format. While humans may enjoy that format, Historian does not, and fails to properly load telephony bugreports (including those triggered by LowPowerMonitor) as a result. This makes it essentially impossible to use Historian when triaging/ analyzing telephony-style bugreports. To enable Historian processing of telephony bugreports, this change adds the 'checkin' format ("dumpsys batterystats -c") data along with the existing entries. ABT (Android Bug Tool) still doesn't properly list dumpsys sections in its UI even with this change, but I think nothing short of a full, comprehensive dumpsys run will make ABT happy. And that's okay, because all of the text content can still be navigated manually. Bug: 111763716 Test: Triggered telephony bugreports with and without the change on an appropriate device, manually verified that the checkin format data was present with the code change in place, and loaded the bugreport into Historian successfully. Change-Id: Iba434bfd219c627cd3c058e549a627947d9ce501
2018-08-22DO NOT MERGE Apply scissor in render engine for main displayYiwei Zhang
Bug: b/113041377 Test: manually Change-Id: I651357d456f13ff67961b75d3630aca91aa512ac
2018-08-22Merge "Get screencap working correctly in landscape mode" into pi-devTreeHugger Robot
2018-08-22Merge "Add getDisplayViewport for screenrecord tool" into pi-devTreeHugger Robot
2018-08-22Fix a typo when checking a touch is within the physical frame.Michael Wright
Bug: 112876936 Test: enable notchless simulation, try seascape apps, try swiping down Change-Id: I8a155e16c19c474e605cb5a8d938e04461646027
2018-08-22Get screencap working correctly in landscape modeYiwei Zhang
Bug: b/112869712 Test: adb shell screencap in all screen rotations Change-Id: I62b38775f8253bea85a1870ad63cd27715754656 Merged-In: I62b38775f8253bea85a1870ad63cd27715754656
2018-08-21Add getDisplayViewport for screenrecord toolYiwei Zhang
Bug: b/112869712 Test: adb shell screenrecord Change-Id: I9f3f99de1a5bafc5318b24484f1916d28dcdfaa7 Merged-In: I9f3f99de1a5bafc5318b24484f1916d28dcdfaa7
2018-08-21Merge "Make sure that touches are within the physical frame." into pi-devTreeHugger Robot
2018-08-21Make sure that touches are within the physical frame.Michael Wright
Right now we just check that touches are within the reported axis bounds, but really we should be checking whether they're in the physical frame before notifying the rest of the system about them. Also, fix a bug in touch transformation code where translations were being incorrectly applied. We should only apply top and left translations when we're in portrait and landscape orientations, as in seascape and upside down orientations they'll just exceed their stated maximum naturally. Bug: 112876936 Test: enable notchless simulation, try seascape apps, try swiping down Change-Id: I0f2119d5bdae10d6197bee942829fd0eed3f5dfa
2018-08-20Get screenshot to exclude black cutoutYiwei Zhang
Bug: b/112869712 Test: long press power button to take screenshots && adb shell screencap && apps to take screenshots and check Change-Id: Ieb83373c9103f9847775eca5788358b567a05b24 Merged-In: Ieb83373c9103f9847775eca5788358b567a05b24
2018-08-17surfaceflinger: silence misleading virtual display errorsChia-I Wu
Do not call HWComposer:: getColorModes getRenderIntents getHdrCapabilities getSupportedPerFrameMetadata getLayerReleaseFence when the display id is invalid. This happens with virtual displays when mUseHwcVirtualDisplays is false. Bug: 112082244 Test: screenrecord Change-Id: Ifd8a85fc15e1628744bf21277bd8fe3e2c322e46 Merged-In: Ifd8a85fc15e1628744bf21277bd8fe3e2c322e46
2018-08-10[automerger skipped] Merge "AOSP builds do not support Device ID ↵Eran Messeri
attestation" into pie-vts-dev am: 78c0e32983 -s ours Change-Id: I72a673a29f979ef87d789af4993a80c81bdb67d8
2018-08-10Merge "AOSP builds do not support Device ID attestation" into pie-vts-devandroid-vts-9.0_r9android-vts-9.0_r8android-vts-9.0_r7android-vts-9.0_r6android-vts-9.0_r5android-vts-9.0_r4android-vts-9.0_r12android-vts-9.0_r11android-vts-9.0_r10Treehugger Robot
2018-08-10AOSP builds do not support Device ID attestationEran Messeri
AOSP builds have different product & brand values than the ones flashed onto the device's Keymaster in the factory. As a result, Device ID attestation will not work on them correctly because there is a mismatch between the values sent to Keymaster by the platform and the values Keymaster is expecting to attest to. Mark AOSP builds as not having this feature since it would affect all AOSP builds on all devices. Bug: 110361822 Test: atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testKeyManagement Merged-In: I55e7c68b3e082af465c19cf18aeeeecffc4eb356 Change-Id: I55e7c68b3e082af465c19cf18aeeeecffc4eb356 (cherry picked from commit 4260ee9282f9666821dbdb4e7dda6c65f605a6b2)
2018-08-01SF: Layer children should call parents' onFirstRefDan Stoza
Classes which inherit indirectly from Layer and which override onFirstRef need to also call their parents' onFirstRef to ensure that Layer is initialized correctly. Bug: 111854867 Test: atest UiAutomationTest#testWindowContentFrameStats Change-Id: I5e29b6619d1a2e48277ad465a64d1f13bb92905c Merged-In: I5ceb531a5d59587ab489342d0b19a42c1a286402
2018-07-20Merge "SF: Add GL texture pool" into pi-devpie-dr1-devTreeHugger Robot
2018-07-17Do not block on allocating buffersJorim Jaggi
There is really no point in doing that because this can be done in an async way such that the first and subsequent dequeueBuffer still don't block because at that point allocation is very likely done. Furthermore, avoid calling setAsyncMode initially, as it will also block RT on buffer allocation. However, the default is false in any case, so we really don't need to call it. Also, only allocate one buffer at a time and don't block in dequeueBuffer on allocating buffers. It will likely have one buffer available already, and there is no point in waiting for other buffers to be allocated. Test: Press home with memory contention, observe less delay. Test: General smoke testing for increased jank Bug: 111517695 Change-Id: I9deb435013b2503178d2fe032151c1aaedd667af
2018-07-11Add current frame and barrier layer info to protobuf.chaviw
Added more info to the protobuf to help identify the root cause of the bug. Bug: 111062294 Test: go/winscope Change-Id: Ife93907482ad89341b20a5508acce04ad4a5b32e Merged-In: Ife93907482ad89341b20a5508acce04ad4a5b32e
2018-07-09Add SF proto dump to bugreportchaviw
Bug: 111062294 Test: adb bugreport Change-Id: I40aa5f75d40b401b4f0eef5390106b3dac62ef43
2018-07-03Merge changes from topic "boot-splash" into pi-devChia-I Wu
* changes: surfaceflinger: default to DisplayColorSetting::ENHANCED surfaceflinger: signalRefresh after boot animation starts
2018-07-03Merge "atrace: make 'lowmemorykiller' directory optional for memreclaim" ↵TreeHugger Robot
into pi-dev
2018-07-03surfaceflinger: default to DisplayColorSetting::ENHANCEDChia-I Wu
DisplayColorSetting works like a hint. On devices that do not support RenderIntent::ENHANCE, RenderIntent::COLORIMETRIC will be picked. Bug: 79434305 Test: Pixel 2017 and 2018 boot animations Change-Id: Ie85cca6eae75cf6ada3a4a364c402d09dc2920f9
2018-07-03surfaceflinger: signalRefresh after boot animation startsChia-I Wu
Assume BootStage::BOOTLOADER initially. Switch to BootStage::BOOTANIMATION on first buffer latch and switch to BootStage::FINISHED after bootFinished is called. Do not invoke signalRefresh when in BootStage::BOOTLOADER. We do not want to replace bootloader splash by a blank screen. This saves HWC from workarounds that may or may not work reliably. Bug: 79434305 Bug: 110772452 Test: reboot and observe Change-Id: I9e892e629303177431acd2cfe23f0f984ca6866e Merged-In: I9e892e629303177431acd2cfe23f0f984ca6866e
2018-07-03Merge "[SurfaceFlinger] Avoid querying Power HAL until switching color ↵TreeHugger Robot
mode." into pi-dev
2018-07-02atrace: make 'lowmemorykiller' directory optional for memreclaimCarmen Jackson
The 'lowmemorykiller' directory isn't used for lmk tracing on devices that have userspace lmk. Bug: 110999121 Test: The memreclaim option is available in Traceur on a device with userspace lmk. Change-Id: I5dadb5c6c55cb04b6fe079b5f10a3dc35f1ee3f1
2018-07-02[SurfaceFlinger] Avoid querying Power HAL until switching color mode.Peiyong Lin
Previously, SurfaceFlinger would query Power HAL speculatively at the first time color mode is set when device is booted. Howerver, Power HAL is not necessary started before SurfaceFlinger and it's not necessary to query Power HAL when color mode is not switched. As a result, the boot time is very long because SurfaceFlinger needs to wait for Power HAL to start. Thus, in this patch, we avoid querying Power HAL until color mode is switched, which won't happen until we enter wide-color-gamut Apps. BUG: 110112323 BUG: 111009852 Test: Build, flash and boot device, check hardware.power output with adb logcat Change-Id: Ia581461ba7861784bff35cac6fbeca9bac92b8fa
2018-06-29[SurfaceFlinger] Apply legacy saturation matrix globally for Display P3.Chia-I Wu
We disallow legacy saturation matrix since this commit. For those do have such a matrix, instead of applying it between sRGB->P3 conversion, we apply it on P3. This means P3 and HDR tone mapped to P3 are also saturated. Bug: 110840428 Test: See red/orange scene through Camera ViewFinder, take a picture, check the picture in Photos App, the red/orange should have similar saturation. Change-Id: I335b39888a76c7e411d9e03d9ad71448cbd7c05f Merged-In: I335b39888a76c7e411d9e03d9ad71448cbd7c05f
2018-06-27Merge "Add new PowerAdvisor interface for SF to pass hints to the power ↵TreeHugger Robot
HAL." into pi-dev
2018-06-26Add new PowerAdvisor interface for SF to pass hints to the power HAL.Michael Wright
GPU composition is slow with FP16 wide color gamut. In this patch, we try to mitigate this issue by boosting the GPU to higher frequency when SurfaceFlinger is going to switch to Display P3 color mode by sending the new PowerHint::EXPENSIVE_RENDERING to PowerManager. BUG: 110112323 Test: adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/cur_freq to verify GPU frequency with/without WCG content. GPU frequency should be high with WCG content, and should be reset without WCG content. Change-Id: I3758bcf9940e71d4b6d122d8916b7ad7f10f5397 Merged-In: I3758bcf9940e71d4b6d122d8916b7ad7f10f5397
2018-06-26Merge "AOSP builds do not support Device ID attestation" into pi-devEran Messeri
2018-06-26Merge "Don't access system properties from vendor code." into pi-devMartijn Coenen