Merge "Make underlying SurfaceView respect visibility of InlineContentView." into rvc-dev am: f2ba813a62

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11855564

Change-Id: Iac0b9cda3fd33d60a4d97661c21935beafb88f04
This commit is contained in:
TreeHugger Robot
2020-06-17 22:51:55 +00:00
committed by Automerger Merge Worker

View File

@@ -27,6 +27,7 @@ import android.view.SurfaceControlViewHost;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.ViewGroup;
import android.view.ViewTreeObserver.OnPreDrawListener;
import java.util.function.Consumer;
@@ -130,6 +131,16 @@ public class InlineContentView extends ViewGroup {
@Nullable
private SurfacePackageUpdater mSurfacePackageUpdater;
@NonNull
private final OnPreDrawListener mDrawListener = new OnPreDrawListener() {
@Override
public boolean onPreDraw() {
int visibility = InlineContentView.this.isShown() ? VISIBLE : GONE;
mSurfaceView.setVisibility(visibility);
return true;
}
};
/**
* @inheritDoc
* @hide
@@ -202,6 +213,8 @@ public class InlineContentView extends ViewGroup {
}
});
}
mSurfaceView.setVisibility(VISIBLE);
getViewTreeObserver().addOnPreDrawListener(mDrawListener);
}
@Override
@@ -211,6 +224,7 @@ public class InlineContentView extends ViewGroup {
if (mSurfacePackageUpdater != null) {
mSurfacePackageUpdater.onSurfacePackageReleased();
}
getViewTreeObserver().removeOnPreDrawListener(mDrawListener);
}
@Override