@Implementation(minSdk = P)
  protected static @Nullable String nativeGetResourceTypeName(long ptr, @AnyRes int resid) {
    """
	static jstring NativeGetResourceTypeName(JNIEnv* env, jclass /*clazz*/, jlong ptr, jint resid) {
    """
    CppAssetManager2 assetmanager = AssetManagerFromLong(ptr);
    final ResourceName name = new ResourceName();
    if (!assetmanager.GetResourceName(resid, name)) {
      return null;
    }

    if (name.type != null) {
      return name.type;
    // } else if (name.get().type16 != null) {
    //   return name.get().type16; // env.NewString(reinterpret_cast<jchar*>(name.type16), name.type_len);
    }
    return null;
  }
@Implementation(minSdk = P)
  protected static @Nullable String nativeGetResourceTypeName(long ptr, @AnyRes int resid) {
    CppAssetManager2 assetmanager = AssetManagerFromLong(ptr);
    final ResourceName name = new ResourceName();
    if (!assetmanager.GetResourceName(resid, name)) {
      return null;
    }

    if (name.type != null) {
      return name.type;
    // } else if (name.get().type16 != null) {
    //   return name.get().type16; // env.NewString(reinterpret_cast<jchar*>(name.type16), name.type_len);
    }
    return null;
  }
@ Implementation ( minSdk = P ) protected static @ Nullable String nativeGetResourceTypeName ( long ptr , @ AnyRes int resid ) { CppAssetManager2 assetmanager = AssetManagerFromLong ( ptr ) ; final ResourceName name = new ResourceName ( ) ; if ( ! assetmanager . GetResourceName ( resid , name ) ) { return null ; } if ( name . type != null ) { return name . type ; // } else if (name.get().type16 != null) { //   return name.get().type16; // env.NewString(reinterpret_cast<jchar*>(name.type16), name.type_len); } return null ; }
static jstring NativeGetResourceTypeName(JNIEnv* env, jclass /*clazz*/, jlong ptr, jint resid) {
static jstring NativeGetResourceTypeName ( JNIEnv * env jclass / * clazz * / jlong ptr jint resid ) {