summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorRob Carr <racarr@google.com>2022-04-05 22:14:00 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2022-04-05 22:14:00 +0000
commit0d84110c372c909bf577796b087d0569008056d3 (patch)
tree090d40147e2636921c2bad736bc531691a38832e /core
parentf0f218dd01c1bab8d383a119ef20e8f46d72d0b9 (diff)
parent20303e05bf73796124ab70a279cf849b61b97905 (diff)
Merge "DO NOT MERGE: WM: Call Transaction#sanitize" into sc-v2-dev
Diffstat (limited to 'core')
-rw-r--r--core/java/android/view/SurfaceControl.java8
-rw-r--r--core/jni/android_view_SurfaceControl.cpp7
2 files changed, 15 insertions, 0 deletions
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
index 960d23d7afb0..a686cbf257ef 100644
--- a/core/java/android/view/SurfaceControl.java
+++ b/core/java/android/view/SurfaceControl.java
@@ -245,6 +245,7 @@ public final class SurfaceControl implements Parcelable {
@SurfaceControl.BufferTransform int transformHint);
private static native int nativeGetTransformHint(long nativeObject);
private static native int nativeGetLayerId(long nativeObject);
+ private static native void nativeSanitize(long transactionObject);
/**
* Transforms that can be applied to buffers as they are displayed to a window.
@@ -3544,6 +3545,13 @@ public final class SurfaceControl implements Parcelable {
}
/**
+ * @hide
+ */
+ public void sanitize() {
+ nativeSanitize(mNativeObject);
+ }
+
+ /**
* Merge the other transaction into this transaction, clearing the
* other transaction as if it had been applied.
*
diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp
index 1452c67ae3c6..33fc92d60d62 100644
--- a/core/jni/android_view_SurfaceControl.cpp
+++ b/core/jni/android_view_SurfaceControl.cpp
@@ -877,6 +877,11 @@ static void nativeSetDropInputMode(JNIEnv* env, jclass clazz, jlong transactionO
transaction->setDropInputMode(ctrl, static_cast<gui::DropInputMode>(mode));
}
+static void nativeSanitize(JNIEnv* env, jclass clazz, jlong transactionObj) {
+ auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
+ transaction->sanitize();
+}
+
static jlongArray nativeGetPhysicalDisplayIds(JNIEnv* env, jclass clazz) {
const auto displayIds = SurfaceComposerClient::getPhysicalDisplayIds();
jlongArray array = env->NewLongArray(displayIds.size());
@@ -2030,6 +2035,8 @@ static const JNINativeMethod sSurfaceControlMethods[] = {
(void*)nativeSetDropInputMode },
{"nativeGetLayerId", "(J)I",
(void*)nativeGetLayerId },
+ {"nativeSanitize", "(J)V",
+ (void*) nativeSanitize }
// clang-format on
};