Fix metadata surfacecontrol api/jni
This was wrong
Bug: 122925737
Test: Using setMetadata doesn't crash anymore
Change-Id: I75216ca9778e356b3f2a76555367e2563d9a29e0
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
index e3b0b7a..ad2f65a 100644
--- a/core/java/android/view/SurfaceControl.java
+++ b/core/java/android/view/SurfaceControl.java
@@ -195,7 +195,8 @@
private static native void nativeTransferTouchFocus(long transactionObj, IBinder fromToken,
IBinder toToken);
private static native boolean nativeGetProtectedContentSupport();
- private static native void nativeSetMetadata(long transactionObj, int key, Parcel data);
+ private static native void nativeSetMetadata(long transactionObj, long nativeObject, int key,
+ Parcel data);
private static native void nativeSyncInputWindows(long transactionObj);
private static native boolean nativeGetDisplayBrightnessSupport(IBinder displayToken);
private static native boolean nativeSetDisplayBrightness(IBinder displayToken,
@@ -2612,11 +2613,11 @@
* Sets an arbitrary piece of metadata on the surface. This is a helper for int data.
* @hide
*/
- public Transaction setMetadata(int key, int data) {
+ public Transaction setMetadata(SurfaceControl sc, int key, int data) {
Parcel parcel = Parcel.obtain();
parcel.writeInt(data);
try {
- setMetadata(key, parcel);
+ setMetadata(sc, key, parcel);
} finally {
parcel.recycle();
}
@@ -2627,8 +2628,8 @@
* Sets an arbitrary piece of metadata on the surface.
* @hide
*/
- public Transaction setMetadata(int key, Parcel data) {
- nativeSetMetadata(mNativeObject, key, data);
+ public Transaction setMetadata(SurfaceControl sc, int key, Parcel data) {
+ nativeSetMetadata(mNativeObject, sc.mNativeObject, key, data);
return this;
}
diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp
index 94f96ba..eb64fc4 100644
--- a/core/jni/android_view_SurfaceControl.cpp
+++ b/core/jni/android_view_SurfaceControl.cpp
@@ -1361,7 +1361,7 @@
(void*)nativeSetInputWindowInfo },
{"nativeTransferTouchFocus", "(JLandroid/os/IBinder;Landroid/os/IBinder;)V",
(void*)nativeTransferTouchFocus },
- {"nativeSetMetadata", "(JILandroid/os/Parcel;)V",
+ {"nativeSetMetadata", "(JJILandroid/os/Parcel;)V",
(void*)nativeSetMetadata },
{"nativeGetDisplayedContentSamplingAttributes",
"(Landroid/os/IBinder;)Landroid/hardware/display/DisplayedContentSamplingAttributes;",
diff --git a/services/tests/wmtests/src/com/android/server/wm/StubTransaction.java b/services/tests/wmtests/src/com/android/server/wm/StubTransaction.java
index d919fc8..dec88f0 100644
--- a/services/tests/wmtests/src/com/android/server/wm/StubTransaction.java
+++ b/services/tests/wmtests/src/com/android/server/wm/StubTransaction.java
@@ -230,12 +230,12 @@
}
@Override
- public SurfaceControl.Transaction setMetadata(int key, int data) {
+ public SurfaceControl.Transaction setMetadata(SurfaceControl sc, int key, int data) {
return this;
}
@Override
- public SurfaceControl.Transaction setMetadata(int key, Parcel data) {
+ public SurfaceControl.Transaction setMetadata(SurfaceControl sc, int key, Parcel data) {
return this;
}