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

Commit e78ba24c authored by Tenghui Zhu's avatar Tenghui Zhu Committed by Android (Google) Code Review
Browse files

Merge "Update the light center when the root view's layout changed" into nyc-dev

parents d34d0660 27571289
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -22811,6 +22811,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
         */
        boolean mKeepScreenOn;
        /**
         * Set during a traveral if the light center needs to be updated.
         */
        boolean mNeedsUpdateLightCenter;
        /**
         * Bitwise-or of all of the values that views have passed to setSystemUiVisibility().
         */
+10 −3
Original line number Diff line number Diff line
@@ -80,7 +80,6 @@ import android.view.accessibility.IAccessibilityInteractionConnection;
import android.view.accessibility.IAccessibilityInteractionConnectionCallback;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.Interpolator;
import android.view.inputmethod.InputConnection;
import android.view.inputmethod.InputMethodManager;
import android.widget.Scroller;

@@ -920,6 +919,11 @@ public final class ViewRootImpl implements ViewParent,
                // Recompute system ui visibility.
                mAttachInfo.mRecomputeGlobalAttributes = true;
            }
            if ((mWindowAttributesChangesFlag
                    & WindowManager.LayoutParams.LAYOUT_CHANGED) != 0) {
                // Request to update light center.
                mAttachInfo.mNeedsUpdateLightCenter = true;
            }
            if (mWindowAttributes.packageName == null) {
                mWindowAttributes.packageName = mBasePackageName;
            }
@@ -2226,13 +2230,16 @@ public final class ViewRootImpl implements ViewParent,
            }
            mAttachInfo.mWindowLeft = frame.left;
            mAttachInfo.mWindowTop = frame.top;

            // Update the light position for the new window offsets.
        }
        if (windowMoved || mAttachInfo.mNeedsUpdateLightCenter) {
            // Update the light position for the new offsets.
            if (mAttachInfo.mHardwareRenderer != null) {
                mAttachInfo.mHardwareRenderer.setLightCenter(mAttachInfo);
            }
            mAttachInfo.mNeedsUpdateLightCenter = false;
        }
    }

    private void handleOutOfResourcesException(Surface.OutOfResourcesException e) {
        Log.e(mTag, "OutOfResourcesException initializing HW surface", e);
        try {