Merge "Only dispatch window visibility aggregation for targetSdk >= N" into nyc-dr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
081e393103
@@ -52,6 +52,7 @@ import android.hardware.input.InputManager;
|
|||||||
import android.media.AudioManager;
|
import android.media.AudioManager;
|
||||||
import android.os.Binder;
|
import android.os.Binder;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
import android.os.Build.VERSION_CODES;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Debug;
|
import android.os.Debug;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
@@ -1540,7 +1541,15 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
if (viewVisibilityChanged) {
|
if (viewVisibilityChanged) {
|
||||||
mAttachInfo.mWindowVisibility = viewVisibility;
|
mAttachInfo.mWindowVisibility = viewVisibility;
|
||||||
host.dispatchWindowVisibilityChanged(viewVisibility);
|
host.dispatchWindowVisibilityChanged(viewVisibility);
|
||||||
host.dispatchVisibilityAggregated(viewVisibility == View.VISIBLE);
|
|
||||||
|
// 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) {
|
if (viewVisibility != View.VISIBLE || mNewSurfaceNeeded) {
|
||||||
endDragResizing();
|
endDragResizing();
|
||||||
destroyHardwareResources();
|
destroyHardwareResources();
|
||||||
|
|||||||
Reference in New Issue
Block a user