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

Commit 56d4dae9 authored by Teng-Hui Zhu's avatar Teng-Hui Zhu Committed by android-build-merger
Browse files

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

am: e78ba24c

* commit 'e78ba24c':
  Update the light center when the root view's layout changed

Change-Id: Ic973b9b47df6550c5170c2248c7e0f2ab25c6a57
parents 29e88793 e78ba24c
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 {