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

Commit 998ff1c7 authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge "Only dispatch window visibility aggregation for targetSdk >= N am:...

Merge "Only dispatch window visibility aggregation for targetSdk >= N am: 64e1ba43" into nyc-mr1-dev
parents f14ba4c1 02abbe8d
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();