Merge changes Ibc2f40dd,I37fb8ffc into tm-qpr-dev
* changes: Don't perform config change if relayoutAsync Apply synced relayout if we have FLAG_WINDOW_VISIBILITY_CHANGED
This commit is contained in:
@@ -3064,7 +3064,8 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
// WindowManagerService has reported back a frame from a configuration not yet
|
// WindowManagerService has reported back a frame from a configuration not yet
|
||||||
// handled by the client. In this case, we need to accept the configuration so we
|
// handled by the client. In this case, we need to accept the configuration so we
|
||||||
// do not lay out and draw with the wrong configuration.
|
// do not lay out and draw with the wrong configuration.
|
||||||
if (!mPendingMergedConfiguration.equals(mLastReportedMergedConfiguration)) {
|
if (mRelayoutRequested
|
||||||
|
&& !mPendingMergedConfiguration.equals(mLastReportedMergedConfiguration)) {
|
||||||
if (DEBUG_CONFIGURATION) Log.v(mTag, "Visible with new config: "
|
if (DEBUG_CONFIGURATION) Log.v(mTag, "Visible with new config: "
|
||||||
+ mPendingMergedConfiguration.getMergedConfiguration());
|
+ mPendingMergedConfiguration.getMergedConfiguration());
|
||||||
performConfigurationChange(new MergedConfiguration(mPendingMergedConfiguration),
|
performConfigurationChange(new MergedConfiguration(mPendingMergedConfiguration),
|
||||||
@@ -8085,7 +8086,8 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
final int measuredWidth = mView.getMeasuredWidth();
|
final int measuredWidth = mView.getMeasuredWidth();
|
||||||
final int measuredHeight = mView.getMeasuredHeight();
|
final int measuredHeight = mView.getMeasuredHeight();
|
||||||
final boolean relayoutAsync;
|
final boolean relayoutAsync;
|
||||||
if (LOCAL_LAYOUT && !mFirst && viewVisibility == mViewVisibility
|
if (LOCAL_LAYOUT
|
||||||
|
&& (mViewFrameInfo.flags & FrameInfo.FLAG_WINDOW_VISIBILITY_CHANGED) == 0
|
||||||
&& mWindowAttributes.type != TYPE_APPLICATION_STARTING
|
&& mWindowAttributes.type != TYPE_APPLICATION_STARTING
|
||||||
&& mSyncSeqId <= mLastSyncSeqId
|
&& mSyncSeqId <= mLastSyncSeqId
|
||||||
&& winConfigFromAm.diff(winConfigFromWm, false /* compareUndefined */) == 0) {
|
&& winConfigFromAm.diff(winConfigFromWm, false /* compareUndefined */) == 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user