Fix a bug about the z-order of layers caused by merging transactions
Each WindowContainer has its own pending transaction. These transactions may be merged to the global one within WindowContainer.prepareSurfaces() in a hierarchy-based order, not in a time-based order. It may cause that a later surface operation overwritten by an earlier surface operation. For example, atokenA.setLayer(t1, 0) was called earlier, and then atokenA.setLayer(t2, 1) was called later. However, the layer of atokenA might eventually be 0 because t1 could be merged into the global transaction later. This CL uses a single transaction per display to solve this problem. Fix: 120282809 Test: atest SurfaceAnimatorTest Test: Manual test with the steps in the issue. Change-Id: Idca57d01d8be884369510642c2d9345b6ee4e3b1
Loading
Please register or sign in to comment