Loading services/core/java/com/android/server/wm/Transition.java +5 −6 Original line number Original line Diff line number Diff line Loading @@ -1240,16 +1240,15 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { } } // Update the input-sink (touch-blocking) state now that the animation is finished. // Update the input-sink (touch-blocking) state now that the animation is finished. SurfaceControl.Transaction inputSinkTransaction = null; boolean scheduleAnimation = false; for (int i = 0; i < mParticipants.size(); ++i) { for (int i = 0; i < mParticipants.size(); ++i) { final ActivityRecord ar = mParticipants.valueAt(i).asActivityRecord(); final ActivityRecord ar = mParticipants.valueAt(i).asActivityRecord(); if (ar == null || !ar.isVisible() || ar.getParent() == null) continue; if (ar == null || !ar.isVisible() || ar.getParent() == null) continue; if (inputSinkTransaction == null) { scheduleAnimation = true; inputSinkTransaction = ar.mWmService.mTransactionFactory.get(); ar.mActivityRecordInputSink.applyChangesToSurfaceIfChanged(ar.getPendingTransaction()); } } ar.mActivityRecordInputSink.applyChangesToSurfaceIfChanged(inputSinkTransaction); // To apply pending transactions. } if (scheduleAnimation) mController.mAtm.mWindowManager.scheduleAnimationLocked(); if (inputSinkTransaction != null) inputSinkTransaction.apply(); // Always schedule stop processing when transition finishes because activities don't // Always schedule stop processing when transition finishes because activities don't // stop while they are in a transition thus their stop could still be pending. // stop while they are in a transition thus their stop could still be pending. Loading Loading
services/core/java/com/android/server/wm/Transition.java +5 −6 Original line number Original line Diff line number Diff line Loading @@ -1240,16 +1240,15 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { } } // Update the input-sink (touch-blocking) state now that the animation is finished. // Update the input-sink (touch-blocking) state now that the animation is finished. SurfaceControl.Transaction inputSinkTransaction = null; boolean scheduleAnimation = false; for (int i = 0; i < mParticipants.size(); ++i) { for (int i = 0; i < mParticipants.size(); ++i) { final ActivityRecord ar = mParticipants.valueAt(i).asActivityRecord(); final ActivityRecord ar = mParticipants.valueAt(i).asActivityRecord(); if (ar == null || !ar.isVisible() || ar.getParent() == null) continue; if (ar == null || !ar.isVisible() || ar.getParent() == null) continue; if (inputSinkTransaction == null) { scheduleAnimation = true; inputSinkTransaction = ar.mWmService.mTransactionFactory.get(); ar.mActivityRecordInputSink.applyChangesToSurfaceIfChanged(ar.getPendingTransaction()); } } ar.mActivityRecordInputSink.applyChangesToSurfaceIfChanged(inputSinkTransaction); // To apply pending transactions. } if (scheduleAnimation) mController.mAtm.mWindowManager.scheduleAnimationLocked(); if (inputSinkTransaction != null) inputSinkTransaction.apply(); // Always schedule stop processing when transition finishes because activities don't // Always schedule stop processing when transition finishes because activities don't // stop while they are in a transition thus their stop could still be pending. // stop while they are in a transition thus their stop could still be pending. Loading