Merge "ViewRootImpl: Replace usage of orientation with buffer transform for transform hint" into sc-v2-dev am: fb19c89e4d am: dd8c200bd2
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16040767 Change-Id: If7b74fa458c0a2ee14b876a2b3b8fe393fcc85cb
This commit is contained in:
@@ -243,7 +243,8 @@ public final class SurfaceControl implements Parcelable {
|
||||
private static native void nativeRemoveJankDataListener(long nativeListener);
|
||||
private static native long nativeCreateJankDataListenerWrapper(OnJankDataListener listener);
|
||||
private static native int nativeGetGPUContextPriority();
|
||||
private static native void nativeSetTransformHint(long nativeObject, int transformHint);
|
||||
private static native void nativeSetTransformHint(long nativeObject,
|
||||
@SurfaceControl.BufferTransform int transformHint);
|
||||
private static native int nativeGetTransformHint(long nativeObject);
|
||||
private static native int nativeGetLayerId(long nativeObject);
|
||||
private static native void nativeAddTransactionCommittedListener(long nativeObject,
|
||||
@@ -3753,7 +3754,7 @@ public final class SurfaceControl implements Parcelable {
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public int getTransformHint() {
|
||||
public @SurfaceControl.BufferTransform int getTransformHint() {
|
||||
checkNotReleased();
|
||||
return nativeGetTransformHint(mNativeObject);
|
||||
}
|
||||
@@ -3767,7 +3768,7 @@ public final class SurfaceControl implements Parcelable {
|
||||
* with the same size.
|
||||
* @hide
|
||||
*/
|
||||
public void setTransformHint(@Surface.Rotation int transformHint) {
|
||||
public void setTransformHint(@SurfaceControl.BufferTransform int transformHint) {
|
||||
nativeSetTransformHint(mNativeObject, transformHint);
|
||||
}
|
||||
|
||||
|
||||
@@ -214,7 +214,7 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall
|
||||
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
|
||||
final Rect mSurfaceFrame = new Rect();
|
||||
int mLastSurfaceWidth = -1, mLastSurfaceHeight = -1;
|
||||
int mTransformHint = 0;
|
||||
@SurfaceControl.BufferTransform int mTransformHint = 0;
|
||||
|
||||
private boolean mGlobalListenersAdded;
|
||||
private boolean mAttachedToWindow;
|
||||
|
||||
@@ -314,7 +314,8 @@ public final class ViewRootImpl implements ViewParent,
|
||||
|
||||
private ArrayList<OnBufferTransformHintChangedListener> mTransformHintListeners =
|
||||
new ArrayList<>();
|
||||
private @Surface.Rotation int mPreviousTransformHint = Surface.ROTATION_0;
|
||||
private @SurfaceControl.BufferTransform
|
||||
int mPreviousTransformHint = SurfaceControl.BUFFER_TRANSFORM_IDENTITY;
|
||||
/**
|
||||
* Callback for notifying about global configuration changes.
|
||||
*/
|
||||
@@ -7855,8 +7856,7 @@ public final class ViewRootImpl implements ViewParent,
|
||||
int transformHint = mSurfaceControl.getTransformHint();
|
||||
if (mPreviousTransformHint != transformHint) {
|
||||
mPreviousTransformHint = transformHint;
|
||||
dispatchTransformHintChanged(
|
||||
SurfaceControl.rotationToBufferTransform(transformHint));
|
||||
dispatchTransformHintChanged(transformHint);
|
||||
}
|
||||
} else {
|
||||
destroySurface();
|
||||
@@ -10464,7 +10464,7 @@ public final class ViewRootImpl implements ViewParent,
|
||||
|
||||
@Override
|
||||
public @SurfaceControl.BufferTransform int getBufferTransformHint() {
|
||||
return SurfaceControl.rotationToBufferTransform(mSurfaceControl.getTransformHint());
|
||||
return mSurfaceControl.getTransformHint();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1870,16 +1870,12 @@ static void nativeSetTransformHint(JNIEnv* env, jclass clazz, jlong nativeSurfac
|
||||
if (surface == nullptr) {
|
||||
return;
|
||||
}
|
||||
surface->setTransformHint(
|
||||
ui::Transform::toRotationFlags(static_cast<ui::Rotation>(transformHint)));
|
||||
surface->setTransformHint(transformHint);
|
||||
}
|
||||
|
||||
static jint nativeGetTransformHint(JNIEnv* env, jclass clazz, jlong nativeSurfaceControl) {
|
||||
sp<SurfaceControl> surface(reinterpret_cast<SurfaceControl*>(nativeSurfaceControl));
|
||||
ui::Transform::RotationFlags transformHintRotationFlags =
|
||||
static_cast<ui::Transform::RotationFlags>(surface->getTransformHint());
|
||||
|
||||
return toRotationInt(ui::Transform::toRotation((transformHintRotationFlags)));
|
||||
return surface->getTransformHint();
|
||||
}
|
||||
|
||||
static jint nativeGetLayerId(JNIEnv* env, jclass clazz, jlong nativeSurfaceControl) {
|
||||
|
||||
@@ -2473,7 +2473,8 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
if (isPrimaryDisplay) {
|
||||
transformHint = (transformHint + mPrimaryDisplayOrientation) % 4;
|
||||
}
|
||||
outSurfaceControl.setTransformHint(transformHint);
|
||||
outSurfaceControl.setTransformHint(
|
||||
SurfaceControl.rotationToBufferTransform(transformHint));
|
||||
ProtoLog.v(WM_DEBUG_ORIENTATION,
|
||||
"Passing transform hint %d for window %s%s",
|
||||
transformHint, win,
|
||||
|
||||
Reference in New Issue
Block a user