Merge "ViewRootImpl: Fix child lifetime." into oc-dev
am: ca2622b860
Change-Id: Ibd108646edf7217a9f7656b3c83cd87820649c2d
This commit is contained in:
@@ -683,7 +683,8 @@ public class SurfaceView extends View {
|
|||||||
mTranslator.translateRectInAppWindowToScreen(mScreenRect);
|
mTranslator.translateRectInAppWindowToScreen(mScreenRect);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isHardwareAccelerated() || !mRtHandlingPositionUpdates) {
|
if (mSurfaceControl != null
|
||||||
|
&& (!isHardwareAccelerated() || !mRtHandlingPositionUpdates)) {
|
||||||
try {
|
try {
|
||||||
if (DEBUG) Log.d(TAG, String.format("%d updateSurfacePosition UI, " +
|
if (DEBUG) Log.d(TAG, String.format("%d updateSurfacePosition UI, " +
|
||||||
"postion = [%d, %d, %d, %d]", System.identityHashCode(this),
|
"postion = [%d, %d, %d, %d]", System.identityHashCode(this),
|
||||||
|
|||||||
@@ -1249,6 +1249,13 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
mIsAmbientMode = ambient;
|
mIsAmbientMode = ambient;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setWindowVisibility(int visibility) {
|
||||||
|
if (visibility != mAttachInfo.mWindowVisibility) {
|
||||||
|
mAttachInfo.mWindowVisibility = visibility;
|
||||||
|
mView.dispatchWindowVisibilityChanged(visibility);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void setWindowStopped(boolean stopped) {
|
void setWindowStopped(boolean stopped) {
|
||||||
if (mStopped != stopped) {
|
if (mStopped != stopped) {
|
||||||
mStopped = stopped;
|
mStopped = stopped;
|
||||||
@@ -1263,6 +1270,7 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
if (renderer != null) {
|
if (renderer != null) {
|
||||||
renderer.destroyHardwareResources(mView);
|
renderer.destroyHardwareResources(mView);
|
||||||
}
|
}
|
||||||
|
mView.dispatchWindowVisibilityChanged(View.GONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1297,7 +1305,8 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
}
|
}
|
||||||
|
|
||||||
int getHostVisibility() {
|
int getHostVisibility() {
|
||||||
return (mAppVisible || mForceDecorViewVisibility) ? mView.getVisibility() : View.GONE;
|
return (mAppVisible || mForceDecorViewVisibility) && !mStopped
|
||||||
|
? mView.getVisibility() : View.GONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1654,8 +1663,8 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (viewVisibilityChanged) {
|
if (viewVisibilityChanged) {
|
||||||
mAttachInfo.mWindowVisibility = viewVisibility;
|
setWindowVisibility(viewVisibility);
|
||||||
host.dispatchWindowVisibilityChanged(viewVisibility);
|
|
||||||
if (viewUserVisibilityChanged) {
|
if (viewUserVisibilityChanged) {
|
||||||
host.dispatchVisibilityAggregated(viewVisibility == View.VISIBLE);
|
host.dispatchVisibilityAggregated(viewVisibility == View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user