MCPcopy Create free account
hub / github.com/Tencent/libpag / ToPAGLayerJavaObjectList

Function ToPAGLayerJavaObjectList

src/platform/android/JNIHelper.cpp:153–172  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

151}
152
153jobjectArray ToPAGLayerJavaObjectList(JNIEnv* env,
154 const std::vector<std::shared_ptr<pag::PAGLayer>>& layers) {
155 static Global<jclass> PAGLayer_Class = env->FindClass("org/libpag/PAGLayer");
156 if (PAGLayer_Class.get() == nullptr) {
157 env->ExceptionClear();
158 LOGE("Could not run JNIHelper.ToPAGLayerJavaObjectList(), PAGLayer_Class is not found!");
159 return nullptr;
160 }
161 if (layers.empty()) {
162 return env->NewObjectArray(0, PAGLayer_Class.get(), nullptr);
163 }
164 jobjectArray layerArray = env->NewObjectArray(layers.size(), PAGLayer_Class.get(), nullptr);
165 for (size_t i = 0; i < layers.size(); ++i) {
166 auto& layer = layers[i];
167 auto jLayer = ToPAGLayerJavaObject(env, layer);
168 env->SetObjectArrayElement(layerArray, i, jLayer);
169 env->DeleteLocalRef(jLayer);
170 }
171 return layerArray;
172}
173
174jobject ToPAGLayerJavaObject(JNIEnv* env, std::shared_ptr<pag::PAGLayer> pagLayer) {
175 if (env == nullptr || pagLayer == nullptr) {

Calls 4

ToPAGLayerJavaObjectFunction · 0.85
emptyMethod · 0.80
sizeMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected