code: @Implementation(minSdk = P)
    protected static int nativeThemeGetAttributeValue(long ptr, long theme_ptr,
        @AttrRes int resid, @NonNull TypedValue typed_value, boolean resolve_references) {
      CppAssetManager2 assetmanager = AssetManagerFromLong(ptr);
      Theme theme = Registries.NATIVE_THEME9_REGISTRY.getNativeObject(theme_ptr);
      CHECK(theme.GetAssetManager() == assetmanager);
      // (void) assetmanager; // huh?
  
      final Ref<Res_value> value = new Ref<>(null);
      final Ref<Integer> flags = new Ref<>(null);
      ApkAssetsCookie cookie = theme.GetAttribute(resid, value, flags);
      if (cookie.intValue() == kInvalidCookie) {
        return ApkAssetsCookieToJavaCookie(K_INVALID_COOKIE);
      }
  
      final Ref<Integer> ref = new Ref<>(0);
      if (resolve_references) {
        final Ref<ResTable_config> selected_config = new Ref<>(null);
        cookie =
            theme.GetAssetManager().ResolveReference(cookie, value, selected_config, flags, ref);
        if (cookie.intValue() == kInvalidCookie) {
          return ApkAssetsCookieToJavaCookie(K_INVALID_COOKIE);
        }
      }
      return CopyValue(cookie, value.get(), ref.get(), flags.get(), null, typed_value);
    }
docs: jboolean resolve_references) {