Remove unnecessary wallpaper adjustment on transition

Since WallpaperController won't change wallpaper target if the
closing target is in transition, the adjustWallpaperWindows
won't change any state when transition is ready but spend the
time to traverse.

The entry points from AR#setVisibility->requestUpdateWallpaperIfNeeded
and transition finish->commitVisibility->postApplyAnimation
->FINISH_LAYOUT_REDO_WALLPAPER are already enough to update.

Bug: 260059642
Bug: 258880446
Test: WallpaperControllerTests
Change-Id: I6b48099c455c2987c74b31b9d6d7d06d484a7c56
(cherry picked from commit 46332a8e65)
This commit is contained in:
Riddle Hsu
2022-11-17 23:40:09 +08:00
parent 4f76d7728b
commit 703eba7351
2 changed files with 0 additions and 16 deletions

View File

@@ -918,13 +918,6 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe
mOverrideOptions = null;
return;
}
// Ensure that wallpaper visibility is updated with the latest wallpaper target.
for (int i = mParticipants.size() - 1; i >= 0; --i) {
final WindowContainer<?> wc = mParticipants.valueAt(i);
if (isWallpaper(wc) && wc.getDisplayContent() != null) {
wc.getDisplayContent().mWallpaperController.adjustWallpaperWindows();
}
}
mState = STATE_PLAYING;
mStartTransaction = transaction;

View File

@@ -372,15 +372,6 @@ public class WallpaperControllerTests extends WindowTestsBase {
dc.mTransitionController.finishTransition(transit);
assertFalse(wallpaperWindow.isVisible());
assertFalse(token.isVisible());
// Assume wallpaper was visible. When transaction is ready without wallpaper target,
// wallpaper should be requested to be invisible.
token.setVisibility(true);
transit = dc.mTransitionController.createTransition(TRANSIT_CLOSE);
dc.mTransitionController.collect(token);
transit.onTransactionReady(transit.getSyncId(), t);
assertFalse(token.isVisibleRequested());
assertTrue(token.isVisible());
}
private static void prepareSmallerSecondDisplay(DisplayContent dc, int width, int height) {