Merge "Webview overlay support" into sc-dev am: 81d78b91f9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13693804 Change-Id: I866a989d53a8f8ecd2c4bd11b301ad51e20ec442
This commit is contained in:
@@ -2595,6 +2595,16 @@ public final class SurfaceControl implements Parcelable {
|
||||
= sRegistry.registerNativeAllocation(this, mNativeObject);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a transaction object that wraps a native peer.
|
||||
* @hide
|
||||
*/
|
||||
Transaction(long nativeObject) {
|
||||
mNativeObject = nativeObject;
|
||||
mFreeNativeResources =
|
||||
sRegistry.registerNativeAllocation(this, mNativeObject);
|
||||
}
|
||||
|
||||
private Transaction(Parcel in) {
|
||||
readFromParcel(in);
|
||||
}
|
||||
|
||||
@@ -1355,6 +1355,16 @@ public final class ViewRootImpl implements ViewParent,
|
||||
}
|
||||
}
|
||||
|
||||
private void addASurfaceTransactionCallback() {
|
||||
HardwareRenderer.ASurfaceTransactionCallback callback = (nativeTransactionObj,
|
||||
nativeSurfaceControlObj,
|
||||
frameNr) -> {
|
||||
Transaction t = new Transaction(nativeTransactionObj);
|
||||
mergeWithNextTransaction(t, frameNr);
|
||||
};
|
||||
mAttachInfo.mThreadedRenderer.setASurfaceTransactionCallback(callback);
|
||||
}
|
||||
|
||||
@UnsupportedAppUsage
|
||||
private void enableHardwareAcceleration(WindowManager.LayoutParams attrs) {
|
||||
mAttachInfo.mHardwareAccelerated = false;
|
||||
@@ -1391,6 +1401,7 @@ public final class ViewRootImpl implements ViewParent,
|
||||
final boolean translucent = attrs.format != PixelFormat.OPAQUE || hasSurfaceInsets;
|
||||
mAttachInfo.mThreadedRenderer = ThreadedRenderer.create(mContext, translucent,
|
||||
attrs.getTitle().toString());
|
||||
addASurfaceTransactionCallback();
|
||||
mAttachInfo.mThreadedRenderer.setSurfaceControl(mSurfaceControl);
|
||||
updateColorModeIfNeeded(attrs.getColorMode());
|
||||
updateForceDarkMode();
|
||||
|
||||
Reference in New Issue
Block a user