Loading core/java/android/view/InsetsSourceConsumer.java +17 −9 Original line number Diff line number Diff line Loading @@ -98,6 +98,13 @@ public class InsetsSourceConsumer { */ private boolean mIsAnimationPending; /** * @param type The {@link InternalInsetsType} of the consumed insets. * @param state The current {@link InsetsState} of the consumed insets. * @param transactionSupplier The source of new {@link Transaction} instances. The supplier * must provide *new* instances, which will be explicitly closed by this class. * @param controller The {@link InsetsController} to use for insets interaction. */ public InsetsSourceConsumer(@InternalInsetsType int type, InsetsState state, Supplier<Transaction> transactionSupplier, InsetsController controller) { mType = type; Loading Loading @@ -390,7 +397,7 @@ public class InsetsSourceConsumer { return; } final Transaction t = mTransactionSupplier.get(); try (Transaction t = mTransactionSupplier.get()) { if (DEBUG) Log.d(TAG, "applyRequestedVisibilityToControl: " + mRequestedVisible); if (mRequestedVisible) { t.show(mSourceControl.getLeash()); Loading @@ -400,6 +407,7 @@ public class InsetsSourceConsumer { // Ensure the alpha value is aligned with the actual requested visibility. t.setAlpha(mSourceControl.getLeash(), mRequestedVisible ? 1 : 0); t.apply(); } onPerceptible(mRequestedVisible); } Loading core/java/android/view/SyncRtSurfaceTransactionApplier.java +5 −3 Original line number Diff line number Diff line Loading @@ -65,10 +65,12 @@ public class SyncRtSurfaceTransactionApplier { applyParams(t, params); mTargetViewRootImpl.registerRtFrameCallback(frame -> { if (mTargetSc == null || !mTargetSc.isValid()) { return; } if (mTargetSc != null && mTargetSc.isValid()) { applyTransaction(t, frame); } // The transaction was either dropped, successfully applied, or merged with a future // transaction, so we can safely release its resources. t.close(); }); // Make sure a frame gets scheduled. Loading core/java/android/view/ViewRootImpl.java +2 −1 Original line number Diff line number Diff line Loading @@ -4178,7 +4178,7 @@ public final class ViewRootImpl implements ViewParent, + " didProduceBuffer=" + didProduceBuffer); } Transaction tmpTransaction = new Transaction(); final Transaction tmpTransaction = new Transaction(); tmpTransaction.merge(mRtBLASTSyncTransaction); // If frame wasn't drawn, clear out the next transaction so it doesn't affect the next Loading Loading @@ -4209,6 +4209,7 @@ public final class ViewRootImpl implements ViewParent, blastSyncConsumer.accept(mSurfaceChangedTransaction); } } tmpTransaction.close(); if (reportNextDraw) { pendingDrawFinished(); Loading Loading
core/java/android/view/InsetsSourceConsumer.java +17 −9 Original line number Diff line number Diff line Loading @@ -98,6 +98,13 @@ public class InsetsSourceConsumer { */ private boolean mIsAnimationPending; /** * @param type The {@link InternalInsetsType} of the consumed insets. * @param state The current {@link InsetsState} of the consumed insets. * @param transactionSupplier The source of new {@link Transaction} instances. The supplier * must provide *new* instances, which will be explicitly closed by this class. * @param controller The {@link InsetsController} to use for insets interaction. */ public InsetsSourceConsumer(@InternalInsetsType int type, InsetsState state, Supplier<Transaction> transactionSupplier, InsetsController controller) { mType = type; Loading Loading @@ -390,7 +397,7 @@ public class InsetsSourceConsumer { return; } final Transaction t = mTransactionSupplier.get(); try (Transaction t = mTransactionSupplier.get()) { if (DEBUG) Log.d(TAG, "applyRequestedVisibilityToControl: " + mRequestedVisible); if (mRequestedVisible) { t.show(mSourceControl.getLeash()); Loading @@ -400,6 +407,7 @@ public class InsetsSourceConsumer { // Ensure the alpha value is aligned with the actual requested visibility. t.setAlpha(mSourceControl.getLeash(), mRequestedVisible ? 1 : 0); t.apply(); } onPerceptible(mRequestedVisible); } Loading
core/java/android/view/SyncRtSurfaceTransactionApplier.java +5 −3 Original line number Diff line number Diff line Loading @@ -65,10 +65,12 @@ public class SyncRtSurfaceTransactionApplier { applyParams(t, params); mTargetViewRootImpl.registerRtFrameCallback(frame -> { if (mTargetSc == null || !mTargetSc.isValid()) { return; } if (mTargetSc != null && mTargetSc.isValid()) { applyTransaction(t, frame); } // The transaction was either dropped, successfully applied, or merged with a future // transaction, so we can safely release its resources. t.close(); }); // Make sure a frame gets scheduled. Loading
core/java/android/view/ViewRootImpl.java +2 −1 Original line number Diff line number Diff line Loading @@ -4178,7 +4178,7 @@ public final class ViewRootImpl implements ViewParent, + " didProduceBuffer=" + didProduceBuffer); } Transaction tmpTransaction = new Transaction(); final Transaction tmpTransaction = new Transaction(); tmpTransaction.merge(mRtBLASTSyncTransaction); // If frame wasn't drawn, clear out the next transaction so it doesn't affect the next Loading Loading @@ -4209,6 +4209,7 @@ public final class ViewRootImpl implements ViewParent, blastSyncConsumer.accept(mSurfaceChangedTransaction); } } tmpTransaction.close(); if (reportNextDraw) { pendingDrawFinished(); Loading