diff --git a/assets/aniyomibridge-core.jar b/assets/aniyomibridge-core.jar index 584ad5f..495a773 100644 Binary files a/assets/aniyomibridge-core.jar and b/assets/aniyomibridge-core.jar differ diff --git a/example/lib/main.dart b/example/lib/main.dart index d4f6529..53bc302 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -6,8 +6,9 @@ void main() async { WidgetsFlutterBinding.ensureInitialized(); AniyomiBridge bridge = AniyomiBridge(); - bridge.loadExtension("https://kohiden.xyz/Kohi-den/extensions/raw/branch/main/apk/aniyomi-all.animeonsen-v14.7.apk"); - List animes = bridge.getSearchResults("Shingeki", 1, "animeonsen"); + await Future.delayed(Duration(seconds: 2)); + bridge.loadAnimeExtension("https://kohiden.xyz/Kohi-den/extensions/raw/branch/main/apk/aniyomi-all.animeonsen-v14.7.apk"); + List animes = bridge.getAnimeSearchResults("Shingeki", 1, "animeonsen"); print(animes); animes.forEach((anime) => print(anime.getTitle().toDartString())); diff --git a/installJRE.sh b/installJRE.sh old mode 100644 new mode 100755 index d390879..1e85c78 --- a/installJRE.sh +++ b/installJRE.sh @@ -1,10 +1,6 @@ #!/usr/bin/env bash -# Usage: ./setup_jre.sh -# Example: ./setup_jre.sh macos - set -e - PLATFORM=$1 if [ -z "$PLATFORM" ]; then @@ -13,16 +9,15 @@ if [ -z "$PLATFORM" ]; then fi PROJECT_DIR=$(pwd) -JRE_SRC="$PROJECT_DIR/jre/$PLATFORM/customjre" - -if [ ! -d "$JRE_SRC" ]; then - echo "Error: JRE source folder not found: $JRE_SRC" - exit 1 -fi case "$PLATFORM" in macos) # Locate Flutter macOS build output + JRE_SRC="/Users/kevin/IdeaProjects/k3vinb5_aniyomi_bridge/jre/$PLATFORM/customjre" + if [ ! -d "$JRE_SRC" ]; then + echo "Error: JRE source folder not found: $JRE_SRC" + exit 1 + fi APP_BUNDLE="$PROJECT_DIR/build/macos/Build/Products/Debug/Runner.app" RESOURCES_DIR="$APP_BUNDLE/Contents/Resources" mkdir -p "$RESOURCES_DIR/jre" @@ -32,20 +27,17 @@ case "$PLATFORM" in linux) # Linux Flutter executable folder + JRE_SRC="/home/kevin/Projects/k3vinb5_aniyomi_bridge/jre/$PLATFORM/customjre" + if [ ! -d "$JRE_SRC" ]; then + echo "Error: JRE source folder not found: $JRE_SRC" + exit 1 + fi BUILD_DIR="$PROJECT_DIR/build/linux/x64/debug/bundle" mkdir -p "$BUILD_DIR/jre" cp -R "$JRE_SRC" "$BUILD_DIR/jre/" echo "Copied custom JRE to $BUILD_DIR/jre/" ;; - windows) - # Windows Flutter executable folder - BUILD_DIR="$PROJECT_DIR/build/windows/runner/Debug" - mkdir -p "$BUILD_DIR/jre" - cp -R "$JRE_SRC" "$BUILD_DIR/jre/" - echo "Copied custom JRE to $BUILD_DIR/jre/" - ;; - *) echo "Unsupported platform: $PLATFORM" exit 1 diff --git a/jnigen/page.yaml b/jnigen/page.yaml new file mode 100644 index 0000000..610952b --- /dev/null +++ b/jnigen/page.yaml @@ -0,0 +1,9 @@ +output: + dart: + path: ../lib/jmodels/jpage.dart + structure: single_file + +class_path: + - '../assets/aniyomibridge-core.jar' +classes: + - 'eu.kanade.tachiyomi.source.model.Page' diff --git a/jnigen/schapter.yaml b/jnigen/schapter.yaml new file mode 100644 index 0000000..c639c43 --- /dev/null +++ b/jnigen/schapter.yaml @@ -0,0 +1,9 @@ +output: + dart: + path: ../lib/jmodels/jschapter.dart + structure: single_file + +class_path: + - '../assets/aniyomibridge-core.jar' +classes: + - 'eu.kanade.tachiyomi.source.model.SChapter' diff --git a/jnigen/smanga.yaml b/jnigen/smanga.yaml new file mode 100644 index 0000000..0512f77 --- /dev/null +++ b/jnigen/smanga.yaml @@ -0,0 +1,9 @@ +output: + dart: + path: ../lib/jmodels/jsmanga.dart + structure: single_file + +class_path: + - '../assets/aniyomibridge-core.jar' +classes: + - 'eu.kanade.tachiyomi.source.model.SManga' diff --git a/lib/aniyomi_bridge.dart b/lib/aniyomi_bridge.dart index f63fed7..02eaa3f 100644 --- a/lib/aniyomi_bridge.dart +++ b/lib/aniyomi_bridge.dart @@ -1,19 +1,25 @@ import 'dart:io'; import 'package:flutter/services.dart'; -import 'package:k3vinb5_aniyomi_bridge/jmodels/jvideo.dart'; +import 'package:jni/jni.dart'; import 'package:path_provider/path_provider.dart'; import 'package:path/path.dart' as path; -import 'package:jni/jni.dart'; +import 'package:k3vinb5_aniyomi_bridge/jmodels/jvideo.dart'; import 'package:k3vinb5_aniyomi_bridge/jmodels/janiyomibridge.dart'; import 'package:k3vinb5_aniyomi_bridge/jmodels/jsanime.dart'; import 'package:k3vinb5_aniyomi_bridge/jmodels/jsepisode.dart'; +import 'package:k3vinb5_aniyomi_bridge/jmodels/jsmanga.dart'; +import 'package:k3vinb5_aniyomi_bridge/jmodels/jschapter.dart'; +import 'package:k3vinb5_aniyomi_bridge/jmodels/jpage.dart'; class AniyomiBridge { - - static final _aniyomiBridgeDir = "aniyomibridge"; - static late final String _applicationSupportDirectory; - static final _packageAssetsDir = "packages/k3vinb5_aniyomi_bridge/assets"; + + static const String _aniyomiBridgeDir = "aniyomibridge"; + static const String _aniyomiBridgeAnimeExtensionsDir = "animeExtensions"; + static const String _aniyomiBridgeMangaExtensionsDir = "mangaExtensions"; + static const String _aniyomiBridgeJarName ="aniyomibridge-core.jar"; + static const String _packageAssetsDir = "packages/k3vinb5_aniyomi_bridge/assets"; static late final JAniyomiBridge _jAniyomiBridge; + static late final String _supportDirectoryPath; AniyomiBridge() { _initJvm(); @@ -21,6 +27,7 @@ class AniyomiBridge { Future _initJvm() async { Directory supportDirectory = await getApplicationSupportDirectory(); + _supportDirectoryPath = supportDirectory.path; await _loadJarIfNeeded(supportDirectory); Jni.spawn( dylibDir: _getDylibDir(supportDirectory), @@ -28,17 +35,24 @@ class AniyomiBridge { ); JAniyomiBridge.init(); _jAniyomiBridge = JAniyomiBridge(); - _applicationSupportDirectory = supportDirectory.path; } - List getSearchResults(String query, int page, String source) { - JList? searchResults = _jAniyomiBridge.getSearchResults(JString.fromString(query), page, JString.fromString(source)); + List getAnimeSearchResults(String query, int page, String source) { + JList? searchResults = _jAniyomiBridge.getAnimeSearchResults(JString.fromString(query), page, JString.fromString(source)); if (searchResults == null) { return []; } return searchResults.cast().where(_jObjIsNotNull).map((jObj) => jObj!.as(JSAnime.type)).toList(); } + List getMangaSearchResults(String query, int page, String source) { + JList? searchResults = _jAniyomiBridge.getMangaSearchResults(JString.fromString(query), page, JString.fromString(source)); + if (searchResults == null) { + return []; + } + return searchResults.cast().where(_jObjIsNotNull).map((jObj) => jObj!.as(JSManga.type)).toList(); + } + List getEpisodeList(JSAnime sAnime, String source) { JList? episodeList = _jAniyomiBridge.getEpisodeList(sAnime, JString.fromString(source)); if (episodeList == null) { @@ -47,6 +61,14 @@ class AniyomiBridge { return episodeList.cast().where(_jObjIsNotNull).map((jObj) => jObj!.as(JSEpisode.type)).toList(); } + List getChapterList(JSManga sManga, String source) { + JList? episodeList = _jAniyomiBridge.getEpisodeList(sManga, JString.fromString(source)); + if (episodeList == null) { + return []; + } + return episodeList.cast().where(_jObjIsNotNull).map((jObj) => jObj!.as(JSChapter.type)).toList(); + } + List getVideoList(JSEpisode sEpisode, String source) { JList? videoList = _jAniyomiBridge.getVideoList(sEpisode, JString.fromString(source)); if (videoList == null) { @@ -55,19 +77,39 @@ class AniyomiBridge { return videoList.cast().where(_jObjIsNotNull).map((jObj) => jObj!.as(JVideo.type)).toList(); } - void loadExtension(String extensionUrl) { - _jAniyomiBridge.loadExtension(JString.fromString(extensionUrl)); + List getPageList(JSChapter sChapter, String source) { + JList? videoList = _jAniyomiBridge.getVideoList(sChapter, JString.fromString(source)); + if (videoList == null) { + return []; + } + return videoList.cast().where(_jObjIsNotNull).map((jObj) => jObj!.as(JPage.type)).toList(); } - List? getLoadedExtensions() { - JList? loadedExtensions = _jAniyomiBridge.getLoadedExtensions(); + void loadAnimeExtension(String extensionUrl) { + _jAniyomiBridge.loadAnimeExtension(JString.fromString(extensionUrl), JString.fromString(path.join(_supportDirectoryPath, _aniyomiBridgeAnimeExtensionsDir))); + } + + void loadMangaExtension(String extensionUrl) { + _jAniyomiBridge.loadMangaExtension(JString.fromString(extensionUrl), JString.fromString(path.join(_supportDirectoryPath, _aniyomiBridgeMangaExtensionsDir))); + } + + List? getLoadedAnimeExtensions() { + JList? loadedExtensions = _jAniyomiBridge.getAnimeLoadedExtensions(); if (loadedExtensions == null) { return null; } return loadedExtensions.cast().map((jStr) => jStr.toDartString()).toList(); } - - bool Function(JObject? jObj) get _jObjIsNotNull => (jObj) => jObj != null; + + List? getLoadedMangaExtensions() { + JList? loadedExtensions = _jAniyomiBridge.getMangaLoadedExtensions(); + if (loadedExtensions == null) { + return null; + } + return loadedExtensions.cast().map((jStr) => jStr.toDartString()).toList(); + } + + bool Function(JObject? jObj) get _jObjIsNotNull => (jObj) => jObj != null; String _getDylibDir(Directory supportDirectory) { String executablePath = File(Platform.resolvedExecutable).parent.path; @@ -83,15 +125,14 @@ class AniyomiBridge { } List _getClassPath(Directory supportDirectory) { - return [path.join(supportDirectory.absolute.path, _aniyomiBridgeDir, "aniyomibridge-core.jar")]; + return [path.join(supportDirectory.absolute.path, _aniyomiBridgeDir, _aniyomiBridgeJarName)]; } Future _loadJarIfNeeded(Directory supportDirectory) async { - String aniyomiBridgeCorePath = path.join(supportDirectory.path, _aniyomiBridgeDir, "aniyomibridge-core.jar"); + String aniyomiBridgeCorePath = path.join(supportDirectory.path, _aniyomiBridgeDir, _aniyomiBridgeJarName); File aniyomiBridgeCore = File(aniyomiBridgeCorePath); if (!(await aniyomiBridgeCore.exists())) { - print("Copying aniyomibridge-core.jar to $aniyomiBridgeCorePath"); - _copyAssetToFile("$_packageAssetsDir/aniyomibridge-core.jar", aniyomiBridgeCorePath); + _copyAssetToFile("$_packageAssetsDir/$_aniyomiBridgeJarName", aniyomiBridgeCorePath); } } diff --git a/lib/jmodels/janiyomibridge.dart b/lib/jmodels/janiyomibridge.dart index f3a29cc..4a8df7b 100644 --- a/lib/jmodels/janiyomibridge.dart +++ b/lib/jmodels/janiyomibridge.dart @@ -113,45 +113,12 @@ class JAniyomiBridge extends jni$_.JObject { _init(_class.reference.pointer, _id_init as jni$_.JMethodIDPtr).check(); } - static final _id_loadExtension = _class.instanceMethodId( - r'loadExtension', - r'(Ljava/lang/String;)V', - ); - - static final _loadExtension = - jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JThrowablePtr Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - jni$_.VarArgs<(jni$_.Pointer,)>, - ) - > - >('globalEnv_CallVoidMethod') - .asFunction< - jni$_.JThrowablePtr Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - jni$_.Pointer, - ) - >(); - - /// from: `public void loadExtension(java.lang.String string)` - void loadExtension(jni$_.JString? string) { - final _$string = string?.reference ?? jni$_.jNullReference; - _loadExtension( - reference.pointer, - _id_loadExtension as jni$_.JMethodIDPtr, - _$string.pointer, - ).check(); - } - - static final _id_loadExtensionFile = _class.instanceMethodId( - r'loadExtensionFile', + static final _id_loadAnimeExtension = _class.instanceMethodId( + r'loadAnimeExtension', r'(Ljava/lang/String;Ljava/lang/String;)V', ); - static final _loadExtensionFile = + static final _loadAnimeExtension = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JThrowablePtr Function( @@ -172,24 +139,62 @@ class JAniyomiBridge extends jni$_.JObject { ) >(); - /// from: `public void loadExtensionFile(java.lang.String string, java.lang.String string1)` - void loadExtensionFile(jni$_.JString? string, jni$_.JString? string1) { + /// from: `public void loadAnimeExtension(java.lang.String string, java.lang.String string1)` + void loadAnimeExtension(jni$_.JString? string, jni$_.JString? string1) { final _$string = string?.reference ?? jni$_.jNullReference; final _$string1 = string1?.reference ?? jni$_.jNullReference; - _loadExtensionFile( + _loadAnimeExtension( reference.pointer, - _id_loadExtensionFile as jni$_.JMethodIDPtr, + _id_loadAnimeExtension as jni$_.JMethodIDPtr, _$string.pointer, _$string1.pointer, ).check(); } - static final _id_getLoadedExtensions = _class.instanceMethodId( - r'getLoadedExtensions', + static final _id_loadMangaExtension = _class.instanceMethodId( + r'loadMangaExtension', + r'(Ljava/lang/String;Ljava/lang/String;)V', + ); + + static final _loadMangaExtension = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + (jni$_.Pointer, jni$_.Pointer) + >, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + jni$_.Pointer, + ) + >(); + + /// from: `public void loadMangaExtension(java.lang.String string, java.lang.String string1)` + void loadMangaExtension(jni$_.JString? string, jni$_.JString? string1) { + final _$string = string?.reference ?? jni$_.jNullReference; + final _$string1 = string1?.reference ?? jni$_.jNullReference; + _loadMangaExtension( + reference.pointer, + _id_loadMangaExtension as jni$_.JMethodIDPtr, + _$string.pointer, + _$string1.pointer, + ).check(); + } + + static final _id_getAnimeLoadedExtensions = _class.instanceMethodId( + r'getAnimeLoadedExtensions', r'()Ljava/util/List;', ); - static final _getLoadedExtensions = + static final _getAnimeLoadedExtensions = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( @@ -205,12 +210,12 @@ class JAniyomiBridge extends jni$_.JObject { ) >(); - /// from: `public java.util.List getLoadedExtensions()` + /// from: `public java.util.List getAnimeLoadedExtensions()` /// The returned object must be released after use, by calling the [release] method. - jni$_.JList? getLoadedExtensions() { - return _getLoadedExtensions( + jni$_.JList? getAnimeLoadedExtensions() { + return _getAnimeLoadedExtensions( reference.pointer, - _id_getLoadedExtensions as jni$_.JMethodIDPtr, + _id_getAnimeLoadedExtensions as jni$_.JMethodIDPtr, ).object?>( const jni$_.JListNullableType( jni$_.JStringNullableType(), @@ -218,12 +223,46 @@ class JAniyomiBridge extends jni$_.JObject { ); } - static final _id_getSearchResults = _class.instanceMethodId( - r'getSearchResults', + static final _id_getMangaLoadedExtensions = _class.instanceMethodId( + r'getMangaLoadedExtensions', + r'()Ljava/util/List;', + ); + + static final _getMangaLoadedExtensions = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public java.util.List getMangaLoadedExtensions()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList? getMangaLoadedExtensions() { + return _getMangaLoadedExtensions( + reference.pointer, + _id_getMangaLoadedExtensions as jni$_.JMethodIDPtr, + ).object?>( + const jni$_.JListNullableType( + jni$_.JStringNullableType(), + ), + ); + } + + static final _id_getAnimeSearchResults = _class.instanceMethodId( + r'getAnimeSearchResults', r'(Ljava/lang/String;ILjava/lang/String;)Ljava/util/List;', ); - static final _getSearchResults = + static final _getAnimeSearchResults = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( @@ -249,18 +288,71 @@ class JAniyomiBridge extends jni$_.JObject { ) >(); - /// from: `public java.util.List getSearchResults(java.lang.String string, int i, java.lang.String string1)` + /// from: `public java.util.List getAnimeSearchResults(java.lang.String string, int i, java.lang.String string1)` /// The returned object must be released after use, by calling the [release] method. - jni$_.JList? getSearchResults( + jni$_.JList? getAnimeSearchResults( jni$_.JString? string, int i, jni$_.JString? string1, ) { final _$string = string?.reference ?? jni$_.jNullReference; final _$string1 = string1?.reference ?? jni$_.jNullReference; - return _getSearchResults( + return _getAnimeSearchResults( reference.pointer, - _id_getSearchResults as jni$_.JMethodIDPtr, + _id_getAnimeSearchResults as jni$_.JMethodIDPtr, + _$string.pointer, + i, + _$string1.pointer, + ).object?>( + const jni$_.JListNullableType( + jni$_.JObjectNullableType(), + ), + ); + } + + static final _id_getMangaSearchResults = _class.instanceMethodId( + r'getMangaSearchResults', + r'(Ljava/lang/String;ILjava/lang/String;)Ljava/util/List;', + ); + + static final _getMangaSearchResults = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + ( + jni$_.Pointer, + jni$_.Int32, + jni$_.Pointer, + ) + >, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + int, + jni$_.Pointer, + ) + >(); + + /// from: `public java.util.List getMangaSearchResults(java.lang.String string, int i, java.lang.String string1)` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList? getMangaSearchResults( + jni$_.JString? string, + int i, + jni$_.JString? string1, + ) { + final _$string = string?.reference ?? jni$_.jNullReference; + final _$string1 = string1?.reference ?? jni$_.jNullReference; + return _getMangaSearchResults( + reference.pointer, + _id_getMangaSearchResults as jni$_.JMethodIDPtr, _$string.pointer, i, _$string1.pointer, @@ -317,6 +409,52 @@ class JAniyomiBridge extends jni$_.JObject { ); } + static final _id_getChapterList = _class.instanceMethodId( + r'getChapterList', + r'(Leu/kanade/tachiyomi/source/model/SManga;Ljava/lang/String;)Ljava/util/List;', + ); + + static final _getChapterList = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + (jni$_.Pointer, jni$_.Pointer) + >, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + jni$_.Pointer, + ) + >(); + + /// from: `public java.util.List getChapterList(eu.kanade.tachiyomi.source.model.SManga sManga, java.lang.String string)` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList? getChapterList( + jni$_.JObject? sManga, + jni$_.JString? string, + ) { + final _$sManga = sManga?.reference ?? jni$_.jNullReference; + final _$string = string?.reference ?? jni$_.jNullReference; + return _getChapterList( + reference.pointer, + _id_getChapterList as jni$_.JMethodIDPtr, + _$sManga.pointer, + _$string.pointer, + ).object?>( + const jni$_.JListNullableType( + jni$_.JObjectNullableType(), + ), + ); + } + static final _id_getVideoList = _class.instanceMethodId( r'getVideoList', r'(Leu/kanade/tachiyomi/animesource/model/SEpisode;Ljava/lang/String;)Ljava/util/List;', @@ -362,6 +500,52 @@ class JAniyomiBridge extends jni$_.JObject { ), ); } + + static final _id_getPageList = _class.instanceMethodId( + r'getPageList', + r'(Leu/kanade/tachiyomi/source/model/SChapter;Ljava/lang/String;)Ljava/util/List;', + ); + + static final _getPageList = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + (jni$_.Pointer, jni$_.Pointer) + >, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + jni$_.Pointer, + ) + >(); + + /// from: `public java.util.List getPageList(eu.kanade.tachiyomi.source.model.SChapter sChapter, java.lang.String string)` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList? getPageList( + jni$_.JObject? sChapter, + jni$_.JString? string, + ) { + final _$sChapter = sChapter?.reference ?? jni$_.jNullReference; + final _$string = string?.reference ?? jni$_.jNullReference; + return _getPageList( + reference.pointer, + _id_getPageList as jni$_.JMethodIDPtr, + _$sChapter.pointer, + _$string.pointer, + ).object?>( + const jni$_.JListNullableType( + jni$_.JObjectNullableType(), + ), + ); + } } final class $AniyomiBridge$NullableType extends jni$_.JObjType { diff --git a/lib/jmodels/jpage.dart b/lib/jmodels/jpage.dart new file mode 100644 index 0000000..e19b61c --- /dev/null +++ b/lib/jmodels/jpage.dart @@ -0,0 +1,1126 @@ +// AUTO GENERATED BY JNIGEN 0.14.2. DO NOT EDIT! + +// ignore_for_file: annotate_overrides +// ignore_for_file: argument_type_not_assignable +// ignore_for_file: camel_case_extensions +// ignore_for_file: camel_case_types +// ignore_for_file: constant_identifier_names +// ignore_for_file: comment_references +// ignore_for_file: doc_directive_unknown +// ignore_for_file: file_names +// ignore_for_file: inference_failure_on_untyped_parameter +// ignore_for_file: invalid_internal_annotation +// ignore_for_file: invalid_use_of_internal_member +// ignore_for_file: library_prefixes +// ignore_for_file: lines_longer_than_80_chars +// ignore_for_file: no_leading_underscores_for_library_prefixes +// ignore_for_file: no_leading_underscores_for_local_identifiers +// ignore_for_file: non_constant_identifier_names +// ignore_for_file: only_throw_errors +// ignore_for_file: overridden_fields +// ignore_for_file: prefer_double_quotes +// ignore_for_file: unintended_html_in_doc_comment +// ignore_for_file: unnecessary_cast +// ignore_for_file: unnecessary_non_null_assertion +// ignore_for_file: unnecessary_parenthesis +// ignore_for_file: unused_element +// ignore_for_file: unused_field +// ignore_for_file: unused_import +// ignore_for_file: unused_local_variable +// ignore_for_file: unused_shown_name +// ignore_for_file: use_super_parameters + +import 'dart:core' show Object, String, bool, double, int; +import 'dart:core' as core$_; + +import 'package:jni/_internal.dart' as jni$_; +import 'package:jni/jni.dart' as jni$_; + +/// from: `eu.kanade.tachiyomi.source.model.Page$Companion` +class Page$Companion extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + Page$Companion.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/source/model/Page$Companion', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $Page$Companion$NullableType(); + static const type = $Page$Companion$Type(); + static final _id_serializer = _class.instanceMethodId( + r'serializer', + r'()Lkotlinx/serialization/KSerializer;', + ); + + static final _serializer = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final kotlinx.serialization.KSerializer serializer()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JObject serializer() { + return _serializer( + reference.pointer, + _id_serializer as jni$_.JMethodIDPtr, + ).object(const jni$_.JObjectType()); + } + + static final _id_new$ = _class.constructorId( + r'(Lkotlin/jvm/internal/DefaultConstructorMarker;)V', + ); + + static final _new$ = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_NewObject') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `synthetic public void (kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker)` + /// The returned object must be released after use, by calling the [release] method. + factory Page$Companion(jni$_.JObject? defaultConstructorMarker) { + final _$defaultConstructorMarker = + defaultConstructorMarker?.reference ?? jni$_.jNullReference; + return Page$Companion.fromReference( + _new$( + _class.reference.pointer, + _id_new$ as jni$_.JMethodIDPtr, + _$defaultConstructorMarker.pointer, + ).reference, + ); + } +} + +final class $Page$Companion$NullableType + extends jni$_.JObjType { + @jni$_.internal + const $Page$Companion$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => r'Leu/kanade/tachiyomi/source/model/Page$Companion;'; + + @jni$_.internal + @core$_.override + Page$Companion? fromReference(jni$_.JReference reference) => + reference.isNull ? null : Page$Companion.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => this; + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($Page$Companion$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($Page$Companion$NullableType) && + other is $Page$Companion$NullableType; + } +} + +final class $Page$Companion$Type extends jni$_.JObjType { + @jni$_.internal + const $Page$Companion$Type(); + + @jni$_.internal + @core$_.override + String get signature => r'Leu/kanade/tachiyomi/source/model/Page$Companion;'; + + @jni$_.internal + @core$_.override + Page$Companion fromReference(jni$_.JReference reference) => + Page$Companion.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => + const $Page$Companion$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($Page$Companion$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($Page$Companion$Type) && + other is $Page$Companion$Type; + } +} + +/// from: `eu.kanade.tachiyomi.source.model.Page$State` +class Page$State extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + Page$State.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/source/model/Page$State', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $Page$State$NullableType(); + static const type = $Page$State$Type(); + static final _id_QUEUE = _class.staticFieldId( + r'QUEUE', + r'Leu/kanade/tachiyomi/source/model/Page$State;', + ); + + /// from: `static public final eu.kanade.tachiyomi.source.model.Page$State QUEUE` + /// The returned object must be released after use, by calling the [release] method. + static Page$State get QUEUE => + _id_QUEUE.get(_class, const $Page$State$Type()); + + static final _id_LOAD_PAGE = _class.staticFieldId( + r'LOAD_PAGE', + r'Leu/kanade/tachiyomi/source/model/Page$State;', + ); + + /// from: `static public final eu.kanade.tachiyomi.source.model.Page$State LOAD_PAGE` + /// The returned object must be released after use, by calling the [release] method. + static Page$State get LOAD_PAGE => + _id_LOAD_PAGE.get(_class, const $Page$State$Type()); + + static final _id_DOWNLOAD_IMAGE = _class.staticFieldId( + r'DOWNLOAD_IMAGE', + r'Leu/kanade/tachiyomi/source/model/Page$State;', + ); + + /// from: `static public final eu.kanade.tachiyomi.source.model.Page$State DOWNLOAD_IMAGE` + /// The returned object must be released after use, by calling the [release] method. + static Page$State get DOWNLOAD_IMAGE => + _id_DOWNLOAD_IMAGE.get(_class, const $Page$State$Type()); + + static final _id_READY = _class.staticFieldId( + r'READY', + r'Leu/kanade/tachiyomi/source/model/Page$State;', + ); + + /// from: `static public final eu.kanade.tachiyomi.source.model.Page$State READY` + /// The returned object must be released after use, by calling the [release] method. + static Page$State get READY => + _id_READY.get(_class, const $Page$State$Type()); + + static final _id_ERROR = _class.staticFieldId( + r'ERROR', + r'Leu/kanade/tachiyomi/source/model/Page$State;', + ); + + /// from: `static public final eu.kanade.tachiyomi.source.model.Page$State ERROR` + /// The returned object must be released after use, by calling the [release] method. + static Page$State get ERROR => + _id_ERROR.get(_class, const $Page$State$Type()); + + static final _id_values = _class.staticMethodId( + r'values', + r'()[Leu/kanade/tachiyomi/source/model/Page$State;', + ); + + static final _values = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallStaticObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `static public eu.kanade.tachiyomi.source.model.Page$State[] values()` + /// The returned object must be released after use, by calling the [release] method. + static jni$_.JArray? values() { + return _values( + _class.reference.pointer, + _id_values as jni$_.JMethodIDPtr, + ).object?>( + const jni$_.JArrayNullableType($Page$State$NullableType()), + ); + } + + static final _id_valueOf = _class.staticMethodId( + r'valueOf', + r'(Ljava/lang/String;)Leu/kanade/tachiyomi/source/model/Page$State;', + ); + + static final _valueOf = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallStaticObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `static public eu.kanade.tachiyomi.source.model.Page$State valueOf(java.lang.String string)` + /// The returned object must be released after use, by calling the [release] method. + static Page$State? valueOf(jni$_.JString? string) { + final _$string = string?.reference ?? jni$_.jNullReference; + return _valueOf( + _class.reference.pointer, + _id_valueOf as jni$_.JMethodIDPtr, + _$string.pointer, + ).object(const $Page$State$NullableType()); + } + + static final _id_getEntries = _class.staticMethodId( + r'getEntries', + r'()Lkotlin/enums/EnumEntries;', + ); + + static final _getEntries = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallStaticObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `static public kotlin.enums.EnumEntries getEntries()` + /// The returned object must be released after use, by calling the [release] method. + static jni$_.JObject getEntries() { + return _getEntries( + _class.reference.pointer, + _id_getEntries as jni$_.JMethodIDPtr, + ).object(const jni$_.JObjectType()); + } +} + +final class $Page$State$NullableType extends jni$_.JObjType { + @jni$_.internal + const $Page$State$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => r'Leu/kanade/tachiyomi/source/model/Page$State;'; + + @jni$_.internal + @core$_.override + Page$State? fromReference(jni$_.JReference reference) => + reference.isNull ? null : Page$State.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => this; + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($Page$State$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($Page$State$NullableType) && + other is $Page$State$NullableType; + } +} + +final class $Page$State$Type extends jni$_.JObjType { + @jni$_.internal + const $Page$State$Type(); + + @jni$_.internal + @core$_.override + String get signature => r'Leu/kanade/tachiyomi/source/model/Page$State;'; + + @jni$_.internal + @core$_.override + Page$State fromReference(jni$_.JReference reference) => + Page$State.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => + const $Page$State$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($Page$State$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($Page$State$Type) && other is $Page$State$Type; + } +} + +/// from: `eu.kanade.tachiyomi.source.model.Page` +class JPage extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + JPage.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/source/model/Page', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $Page$NullableType(); + static const type = $Page$Type(); + static final _id_Companion = _class.staticFieldId( + r'Companion', + r'Leu/kanade/tachiyomi/source/model/Page$Companion;', + ); + + /// from: `static public final eu.kanade.tachiyomi.source.model.Page$Companion Companion` + /// The returned object must be released after use, by calling the [release] method. + static Page$Companion get Companion => + _id_Companion.get(_class, const $Page$Companion$Type()); + + static final _id_new$ = _class.constructorId( + r'(ILjava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V', + ); + + static final _new$ = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + ( + jni$_.Int32, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + ) + >, + ) + > + >('globalEnv_NewObject') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + int, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + ) + >(); + + /// from: `public void (int i, java.lang.String string, java.lang.String string1, android.net.Uri uri)` + /// The returned object must be released after use, by calling the [release] method. + factory JPage( + int i, + jni$_.JString string, + jni$_.JString? string1, + jni$_.JObject? uri, + ) { + final _$string = string.reference; + final _$string1 = string1?.reference ?? jni$_.jNullReference; + final _$uri = uri?.reference ?? jni$_.jNullReference; + return JPage.fromReference( + _new$( + _class.reference.pointer, + _id_new$ as jni$_.JMethodIDPtr, + i, + _$string.pointer, + _$string1.pointer, + _$uri.pointer, + ).reference, + ); + } + + static final _id_new$1 = _class.constructorId( + r'(ILjava/lang/String;Ljava/lang/String;Landroid/net/Uri;ILkotlin/jvm/internal/DefaultConstructorMarker;)V', + ); + + static final _new$1 = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + ( + jni$_.Int32, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Int32, + jni$_.Pointer, + ) + >, + ) + > + >('globalEnv_NewObject') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + int, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + int, + jni$_.Pointer, + ) + >(); + + /// from: `synthetic public void (int i, java.lang.String string, java.lang.String string1, android.net.Uri uri, int i1, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker)` + /// The returned object must be released after use, by calling the [release] method. + factory JPage.new$1( + int i, + jni$_.JString? string, + jni$_.JString? string1, + jni$_.JObject? uri, + int i1, + jni$_.JObject? defaultConstructorMarker, + ) { + final _$string = string?.reference ?? jni$_.jNullReference; + final _$string1 = string1?.reference ?? jni$_.jNullReference; + final _$uri = uri?.reference ?? jni$_.jNullReference; + final _$defaultConstructorMarker = + defaultConstructorMarker?.reference ?? jni$_.jNullReference; + return JPage.fromReference( + _new$1( + _class.reference.pointer, + _id_new$1 as jni$_.JMethodIDPtr, + i, + _$string.pointer, + _$string1.pointer, + _$uri.pointer, + i1, + _$defaultConstructorMarker.pointer, + ).reference, + ); + } + + static final _id_getIndex = _class.instanceMethodId(r'getIndex', r'()I'); + + static final _getIndex = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallIntMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final int getIndex()` + int getIndex() { + return _getIndex( + reference.pointer, + _id_getIndex as jni$_.JMethodIDPtr, + ).integer; + } + + static final _id_getUrl = _class.instanceMethodId( + r'getUrl', + r'()Ljava/lang/String;', + ); + + static final _getUrl = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final java.lang.String getUrl()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString getUrl() { + return _getUrl( + reference.pointer, + _id_getUrl as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringType()); + } + + static final _id_getImageUrl = _class.instanceMethodId( + r'getImageUrl', + r'()Ljava/lang/String;', + ); + + static final _getImageUrl = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final java.lang.String getImageUrl()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString? getImageUrl() { + return _getImageUrl( + reference.pointer, + _id_getImageUrl as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringNullableType()); + } + + static final _id_setImageUrl = _class.instanceMethodId( + r'setImageUrl', + r'(Ljava/lang/String;)V', + ); + + static final _setImageUrl = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public final void setImageUrl(java.lang.String string)` + void setImageUrl(jni$_.JString? string) { + final _$string = string?.reference ?? jni$_.jNullReference; + _setImageUrl( + reference.pointer, + _id_setImageUrl as jni$_.JMethodIDPtr, + _$string.pointer, + ).check(); + } + + static final _id_getUri = _class.instanceMethodId( + r'getUri', + r'()Landroid/net/Uri;', + ); + + static final _getUri = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final android.net.Uri getUri()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JObject? getUri() { + return _getUri( + reference.pointer, + _id_getUri as jni$_.JMethodIDPtr, + ).object(const jni$_.JObjectNullableType()); + } + + static final _id_setUri = _class.instanceMethodId( + r'setUri', + r'(Landroid/net/Uri;)V', + ); + + static final _setUri = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public final void setUri(android.net.Uri uri)` + void setUri(jni$_.JObject? uri) { + final _$uri = uri?.reference ?? jni$_.jNullReference; + _setUri( + reference.pointer, + _id_setUri as jni$_.JMethodIDPtr, + _$uri.pointer, + ).check(); + } + + static final _id_getNumber = _class.instanceMethodId(r'getNumber', r'()I'); + + static final _getNumber = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallIntMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final int getNumber()` + int getNumber() { + return _getNumber( + reference.pointer, + _id_getNumber as jni$_.JMethodIDPtr, + ).integer; + } + + static final _id_getStatusFlow = _class.instanceMethodId( + r'getStatusFlow', + r'()Lkotlinx/coroutines/flow/StateFlow;', + ); + + static final _getStatusFlow = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final kotlinx.coroutines.flow.StateFlow getStatusFlow()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JObject getStatusFlow() { + return _getStatusFlow( + reference.pointer, + _id_getStatusFlow as jni$_.JMethodIDPtr, + ).object(const jni$_.JObjectType()); + } + + static final _id_getStatus = _class.instanceMethodId( + r'getStatus', + r'()Leu/kanade/tachiyomi/source/model/Page$State;', + ); + + static final _getStatus = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final eu.kanade.tachiyomi.source.model.Page$State getStatus()` + /// The returned object must be released after use, by calling the [release] method. + Page$State getStatus() { + return _getStatus( + reference.pointer, + _id_getStatus as jni$_.JMethodIDPtr, + ).object(const $Page$State$Type()); + } + + static final _id_setStatus = _class.instanceMethodId( + r'setStatus', + r'(Leu/kanade/tachiyomi/source/model/Page$State;)V', + ); + + static final _setStatus = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public final void setStatus(eu.kanade.tachiyomi.source.model.Page$State state)` + void setStatus(Page$State state) { + final _$state = state.reference; + _setStatus( + reference.pointer, + _id_setStatus as jni$_.JMethodIDPtr, + _$state.pointer, + ).check(); + } + + static final _id_getProgressFlow = _class.instanceMethodId( + r'getProgressFlow', + r'()Lkotlinx/coroutines/flow/StateFlow;', + ); + + static final _getProgressFlow = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final kotlinx.coroutines.flow.StateFlow getProgressFlow()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JObject getProgressFlow() { + return _getProgressFlow( + reference.pointer, + _id_getProgressFlow as jni$_.JMethodIDPtr, + ).object(const jni$_.JObjectType()); + } + + static final _id_getProgress = _class.instanceMethodId( + r'getProgress', + r'()I', + ); + + static final _getProgress = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallIntMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final int getProgress()` + int getProgress() { + return _getProgress( + reference.pointer, + _id_getProgress as jni$_.JMethodIDPtr, + ).integer; + } + + static final _id_setProgress = _class.instanceMethodId( + r'setProgress', + r'(I)V', + ); + + static final _setProgress = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Int32,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + int, + ) + >(); + + /// from: `public final void setProgress(int i)` + void setProgress(int i) { + _setProgress( + reference.pointer, + _id_setProgress as jni$_.JMethodIDPtr, + i, + ).check(); + } + + static final _id_update = _class.instanceMethodId(r'update', r'(JJZ)V'); + + static final _update = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Int64, jni$_.Int64, jni$_.Int32)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + int, + int, + int, + ) + >(); + + /// from: `public void update(long j, long j1, boolean z)` + void update(int j, int j1, bool z) { + _update( + reference.pointer, + _id_update as jni$_.JMethodIDPtr, + j, + j1, + z ? 1 : 0, + ).check(); + } + + static final _id_new$2 = _class.constructorId( + r'(IILjava/lang/String;Ljava/lang/String;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V', + ); + + static final _new$2 = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + ( + jni$_.Int32, + jni$_.Int32, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + ) + >, + ) + > + >('globalEnv_NewObject') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + int, + int, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + ) + >(); + + /// from: `synthetic public void (int i, int i1, java.lang.String string, java.lang.String string1, kotlinx.serialization.internal.SerializationConstructorMarker serializationConstructorMarker)` + /// The returned object must be released after use, by calling the [release] method. + factory JPage.new$2( + int i, + int i1, + jni$_.JString? string, + jni$_.JString? string1, + jni$_.JObject? serializationConstructorMarker, + ) { + final _$string = string?.reference ?? jni$_.jNullReference; + final _$string1 = string1?.reference ?? jni$_.jNullReference; + final _$serializationConstructorMarker = + serializationConstructorMarker?.reference ?? jni$_.jNullReference; + return JPage.fromReference( + _new$2( + _class.reference.pointer, + _id_new$2 as jni$_.JMethodIDPtr, + i, + i1, + _$string.pointer, + _$string1.pointer, + _$serializationConstructorMarker.pointer, + ).reference, + ); + } +} + +final class $Page$NullableType extends jni$_.JObjType { + @jni$_.internal + const $Page$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => r'Leu/kanade/tachiyomi/source/model/Page;'; + + @jni$_.internal + @core$_.override + JPage? fromReference(jni$_.JReference reference) => + reference.isNull ? null : JPage.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectNullableType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => this; + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($Page$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($Page$NullableType) && + other is $Page$NullableType; + } +} + +final class $Page$Type extends jni$_.JObjType { + @jni$_.internal + const $Page$Type(); + + @jni$_.internal + @core$_.override + String get signature => r'Leu/kanade/tachiyomi/source/model/Page;'; + + @jni$_.internal + @core$_.override + JPage fromReference(jni$_.JReference reference) => + JPage.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectNullableType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => const $Page$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($Page$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($Page$Type) && other is $Page$Type; + } +} diff --git a/lib/jmodels/jschapter.dart b/lib/jmodels/jschapter.dart new file mode 100644 index 0000000..6e36326 --- /dev/null +++ b/lib/jmodels/jschapter.dart @@ -0,0 +1,1004 @@ +// AUTO GENERATED BY JNIGEN 0.14.2. DO NOT EDIT! + +// ignore_for_file: annotate_overrides +// ignore_for_file: argument_type_not_assignable +// ignore_for_file: camel_case_extensions +// ignore_for_file: camel_case_types +// ignore_for_file: constant_identifier_names +// ignore_for_file: comment_references +// ignore_for_file: doc_directive_unknown +// ignore_for_file: file_names +// ignore_for_file: inference_failure_on_untyped_parameter +// ignore_for_file: invalid_internal_annotation +// ignore_for_file: invalid_use_of_internal_member +// ignore_for_file: library_prefixes +// ignore_for_file: lines_longer_than_80_chars +// ignore_for_file: no_leading_underscores_for_library_prefixes +// ignore_for_file: no_leading_underscores_for_local_identifiers +// ignore_for_file: non_constant_identifier_names +// ignore_for_file: only_throw_errors +// ignore_for_file: overridden_fields +// ignore_for_file: prefer_double_quotes +// ignore_for_file: unintended_html_in_doc_comment +// ignore_for_file: unnecessary_cast +// ignore_for_file: unnecessary_non_null_assertion +// ignore_for_file: unnecessary_parenthesis +// ignore_for_file: unused_element +// ignore_for_file: unused_field +// ignore_for_file: unused_import +// ignore_for_file: unused_local_variable +// ignore_for_file: unused_shown_name +// ignore_for_file: use_super_parameters + +import 'dart:core' show Object, String, bool, double, int; +import 'dart:core' as core$_; + +import 'package:jni/_internal.dart' as jni$_; +import 'package:jni/jni.dart' as jni$_; + +/// from: `eu.kanade.tachiyomi.source.model.SChapter$Companion` +class SChapter$Companion extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + SChapter$Companion.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/source/model/SChapter$Companion', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $SChapter$Companion$NullableType(); + static const type = $SChapter$Companion$Type(); + static final _id_create = _class.instanceMethodId( + r'create', + r'()Leu/kanade/tachiyomi/source/model/SChapter;', + ); + + static final _create = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final eu.kanade.tachiyomi.source.model.SChapter create()` + /// The returned object must be released after use, by calling the [release] method. + JSChapter create() { + return _create( + reference.pointer, + _id_create as jni$_.JMethodIDPtr, + ).object(const $SChapter$Type()); + } +} + +final class $SChapter$Companion$NullableType + extends jni$_.JObjType { + @jni$_.internal + const $SChapter$Companion$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/source/model/SChapter$Companion;'; + + @jni$_.internal + @core$_.override + SChapter$Companion? fromReference(jni$_.JReference reference) => + reference.isNull ? null : SChapter$Companion.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => this; + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SChapter$Companion$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SChapter$Companion$NullableType) && + other is $SChapter$Companion$NullableType; + } +} + +final class $SChapter$Companion$Type + extends jni$_.JObjType { + @jni$_.internal + const $SChapter$Companion$Type(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/source/model/SChapter$Companion;'; + + @jni$_.internal + @core$_.override + SChapter$Companion fromReference(jni$_.JReference reference) => + SChapter$Companion.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => + const $SChapter$Companion$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SChapter$Companion$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SChapter$Companion$Type) && + other is $SChapter$Companion$Type; + } +} + +/// from: `eu.kanade.tachiyomi.source.model.SChapter$DefaultImpls` +class SChapter$DefaultImpls extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + SChapter$DefaultImpls.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/source/model/SChapter$DefaultImpls', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $SChapter$DefaultImpls$NullableType(); + static const type = $SChapter$DefaultImpls$Type(); + static final _id_copyFrom = _class.staticMethodId( + r'copyFrom', + r'(Leu/kanade/tachiyomi/source/model/SChapter;Leu/kanade/tachiyomi/source/model/SChapter;)V', + ); + + static final _copyFrom = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + (jni$_.Pointer, jni$_.Pointer) + >, + ) + > + >('globalEnv_CallStaticVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + jni$_.Pointer, + ) + >(); + + /// from: `static public void copyFrom(eu.kanade.tachiyomi.source.model.SChapter sChapter, eu.kanade.tachiyomi.source.model.SChapter sChapter1)` + static void copyFrom(JSChapter sChapter, JSChapter sChapter1) { + final _$sChapter = sChapter.reference; + final _$sChapter1 = sChapter1.reference; + _copyFrom( + _class.reference.pointer, + _id_copyFrom as jni$_.JMethodIDPtr, + _$sChapter.pointer, + _$sChapter1.pointer, + ).check(); + } +} + +final class $SChapter$DefaultImpls$NullableType + extends jni$_.JObjType { + @jni$_.internal + const $SChapter$DefaultImpls$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/source/model/SChapter$DefaultImpls;'; + + @jni$_.internal + @core$_.override + SChapter$DefaultImpls? fromReference(jni$_.JReference reference) => + reference.isNull ? null : SChapter$DefaultImpls.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectNullableType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => this; + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SChapter$DefaultImpls$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SChapter$DefaultImpls$NullableType) && + other is $SChapter$DefaultImpls$NullableType; + } +} + +final class $SChapter$DefaultImpls$Type + extends jni$_.JObjType { + @jni$_.internal + const $SChapter$DefaultImpls$Type(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/source/model/SChapter$DefaultImpls;'; + + @jni$_.internal + @core$_.override + SChapter$DefaultImpls fromReference(jni$_.JReference reference) => + SChapter$DefaultImpls.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectNullableType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => + const $SChapter$DefaultImpls$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SChapter$DefaultImpls$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SChapter$DefaultImpls$Type) && + other is $SChapter$DefaultImpls$Type; + } +} + +/// from: `eu.kanade.tachiyomi.source.model.SChapter` +class JSChapter extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + JSChapter.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/source/model/SChapter', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $SChapter$NullableType(); + static const type = $SChapter$Type(); + static final _id_Companion = _class.staticFieldId( + r'Companion', + r'Leu/kanade/tachiyomi/source/model/SChapter$Companion;', + ); + + /// from: `static public final eu.kanade.tachiyomi.source.model.SChapter$Companion Companion` + /// The returned object must be released after use, by calling the [release] method. + static SChapter$Companion get Companion => + _id_Companion.get(_class, const $SChapter$Companion$Type()); + + static final _id_getUrl = _class.instanceMethodId( + r'getUrl', + r'()Ljava/lang/String;', + ); + + static final _getUrl = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract java.lang.String getUrl()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString getUrl() { + return _getUrl( + reference.pointer, + _id_getUrl as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringType()); + } + + static final _id_setUrl = _class.instanceMethodId( + r'setUrl', + r'(Ljava/lang/String;)V', + ); + + static final _setUrl = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public abstract void setUrl(java.lang.String string)` + void setUrl(jni$_.JString string) { + final _$string = string.reference; + _setUrl( + reference.pointer, + _id_setUrl as jni$_.JMethodIDPtr, + _$string.pointer, + ).check(); + } + + static final _id_getName = _class.instanceMethodId( + r'getName', + r'()Ljava/lang/String;', + ); + + static final _getName = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract java.lang.String getName()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString getName() { + return _getName( + reference.pointer, + _id_getName as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringType()); + } + + static final _id_setName = _class.instanceMethodId( + r'setName', + r'(Ljava/lang/String;)V', + ); + + static final _setName = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public abstract void setName(java.lang.String string)` + void setName(jni$_.JString string) { + final _$string = string.reference; + _setName( + reference.pointer, + _id_setName as jni$_.JMethodIDPtr, + _$string.pointer, + ).check(); + } + + static final _id_getDate_upload = _class.instanceMethodId( + r'getDate_upload', + r'()J', + ); + + static final _getDate_upload = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallLongMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract long getDate_upload()` + int getDate_upload() { + return _getDate_upload( + reference.pointer, + _id_getDate_upload as jni$_.JMethodIDPtr, + ).long; + } + + static final _id_setDate_upload = _class.instanceMethodId( + r'setDate_upload', + r'(J)V', + ); + + static final _setDate_upload = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Int64,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + int, + ) + >(); + + /// from: `public abstract void setDate_upload(long j)` + void setDate_upload(int j) { + _setDate_upload( + reference.pointer, + _id_setDate_upload as jni$_.JMethodIDPtr, + j, + ).check(); + } + + static final _id_getChapter_number = _class.instanceMethodId( + r'getChapter_number', + r'()F', + ); + + static final _getChapter_number = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallFloatMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract float getChapter_number()` + double getChapter_number() { + return _getChapter_number( + reference.pointer, + _id_getChapter_number as jni$_.JMethodIDPtr, + ).float; + } + + static final _id_setChapter_number = _class.instanceMethodId( + r'setChapter_number', + r'(F)V', + ); + + static final _setChapter_number = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Double,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + double, + ) + >(); + + /// from: `public abstract void setChapter_number(float f)` + void setChapter_number(double f) { + _setChapter_number( + reference.pointer, + _id_setChapter_number as jni$_.JMethodIDPtr, + f, + ).check(); + } + + static final _id_getScanlator = _class.instanceMethodId( + r'getScanlator', + r'()Ljava/lang/String;', + ); + + static final _getScanlator = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract java.lang.String getScanlator()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString? getScanlator() { + return _getScanlator( + reference.pointer, + _id_getScanlator as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringNullableType()); + } + + static final _id_setScanlator = _class.instanceMethodId( + r'setScanlator', + r'(Ljava/lang/String;)V', + ); + + static final _setScanlator = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public abstract void setScanlator(java.lang.String string)` + void setScanlator(jni$_.JString? string) { + final _$string = string?.reference ?? jni$_.jNullReference; + _setScanlator( + reference.pointer, + _id_setScanlator as jni$_.JMethodIDPtr, + _$string.pointer, + ).check(); + } + + static final _id_copyFrom = _class.instanceMethodId( + r'copyFrom', + r'(Leu/kanade/tachiyomi/source/model/SChapter;)V', + ); + + static final _copyFrom = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public abstract void copyFrom(eu.kanade.tachiyomi.source.model.SChapter sChapter)` + void copyFrom(JSChapter sChapter) { + final _$sChapter = sChapter.reference; + _copyFrom( + reference.pointer, + _id_copyFrom as jni$_.JMethodIDPtr, + _$sChapter.pointer, + ).check(); + } + + /// Maps a specific port to the implemented interface. + static final core$_.Map _$impls = {}; + static jni$_.JObjectPtr _$invoke( + int port, + jni$_.JObjectPtr descriptor, + jni$_.JObjectPtr args, + ) { + return _$invokeMethod( + port, + jni$_.MethodInvocation.fromAddresses(0, descriptor.address, args.address), + ); + } + + static final jni$_.Pointer< + jni$_.NativeFunction< + jni$_.JObjectPtr Function(jni$_.Int64, jni$_.JObjectPtr, jni$_.JObjectPtr) + > + > + _$invokePointer = jni$_.Pointer.fromFunction(_$invoke); + + static jni$_.Pointer _$invokeMethod( + int $p, + jni$_.MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r'getUrl()Ljava/lang/String;') { + final $r = _$impls[$p]!.getUrl(); + return ($r as jni$_.JObject?) + ?.as(const jni$_.JObjectType()) + .reference + .toPointer() ?? + jni$_.nullptr; + } + if ($d == r'setUrl(Ljava/lang/String;)V') { + _$impls[$p]!.setUrl( + $a![0]!.as(const jni$_.JStringType(), releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == r'getName()Ljava/lang/String;') { + final $r = _$impls[$p]!.getName(); + return ($r as jni$_.JObject?) + ?.as(const jni$_.JObjectType()) + .reference + .toPointer() ?? + jni$_.nullptr; + } + if ($d == r'setName(Ljava/lang/String;)V') { + _$impls[$p]!.setName( + $a![0]!.as(const jni$_.JStringType(), releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == r'getDate_upload()J') { + final $r = _$impls[$p]!.getDate_upload(); + return jni$_.JLong($r).reference.toPointer(); + } + if ($d == r'setDate_upload(J)V') { + _$impls[$p]!.setDate_upload( + $a![0]! + .as(const jni$_.JLongType(), releaseOriginal: true) + .longValue(releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == r'getChapter_number()F') { + final $r = _$impls[$p]!.getChapter_number(); + return jni$_.JFloat($r).reference.toPointer(); + } + if ($d == r'setChapter_number(F)V') { + _$impls[$p]!.setChapter_number( + $a![0]! + .as(const jni$_.JFloatType(), releaseOriginal: true) + .floatValue(releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == r'getScanlator()Ljava/lang/String;') { + final $r = _$impls[$p]!.getScanlator(); + return ($r as jni$_.JObject?) + ?.as(const jni$_.JObjectType()) + .reference + .toPointer() ?? + jni$_.nullptr; + } + if ($d == r'setScanlator(Ljava/lang/String;)V') { + _$impls[$p]!.setScanlator( + $a![0]?.as(const jni$_.JStringType(), releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == r'copyFrom(Leu/kanade/tachiyomi/source/model/SChapter;)V') { + _$impls[$p]!.copyFrom( + $a![0]!.as(const $SChapter$Type(), releaseOriginal: true), + ); + return jni$_.nullptr; + } + } catch (e) { + return jni$_.ProtectedJniExtensions.newDartException(e); + } + return jni$_.nullptr; + } + + static void implementIn(jni$_.JImplementer implementer, $SChapter $impl) { + late final jni$_.RawReceivePort $p; + $p = jni$_.RawReceivePort(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = jni$_.MethodInvocation.fromMessage($m); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + jni$_.ProtectedJniExtensions.returnResult($i.result, $r); + }); + implementer.add( + r'eu.kanade.tachiyomi.source.model.SChapter', + $p, + _$invokePointer, + [ + if ($impl.setUrl$async) r'setUrl(Ljava/lang/String;)V', + if ($impl.setName$async) r'setName(Ljava/lang/String;)V', + if ($impl.setDate_upload$async) r'setDate_upload(J)V', + if ($impl.setChapter_number$async) r'setChapter_number(F)V', + if ($impl.setScanlator$async) r'setScanlator(Ljava/lang/String;)V', + if ($impl.copyFrom$async) + r'copyFrom(Leu/kanade/tachiyomi/source/model/SChapter;)V', + ], + ); + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + } + + factory JSChapter.implement($SChapter $impl) { + final $i = jni$_.JImplementer(); + implementIn($i, $impl); + return JSChapter.fromReference($i.implementReference()); + } +} + +abstract base mixin class $SChapter { + factory $SChapter({ + required jni$_.JString Function() getUrl, + required void Function(jni$_.JString string) setUrl, + bool setUrl$async, + required jni$_.JString Function() getName, + required void Function(jni$_.JString string) setName, + bool setName$async, + required int Function() getDate_upload, + required void Function(int j) setDate_upload, + bool setDate_upload$async, + required double Function() getChapter_number, + required void Function(double f) setChapter_number, + bool setChapter_number$async, + required jni$_.JString? Function() getScanlator, + required void Function(jni$_.JString? string) setScanlator, + bool setScanlator$async, + required void Function(JSChapter sChapter) copyFrom, + bool copyFrom$async, + }) = _$SChapter; + + jni$_.JString getUrl(); + void setUrl(jni$_.JString string); + bool get setUrl$async => false; + jni$_.JString getName(); + void setName(jni$_.JString string); + bool get setName$async => false; + int getDate_upload(); + void setDate_upload(int j); + bool get setDate_upload$async => false; + double getChapter_number(); + void setChapter_number(double f); + bool get setChapter_number$async => false; + jni$_.JString? getScanlator(); + void setScanlator(jni$_.JString? string); + bool get setScanlator$async => false; + void copyFrom(JSChapter sChapter); + bool get copyFrom$async => false; +} + +final class _$SChapter with $SChapter { + _$SChapter({ + required jni$_.JString Function() getUrl, + required void Function(jni$_.JString string) setUrl, + this.setUrl$async = false, + required jni$_.JString Function() getName, + required void Function(jni$_.JString string) setName, + this.setName$async = false, + required int Function() getDate_upload, + required void Function(int j) setDate_upload, + this.setDate_upload$async = false, + required double Function() getChapter_number, + required void Function(double f) setChapter_number, + this.setChapter_number$async = false, + required jni$_.JString? Function() getScanlator, + required void Function(jni$_.JString? string) setScanlator, + this.setScanlator$async = false, + required void Function(JSChapter sChapter) copyFrom, + this.copyFrom$async = false, + }) : _getUrl = getUrl, + _setUrl = setUrl, + _getName = getName, + _setName = setName, + _getDate_upload = getDate_upload, + _setDate_upload = setDate_upload, + _getChapter_number = getChapter_number, + _setChapter_number = setChapter_number, + _getScanlator = getScanlator, + _setScanlator = setScanlator, + _copyFrom = copyFrom; + + final jni$_.JString Function() _getUrl; + final void Function(jni$_.JString string) _setUrl; + final bool setUrl$async; + final jni$_.JString Function() _getName; + final void Function(jni$_.JString string) _setName; + final bool setName$async; + final int Function() _getDate_upload; + final void Function(int j) _setDate_upload; + final bool setDate_upload$async; + final double Function() _getChapter_number; + final void Function(double f) _setChapter_number; + final bool setChapter_number$async; + final jni$_.JString? Function() _getScanlator; + final void Function(jni$_.JString? string) _setScanlator; + final bool setScanlator$async; + final void Function(JSChapter sChapter) _copyFrom; + final bool copyFrom$async; + + jni$_.JString getUrl() { + return _getUrl(); + } + + void setUrl(jni$_.JString string) { + return _setUrl(string); + } + + jni$_.JString getName() { + return _getName(); + } + + void setName(jni$_.JString string) { + return _setName(string); + } + + int getDate_upload() { + return _getDate_upload(); + } + + void setDate_upload(int j) { + return _setDate_upload(j); + } + + double getChapter_number() { + return _getChapter_number(); + } + + void setChapter_number(double f) { + return _setChapter_number(f); + } + + jni$_.JString? getScanlator() { + return _getScanlator(); + } + + void setScanlator(jni$_.JString? string) { + return _setScanlator(string); + } + + void copyFrom(JSChapter sChapter) { + return _copyFrom(sChapter); + } +} + +final class $SChapter$NullableType extends jni$_.JObjType { + @jni$_.internal + const $SChapter$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => r'Leu/kanade/tachiyomi/source/model/SChapter;'; + + @jni$_.internal + @core$_.override + JSChapter? fromReference(jni$_.JReference reference) => + reference.isNull ? null : JSChapter.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectNullableType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => this; + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SChapter$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SChapter$NullableType) && + other is $SChapter$NullableType; + } +} + +final class $SChapter$Type extends jni$_.JObjType { + @jni$_.internal + const $SChapter$Type(); + + @jni$_.internal + @core$_.override + String get signature => r'Leu/kanade/tachiyomi/source/model/SChapter;'; + + @jni$_.internal + @core$_.override + JSChapter fromReference(jni$_.JReference reference) => + JSChapter.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectNullableType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => const $SChapter$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SChapter$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SChapter$Type) && other is $SChapter$Type; + } +} diff --git a/lib/jmodels/jsmanga.dart b/lib/jmodels/jsmanga.dart new file mode 100644 index 0000000..52a3a07 --- /dev/null +++ b/lib/jmodels/jsmanga.dart @@ -0,0 +1,1618 @@ +// AUTO GENERATED BY JNIGEN 0.14.2. DO NOT EDIT! + +// ignore_for_file: annotate_overrides +// ignore_for_file: argument_type_not_assignable +// ignore_for_file: camel_case_extensions +// ignore_for_file: camel_case_types +// ignore_for_file: constant_identifier_names +// ignore_for_file: comment_references +// ignore_for_file: doc_directive_unknown +// ignore_for_file: file_names +// ignore_for_file: inference_failure_on_untyped_parameter +// ignore_for_file: invalid_internal_annotation +// ignore_for_file: invalid_use_of_internal_member +// ignore_for_file: library_prefixes +// ignore_for_file: lines_longer_than_80_chars +// ignore_for_file: no_leading_underscores_for_library_prefixes +// ignore_for_file: no_leading_underscores_for_local_identifiers +// ignore_for_file: non_constant_identifier_names +// ignore_for_file: only_throw_errors +// ignore_for_file: overridden_fields +// ignore_for_file: prefer_double_quotes +// ignore_for_file: unintended_html_in_doc_comment +// ignore_for_file: unnecessary_cast +// ignore_for_file: unnecessary_non_null_assertion +// ignore_for_file: unnecessary_parenthesis +// ignore_for_file: unused_element +// ignore_for_file: unused_field +// ignore_for_file: unused_import +// ignore_for_file: unused_local_variable +// ignore_for_file: unused_shown_name +// ignore_for_file: use_super_parameters + +import 'dart:core' show Object, String, bool, double, int; +import 'dart:core' as core$_; + +import 'package:jni/_internal.dart' as jni$_; +import 'package:jni/jni.dart' as jni$_; + +/// from: `eu.kanade.tachiyomi.source.model.SManga$Companion` +class SManga$Companion extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + SManga$Companion.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/source/model/SManga$Companion', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $SManga$Companion$NullableType(); + static const type = $SManga$Companion$Type(); + + /// from: `static public final int UNKNOWN` + static const UNKNOWN = 0; + + /// from: `static public final int ONGOING` + static const ONGOING = 1; + + /// from: `static public final int COMPLETED` + static const COMPLETED = 2; + + /// from: `static public final int LICENSED` + static const LICENSED = 3; + + /// from: `static public final int PUBLISHING_FINISHED` + static const PUBLISHING_FINISHED = 4; + + /// from: `static public final int CANCELLED` + static const CANCELLED = 5; + + /// from: `static public final int ON_HIATUS` + static const ON_HIATUS = 6; + static final _id_create = _class.instanceMethodId( + r'create', + r'()Leu/kanade/tachiyomi/source/model/SManga;', + ); + + static final _create = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final eu.kanade.tachiyomi.source.model.SManga create()` + /// The returned object must be released after use, by calling the [release] method. + JSManga create() { + return _create( + reference.pointer, + _id_create as jni$_.JMethodIDPtr, + ).object(const $SManga$Type()); + } +} + +final class $SManga$Companion$NullableType + extends jni$_.JObjType { + @jni$_.internal + const $SManga$Companion$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/source/model/SManga$Companion;'; + + @jni$_.internal + @core$_.override + SManga$Companion? fromReference(jni$_.JReference reference) => + reference.isNull ? null : SManga$Companion.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => this; + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SManga$Companion$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SManga$Companion$NullableType) && + other is $SManga$Companion$NullableType; + } +} + +final class $SManga$Companion$Type extends jni$_.JObjType { + @jni$_.internal + const $SManga$Companion$Type(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/source/model/SManga$Companion;'; + + @jni$_.internal + @core$_.override + SManga$Companion fromReference(jni$_.JReference reference) => + SManga$Companion.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => + const $SManga$Companion$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SManga$Companion$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SManga$Companion$Type) && + other is $SManga$Companion$Type; + } +} + +/// from: `eu.kanade.tachiyomi.source.model.SManga$DefaultImpls` +class SManga$DefaultImpls extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + SManga$DefaultImpls.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/source/model/SManga$DefaultImpls', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $SManga$DefaultImpls$NullableType(); + static const type = $SManga$DefaultImpls$Type(); + static final _id_getGenres = _class.staticMethodId( + r'getGenres', + r'(Leu/kanade/tachiyomi/source/model/SManga;)Ljava/util/List;', + ); + + static final _getGenres = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallStaticObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `static public java.util.List getGenres(eu.kanade.tachiyomi.source.model.SManga sManga)` + /// The returned object must be released after use, by calling the [release] method. + static jni$_.JList? getGenres(JSManga sManga) { + final _$sManga = sManga.reference; + return _getGenres( + _class.reference.pointer, + _id_getGenres as jni$_.JMethodIDPtr, + _$sManga.pointer, + ).object?>( + const jni$_.JListNullableType( + jni$_.JStringNullableType(), + ), + ); + } + + static final _id_copy = _class.staticMethodId( + r'copy', + r'(Leu/kanade/tachiyomi/source/model/SManga;)Leu/kanade/tachiyomi/source/model/SManga;', + ); + + static final _copy = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallStaticObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `static public eu.kanade.tachiyomi.source.model.SManga copy(eu.kanade.tachiyomi.source.model.SManga sManga)` + /// The returned object must be released after use, by calling the [release] method. + static JSManga copy(JSManga sManga) { + final _$sManga = sManga.reference; + return _copy( + _class.reference.pointer, + _id_copy as jni$_.JMethodIDPtr, + _$sManga.pointer, + ).object(const $SManga$Type()); + } +} + +final class $SManga$DefaultImpls$NullableType + extends jni$_.JObjType { + @jni$_.internal + const $SManga$DefaultImpls$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/source/model/SManga$DefaultImpls;'; + + @jni$_.internal + @core$_.override + SManga$DefaultImpls? fromReference(jni$_.JReference reference) => + reference.isNull ? null : SManga$DefaultImpls.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectNullableType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => this; + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SManga$DefaultImpls$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SManga$DefaultImpls$NullableType) && + other is $SManga$DefaultImpls$NullableType; + } +} + +final class $SManga$DefaultImpls$Type + extends jni$_.JObjType { + @jni$_.internal + const $SManga$DefaultImpls$Type(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/source/model/SManga$DefaultImpls;'; + + @jni$_.internal + @core$_.override + SManga$DefaultImpls fromReference(jni$_.JReference reference) => + SManga$DefaultImpls.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectNullableType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => + const $SManga$DefaultImpls$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SManga$DefaultImpls$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SManga$DefaultImpls$Type) && + other is $SManga$DefaultImpls$Type; + } +} + +/// from: `eu.kanade.tachiyomi.source.model.SManga` +class JSManga extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + JSManga.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/source/model/SManga', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $SManga$NullableType(); + static const type = $SManga$Type(); + static final _id_Companion = _class.staticFieldId( + r'Companion', + r'Leu/kanade/tachiyomi/source/model/SManga$Companion;', + ); + + /// from: `static public final eu.kanade.tachiyomi.source.model.SManga$Companion Companion` + /// The returned object must be released after use, by calling the [release] method. + static SManga$Companion get Companion => + _id_Companion.get(_class, const $SManga$Companion$Type()); + + /// from: `static public final int UNKNOWN` + static const UNKNOWN = 0; + + /// from: `static public final int ONGOING` + static const ONGOING = 1; + + /// from: `static public final int COMPLETED` + static const COMPLETED = 2; + + /// from: `static public final int LICENSED` + static const LICENSED = 3; + + /// from: `static public final int PUBLISHING_FINISHED` + static const PUBLISHING_FINISHED = 4; + + /// from: `static public final int CANCELLED` + static const CANCELLED = 5; + + /// from: `static public final int ON_HIATUS` + static const ON_HIATUS = 6; + static final _id_getUrl = _class.instanceMethodId( + r'getUrl', + r'()Ljava/lang/String;', + ); + + static final _getUrl = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract java.lang.String getUrl()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString getUrl() { + return _getUrl( + reference.pointer, + _id_getUrl as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringType()); + } + + static final _id_setUrl = _class.instanceMethodId( + r'setUrl', + r'(Ljava/lang/String;)V', + ); + + static final _setUrl = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public abstract void setUrl(java.lang.String string)` + void setUrl(jni$_.JString string) { + final _$string = string.reference; + _setUrl( + reference.pointer, + _id_setUrl as jni$_.JMethodIDPtr, + _$string.pointer, + ).check(); + } + + static final _id_getTitle = _class.instanceMethodId( + r'getTitle', + r'()Ljava/lang/String;', + ); + + static final _getTitle = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract java.lang.String getTitle()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString getTitle() { + return _getTitle( + reference.pointer, + _id_getTitle as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringType()); + } + + static final _id_setTitle = _class.instanceMethodId( + r'setTitle', + r'(Ljava/lang/String;)V', + ); + + static final _setTitle = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public abstract void setTitle(java.lang.String string)` + void setTitle(jni$_.JString string) { + final _$string = string.reference; + _setTitle( + reference.pointer, + _id_setTitle as jni$_.JMethodIDPtr, + _$string.pointer, + ).check(); + } + + static final _id_getArtist = _class.instanceMethodId( + r'getArtist', + r'()Ljava/lang/String;', + ); + + static final _getArtist = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract java.lang.String getArtist()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString? getArtist() { + return _getArtist( + reference.pointer, + _id_getArtist as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringNullableType()); + } + + static final _id_setArtist = _class.instanceMethodId( + r'setArtist', + r'(Ljava/lang/String;)V', + ); + + static final _setArtist = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public abstract void setArtist(java.lang.String string)` + void setArtist(jni$_.JString? string) { + final _$string = string?.reference ?? jni$_.jNullReference; + _setArtist( + reference.pointer, + _id_setArtist as jni$_.JMethodIDPtr, + _$string.pointer, + ).check(); + } + + static final _id_getAuthor = _class.instanceMethodId( + r'getAuthor', + r'()Ljava/lang/String;', + ); + + static final _getAuthor = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract java.lang.String getAuthor()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString? getAuthor() { + return _getAuthor( + reference.pointer, + _id_getAuthor as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringNullableType()); + } + + static final _id_setAuthor = _class.instanceMethodId( + r'setAuthor', + r'(Ljava/lang/String;)V', + ); + + static final _setAuthor = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public abstract void setAuthor(java.lang.String string)` + void setAuthor(jni$_.JString? string) { + final _$string = string?.reference ?? jni$_.jNullReference; + _setAuthor( + reference.pointer, + _id_setAuthor as jni$_.JMethodIDPtr, + _$string.pointer, + ).check(); + } + + static final _id_getDescription = _class.instanceMethodId( + r'getDescription', + r'()Ljava/lang/String;', + ); + + static final _getDescription = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract java.lang.String getDescription()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString? getDescription() { + return _getDescription( + reference.pointer, + _id_getDescription as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringNullableType()); + } + + static final _id_setDescription = _class.instanceMethodId( + r'setDescription', + r'(Ljava/lang/String;)V', + ); + + static final _setDescription = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public abstract void setDescription(java.lang.String string)` + void setDescription(jni$_.JString? string) { + final _$string = string?.reference ?? jni$_.jNullReference; + _setDescription( + reference.pointer, + _id_setDescription as jni$_.JMethodIDPtr, + _$string.pointer, + ).check(); + } + + static final _id_getGenre = _class.instanceMethodId( + r'getGenre', + r'()Ljava/lang/String;', + ); + + static final _getGenre = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract java.lang.String getGenre()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString? getGenre() { + return _getGenre( + reference.pointer, + _id_getGenre as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringNullableType()); + } + + static final _id_setGenre = _class.instanceMethodId( + r'setGenre', + r'(Ljava/lang/String;)V', + ); + + static final _setGenre = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public abstract void setGenre(java.lang.String string)` + void setGenre(jni$_.JString? string) { + final _$string = string?.reference ?? jni$_.jNullReference; + _setGenre( + reference.pointer, + _id_setGenre as jni$_.JMethodIDPtr, + _$string.pointer, + ).check(); + } + + static final _id_getStatus = _class.instanceMethodId(r'getStatus', r'()I'); + + static final _getStatus = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallIntMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract int getStatus()` + int getStatus() { + return _getStatus( + reference.pointer, + _id_getStatus as jni$_.JMethodIDPtr, + ).integer; + } + + static final _id_setStatus = _class.instanceMethodId(r'setStatus', r'(I)V'); + + static final _setStatus = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Int32,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + int, + ) + >(); + + /// from: `public abstract void setStatus(int i)` + void setStatus(int i) { + _setStatus( + reference.pointer, + _id_setStatus as jni$_.JMethodIDPtr, + i, + ).check(); + } + + static final _id_getThumbnail_url = _class.instanceMethodId( + r'getThumbnail_url', + r'()Ljava/lang/String;', + ); + + static final _getThumbnail_url = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract java.lang.String getThumbnail_url()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString? getThumbnail_url() { + return _getThumbnail_url( + reference.pointer, + _id_getThumbnail_url as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringNullableType()); + } + + static final _id_setThumbnail_url = _class.instanceMethodId( + r'setThumbnail_url', + r'(Ljava/lang/String;)V', + ); + + static final _setThumbnail_url = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public abstract void setThumbnail_url(java.lang.String string)` + void setThumbnail_url(jni$_.JString? string) { + final _$string = string?.reference ?? jni$_.jNullReference; + _setThumbnail_url( + reference.pointer, + _id_setThumbnail_url as jni$_.JMethodIDPtr, + _$string.pointer, + ).check(); + } + + static final _id_getUpdate_strategy = _class.instanceMethodId( + r'getUpdate_strategy', + r'()Leu/kanade/tachiyomi/source/model/UpdateStrategy;', + ); + + static final _getUpdate_strategy = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract eu.kanade.tachiyomi.source.model.UpdateStrategy getUpdate_strategy()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JObject getUpdate_strategy() { + return _getUpdate_strategy( + reference.pointer, + _id_getUpdate_strategy as jni$_.JMethodIDPtr, + ).object(const jni$_.JObjectType()); + } + + static final _id_setUpdate_strategy = _class.instanceMethodId( + r'setUpdate_strategy', + r'(Leu/kanade/tachiyomi/source/model/UpdateStrategy;)V', + ); + + static final _setUpdate_strategy = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public abstract void setUpdate_strategy(eu.kanade.tachiyomi.source.model.UpdateStrategy updateStrategy)` + void setUpdate_strategy(jni$_.JObject updateStrategy) { + final _$updateStrategy = updateStrategy.reference; + _setUpdate_strategy( + reference.pointer, + _id_setUpdate_strategy as jni$_.JMethodIDPtr, + _$updateStrategy.pointer, + ).check(); + } + + static final _id_getInitialized = _class.instanceMethodId( + r'getInitialized', + r'()Z', + ); + + static final _getInitialized = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallBooleanMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract boolean getInitialized()` + bool getInitialized() { + return _getInitialized( + reference.pointer, + _id_getInitialized as jni$_.JMethodIDPtr, + ).boolean; + } + + static final _id_setInitialized = _class.instanceMethodId( + r'setInitialized', + r'(Z)V', + ); + + static final _setInitialized = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Int32,)>, + ) + > + >('globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + int, + ) + >(); + + /// from: `public abstract void setInitialized(boolean z)` + void setInitialized(bool z) { + _setInitialized( + reference.pointer, + _id_setInitialized as jni$_.JMethodIDPtr, + z ? 1 : 0, + ).check(); + } + + static final _id_getGenres = _class.instanceMethodId( + r'getGenres', + r'()Ljava/util/List;', + ); + + static final _getGenres = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract java.util.List getGenres()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList? getGenres() { + return _getGenres( + reference.pointer, + _id_getGenres as jni$_.JMethodIDPtr, + ).object?>( + const jni$_.JListNullableType(jni$_.JStringType()), + ); + } + + static final _id_copy = _class.instanceMethodId( + r'copy', + r'()Leu/kanade/tachiyomi/source/model/SManga;', + ); + + static final _copy = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public abstract eu.kanade.tachiyomi.source.model.SManga copy()` + /// The returned object must be released after use, by calling the [release] method. + JSManga copy() { + return _copy( + reference.pointer, + _id_copy as jni$_.JMethodIDPtr, + ).object(const $SManga$Type()); + } + + /// Maps a specific port to the implemented interface. + static final core$_.Map _$impls = {}; + static jni$_.JObjectPtr _$invoke( + int port, + jni$_.JObjectPtr descriptor, + jni$_.JObjectPtr args, + ) { + return _$invokeMethod( + port, + jni$_.MethodInvocation.fromAddresses(0, descriptor.address, args.address), + ); + } + + static final jni$_.Pointer< + jni$_.NativeFunction< + jni$_.JObjectPtr Function(jni$_.Int64, jni$_.JObjectPtr, jni$_.JObjectPtr) + > + > + _$invokePointer = jni$_.Pointer.fromFunction(_$invoke); + + static jni$_.Pointer _$invokeMethod( + int $p, + jni$_.MethodInvocation $i, + ) { + try { + final $d = $i.methodDescriptor.toDartString(releaseOriginal: true); + final $a = $i.args; + if ($d == r'getUrl()Ljava/lang/String;') { + final $r = _$impls[$p]!.getUrl(); + return ($r as jni$_.JObject?) + ?.as(const jni$_.JObjectType()) + .reference + .toPointer() ?? + jni$_.nullptr; + } + if ($d == r'setUrl(Ljava/lang/String;)V') { + _$impls[$p]!.setUrl( + $a![0]!.as(const jni$_.JStringType(), releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == r'getTitle()Ljava/lang/String;') { + final $r = _$impls[$p]!.getTitle(); + return ($r as jni$_.JObject?) + ?.as(const jni$_.JObjectType()) + .reference + .toPointer() ?? + jni$_.nullptr; + } + if ($d == r'setTitle(Ljava/lang/String;)V') { + _$impls[$p]!.setTitle( + $a![0]!.as(const jni$_.JStringType(), releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == r'getArtist()Ljava/lang/String;') { + final $r = _$impls[$p]!.getArtist(); + return ($r as jni$_.JObject?) + ?.as(const jni$_.JObjectType()) + .reference + .toPointer() ?? + jni$_.nullptr; + } + if ($d == r'setArtist(Ljava/lang/String;)V') { + _$impls[$p]!.setArtist( + $a![0]?.as(const jni$_.JStringType(), releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == r'getAuthor()Ljava/lang/String;') { + final $r = _$impls[$p]!.getAuthor(); + return ($r as jni$_.JObject?) + ?.as(const jni$_.JObjectType()) + .reference + .toPointer() ?? + jni$_.nullptr; + } + if ($d == r'setAuthor(Ljava/lang/String;)V') { + _$impls[$p]!.setAuthor( + $a![0]?.as(const jni$_.JStringType(), releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == r'getDescription()Ljava/lang/String;') { + final $r = _$impls[$p]!.getDescription(); + return ($r as jni$_.JObject?) + ?.as(const jni$_.JObjectType()) + .reference + .toPointer() ?? + jni$_.nullptr; + } + if ($d == r'setDescription(Ljava/lang/String;)V') { + _$impls[$p]!.setDescription( + $a![0]?.as(const jni$_.JStringType(), releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == r'getGenre()Ljava/lang/String;') { + final $r = _$impls[$p]!.getGenre(); + return ($r as jni$_.JObject?) + ?.as(const jni$_.JObjectType()) + .reference + .toPointer() ?? + jni$_.nullptr; + } + if ($d == r'setGenre(Ljava/lang/String;)V') { + _$impls[$p]!.setGenre( + $a![0]?.as(const jni$_.JStringType(), releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == r'getStatus()I') { + final $r = _$impls[$p]!.getStatus(); + return jni$_.JInteger($r).reference.toPointer(); + } + if ($d == r'setStatus(I)V') { + _$impls[$p]!.setStatus( + $a![0]! + .as(const jni$_.JIntegerType(), releaseOriginal: true) + .intValue(releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == r'getThumbnail_url()Ljava/lang/String;') { + final $r = _$impls[$p]!.getThumbnail_url(); + return ($r as jni$_.JObject?) + ?.as(const jni$_.JObjectType()) + .reference + .toPointer() ?? + jni$_.nullptr; + } + if ($d == r'setThumbnail_url(Ljava/lang/String;)V') { + _$impls[$p]!.setThumbnail_url( + $a![0]?.as(const jni$_.JStringType(), releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == + r'getUpdate_strategy()Leu/kanade/tachiyomi/source/model/UpdateStrategy;') { + final $r = _$impls[$p]!.getUpdate_strategy(); + return ($r as jni$_.JObject?) + ?.as(const jni$_.JObjectType()) + .reference + .toPointer() ?? + jni$_.nullptr; + } + if ($d == + r'setUpdate_strategy(Leu/kanade/tachiyomi/source/model/UpdateStrategy;)V') { + _$impls[$p]!.setUpdate_strategy( + $a![0]!.as(const jni$_.JObjectType(), releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == r'getInitialized()Z') { + final $r = _$impls[$p]!.getInitialized(); + return jni$_.JBoolean($r).reference.toPointer(); + } + if ($d == r'setInitialized(Z)V') { + _$impls[$p]!.setInitialized( + $a![0]! + .as(const jni$_.JBooleanType(), releaseOriginal: true) + .booleanValue(releaseOriginal: true), + ); + return jni$_.nullptr; + } + if ($d == r'getGenres()Ljava/util/List;') { + final $r = _$impls[$p]!.getGenres(); + return ($r as jni$_.JObject?) + ?.as(const jni$_.JObjectType()) + .reference + .toPointer() ?? + jni$_.nullptr; + } + if ($d == r'copy()Leu/kanade/tachiyomi/source/model/SManga;') { + final $r = _$impls[$p]!.copy(); + return ($r as jni$_.JObject?) + ?.as(const jni$_.JObjectType()) + .reference + .toPointer() ?? + jni$_.nullptr; + } + } catch (e) { + return jni$_.ProtectedJniExtensions.newDartException(e); + } + return jni$_.nullptr; + } + + static void implementIn(jni$_.JImplementer implementer, $SManga $impl) { + late final jni$_.RawReceivePort $p; + $p = jni$_.RawReceivePort(($m) { + if ($m == null) { + _$impls.remove($p.sendPort.nativePort); + $p.close(); + return; + } + final $i = jni$_.MethodInvocation.fromMessage($m); + final $r = _$invokeMethod($p.sendPort.nativePort, $i); + jni$_.ProtectedJniExtensions.returnResult($i.result, $r); + }); + implementer.add( + r'eu.kanade.tachiyomi.source.model.SManga', + $p, + _$invokePointer, + [ + if ($impl.setUrl$async) r'setUrl(Ljava/lang/String;)V', + if ($impl.setTitle$async) r'setTitle(Ljava/lang/String;)V', + if ($impl.setArtist$async) r'setArtist(Ljava/lang/String;)V', + if ($impl.setAuthor$async) r'setAuthor(Ljava/lang/String;)V', + if ($impl.setDescription$async) r'setDescription(Ljava/lang/String;)V', + if ($impl.setGenre$async) r'setGenre(Ljava/lang/String;)V', + if ($impl.setStatus$async) r'setStatus(I)V', + if ($impl.setThumbnail_url$async) + r'setThumbnail_url(Ljava/lang/String;)V', + if ($impl.setUpdate_strategy$async) + r'setUpdate_strategy(Leu/kanade/tachiyomi/source/model/UpdateStrategy;)V', + if ($impl.setInitialized$async) r'setInitialized(Z)V', + ], + ); + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + } + + factory JSManga.implement($SManga $impl) { + final $i = jni$_.JImplementer(); + implementIn($i, $impl); + return JSManga.fromReference($i.implementReference()); + } +} + +abstract base mixin class $SManga { + factory $SManga({ + required jni$_.JString Function() getUrl, + required void Function(jni$_.JString string) setUrl, + bool setUrl$async, + required jni$_.JString Function() getTitle, + required void Function(jni$_.JString string) setTitle, + bool setTitle$async, + required jni$_.JString? Function() getArtist, + required void Function(jni$_.JString? string) setArtist, + bool setArtist$async, + required jni$_.JString? Function() getAuthor, + required void Function(jni$_.JString? string) setAuthor, + bool setAuthor$async, + required jni$_.JString? Function() getDescription, + required void Function(jni$_.JString? string) setDescription, + bool setDescription$async, + required jni$_.JString? Function() getGenre, + required void Function(jni$_.JString? string) setGenre, + bool setGenre$async, + required int Function() getStatus, + required void Function(int i) setStatus, + bool setStatus$async, + required jni$_.JString? Function() getThumbnail_url, + required void Function(jni$_.JString? string) setThumbnail_url, + bool setThumbnail_url$async, + required jni$_.JObject Function() getUpdate_strategy, + required void Function(jni$_.JObject updateStrategy) setUpdate_strategy, + bool setUpdate_strategy$async, + required bool Function() getInitialized, + required void Function(bool z) setInitialized, + bool setInitialized$async, + required jni$_.JList? Function() getGenres, + required JSManga Function() copy, + }) = _$SManga; + + jni$_.JString getUrl(); + void setUrl(jni$_.JString string); + bool get setUrl$async => false; + jni$_.JString getTitle(); + void setTitle(jni$_.JString string); + bool get setTitle$async => false; + jni$_.JString? getArtist(); + void setArtist(jni$_.JString? string); + bool get setArtist$async => false; + jni$_.JString? getAuthor(); + void setAuthor(jni$_.JString? string); + bool get setAuthor$async => false; + jni$_.JString? getDescription(); + void setDescription(jni$_.JString? string); + bool get setDescription$async => false; + jni$_.JString? getGenre(); + void setGenre(jni$_.JString? string); + bool get setGenre$async => false; + int getStatus(); + void setStatus(int i); + bool get setStatus$async => false; + jni$_.JString? getThumbnail_url(); + void setThumbnail_url(jni$_.JString? string); + bool get setThumbnail_url$async => false; + jni$_.JObject getUpdate_strategy(); + void setUpdate_strategy(jni$_.JObject updateStrategy); + bool get setUpdate_strategy$async => false; + bool getInitialized(); + void setInitialized(bool z); + bool get setInitialized$async => false; + jni$_.JList? getGenres(); + JSManga copy(); +} + +final class _$SManga with $SManga { + _$SManga({ + required jni$_.JString Function() getUrl, + required void Function(jni$_.JString string) setUrl, + this.setUrl$async = false, + required jni$_.JString Function() getTitle, + required void Function(jni$_.JString string) setTitle, + this.setTitle$async = false, + required jni$_.JString? Function() getArtist, + required void Function(jni$_.JString? string) setArtist, + this.setArtist$async = false, + required jni$_.JString? Function() getAuthor, + required void Function(jni$_.JString? string) setAuthor, + this.setAuthor$async = false, + required jni$_.JString? Function() getDescription, + required void Function(jni$_.JString? string) setDescription, + this.setDescription$async = false, + required jni$_.JString? Function() getGenre, + required void Function(jni$_.JString? string) setGenre, + this.setGenre$async = false, + required int Function() getStatus, + required void Function(int i) setStatus, + this.setStatus$async = false, + required jni$_.JString? Function() getThumbnail_url, + required void Function(jni$_.JString? string) setThumbnail_url, + this.setThumbnail_url$async = false, + required jni$_.JObject Function() getUpdate_strategy, + required void Function(jni$_.JObject updateStrategy) setUpdate_strategy, + this.setUpdate_strategy$async = false, + required bool Function() getInitialized, + required void Function(bool z) setInitialized, + this.setInitialized$async = false, + required jni$_.JList? Function() getGenres, + required JSManga Function() copy, + }) : _getUrl = getUrl, + _setUrl = setUrl, + _getTitle = getTitle, + _setTitle = setTitle, + _getArtist = getArtist, + _setArtist = setArtist, + _getAuthor = getAuthor, + _setAuthor = setAuthor, + _getDescription = getDescription, + _setDescription = setDescription, + _getGenre = getGenre, + _setGenre = setGenre, + _getStatus = getStatus, + _setStatus = setStatus, + _getThumbnail_url = getThumbnail_url, + _setThumbnail_url = setThumbnail_url, + _getUpdate_strategy = getUpdate_strategy, + _setUpdate_strategy = setUpdate_strategy, + _getInitialized = getInitialized, + _setInitialized = setInitialized, + _getGenres = getGenres, + _copy = copy; + + final jni$_.JString Function() _getUrl; + final void Function(jni$_.JString string) _setUrl; + final bool setUrl$async; + final jni$_.JString Function() _getTitle; + final void Function(jni$_.JString string) _setTitle; + final bool setTitle$async; + final jni$_.JString? Function() _getArtist; + final void Function(jni$_.JString? string) _setArtist; + final bool setArtist$async; + final jni$_.JString? Function() _getAuthor; + final void Function(jni$_.JString? string) _setAuthor; + final bool setAuthor$async; + final jni$_.JString? Function() _getDescription; + final void Function(jni$_.JString? string) _setDescription; + final bool setDescription$async; + final jni$_.JString? Function() _getGenre; + final void Function(jni$_.JString? string) _setGenre; + final bool setGenre$async; + final int Function() _getStatus; + final void Function(int i) _setStatus; + final bool setStatus$async; + final jni$_.JString? Function() _getThumbnail_url; + final void Function(jni$_.JString? string) _setThumbnail_url; + final bool setThumbnail_url$async; + final jni$_.JObject Function() _getUpdate_strategy; + final void Function(jni$_.JObject updateStrategy) _setUpdate_strategy; + final bool setUpdate_strategy$async; + final bool Function() _getInitialized; + final void Function(bool z) _setInitialized; + final bool setInitialized$async; + final jni$_.JList? Function() _getGenres; + final JSManga Function() _copy; + + jni$_.JString getUrl() { + return _getUrl(); + } + + void setUrl(jni$_.JString string) { + return _setUrl(string); + } + + jni$_.JString getTitle() { + return _getTitle(); + } + + void setTitle(jni$_.JString string) { + return _setTitle(string); + } + + jni$_.JString? getArtist() { + return _getArtist(); + } + + void setArtist(jni$_.JString? string) { + return _setArtist(string); + } + + jni$_.JString? getAuthor() { + return _getAuthor(); + } + + void setAuthor(jni$_.JString? string) { + return _setAuthor(string); + } + + jni$_.JString? getDescription() { + return _getDescription(); + } + + void setDescription(jni$_.JString? string) { + return _setDescription(string); + } + + jni$_.JString? getGenre() { + return _getGenre(); + } + + void setGenre(jni$_.JString? string) { + return _setGenre(string); + } + + int getStatus() { + return _getStatus(); + } + + void setStatus(int i) { + return _setStatus(i); + } + + jni$_.JString? getThumbnail_url() { + return _getThumbnail_url(); + } + + void setThumbnail_url(jni$_.JString? string) { + return _setThumbnail_url(string); + } + + jni$_.JObject getUpdate_strategy() { + return _getUpdate_strategy(); + } + + void setUpdate_strategy(jni$_.JObject updateStrategy) { + return _setUpdate_strategy(updateStrategy); + } + + bool getInitialized() { + return _getInitialized(); + } + + void setInitialized(bool z) { + return _setInitialized(z); + } + + jni$_.JList? getGenres() { + return _getGenres(); + } + + JSManga copy() { + return _copy(); + } +} + +final class $SManga$NullableType extends jni$_.JObjType { + @jni$_.internal + const $SManga$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => r'Leu/kanade/tachiyomi/source/model/SManga;'; + + @jni$_.internal + @core$_.override + JSManga? fromReference(jni$_.JReference reference) => + reference.isNull ? null : JSManga.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectNullableType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => this; + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SManga$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SManga$NullableType) && + other is $SManga$NullableType; + } +} + +final class $SManga$Type extends jni$_.JObjType { + @jni$_.internal + const $SManga$Type(); + + @jni$_.internal + @core$_.override + String get signature => r'Leu/kanade/tachiyomi/source/model/SManga;'; + + @jni$_.internal + @core$_.override + JSManga fromReference(jni$_.JReference reference) => + JSManga.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectNullableType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => const $SManga$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SManga$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SManga$Type) && other is $SManga$Type; + } +}