final Transformation thumbnailTransformation = new Transformation();
/** WindowStateAnimator from mAppAnimator.allAppWindows as of last performLayout */
- ArrayList<WindowStateAnimator> mAllAppWinAnimators;
+ ArrayList<WindowStateAnimator> mAllAppWinAnimators = new ArrayList<WindowStateAnimator>();
static final Animation sDummyAnimation = new DummyAnimation();
for (int i = 0; i < N; i++) {
final AppWindowAnimParams params = layoutToAnim.mAppWindowAnimParams.get(i);
AppWindowAnimator appAnimator = params.mAppAnimator;
- appAnimator.mAllAppWinAnimators =
- new ArrayList<WindowStateAnimator>(params.mWinAnimators);
+ appAnimator.mAllAppWinAnimators.clear();
+ appAnimator.mAllAppWinAnimators.addAll(params.mWinAnimators);
mAppAnimators.add(appAnimator);
}
}
NN = mOpeningApps.size();
for (i=0; i<NN; i++) {
AppWindowToken wtoken = mOpeningApps.get(i);
+ final AppWindowAnimator appAnimator = wtoken.mAppAnimator;
if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "Now opening app" + wtoken);
- wtoken.mAppAnimator.clearThumbnail();
+ appAnimator.clearThumbnail();
wtoken.reportedVisible = false;
wtoken.inPendingTransaction = false;
- wtoken.mAppAnimator.animation = null;
+ appAnimator.animation = null;
setTokenVisibilityLocked(wtoken, animLp, true, transit, false);
wtoken.updateReportedVisibilityLocked();
wtoken.waitingToShow = false;
- mAnimator.mAnimating |= wtoken.mAppAnimator.showAllWindowsLocked();
+
+ appAnimator.mAllAppWinAnimators.clear();
+ final int N = wtoken.allAppWindows.size();
+ for (int j = 0; j < N; j++) {
+ appAnimator.mAllAppWinAnimators.add(wtoken.allAppWindows.get(j).mWinAnimator);
+ }
+ mAnimator.mAnimating |= appAnimator.showAllWindowsLocked();
+
if (animLp != null) {
int layer = -1;
for (int j=0; j<wtoken.windows.size(); j++) {