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

Commit 7cc5539a authored by Adam Powell's avatar Adam Powell Committed by android-build-merger
Browse files

Only dispatch window visibility aggregation for targetSdk >= N am: 64e1ba43 am: 02abbe8d

am: ca3a2674

Change-Id: I906793dda8f825882b562ab39822274cb5a0a1c7
parents 0a4556ce ca3a2674
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ import android.hardware.input.InputManager;
import android.media.AudioManager;
import android.os.Binder;
import android.os.Build;
import android.os.Build.VERSION_CODES;
import android.os.Bundle;
import android.os.Debug;
import android.os.Handler;
@@ -1540,7 +1541,15 @@ public final class ViewRootImpl implements ViewParent,
        if (viewVisibilityChanged) {
            mAttachInfo.mWindowVisibility = viewVisibility;
            host.dispatchWindowVisibilityChanged(viewVisibility);

            // Prior to N we didn't have dispatchVisibilityAggregated to give a more accurate
            // view into when views are visible to the user or not. ImageView never dealt with
            // telling its drawable about window visibility, among other things. Some apps cause
            // an additional crossfade animation when windows become visible if they get this
            // additional call, so only send it to new apps to avoid new visual jank.
            if (host.getContext().getApplicationInfo().targetSdkVersion >= VERSION_CODES.N) {
                host.dispatchVisibilityAggregated(viewVisibility == View.VISIBLE);
            }
            if (viewVisibility != View.VISIBLE || mNewSurfaceNeeded) {
                endDragResizing();
                destroyHardwareResources();