Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2734317b authored by Pablo Gamito's avatar Pablo Gamito Committed by Android (Google) Code Review
Browse files

Merge "Update JNI to pass SurfaceControls rather than handles to layer state updates"

parents d8f2d700 117040c5
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -481,7 +481,7 @@ static void nativeSetRelativeLayer(JNIEnv* env, jclass clazz, jlong transactionO
    auto ctrl = reinterpret_cast<SurfaceControl *>(nativeObject);
    auto ctrl = reinterpret_cast<SurfaceControl *>(nativeObject);
    auto relative = reinterpret_cast<SurfaceControl *>(relativeToObject);
    auto relative = reinterpret_cast<SurfaceControl *>(relativeToObject);
    auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
    auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
    transaction->setRelativeLayer(ctrl, relative->getHandle(), zorder);
    transaction->setRelativeLayer(ctrl, relative, zorder);
}
}


static void nativeSetPosition(JNIEnv* env, jclass clazz, jlong transactionObj,
static void nativeSetPosition(JNIEnv* env, jclass clazz, jlong transactionObj,
@@ -1327,10 +1327,10 @@ static jboolean nativeGetAnimationFrameStats(JNIEnv* env, jclass clazz, jobject


static void nativeDeferTransactionUntil(JNIEnv* env, jclass clazz, jlong transactionObj,
static void nativeDeferTransactionUntil(JNIEnv* env, jclass clazz, jlong transactionObj,
        jlong nativeObject, jlong barrierObject, jlong frameNumber) {
        jlong nativeObject, jlong barrierObject, jlong frameNumber) {
    auto ctrl = reinterpret_cast<SurfaceControl *>(nativeObject);
    sp<SurfaceControl> ctrl = reinterpret_cast<SurfaceControl*>(nativeObject);
    auto barrier = reinterpret_cast<SurfaceControl *>(barrierObject);
    sp<SurfaceControl> barrier = reinterpret_cast<SurfaceControl*>(barrierObject);
    auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
    auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
    transaction->deferTransactionUntil_legacy(ctrl, barrier->getHandle(), frameNumber);
    transaction->deferTransactionUntil_legacy(ctrl, barrier, frameNumber);
}
}


static void nativeDeferTransactionUntilSurface(JNIEnv* env, jclass clazz, jlong transactionObj,
static void nativeDeferTransactionUntilSurface(JNIEnv* env, jclass clazz, jlong transactionObj,
@@ -1351,7 +1351,7 @@ static void nativeReparentChildren(JNIEnv* env, jclass clazz, jlong transactionO
    auto ctrl = reinterpret_cast<SurfaceControl *>(nativeObject);
    auto ctrl = reinterpret_cast<SurfaceControl *>(nativeObject);
    auto newParent = reinterpret_cast<SurfaceControl *>(newParentObject);
    auto newParent = reinterpret_cast<SurfaceControl *>(newParentObject);
    auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
    auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
    transaction->reparentChildren(ctrl, newParent->getHandle());
    transaction->reparentChildren(ctrl, newParent);
}
}


static void nativeReparent(JNIEnv* env, jclass clazz, jlong transactionObj,
static void nativeReparent(JNIEnv* env, jclass clazz, jlong transactionObj,
@@ -1360,7 +1360,7 @@ static void nativeReparent(JNIEnv* env, jclass clazz, jlong transactionObj,
    auto ctrl = reinterpret_cast<SurfaceControl *>(nativeObject);
    auto ctrl = reinterpret_cast<SurfaceControl *>(nativeObject);
    auto newParent = reinterpret_cast<SurfaceControl *>(newParentObject);
    auto newParent = reinterpret_cast<SurfaceControl *>(newParentObject);
    auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
    auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
    transaction->reparent(ctrl, newParent != NULL ? newParent->getHandle() : NULL);
    transaction->reparent(ctrl, newParent);
}
}


static void nativeSeverChildren(JNIEnv* env, jclass clazz, jlong transactionObj,
static void nativeSeverChildren(JNIEnv* env, jclass clazz, jlong transactionObj,
+1 −2
Original line number Original line Diff line number Diff line
@@ -317,10 +317,9 @@ void ASurfaceTransaction_reparent(ASurfaceTransaction* aSurfaceTransaction,
    sp<SurfaceControl> surfaceControl = ASurfaceControl_to_SurfaceControl(aSurfaceControl);
    sp<SurfaceControl> surfaceControl = ASurfaceControl_to_SurfaceControl(aSurfaceControl);
    sp<SurfaceControl> newParentSurfaceControl = ASurfaceControl_to_SurfaceControl(
    sp<SurfaceControl> newParentSurfaceControl = ASurfaceControl_to_SurfaceControl(
            newParentASurfaceControl);
            newParentASurfaceControl);
    sp<IBinder> newParentHandle = (newParentSurfaceControl)? newParentSurfaceControl->getHandle() : nullptr;
    Transaction* transaction = ASurfaceTransaction_to_Transaction(aSurfaceTransaction);
    Transaction* transaction = ASurfaceTransaction_to_Transaction(aSurfaceTransaction);


    transaction->reparent(surfaceControl, newParentHandle);
    transaction->reparent(surfaceControl, newParentSurfaceControl);
}
}


void ASurfaceTransaction_setVisibility(ASurfaceTransaction* aSurfaceTransaction,
void ASurfaceTransaction_setVisibility(ASurfaceTransaction* aSurfaceTransaction,