diff options
| author | 2020-05-29 16:15:13 +0000 | |
|---|---|---|
| committer | 2020-05-29 16:15:13 +0000 | |
| commit | 40fd03fbd56ed23a1305258fcd6c37c6d245b905 (patch) | |
| tree | 29483b6f334cf61ab4e220856ca17db7156d0062 | |
| parent | 95fc6d9e659f7ed3314b21a943599c6f83d01f80 (diff) | |
| parent | 3b14973e19f103210f18662b65ca2fae35254762 (diff) | |
Merge "Added getSyncTransaction" into rvc-dev am: 652a48156c am: a6bcf4c2d8 am: 3b14973e19
Change-Id: Ie09bce5ab697a8879553ded0d0078b711e9de446
8 files changed, 34 insertions, 37 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 982785e6339e..5ef9d9e627ff 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -5985,9 +5985,9 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A if (mSurfaceControl != null) { if (show && !mLastSurfaceShowing) { - getPendingTransaction().show(mSurfaceControl); + getSyncTransaction().show(mSurfaceControl); } else if (!show && mLastSurfaceShowing) { - getPendingTransaction().hide(mSurfaceControl); + getSyncTransaction().hide(mSurfaceControl); } } if (mThumbnail != null) { diff --git a/services/core/java/com/android/server/wm/ActivityStack.java b/services/core/java/com/android/server/wm/ActivityStack.java index 361df1444e87..d0f6465a6bc1 100644 --- a/services/core/java/com/android/server/wm/ActivityStack.java +++ b/services/core/java/com/android/server/wm/ActivityStack.java @@ -3213,7 +3213,7 @@ class ActivityStack extends Task { } private void updateSurfaceBounds() { - updateSurfaceSize(getPendingTransaction()); + updateSurfaceSize(getSyncTransaction()); updateSurfacePosition(); scheduleAnimation(); } diff --git a/services/core/java/com/android/server/wm/Dimmer.java b/services/core/java/com/android/server/wm/Dimmer.java index 5efc9241a494..fdcc3f4d1510 100644 --- a/services/core/java/com/android/server/wm/Dimmer.java +++ b/services/core/java/com/android/server/wm/Dimmer.java @@ -53,7 +53,7 @@ class Dimmer { @Override public SurfaceControl.Transaction getPendingTransaction() { - return mHost.getPendingTransaction(); + return mHost.getSyncTransaction(); } @Override diff --git a/services/core/java/com/android/server/wm/DisplayArea.java b/services/core/java/com/android/server/wm/DisplayArea.java index 8260cb31acda..b2fab9ae98c5 100644 --- a/services/core/java/com/android/server/wm/DisplayArea.java +++ b/services/core/java/com/android/server/wm/DisplayArea.java @@ -290,7 +290,7 @@ public class DisplayArea<T extends WindowContainer> extends WindowContainer<T> { mDimmer.resetDimStates(); } - if (mDimmer.updateDims(getPendingTransaction(), mTmpDimBoundsRect)) { + if (mDimmer.updateDims(getSyncTransaction(), mTmpDimBoundsRect)) { scheduleAnimation(); } } diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index bf7ec910f197..7efa87c43754 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -1923,7 +1923,7 @@ class Task extends WindowContainer<WindowContainer> { super.onConfigurationChanged(newParentConfig); // Only need to update surface size here since the super method will handle updating // surface position. - updateSurfaceSize(getPendingTransaction()); + updateSurfaceSize(getSyncTransaction()); if (wasInPictureInPicture != inPinnedWindowingMode()) { mStackSupervisor.scheduleUpdatePictureInPictureModeIfNeeded(this, getStack()); @@ -3475,20 +3475,6 @@ class Task extends WindowContainer<WindowContainer> { return mDimmer; } - void dim(float alpha) { - mDimmer.dimAbove(getPendingTransaction(), alpha); - scheduleAnimation(); - } - - void stopDimming() { - mDimmer.stopDim(getPendingTransaction()); - scheduleAnimation(); - } - - boolean isTaskForUser(int userId) { - return mUserId == userId; - } - @Override void prepareSurfaces() { mDimmer.resetDimStates(); @@ -3504,9 +3490,9 @@ class Task extends WindowContainer<WindowContainer> { mTmpDimBoundsRect.offsetTo(0, 0); } - updateShadowsRadius(isFocused(), getPendingTransaction()); + updateShadowsRadius(isFocused(), getSyncTransaction()); - if (mDimmer.updateDims(getPendingTransaction(), mTmpDimBoundsRect)) { + if (mDimmer.updateDims(getSyncTransaction(), mTmpDimBoundsRect)) { scheduleAnimation(); } } @@ -4317,7 +4303,7 @@ class Task extends WindowContainer<WindowContainer> { // skip this for tasks created by the organizer because they can synchronously update // the leash before new children are added to the task. if (!mCreatedByOrganizer && mTaskOrganizer != null && !prevHasBeenVisible) { - getPendingTransaction().hide(getSurfaceControl()); + getSyncTransaction().hide(getSurfaceControl()); commitPendingTransaction(); } @@ -4500,7 +4486,7 @@ class Task extends WindowContainer<WindowContainer> { * @param hasFocus */ void onWindowFocusChanged(boolean hasFocus) { - updateShadowsRadius(hasFocus, getPendingTransaction()); + updateShadowsRadius(hasFocus, getSyncTransaction()); } void onPictureInPictureParamsChanged() { diff --git a/services/core/java/com/android/server/wm/TaskDisplayArea.java b/services/core/java/com/android/server/wm/TaskDisplayArea.java index 6dde5b0d4879..22054db20bbd 100644 --- a/services/core/java/com/android/server/wm/TaskDisplayArea.java +++ b/services/core/java/com/android/server/wm/TaskDisplayArea.java @@ -646,7 +646,7 @@ final class TaskDisplayArea extends DisplayArea<ActivityStack> { mSplitScreenDividerAnchor = makeChildSurface(null) .setName("splitScreenDividerAnchor") .build(); - getPendingTransaction() + getSyncTransaction() .show(mAppAnimationLayer) .show(mBoostedAppAnimationLayer) .show(mHomeAppAnimationLayer) diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java index 3fe8229e2ec2..1e4f309083a2 100644 --- a/services/core/java/com/android/server/wm/WindowContainer.java +++ b/services/core/java/com/android/server/wm/WindowContainer.java @@ -386,7 +386,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< // surface animator such that hierarchy is preserved when animating, i.e. // mSurfaceControl stays attached to the leash and we just reparent the leash to the // new parent. - reparentSurfaceControl(getPendingTransaction(), mParent.mSurfaceControl); + reparentSurfaceControl(getSyncTransaction(), mParent.mSurfaceControl); } if (callback != null) { @@ -404,8 +404,8 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< private void setInitialSurfaceControlProperties(SurfaceControl surfaceControl) { setSurfaceControl(surfaceControl); - getPendingTransaction().show(mSurfaceControl); - onSurfaceShown(getPendingTransaction()); + getSyncTransaction().show(mSurfaceControl); + onSurfaceShown(getSyncTransaction()); updateSurfacePosition(); } @@ -575,7 +575,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< void removeImmediately() { final DisplayContent dc = getDisplayContent(); if (dc != null) { - mSurfaceFreezer.unfreeze(getPendingTransaction()); + mSurfaceFreezer.unfreeze(getSyncTransaction()); dc.mChangingContainers.remove(this); } while (!mChildren.isEmpty()) { @@ -590,7 +590,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< } if (mSurfaceControl != null) { - getPendingTransaction().remove(mSurfaceControl); + getSyncTransaction().remove(mSurfaceControl); setSurfaceControl(null); mLastSurfacePosition.set(0, 0); scheduleAnimation(); @@ -1002,7 +1002,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< void onChildVisibilityRequested(boolean visible) { // If we are changing visibility, then a snapshot isn't necessary and we are no-longer // part of a change transition. - mSurfaceFreezer.unfreeze(getPendingTransaction()); + mSurfaceFreezer.unfreeze(getSyncTransaction()); if (mDisplayContent != null) { mDisplayContent.mChangingContainers.remove(this); } @@ -1901,7 +1901,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< } void assignChildLayers() { - assignChildLayers(getPendingTransaction()); + assignChildLayers(getSyncTransaction()); scheduleAnimation(); } @@ -2050,12 +2050,23 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< return mSurfaceControl; } - @Override - public Transaction getPendingTransaction() { + /** + * Use this method instead of {@link #getPendingTransaction()} if the Transaction should be + * synchronized with the client. + * + * @return {@link #mBLASTSyncTransaction} if available. Otherwise, returns + * {@link #getPendingTransaction()} + */ + public Transaction getSyncTransaction() { if (mUsingBLASTSyncTransaction) { return mBLASTSyncTransaction; } + return getPendingTransaction(); + } + + @Override + public Transaction getPendingTransaction() { final DisplayContent displayContent = getDisplayContent(); if (displayContent != null && displayContent != this) { return displayContent.getPendingTransaction(); @@ -2465,7 +2476,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< } final void updateSurfacePosition() { - updateSurfacePosition(getPendingTransaction()); + updateSurfacePosition(getSyncTransaction()); } void updateSurfacePosition(Transaction t) { diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 4f1893eb6c13..ae21174583d2 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -5240,7 +5240,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP private void applyDims(Dimmer dimmer) { if (!mAnimatingExit && mAppDied) { mIsDimming = true; - dimmer.dimAbove(getPendingTransaction(), this, DEFAULT_DIM_AMOUNT_DEAD_WINDOW); + dimmer.dimAbove(getSyncTransaction(), this, DEFAULT_DIM_AMOUNT_DEAD_WINDOW); } else if ((mAttrs.flags & FLAG_DIM_BEHIND) != 0 && isVisibleNow() && !mHidden) { // Only show a dim behind when the following is satisfied: // 1. The window has the flag FLAG_DIM_BEHIND @@ -5248,7 +5248,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP // 3. The WS is considered visible according to the isVisible() method // 4. The WS is not hidden. mIsDimming = true; - dimmer.dimBelow(getPendingTransaction(), this, mAttrs.dimAmount); + dimmer.dimBelow(getSyncTransaction(), this, mAttrs.dimAmount); } } |