Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 164d4bb4 authored by Craig Mautner's avatar Craig Mautner
Browse files

Extract AppTransition from WindowManager

Refactor of WindowManagerService to move app transitions out.

Change-Id: Id3e377526a69f95a3ee4c0d97ca6fd84005beb6a
parent d9c9f894
Loading
Loading
Loading
Loading
+629 −0

File added.

Preview size limit exceeded, changes collapsed.

+2 −2
Original line number Diff line number Diff line
@@ -58,12 +58,12 @@ public class AppWindowAnimator {
        mAnimator = atoken.mAnimator;
    }

    public void setAnimation(Animation anim, boolean initialized) {
    public void setAnimation(Animation anim) {
        if (WindowManagerService.localLOGV) Slog.v(
            TAG, "Setting animation in " + mAppToken + ": " + anim);
        animation = anim;
        animating = false;
        animInitialized = initialized;
        animInitialized = anim.isInitialized();
        anim.restrictDuration(WindowManagerService.MAX_ANIMATION_DURATION);
        anim.scaleCurrentDuration(mService.mTransitionAnimationScale);
        int zorder = anim.getZAdjustment();
+84 −550

File changed.

Preview size limit exceeded, changes collapsed.

+10 −9
Original line number Diff line number Diff line
@@ -627,6 +627,7 @@ final class WindowState implements WindowManagerPolicy.WindowState {
                : WindowManagerService.DEFAULT_INPUT_DISPATCHING_TIMEOUT_NANOS;
    }

    @Override
    public boolean hasAppShownWindows() {
        return mAppToken != null && (mAppToken.firstWindowDrawn || mAppToken.startingDisplayed);
    }
@@ -672,7 +673,7 @@ final class WindowState implements WindowManagerPolicy.WindowState {
    @Override
    public boolean isVisibleOrBehindKeyguardLw() {
        if (mRootToken.waitingToShow &&
                mService.mNextAppTransition != WindowManagerPolicy.TRANSIT_UNSET) {
                mService.mAppTransition.isTransitionSet()) {
            return false;
        }
        final AppWindowToken atoken = mAppToken;
@@ -751,7 +752,7 @@ final class WindowState implements WindowManagerPolicy.WindowState {
     */
    boolean isReadyForDisplay() {
        if (mRootToken.waitingToShow &&
                mService.mNextAppTransition != WindowManagerPolicy.TRANSIT_UNSET) {
                mService.mAppTransition.isTransitionSet()) {
            return false;
        }
        return mHasSurface && mPolicyVisibility && !mDestroying
@@ -766,8 +767,7 @@ final class WindowState implements WindowManagerPolicy.WindowState {
     * to the keyguard.
     */
    boolean isReadyForDisplayIgnoringKeyguard() {
        if (mRootToken.waitingToShow &&
                mService.mNextAppTransition != WindowManagerPolicy.TRANSIT_UNSET) {
        if (mRootToken.waitingToShow && mService.mAppTransition.isTransitionSet()) {
            return false;
        }
        final AppWindowToken atoken = mAppToken;
@@ -907,6 +907,7 @@ final class WindowState implements WindowManagerPolicy.WindowState {
    }

    private class DeathRecipient implements IBinder.DeathRecipient {
        @Override
        public void binderDied() {
            try {
                synchronized(mService.mWindowMap) {
+1 −1
Original line number Diff line number Diff line
@@ -1540,7 +1540,7 @@ class WindowStateAnimator {
                        break;
                }
                if (attr >= 0) {
                    a = mService.loadAnimation(mWin.mAttrs, attr);
                    a = mService.mAppTransition.loadAnimation(mWin.mAttrs, attr);
                }
            }
            if (WindowManagerService.DEBUG_ANIM) Slog.v(TAG,