Merge "Update the light center when the root view\'s layout changed" into nyc-dev
am: e78ba24c17
* commit 'e78ba24c176fd6a0c54eaf7e52be545952ba1ab7':
Update the light center when the root view's layout changed
Change-Id: Ic973b9b47df6550c5170c2248c7e0f2ab25c6a57
This commit is contained in:
@@ -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().
|
||||
*/
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user