| 151 | } |
| 152 | |
| 153 | jobjectArray 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 | |
| 174 | jobject ToPAGLayerJavaObject(JNIEnv* env, std::shared_ptr<pag::PAGLayer> pagLayer) { |
| 175 | if (env == nullptr || pagLayer == nullptr) { |
no test coverage detected