Merge "Skip updating the leash if a task is removed prior to sync completion" into tm-qpr-dev
This commit is contained in:
@@ -108,6 +108,10 @@ public class FullscreenTaskListener implements ShellTaskOrganizer.TaskListener {
|
|||||||
}
|
}
|
||||||
if (!createdWindowDecor) {
|
if (!createdWindowDecor) {
|
||||||
mSyncQueue.runInSync(t -> {
|
mSyncQueue.runInSync(t -> {
|
||||||
|
if (!leash.isValid()) {
|
||||||
|
// Task vanished before sync completion
|
||||||
|
return;
|
||||||
|
}
|
||||||
// Reset several properties back to fullscreen (PiP, for example, leaves all these
|
// Reset several properties back to fullscreen (PiP, for example, leaves all these
|
||||||
// properties in a bad state).
|
// properties in a bad state).
|
||||||
t.setWindowCrop(leash, null);
|
t.setWindowCrop(leash, null);
|
||||||
@@ -136,6 +140,10 @@ public class FullscreenTaskListener implements ShellTaskOrganizer.TaskListener {
|
|||||||
final Point positionInParent = state.mTaskInfo.positionInParent;
|
final Point positionInParent = state.mTaskInfo.positionInParent;
|
||||||
if (!oldPositionInParent.equals(state.mTaskInfo.positionInParent)) {
|
if (!oldPositionInParent.equals(state.mTaskInfo.positionInParent)) {
|
||||||
mSyncQueue.runInSync(t -> {
|
mSyncQueue.runInSync(t -> {
|
||||||
|
if (!state.mLeash.isValid()) {
|
||||||
|
// Task vanished before sync completion
|
||||||
|
return;
|
||||||
|
}
|
||||||
t.setPosition(state.mLeash, positionInParent.x, positionInParent.y);
|
t.setPosition(state.mLeash, positionInParent.x, positionInParent.y);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user