diff --git a/core/jni/android_graphics_BLASTBufferQueue.cpp b/core/jni/android_graphics_BLASTBufferQueue.cpp index d4fb3e327754a..a7362ab3c3fa3 100644 --- a/core/jni/android_graphics_BLASTBufferQueue.cpp +++ b/core/jni/android_graphics_BLASTBufferQueue.cpp @@ -30,43 +30,6 @@ namespace android { -struct { - jmethodID onTransactionComplete; -} gTransactionCompleteCallback; - -class TransactionCompleteCallbackWrapper : public LightRefBase { -public: - explicit TransactionCompleteCallbackWrapper(JNIEnv* env, jobject jobject) { - env->GetJavaVM(&mVm); - mTransactionCompleteObject = env->NewGlobalRef(jobject); - LOG_ALWAYS_FATAL_IF(!mTransactionCompleteObject, "Failed to make global ref"); - } - - ~TransactionCompleteCallbackWrapper() { - if (mTransactionCompleteObject) { - getenv()->DeleteGlobalRef(mTransactionCompleteObject); - mTransactionCompleteObject = nullptr; - } - } - - void onTransactionComplete(int64_t frameNr) { - if (mTransactionCompleteObject) { - getenv()->CallVoidMethod(mTransactionCompleteObject, - gTransactionCompleteCallback.onTransactionComplete, frameNr); - } - } - -private: - JavaVM* mVm; - jobject mTransactionCompleteObject; - - JNIEnv* getenv() { - JNIEnv* env; - mVm->GetEnv(reinterpret_cast(&env), JNI_VERSION_1_6); - return env; - } -}; - static jlong nativeCreate(JNIEnv* env, jclass clazz, jstring jName, jlong surfaceControl, jlong width, jlong height, jint format) { String8 str8; @@ -119,21 +82,6 @@ static void nativeMergeWithNextTransaction(JNIEnv*, jclass clazz, jlong ptr, jlo queue->mergeWithNextTransaction(transaction, framenumber); } -static void nativeSetTransactionCompleteCallback(JNIEnv* env, jclass clazz, jlong ptr, - jlong frameNumber, - jobject transactionCompleteCallback) { - sp queue = reinterpret_cast(ptr); - if (transactionCompleteCallback == nullptr) { - queue->setTransactionCompleteCallback(frameNumber, nullptr); - } else { - sp wrapper = - new TransactionCompleteCallbackWrapper{env, transactionCompleteCallback}; - queue->setTransactionCompleteCallback(frameNumber, [wrapper](int64_t frameNr) { - wrapper->onTransactionComplete(frameNr); - }); - } -} - static jlong nativeGetLastAcquiredFrameNum(JNIEnv* env, jclass clazz, jlong ptr) { sp queue = reinterpret_cast(ptr); return queue->getLastAcquiredFrameNum(); @@ -153,9 +101,6 @@ static const JNINativeMethod gMethods[] = { {"nativeSetNextTransaction", "(JJ)V", (void*)nativeSetNextTransaction}, {"nativeUpdate", "(JJJJIJ)V", (void*)nativeUpdate}, {"nativeMergeWithNextTransaction", "(JJJ)V", (void*)nativeMergeWithNextTransaction}, - {"nativeSetTransactionCompleteCallback", - "(JJLandroid/graphics/BLASTBufferQueue$TransactionCompleteCallback;)V", - (void*)nativeSetTransactionCompleteCallback}, {"nativeGetLastAcquiredFrameNum", "(J)J", (void*)nativeGetLastAcquiredFrameNum}, {"nativeApplyPendingTransactions", "(JJ)V", (void*)nativeApplyPendingTransactions}, // clang-format on @@ -165,11 +110,6 @@ int register_android_graphics_BLASTBufferQueue(JNIEnv* env) { int res = jniRegisterNativeMethods(env, "android/graphics/BLASTBufferQueue", gMethods, NELEM(gMethods)); LOG_ALWAYS_FATAL_IF(res < 0, "Unable to register native methods."); - - jclass transactionCompleteClass = - FindClassOrDie(env, "android/graphics/BLASTBufferQueue$TransactionCompleteCallback"); - gTransactionCompleteCallback.onTransactionComplete = - GetMethodIDOrDie(env, transactionCompleteClass, "onTransactionComplete", "(J)V"); return 0; } diff --git a/graphics/java/android/graphics/BLASTBufferQueue.java b/graphics/java/android/graphics/BLASTBufferQueue.java index e369acc9c1a4c..9af508a2d2c4c 100644 --- a/graphics/java/android/graphics/BLASTBufferQueue.java +++ b/graphics/java/android/graphics/BLASTBufferQueue.java @@ -36,22 +36,9 @@ public final class BLASTBufferQueue { int format, long transactionPtr); private static native void nativeMergeWithNextTransaction(long ptr, long transactionPtr, long frameNumber); - private static native void nativeSetTransactionCompleteCallback(long ptr, long frameNumber, - TransactionCompleteCallback callback); private static native long nativeGetLastAcquiredFrameNum(long ptr); private static native void nativeApplyPendingTransactions(long ptr, long frameNumber); - /** - * Callback sent to {@link #setTransactionCompleteCallback(long, TransactionCompleteCallback)} - */ - public interface TransactionCompleteCallback { - /** - * Invoked when the transaction has completed. - * @param frameNumber The frame number of the buffer that was in that transaction - */ - void onTransactionComplete(long frameNumber); - } - /** Create a new connection with the surface flinger. */ public BLASTBufferQueue(String name, SurfaceControl sc, int width, int height, @PixelFormat.Format int format) { @@ -104,16 +91,6 @@ public final class BLASTBufferQueue { nativeUpdate(mNativeObject, sc.mNativeObject, width, height, format, 0); } - /** - * Set a callback when the transaction with the frame number has been completed. - * @param frameNumber The frame number to get the transaction complete callback for - * @param completeCallback The callback that should be invoked. - */ - public void setTransactionCompleteCallback(long frameNumber, - @Nullable TransactionCompleteCallback completeCallback) { - nativeSetTransactionCompleteCallback(mNativeObject, frameNumber, completeCallback); - } - @Override protected void finalize() throws Throwable { try {