Merge "Ensure that mAllAppWinAnimators is not null." into jb-mr1-dev

This commit is contained in:
Craig Mautner
2012-08-20 10:30:00 -07:00
committed by Android (Google) Code Review
3 changed files with 14 additions and 6 deletions

View File

@@ -47,7 +47,7 @@ public class AppWindowAnimator {
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();

View File

@@ -190,8 +190,8 @@ public class WindowAnimator {
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);
}
}

View File

@@ -8367,15 +8367,23 @@ public class WindowManagerService extends IWindowManager.Stub
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++) {