Loading core/jni/android_tracing_PerfettoDataSource.cpp +3 −1 Original line number Original line Diff line number Diff line Loading @@ -201,7 +201,7 @@ void PerfettoDataSource::WritePackets(JNIEnv* env, jobjectArray packets) { for (int i = 0; i < packets_count; i++) { for (int i = 0; i < packets_count; i++) { jbyteArray packet_proto_buffer = (jbyteArray)env->GetObjectArrayElement(packets, i); jbyteArray packet_proto_buffer = (jbyteArray)env->GetObjectArrayElement(packets, i); jbyte* raw_proto_buffer = env->GetByteArrayElements(packet_proto_buffer, 0); jbyte* raw_proto_buffer = env->GetByteArrayElements(packet_proto_buffer, nullptr); int buffer_size = env->GetArrayLength(packet_proto_buffer); int buffer_size = env->GetArrayLength(packet_proto_buffer); struct PerfettoDsRootTracePacket trace_packet; struct PerfettoDsRootTracePacket trace_packet; Loading @@ -209,6 +209,8 @@ void PerfettoDataSource::WritePackets(JNIEnv* env, jobjectArray packets) { PerfettoPbMsgAppendBytes(&trace_packet.msg.msg, (const uint8_t*)raw_proto_buffer, PerfettoPbMsgAppendBytes(&trace_packet.msg.msg, (const uint8_t*)raw_proto_buffer, buffer_size); buffer_size); PerfettoDsTracerPacketEnd(&gIterator, &trace_packet); PerfettoDsTracerPacketEnd(&gIterator, &trace_packet); env->ReleaseByteArrayElements(packet_proto_buffer, raw_proto_buffer, 0 /* default mode */); } } } } Loading Loading
core/jni/android_tracing_PerfettoDataSource.cpp +3 −1 Original line number Original line Diff line number Diff line Loading @@ -201,7 +201,7 @@ void PerfettoDataSource::WritePackets(JNIEnv* env, jobjectArray packets) { for (int i = 0; i < packets_count; i++) { for (int i = 0; i < packets_count; i++) { jbyteArray packet_proto_buffer = (jbyteArray)env->GetObjectArrayElement(packets, i); jbyteArray packet_proto_buffer = (jbyteArray)env->GetObjectArrayElement(packets, i); jbyte* raw_proto_buffer = env->GetByteArrayElements(packet_proto_buffer, 0); jbyte* raw_proto_buffer = env->GetByteArrayElements(packet_proto_buffer, nullptr); int buffer_size = env->GetArrayLength(packet_proto_buffer); int buffer_size = env->GetArrayLength(packet_proto_buffer); struct PerfettoDsRootTracePacket trace_packet; struct PerfettoDsRootTracePacket trace_packet; Loading @@ -209,6 +209,8 @@ void PerfettoDataSource::WritePackets(JNIEnv* env, jobjectArray packets) { PerfettoPbMsgAppendBytes(&trace_packet.msg.msg, (const uint8_t*)raw_proto_buffer, PerfettoPbMsgAppendBytes(&trace_packet.msg.msg, (const uint8_t*)raw_proto_buffer, buffer_size); buffer_size); PerfettoDsTracerPacketEnd(&gIterator, &trace_packet); PerfettoDsTracerPacketEnd(&gIterator, &trace_packet); env->ReleaseByteArrayElements(packet_proto_buffer, raw_proto_buffer, 0 /* default mode */); } } } } Loading