Merge "SurfaceControlViewHost: Expose IPC helpers"

This commit is contained in:
Rob Carr
2022-01-27 23:34:29 +00:00
committed by Android (Google) Code Review
2 changed files with 33 additions and 0 deletions

View File

@@ -49166,6 +49166,8 @@ package android.view {
public static final class SurfaceControlViewHost.SurfacePackage implements android.os.Parcelable {
ctor public SurfaceControlViewHost.SurfacePackage(@NonNull android.view.SurfaceControlViewHost.SurfacePackage);
method public int describeContents();
method public void notifyConfigurationChanged(@NonNull android.content.res.Configuration);
method public void notifyDetachedFromWindow();
method public void release();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.view.SurfaceControlViewHost.SurfacePackage> CREATOR;

View File

@@ -26,6 +26,7 @@ import android.graphics.Rect;
import android.os.IBinder;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.RemoteException;
import android.view.accessibility.IAccessibilityEmbeddedConnection;
import android.view.InsetsState;
@@ -180,6 +181,36 @@ public class SurfaceControlViewHost {
return mRemoteInterface;
}
/**
* Forward a configuration to the remote SurfaceControlViewHost.
* This will cause View#onConfigurationChanged to be invoked on the remote
* end. This does not automatically cause the SurfaceControlViewHost
* to be resized. The root View of a SurfaceControlViewHost
* is more akin to a PopupWindow in that the size is user specified
* independent of configuration width and height.
*
* @param c The configuration to forward
*/
public void notifyConfigurationChanged(@NonNull Configuration c) {
try {
getRemoteInterface().onConfigurationChanged(c);
} catch (RemoteException e) {
e.rethrowAsRuntimeException();
}
}
/**
* Tear down the remote SurfaceControlViewHost and cause
* View#onDetachedFromWindow to be invoked on the other side.
*/
public void notifyDetachedFromWindow() {
try {
getRemoteInterface().onDispatchDetachedFromWindow();
} catch (RemoteException e) {
e.rethrowAsRuntimeException();
}
}
@Override
public int describeContents() {
return 0;