The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

external/android-jni-wrap: Upgrade base header for new features

+21 -4
+21 -4
src/external/android-jni-wrap/wrap/ObjectWrapperBase.h
··· 143 143 * 144 144 * @param classname The class name, fully qualified, with namespaces 145 145 * delimited by `/`. 146 + * @param clazz The jclass object for the class in question, if known. 146 147 */ 147 - explicit MetaBase(const char *classname) 148 - : classname_(classname), clazz_(classname_) {} 148 + explicit MetaBase(const char *classname, jni::jclass clazz = nullptr) 149 + : classname_(classname), clazz_() { 150 + if (clazz != nullptr) { 151 + // The 0 makes it a global ref. 152 + clazz_ = jni::Class{clazz, 0}; 153 + } else { 154 + clazz_ = jni::Class{classname}; 155 + } 156 + } 149 157 150 158 private: 151 159 const char *classname_; ··· 192 200 * 193 201 * @param classname The class name, fully qualified, with namespaces 194 202 * delimited by `/`. 203 + * @param clazz The jclass object for the class in question, if known. 195 204 */ 196 - explicit MetaBaseDroppable(const char *classname) 197 - : classname_(classname), clazz_(classname_) {} 205 + explicit MetaBaseDroppable(const char *classname, 206 + jni::jclass clazz = nullptr) 207 + : classname_(classname), clazz_() { 208 + if (clazz != nullptr) { 209 + // The 0 makes it a global ref. 210 + clazz_ = jni::Class{clazz, 0}; 211 + } else { 212 + clazz_ = jni::Class{classname}; 213 + } 214 + } 198 215 199 216 /*! 200 217 * Gets a reference to the class object, but is non-null only if it's still