From b51e246143c1d4deb4a3ae3ebc5fd7b3cd4fcb7c Mon Sep 17 00:00:00 2001 From: Evan Rosky Date: Wed, 3 Apr 2019 19:27:18 -0700 Subject: Fix metadata surfacecontrol api/jni This was wrong Bug: 122925737 Test: Using setMetadata doesn't crash anymore Change-Id: I75216ca9778e356b3f2a76555367e2563d9a29e0 --- core/java/android/view/SurfaceControl.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'core/java/android') diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java index e3b0b7a58438..ad2f65a75528 100644 --- a/core/java/android/view/SurfaceControl.java +++ b/core/java/android/view/SurfaceControl.java @@ -195,7 +195,8 @@ public final class SurfaceControl implements Parcelable { 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 @@ public final class SurfaceControl implements Parcelable { * 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 @@ public final class SurfaceControl implements Parcelable { * 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; } -- cgit v1.2.3