From 9152a4dad9e516d3b4125f8fa5970519eec34a61 Mon Sep 17 00:00:00 2001 From: Kevin Rodrigues Borges <115191440+K3vinb5@users.noreply.github.com> Date: Tue, 16 Sep 2025 06:02:41 +0100 Subject: [PATCH] Finish basic functionality --- example/lib/main.dart | 8 +- example/pubspec.lock | 24 - jnigen/sepisode.yaml | 9 + jnigen/video.yaml | 9 + lib/aniyomi_bridge.dart | 67 +- lib/jmodels/jsepisode.dart | 1005 ++++++++++++++++ lib/jmodels/jvideo.dart | 2222 ++++++++++++++++++++++++++++++++++++ pubspec.yaml | 1 - 8 files changed, 3300 insertions(+), 45 deletions(-) create mode 100644 jnigen/sepisode.yaml create mode 100644 jnigen/video.yaml create mode 100644 lib/jmodels/jsepisode.dart create mode 100644 lib/jmodels/jvideo.dart diff --git a/example/lib/main.dart b/example/lib/main.dart index 5df4183..fe9512a 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,10 +1,16 @@ import 'package:flutter/material.dart'; import 'package:k3vinb5_aniyomi_bridge/aniyomi_bridge.dart'; +import 'package:k3vinb5_aniyomi_bridge/jmodels/jsanime.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); + AniyomiBridge bridge = AniyomiBridge(); - bridge.initJvm(); + await bridge.initJvm(); + 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"); + print(animes); + animes.forEach((anime) => print(anime.getTitle().toDartString())); runApp(const SizedBox()); } diff --git a/example/pubspec.lock b/example/pubspec.lock index 0f24e60..f2cfebe 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -1,14 +1,6 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: - archive: - dependency: transitive - description: - name: archive - sha256: "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd" - url: "https://pub.dev" - source: hosted - version: "4.0.7" args: dependency: transitive description: @@ -65,14 +57,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.19.1" - crypto: - dependency: transitive - description: - name: crypto - sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" - url: "https://pub.dev" - source: hosted - version: "3.0.6" cupertino_icons: dependency: "direct main" description: @@ -306,14 +290,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" - posix: - dependency: transitive - description: - name: posix - sha256: "6323a5b0fa688b6a010df4905a56b00181479e6d10534cecfecede2aa55add61" - url: "https://pub.dev" - source: hosted - version: "6.0.3" pub_semver: dependency: transitive description: diff --git a/jnigen/sepisode.yaml b/jnigen/sepisode.yaml new file mode 100644 index 0000000..47938e9 --- /dev/null +++ b/jnigen/sepisode.yaml @@ -0,0 +1,9 @@ +output: + dart: + path: ../lib/jmodels/jsepisode.dart + structure: single_file + +class_path: + - '../assets/aniyomibridge-core.jar' +classes: + - 'eu.kanade.tachiyomi.animesource.model.SEpisode' diff --git a/jnigen/video.yaml b/jnigen/video.yaml new file mode 100644 index 0000000..010b813 --- /dev/null +++ b/jnigen/video.yaml @@ -0,0 +1,9 @@ +output: + dart: + path: ../lib/jmodels/jvideo.dart + structure: single_file + +class_path: + - '../assets/aniyomibridge-core.jar' +classes: + - 'eu.kanade.tachiyomi.animesource.model.Video' diff --git a/lib/aniyomi_bridge.dart b/lib/aniyomi_bridge.dart index b38bdde..3a0f67f 100644 --- a/lib/aniyomi_bridge.dart +++ b/lib/aniyomi_bridge.dart @@ -1,20 +1,20 @@ import 'dart:io'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart' show rootBundle; +import 'package:flutter/services.dart'; +import 'package:k3vinb5_aniyomi_bridge/jmodels/jvideo.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/janiyomibridge.dart'; import 'package:k3vinb5_aniyomi_bridge/jmodels/jsanime.dart'; -import 'package:path/path.dart' as path; -import 'package:path_provider/path_provider.dart'; -import 'package:archive/archive.dart'; +import 'package:k3vinb5_aniyomi_bridge/jmodels/jsepisode.dart'; class AniyomiBridge { static final _aniyomiBridgeDir = "aniyomibridge"; static final _packageAssetsDir = "packages/k3vinb5_aniyomi_bridge/assets"; + static late final JAniyomiBridge _jAniyomiBridge; - Future initJvm() async{ + Future initJvm() async { Directory supportDirectory = await getApplicationSupportDirectory(); await _loadJarIfNeeded(supportDirectory); Jni.spawn( @@ -22,18 +22,47 @@ class AniyomiBridge { classPath: _getClassPath(supportDirectory), ); JAniyomiBridge.init(); - JAniyomiBridge jAniyomiBridge = JAniyomiBridge(); - jAniyomiBridge.loadExtension(JString.fromString("https://kohiden.xyz/Kohi-den/extensions/raw/branch/main/apk/aniyomi-en.allanime-v14.37.apk")); - JList? searchResults = jAniyomiBridge.getSearchResults(JString.fromString("Naruto"), 1, JString.fromString("allanime")); - print("Search results size: ${searchResults?.length}"); - if (searchResults != null) { - for (JObject obj in searchResults.cast()) { - JSAnime jsAnime = obj.as(JSAnime.type); - print(jsAnime.getTitle().toDartString()); - } - } + _jAniyomiBridge = JAniyomiBridge(); } + List getSearchResults(String query, int page, String source) { + JList? searchResults = _jAniyomiBridge.getSearchResults(JString.fromString(query), page, JString.fromString(source)); + if (searchResults == null) { + return []; + } + return searchResults.cast().where(_jObjIsNotNull).map((jObj) => jObj!.as(JSAnime.type)).toList(); + } + + List getEpisodeList(JSAnime sAnime, String source) { + JList? episodeList = _jAniyomiBridge.getEpisodeList(sAnime, JString.fromString(source)); + if (episodeList == null) { + return []; + } + return episodeList.cast().where(_jObjIsNotNull).map((jObj) => jObj!.as(JSEpisode.type)).toList(); + } + + List getVideoList(JSEpisode sEpisode, String source) { + JList? videoList = _jAniyomiBridge.getVideoList(sEpisode, JString.fromString(source)); + if (videoList == null) { + return []; + } + return videoList.cast().where(_jObjIsNotNull).map((jObj) => jObj!.as(JVideo.type)).toList(); + } + + void loadExtension(String extensionUrl) { + _jAniyomiBridge.loadExtension(JString.fromString(extensionUrl)); + } + + List? getLoadedExtensions() { + JList? loadedExtensions = _jAniyomiBridge.getLoadedExtensions(); + 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; if (Platform.isLinux) { @@ -56,11 +85,11 @@ class AniyomiBridge { File aniyomiBridgeCore = File(aniyomiBridgeCorePath); if (!(await aniyomiBridgeCore.exists())) { print("Copying aniyomibridge-core.jar to $aniyomiBridgeCorePath"); - copyAssetToFile("$_packageAssetsDir/aniyomibridge-core.jar", aniyomiBridgeCorePath); + _copyAssetToFile("$_packageAssetsDir/aniyomibridge-core.jar", aniyomiBridgeCorePath); } } - Future copyAssetToFile(String assetPath, String outPath) async { + Future _copyAssetToFile(String assetPath, String outPath) async { final byteData = await rootBundle.load(assetPath); final buffer = byteData.buffer.asUint8List(); final file = File(outPath); diff --git a/lib/jmodels/jsepisode.dart b/lib/jmodels/jsepisode.dart new file mode 100644 index 0000000..b19a76c --- /dev/null +++ b/lib/jmodels/jsepisode.dart @@ -0,0 +1,1005 @@ +// 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.animesource.model.SEpisode$Companion` +class SEpisode$Companion extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + SEpisode$Companion.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/animesource/model/SEpisode$Companion', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $SEpisode$Companion$NullableType(); + static const type = $SEpisode$Companion$Type(); + static final _id_create = _class.instanceMethodId( + r'create', + r'()Leu/kanade/tachiyomi/animesource/model/SEpisode;', + ); + + 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.animesource.model.SEpisode create()` + /// The returned object must be released after use, by calling the [release] method. + JSEpisode create() { + return _create( + reference.pointer, + _id_create as jni$_.JMethodIDPtr, + ).object(const $SEpisode$Type()); + } +} + +final class $SEpisode$Companion$NullableType + extends jni$_.JObjType { + @jni$_.internal + const $SEpisode$Companion$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/animesource/model/SEpisode$Companion;'; + + @jni$_.internal + @core$_.override + SEpisode$Companion? fromReference(jni$_.JReference reference) => + reference.isNull ? null : SEpisode$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 => ($SEpisode$Companion$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SEpisode$Companion$NullableType) && + other is $SEpisode$Companion$NullableType; + } +} + +final class $SEpisode$Companion$Type + extends jni$_.JObjType { + @jni$_.internal + const $SEpisode$Companion$Type(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/animesource/model/SEpisode$Companion;'; + + @jni$_.internal + @core$_.override + SEpisode$Companion fromReference(jni$_.JReference reference) => + SEpisode$Companion.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => + const $SEpisode$Companion$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SEpisode$Companion$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SEpisode$Companion$Type) && + other is $SEpisode$Companion$Type; + } +} + +/// from: `eu.kanade.tachiyomi.animesource.model.SEpisode$DefaultImpls` +class SEpisode$DefaultImpls extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + SEpisode$DefaultImpls.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/animesource/model/SEpisode$DefaultImpls', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $SEpisode$DefaultImpls$NullableType(); + static const type = $SEpisode$DefaultImpls$Type(); + static final _id_copyFrom = _class.staticMethodId( + r'copyFrom', + r'(Leu/kanade/tachiyomi/animesource/model/SEpisode;Leu/kanade/tachiyomi/animesource/model/SEpisode;)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.animesource.model.SEpisode sEpisode, eu.kanade.tachiyomi.animesource.model.SEpisode sEpisode1)` + static void copyFrom(JSEpisode sEpisode, JSEpisode sEpisode1) { + final _$sEpisode = sEpisode.reference; + final _$sEpisode1 = sEpisode1.reference; + _copyFrom( + _class.reference.pointer, + _id_copyFrom as jni$_.JMethodIDPtr, + _$sEpisode.pointer, + _$sEpisode1.pointer, + ).check(); + } +} + +final class $SEpisode$DefaultImpls$NullableType + extends jni$_.JObjType { + @jni$_.internal + const $SEpisode$DefaultImpls$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/animesource/model/SEpisode$DefaultImpls;'; + + @jni$_.internal + @core$_.override + SEpisode$DefaultImpls? fromReference(jni$_.JReference reference) => + reference.isNull ? null : SEpisode$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 => ($SEpisode$DefaultImpls$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SEpisode$DefaultImpls$NullableType) && + other is $SEpisode$DefaultImpls$NullableType; + } +} + +final class $SEpisode$DefaultImpls$Type + extends jni$_.JObjType { + @jni$_.internal + const $SEpisode$DefaultImpls$Type(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/animesource/model/SEpisode$DefaultImpls;'; + + @jni$_.internal + @core$_.override + SEpisode$DefaultImpls fromReference(jni$_.JReference reference) => + SEpisode$DefaultImpls.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectNullableType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => + const $SEpisode$DefaultImpls$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SEpisode$DefaultImpls$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SEpisode$DefaultImpls$Type) && + other is $SEpisode$DefaultImpls$Type; + } +} + +/// from: `eu.kanade.tachiyomi.animesource.model.SEpisode` +class JSEpisode extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + JSEpisode.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/animesource/model/SEpisode', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $SEpisode$NullableType(); + static const type = $SEpisode$Type(); + static final _id_Companion = _class.staticFieldId( + r'Companion', + r'Leu/kanade/tachiyomi/animesource/model/SEpisode$Companion;', + ); + + /// from: `static public final eu.kanade.tachiyomi.animesource.model.SEpisode$Companion Companion` + /// The returned object must be released after use, by calling the [release] method. + static SEpisode$Companion get Companion => + _id_Companion.get(_class, const $SEpisode$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_getEpisode_number = _class.instanceMethodId( + r'getEpisode_number', + r'()F', + ); + + static final _getEpisode_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 getEpisode_number()` + double getEpisode_number() { + return _getEpisode_number( + reference.pointer, + _id_getEpisode_number as jni$_.JMethodIDPtr, + ).float; + } + + static final _id_setEpisode_number = _class.instanceMethodId( + r'setEpisode_number', + r'(F)V', + ); + + static final _setEpisode_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 setEpisode_number(float f)` + void setEpisode_number(double f) { + _setEpisode_number( + reference.pointer, + _id_setEpisode_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/animesource/model/SEpisode;)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.animesource.model.SEpisode sEpisode)` + void copyFrom(JSEpisode sEpisode) { + final _$sEpisode = sEpisode.reference; + _copyFrom( + reference.pointer, + _id_copyFrom as jni$_.JMethodIDPtr, + _$sEpisode.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'getEpisode_number()F') { + final $r = _$impls[$p]!.getEpisode_number(); + return jni$_.JFloat($r).reference.toPointer(); + } + if ($d == r'setEpisode_number(F)V') { + _$impls[$p]!.setEpisode_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/animesource/model/SEpisode;)V') { + _$impls[$p]!.copyFrom( + $a![0]!.as(const $SEpisode$Type(), releaseOriginal: true), + ); + return jni$_.nullptr; + } + } catch (e) { + return jni$_.ProtectedJniExtensions.newDartException(e); + } + return jni$_.nullptr; + } + + static void implementIn(jni$_.JImplementer implementer, $SEpisode $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.animesource.model.SEpisode', + $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.setEpisode_number$async) r'setEpisode_number(F)V', + if ($impl.setScanlator$async) r'setScanlator(Ljava/lang/String;)V', + if ($impl.copyFrom$async) + r'copyFrom(Leu/kanade/tachiyomi/animesource/model/SEpisode;)V', + ], + ); + final $a = $p.sendPort.nativePort; + _$impls[$a] = $impl; + } + + factory JSEpisode.implement($SEpisode $impl) { + final $i = jni$_.JImplementer(); + implementIn($i, $impl); + return JSEpisode.fromReference($i.implementReference()); + } +} + +abstract base mixin class $SEpisode { + factory $SEpisode({ + 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() getEpisode_number, + required void Function(double f) setEpisode_number, + bool setEpisode_number$async, + required jni$_.JString? Function() getScanlator, + required void Function(jni$_.JString? string) setScanlator, + bool setScanlator$async, + required void Function(JSEpisode sEpisode) copyFrom, + bool copyFrom$async, + }) = _$SEpisode; + + 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 getEpisode_number(); + void setEpisode_number(double f); + bool get setEpisode_number$async => false; + jni$_.JString? getScanlator(); + void setScanlator(jni$_.JString? string); + bool get setScanlator$async => false; + void copyFrom(JSEpisode sEpisode); + bool get copyFrom$async => false; +} + +final class _$SEpisode with $SEpisode { + _$SEpisode({ + 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() getEpisode_number, + required void Function(double f) setEpisode_number, + this.setEpisode_number$async = false, + required jni$_.JString? Function() getScanlator, + required void Function(jni$_.JString? string) setScanlator, + this.setScanlator$async = false, + required void Function(JSEpisode sEpisode) copyFrom, + this.copyFrom$async = false, + }) : _getUrl = getUrl, + _setUrl = setUrl, + _getName = getName, + _setName = setName, + _getDate_upload = getDate_upload, + _setDate_upload = setDate_upload, + _getEpisode_number = getEpisode_number, + _setEpisode_number = setEpisode_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() _getEpisode_number; + final void Function(double f) _setEpisode_number; + final bool setEpisode_number$async; + final jni$_.JString? Function() _getScanlator; + final void Function(jni$_.JString? string) _setScanlator; + final bool setScanlator$async; + final void Function(JSEpisode sEpisode) _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 getEpisode_number() { + return _getEpisode_number(); + } + + void setEpisode_number(double f) { + return _setEpisode_number(f); + } + + jni$_.JString? getScanlator() { + return _getScanlator(); + } + + void setScanlator(jni$_.JString? string) { + return _setScanlator(string); + } + + void copyFrom(JSEpisode sEpisode) { + return _copyFrom(sEpisode); + } +} + +final class $SEpisode$NullableType extends jni$_.JObjType { + @jni$_.internal + const $SEpisode$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => r'Leu/kanade/tachiyomi/animesource/model/SEpisode;'; + + @jni$_.internal + @core$_.override + JSEpisode? fromReference(jni$_.JReference reference) => + reference.isNull ? null : JSEpisode.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 => ($SEpisode$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SEpisode$NullableType) && + other is $SEpisode$NullableType; + } +} + +final class $SEpisode$Type extends jni$_.JObjType { + @jni$_.internal + const $SEpisode$Type(); + + @jni$_.internal + @core$_.override + String get signature => r'Leu/kanade/tachiyomi/animesource/model/SEpisode;'; + + @jni$_.internal + @core$_.override + JSEpisode fromReference(jni$_.JReference reference) => + JSEpisode.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectNullableType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => const $SEpisode$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($SEpisode$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($SEpisode$Type) && other is $SEpisode$Type; + } +} diff --git a/lib/jmodels/jvideo.dart b/lib/jmodels/jvideo.dart new file mode 100644 index 0000000..8c494e6 --- /dev/null +++ b/lib/jmodels/jvideo.dart @@ -0,0 +1,2222 @@ +// 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.animesource.model.Video$Companion` +class Video$Companion extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + Video$Companion.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/animesource/model/Video$Companion', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $Video$Companion$NullableType(); + static const type = $Video$Companion$Type(); + 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 Video$Companion(jni$_.JObject? defaultConstructorMarker) { + final _$defaultConstructorMarker = + defaultConstructorMarker?.reference ?? jni$_.jNullReference; + return Video$Companion.fromReference( + _new$( + _class.reference.pointer, + _id_new$ as jni$_.JMethodIDPtr, + _$defaultConstructorMarker.pointer, + ).reference, + ); + } +} + +final class $Video$Companion$NullableType + extends jni$_.JObjType { + @jni$_.internal + const $Video$Companion$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/animesource/model/Video$Companion;'; + + @jni$_.internal + @core$_.override + Video$Companion? fromReference(jni$_.JReference reference) => + reference.isNull ? null : Video$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 => ($Video$Companion$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($Video$Companion$NullableType) && + other is $Video$Companion$NullableType; + } +} + +final class $Video$Companion$Type extends jni$_.JObjType { + @jni$_.internal + const $Video$Companion$Type(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/animesource/model/Video$Companion;'; + + @jni$_.internal + @core$_.override + Video$Companion fromReference(jni$_.JReference reference) => + Video$Companion.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => + const $Video$Companion$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($Video$Companion$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($Video$Companion$Type) && + other is $Video$Companion$Type; + } +} + +/// from: `eu.kanade.tachiyomi.animesource.model.Video$State` +class Video$State extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + Video$State.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/animesource/model/Video$State', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $Video$State$NullableType(); + static const type = $Video$State$Type(); + static final _id_QUEUE = _class.staticFieldId( + r'QUEUE', + r'Leu/kanade/tachiyomi/animesource/model/Video$State;', + ); + + /// from: `static public final eu.kanade.tachiyomi.animesource.model.Video$State QUEUE` + /// The returned object must be released after use, by calling the [release] method. + static Video$State get QUEUE => + _id_QUEUE.get(_class, const $Video$State$Type()); + + static final _id_LOAD_VIDEO = _class.staticFieldId( + r'LOAD_VIDEO', + r'Leu/kanade/tachiyomi/animesource/model/Video$State;', + ); + + /// from: `static public final eu.kanade.tachiyomi.animesource.model.Video$State LOAD_VIDEO` + /// The returned object must be released after use, by calling the [release] method. + static Video$State get LOAD_VIDEO => + _id_LOAD_VIDEO.get(_class, const $Video$State$Type()); + + static final _id_READY = _class.staticFieldId( + r'READY', + r'Leu/kanade/tachiyomi/animesource/model/Video$State;', + ); + + /// from: `static public final eu.kanade.tachiyomi.animesource.model.Video$State READY` + /// The returned object must be released after use, by calling the [release] method. + static Video$State get READY => + _id_READY.get(_class, const $Video$State$Type()); + + static final _id_ERROR = _class.staticFieldId( + r'ERROR', + r'Leu/kanade/tachiyomi/animesource/model/Video$State;', + ); + + /// from: `static public final eu.kanade.tachiyomi.animesource.model.Video$State ERROR` + /// The returned object must be released after use, by calling the [release] method. + static Video$State get ERROR => + _id_ERROR.get(_class, const $Video$State$Type()); + + static final _id_values = _class.staticMethodId( + r'values', + r'()[Leu/kanade/tachiyomi/animesource/model/Video$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.animesource.model.Video$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($Video$State$NullableType()), + ); + } + + static final _id_valueOf = _class.staticMethodId( + r'valueOf', + r'(Ljava/lang/String;)Leu/kanade/tachiyomi/animesource/model/Video$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.animesource.model.Video$State valueOf(java.lang.String string)` + /// The returned object must be released after use, by calling the [release] method. + static Video$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 $Video$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 $Video$State$NullableType extends jni$_.JObjType { + @jni$_.internal + const $Video$State$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/animesource/model/Video$State;'; + + @jni$_.internal + @core$_.override + Video$State? fromReference(jni$_.JReference reference) => + reference.isNull ? null : Video$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 => ($Video$State$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($Video$State$NullableType) && + other is $Video$State$NullableType; + } +} + +final class $Video$State$Type extends jni$_.JObjType { + @jni$_.internal + const $Video$State$Type(); + + @jni$_.internal + @core$_.override + String get signature => + r'Leu/kanade/tachiyomi/animesource/model/Video$State;'; + + @jni$_.internal + @core$_.override + Video$State fromReference(jni$_.JReference reference) => + Video$State.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => + const $Video$State$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($Video$State$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($Video$State$Type) && + other is $Video$State$Type; + } +} + +/// from: `eu.kanade.tachiyomi.animesource.model.Video` +class JVideo extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JObjType $type; + + @jni$_.internal + JVideo.fromReference(jni$_.JReference reference) + : $type = type, + super.fromReference(reference); + + static final _class = jni$_.JClass.forName( + r'eu/kanade/tachiyomi/animesource/model/Video', + ); + + /// The type which includes information such as the signature of this class. + static const nullableType = $Video$NullableType(); + static const type = $Video$Type(); + static final _id_Companion = _class.staticFieldId( + r'Companion', + r'Leu/kanade/tachiyomi/animesource/model/Video$Companion;', + ); + + /// from: `static public final eu.kanade.tachiyomi.animesource.model.Video$Companion Companion` + /// The returned object must be released after use, by calling the [release] method. + static Video$Companion get Companion => + _id_Companion.get(_class, const $Video$Companion$Type()); + + static final _id_MPV_ARGS_TAG = _class.staticFieldId( + r'MPV_ARGS_TAG', + r'Ljava/lang/String;', + ); + + /// from: `static public final java.lang.String MPV_ARGS_TAG` + /// The returned object must be released after use, by calling the [release] method. + static jni$_.JString get MPV_ARGS_TAG => + _id_MPV_ARGS_TAG.get(_class, const jni$_.JStringType()); + + static final _id_new$ = _class.constructorId( + r'(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Lokhttp3/Headers;ZLjava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Z)V', + ); + + static final _new$ = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + ( + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Int32, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Int32, + ) + >, + ) + > + >('globalEnv_NewObject') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + int, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + int, + ) + >(); + + /// from: `public void (java.lang.String string, java.lang.String string1, java.lang.Integer integer, java.lang.Integer integer1, okhttp3.Headers headers, boolean z, java.util.List list, java.util.List list1, java.util.List list2, java.util.List> list3, java.util.List> list4, java.util.List> list5, java.lang.String string2, boolean z1)` + /// The returned object must be released after use, by calling the [release] method. + factory JVideo( + jni$_.JString string, + jni$_.JString string1, + jni$_.JInteger? integer, + jni$_.JInteger? integer1, + jni$_.JObject? headers, + bool z, + jni$_.JList list, + jni$_.JList list1, + jni$_.JList list2, + jni$_.JList list3, + jni$_.JList list4, + jni$_.JList list5, + jni$_.JString string2, + bool z1, + ) { + final _$string = string.reference; + final _$string1 = string1.reference; + final _$integer = integer?.reference ?? jni$_.jNullReference; + final _$integer1 = integer1?.reference ?? jni$_.jNullReference; + final _$headers = headers?.reference ?? jni$_.jNullReference; + final _$list = list.reference; + final _$list1 = list1.reference; + final _$list2 = list2.reference; + final _$list3 = list3.reference; + final _$list4 = list4.reference; + final _$list5 = list5.reference; + final _$string2 = string2.reference; + return JVideo.fromReference( + _new$( + _class.reference.pointer, + _id_new$ as jni$_.JMethodIDPtr, + _$string.pointer, + _$string1.pointer, + _$integer.pointer, + _$integer1.pointer, + _$headers.pointer, + z ? 1 : 0, + _$list.pointer, + _$list1.pointer, + _$list2.pointer, + _$list3.pointer, + _$list4.pointer, + _$list5.pointer, + _$string2.pointer, + z1 ? 1 : 0, + ).reference, + ); + } + + static final _id_new$1 = _class.constructorId( + r'(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Lokhttp3/Headers;ZLjava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/lang/String;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V', + ); + + static final _new$1 = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + ( + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Int32, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Int32, + jni$_.Int32, + jni$_.Pointer, + ) + >, + ) + > + >('globalEnv_NewObject') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + int, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + int, + int, + jni$_.Pointer, + ) + >(); + + /// from: `synthetic public void (java.lang.String string, java.lang.String string1, java.lang.Integer integer, java.lang.Integer integer1, okhttp3.Headers headers, boolean z, java.util.List list, java.util.List list1, java.util.List list2, java.util.List list3, java.util.List list4, java.util.List list5, java.lang.String string2, boolean z1, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker)` + /// The returned object must be released after use, by calling the [release] method. + factory JVideo.new$1( + jni$_.JString? string, + jni$_.JString? string1, + jni$_.JInteger? integer, + jni$_.JInteger? integer1, + jni$_.JObject? headers, + bool z, + jni$_.JList? list, + jni$_.JList? list1, + jni$_.JList? list2, + jni$_.JList? list3, + jni$_.JList? list4, + jni$_.JList? list5, + jni$_.JString? string2, + bool z1, + int i, + jni$_.JObject? defaultConstructorMarker, + ) { + final _$string = string?.reference ?? jni$_.jNullReference; + final _$string1 = string1?.reference ?? jni$_.jNullReference; + final _$integer = integer?.reference ?? jni$_.jNullReference; + final _$integer1 = integer1?.reference ?? jni$_.jNullReference; + final _$headers = headers?.reference ?? jni$_.jNullReference; + final _$list = list?.reference ?? jni$_.jNullReference; + final _$list1 = list1?.reference ?? jni$_.jNullReference; + final _$list2 = list2?.reference ?? jni$_.jNullReference; + final _$list3 = list3?.reference ?? jni$_.jNullReference; + final _$list4 = list4?.reference ?? jni$_.jNullReference; + final _$list5 = list5?.reference ?? jni$_.jNullReference; + final _$string2 = string2?.reference ?? jni$_.jNullReference; + final _$defaultConstructorMarker = + defaultConstructorMarker?.reference ?? jni$_.jNullReference; + return JVideo.fromReference( + _new$1( + _class.reference.pointer, + _id_new$1 as jni$_.JMethodIDPtr, + _$string.pointer, + _$string1.pointer, + _$integer.pointer, + _$integer1.pointer, + _$headers.pointer, + z ? 1 : 0, + _$list.pointer, + _$list1.pointer, + _$list2.pointer, + _$list3.pointer, + _$list4.pointer, + _$list5.pointer, + _$string2.pointer, + z1 ? 1 : 0, + i, + _$defaultConstructorMarker.pointer, + ).reference, + ); + } + + static final _id_getVideoUrl = _class.instanceMethodId( + r'getVideoUrl', + r'()Ljava/lang/String;', + ); + + static final _getVideoUrl = + 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 getVideoUrl()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString getVideoUrl() { + return _getVideoUrl( + reference.pointer, + _id_getVideoUrl as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringType()); + } + + static final _id_setVideoUrl = _class.instanceMethodId( + r'setVideoUrl', + r'(Ljava/lang/String;)V', + ); + + static final _setVideoUrl = + 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 setVideoUrl(java.lang.String string)` + void setVideoUrl(jni$_.JString string) { + final _$string = string.reference; + _setVideoUrl( + reference.pointer, + _id_setVideoUrl as jni$_.JMethodIDPtr, + _$string.pointer, + ).check(); + } + + static final _id_getVideoTitle = _class.instanceMethodId( + r'getVideoTitle', + r'()Ljava/lang/String;', + ); + + static final _getVideoTitle = + 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 getVideoTitle()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString getVideoTitle() { + return _getVideoTitle( + reference.pointer, + _id_getVideoTitle as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringType()); + } + + static final _id_getResolution = _class.instanceMethodId( + r'getResolution', + r'()Ljava/lang/Integer;', + ); + + static final _getResolution = + 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.Integer getResolution()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JInteger? getResolution() { + return _getResolution( + reference.pointer, + _id_getResolution as jni$_.JMethodIDPtr, + ).object(const jni$_.JIntegerNullableType()); + } + + static final _id_getBitrate = _class.instanceMethodId( + r'getBitrate', + r'()Ljava/lang/Integer;', + ); + + static final _getBitrate = + 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.Integer getBitrate()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JInteger? getBitrate() { + return _getBitrate( + reference.pointer, + _id_getBitrate as jni$_.JMethodIDPtr, + ).object(const jni$_.JIntegerNullableType()); + } + + static final _id_getHeaders = _class.instanceMethodId( + r'getHeaders', + r'()Lokhttp3/Headers;', + ); + + static final _getHeaders = + 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 okhttp3.Headers getHeaders()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JObject? getHeaders() { + return _getHeaders( + reference.pointer, + _id_getHeaders as jni$_.JMethodIDPtr, + ).object(const jni$_.JObjectNullableType()); + } + + static final _id_getPreferred = _class.instanceMethodId( + r'getPreferred', + r'()Z', + ); + + static final _getPreferred = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallBooleanMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final boolean getPreferred()` + bool getPreferred() { + return _getPreferred( + reference.pointer, + _id_getPreferred as jni$_.JMethodIDPtr, + ).boolean; + } + + static final _id_getSubtitleTracks = _class.instanceMethodId( + r'getSubtitleTracks', + r'()Ljava/util/List;', + ); + + static final _getSubtitleTracks = + 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.util.List getSubtitleTracks()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList getSubtitleTracks() { + return _getSubtitleTracks( + reference.pointer, + _id_getSubtitleTracks as jni$_.JMethodIDPtr, + ).object>( + const jni$_.JListType(jni$_.JObjectType()), + ); + } + + static final _id_getAudioTracks = _class.instanceMethodId( + r'getAudioTracks', + r'()Ljava/util/List;', + ); + + static final _getAudioTracks = + 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.util.List getAudioTracks()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList getAudioTracks() { + return _getAudioTracks( + reference.pointer, + _id_getAudioTracks as jni$_.JMethodIDPtr, + ).object>( + const jni$_.JListType(jni$_.JObjectType()), + ); + } + + static final _id_getTimestamps = _class.instanceMethodId( + r'getTimestamps', + r'()Ljava/util/List;', + ); + + static final _getTimestamps = + 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.util.List getTimestamps()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList getTimestamps() { + return _getTimestamps( + reference.pointer, + _id_getTimestamps as jni$_.JMethodIDPtr, + ).object>( + const jni$_.JListType(jni$_.JObjectType()), + ); + } + + static final _id_getMpvArgs = _class.instanceMethodId( + r'getMpvArgs', + r'()Ljava/util/List;', + ); + + static final _getMpvArgs = + 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.util.List> getMpvArgs()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList getMpvArgs() { + return _getMpvArgs( + reference.pointer, + _id_getMpvArgs as jni$_.JMethodIDPtr, + ).object>( + const jni$_.JListType(jni$_.JObjectType()), + ); + } + + static final _id_getFfmpegStreamArgs = _class.instanceMethodId( + r'getFfmpegStreamArgs', + r'()Ljava/util/List;', + ); + + static final _getFfmpegStreamArgs = + 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.util.List> getFfmpegStreamArgs()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList getFfmpegStreamArgs() { + return _getFfmpegStreamArgs( + reference.pointer, + _id_getFfmpegStreamArgs as jni$_.JMethodIDPtr, + ).object>( + const jni$_.JListType(jni$_.JObjectType()), + ); + } + + static final _id_getFfmpegVideoArgs = _class.instanceMethodId( + r'getFfmpegVideoArgs', + r'()Ljava/util/List;', + ); + + static final _getFfmpegVideoArgs = + 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.util.List> getFfmpegVideoArgs()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList getFfmpegVideoArgs() { + return _getFfmpegVideoArgs( + reference.pointer, + _id_getFfmpegVideoArgs as jni$_.JMethodIDPtr, + ).object>( + const jni$_.JListType(jni$_.JObjectType()), + ); + } + + static final _id_getInternalData = _class.instanceMethodId( + r'getInternalData', + r'()Ljava/lang/String;', + ); + + static final _getInternalData = + 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 getInternalData()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString getInternalData() { + return _getInternalData( + reference.pointer, + _id_getInternalData as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringType()); + } + + 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 final boolean getInitialized()` + bool getInitialized() { + return _getInitialized( + reference.pointer, + _id_getInitialized as jni$_.JMethodIDPtr, + ).boolean; + } + + static final _id_getQuality = _class.instanceMethodId( + r'getQuality', + r'()Ljava/lang/String;', + ); + + static final _getQuality = + 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 getQuality()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString getQuality() { + return _getQuality( + reference.pointer, + _id_getQuality as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringType()); + } + + 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_new$2 = _class.constructorId( + r'(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lokhttp3/Headers;Ljava/util/List;Ljava/util/List;)V', + ); + + static final _new$2 = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + ( + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + ) + >, + ) + > + >('globalEnv_NewObject') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + ) + >(); + + /// from: `public void (java.lang.String string, java.lang.String string1, java.lang.String string2, okhttp3.Headers headers, java.util.List list, java.util.List list1)` + /// The returned object must be released after use, by calling the [release] method. + factory JVideo.new$2( + jni$_.JString string, + jni$_.JString string1, + jni$_.JString? string2, + jni$_.JObject? headers, + jni$_.JList list, + jni$_.JList list1, + ) { + final _$string = string.reference; + final _$string1 = string1.reference; + final _$string2 = string2?.reference ?? jni$_.jNullReference; + final _$headers = headers?.reference ?? jni$_.jNullReference; + final _$list = list.reference; + final _$list1 = list1.reference; + return JVideo.fromReference( + _new$2( + _class.reference.pointer, + _id_new$2 as jni$_.JMethodIDPtr, + _$string.pointer, + _$string1.pointer, + _$string2.pointer, + _$headers.pointer, + _$list.pointer, + _$list1.pointer, + ).reference, + ); + } + + static final _id_new$3 = _class.constructorId( + r'(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lokhttp3/Headers;Ljava/util/List;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V', + ); + + static final _new$3 = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + ( + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Int32, + jni$_.Pointer, + ) + >, + ) + > + >('globalEnv_NewObject') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + int, + jni$_.Pointer, + ) + >(); + + /// from: `synthetic public void (java.lang.String string, java.lang.String string1, java.lang.String string2, okhttp3.Headers headers, java.util.List list, java.util.List list1, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker)` + /// The returned object must be released after use, by calling the [release] method. + factory JVideo.new$3( + jni$_.JString? string, + jni$_.JString? string1, + jni$_.JString? string2, + jni$_.JObject? headers, + jni$_.JList? list, + jni$_.JList? list1, + int i, + jni$_.JObject? defaultConstructorMarker, + ) { + final _$string = string?.reference ?? jni$_.jNullReference; + final _$string1 = string1?.reference ?? jni$_.jNullReference; + final _$string2 = string2?.reference ?? jni$_.jNullReference; + final _$headers = headers?.reference ?? jni$_.jNullReference; + final _$list = list?.reference ?? jni$_.jNullReference; + final _$list1 = list1?.reference ?? jni$_.jNullReference; + final _$defaultConstructorMarker = + defaultConstructorMarker?.reference ?? jni$_.jNullReference; + return JVideo.fromReference( + _new$3( + _class.reference.pointer, + _id_new$3 as jni$_.JMethodIDPtr, + _$string.pointer, + _$string1.pointer, + _$string2.pointer, + _$headers.pointer, + _$list.pointer, + _$list1.pointer, + i, + _$defaultConstructorMarker.pointer, + ).reference, + ); + } + + static final _id_new$4 = _class.constructorId( + r'(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Lokhttp3/Headers;)V', + ); + + static final _new$4 = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + ( + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + ) + >, + ) + > + >('globalEnv_NewObject') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + ) + >(); + + /// from: `public void (java.lang.String string, java.lang.String string1, java.lang.String string2, android.net.Uri uri, okhttp3.Headers headers)` + /// The returned object must be released after use, by calling the [release] method. + factory JVideo.new$4( + jni$_.JString string, + jni$_.JString string1, + jni$_.JString? string2, + jni$_.JObject? uri, + jni$_.JObject? headers, + ) { + final _$string = string.reference; + final _$string1 = string1.reference; + final _$string2 = string2?.reference ?? jni$_.jNullReference; + final _$uri = uri?.reference ?? jni$_.jNullReference; + final _$headers = headers?.reference ?? jni$_.jNullReference; + return JVideo.fromReference( + _new$4( + _class.reference.pointer, + _id_new$4 as jni$_.JMethodIDPtr, + _$string.pointer, + _$string1.pointer, + _$string2.pointer, + _$uri.pointer, + _$headers.pointer, + ).reference, + ); + } + + static final _id_new$5 = _class.constructorId( + r'(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Lokhttp3/Headers;ILkotlin/jvm/internal/DefaultConstructorMarker;)V', + ); + + static final _new$5 = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + ( + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Int32, + jni$_.Pointer, + ) + >, + ) + > + >('globalEnv_NewObject') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + int, + jni$_.Pointer, + ) + >(); + + /// from: `synthetic public void (java.lang.String string, java.lang.String string1, java.lang.String string2, android.net.Uri uri, okhttp3.Headers headers, int i, kotlin.jvm.internal.DefaultConstructorMarker defaultConstructorMarker)` + /// The returned object must be released after use, by calling the [release] method. + factory JVideo.new$5( + jni$_.JString? string, + jni$_.JString? string1, + jni$_.JString? string2, + jni$_.JObject? uri, + jni$_.JObject? headers, + int i, + jni$_.JObject? defaultConstructorMarker, + ) { + final _$string = string?.reference ?? jni$_.jNullReference; + final _$string1 = string1?.reference ?? jni$_.jNullReference; + final _$string2 = string2?.reference ?? jni$_.jNullReference; + final _$uri = uri?.reference ?? jni$_.jNullReference; + final _$headers = headers?.reference ?? jni$_.jNullReference; + final _$defaultConstructorMarker = + defaultConstructorMarker?.reference ?? jni$_.jNullReference; + return JVideo.fromReference( + _new$5( + _class.reference.pointer, + _id_new$5 as jni$_.JMethodIDPtr, + _$string.pointer, + _$string1.pointer, + _$string2.pointer, + _$uri.pointer, + _$headers.pointer, + i, + _$defaultConstructorMarker.pointer, + ).reference, + ); + } + + static final _id_getStatus = _class.instanceMethodId( + r'getStatus', + r'()Leu/kanade/tachiyomi/animesource/model/Video$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.animesource.model.Video$State getStatus()` + /// The returned object must be released after use, by calling the [release] method. + Video$State getStatus() { + return _getStatus( + reference.pointer, + _id_getStatus as jni$_.JMethodIDPtr, + ).object(const $Video$State$Type()); + } + + static final _id_setStatus = _class.instanceMethodId( + r'setStatus', + r'(Leu/kanade/tachiyomi/animesource/model/Video$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.animesource.model.Video$State state)` + void setStatus(Video$State state) { + final _$state = state.reference; + _setStatus( + reference.pointer, + _id_setStatus as jni$_.JMethodIDPtr, + _$state.pointer, + ).check(); + } + + static final _id_component1 = _class.instanceMethodId( + r'component1', + r'()Ljava/lang/String;', + ); + + static final _component1 = + 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 component1()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString component1() { + return _component1( + reference.pointer, + _id_component1 as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringType()); + } + + static final _id_component2 = _class.instanceMethodId( + r'component2', + r'()Ljava/lang/String;', + ); + + static final _component2 = + 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 component2()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString component2() { + return _component2( + reference.pointer, + _id_component2 as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringType()); + } + + static final _id_component3 = _class.instanceMethodId( + r'component3', + r'()Ljava/lang/Integer;', + ); + + static final _component3 = + 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.Integer component3()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JInteger? component3() { + return _component3( + reference.pointer, + _id_component3 as jni$_.JMethodIDPtr, + ).object(const jni$_.JIntegerNullableType()); + } + + static final _id_component4 = _class.instanceMethodId( + r'component4', + r'()Ljava/lang/Integer;', + ); + + static final _component4 = + 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.Integer component4()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JInteger? component4() { + return _component4( + reference.pointer, + _id_component4 as jni$_.JMethodIDPtr, + ).object(const jni$_.JIntegerNullableType()); + } + + static final _id_component5 = _class.instanceMethodId( + r'component5', + r'()Lokhttp3/Headers;', + ); + + static final _component5 = + 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 okhttp3.Headers component5()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JObject? component5() { + return _component5( + reference.pointer, + _id_component5 as jni$_.JMethodIDPtr, + ).object(const jni$_.JObjectNullableType()); + } + + static final _id_component6 = _class.instanceMethodId(r'component6', r'()Z'); + + static final _component6 = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallBooleanMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final boolean component6()` + bool component6() { + return _component6( + reference.pointer, + _id_component6 as jni$_.JMethodIDPtr, + ).boolean; + } + + static final _id_component7 = _class.instanceMethodId( + r'component7', + r'()Ljava/util/List;', + ); + + static final _component7 = + 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.util.List component7()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList component7() { + return _component7( + reference.pointer, + _id_component7 as jni$_.JMethodIDPtr, + ).object>( + const jni$_.JListType(jni$_.JObjectType()), + ); + } + + static final _id_component8 = _class.instanceMethodId( + r'component8', + r'()Ljava/util/List;', + ); + + static final _component8 = + 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.util.List component8()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList component8() { + return _component8( + reference.pointer, + _id_component8 as jni$_.JMethodIDPtr, + ).object>( + const jni$_.JListType(jni$_.JObjectType()), + ); + } + + static final _id_component9 = _class.instanceMethodId( + r'component9', + r'()Ljava/util/List;', + ); + + static final _component9 = + 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.util.List component9()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList component9() { + return _component9( + reference.pointer, + _id_component9 as jni$_.JMethodIDPtr, + ).object>( + const jni$_.JListType(jni$_.JObjectType()), + ); + } + + static final _id_component10 = _class.instanceMethodId( + r'component10', + r'()Ljava/util/List;', + ); + + static final _component10 = + 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.util.List> component10()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList component10() { + return _component10( + reference.pointer, + _id_component10 as jni$_.JMethodIDPtr, + ).object>( + const jni$_.JListType(jni$_.JObjectType()), + ); + } + + static final _id_component11 = _class.instanceMethodId( + r'component11', + r'()Ljava/util/List;', + ); + + static final _component11 = + 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.util.List> component11()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList component11() { + return _component11( + reference.pointer, + _id_component11 as jni$_.JMethodIDPtr, + ).object>( + const jni$_.JListType(jni$_.JObjectType()), + ); + } + + static final _id_component12 = _class.instanceMethodId( + r'component12', + r'()Ljava/util/List;', + ); + + static final _component12 = + 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.util.List> component12()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JList component12() { + return _component12( + reference.pointer, + _id_component12 as jni$_.JMethodIDPtr, + ).object>( + const jni$_.JListType(jni$_.JObjectType()), + ); + } + + static final _id_component13 = _class.instanceMethodId( + r'component13', + r'()Ljava/lang/String;', + ); + + static final _component13 = + 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 component13()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString component13() { + return _component13( + reference.pointer, + _id_component13 as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringType()); + } + + static final _id_component14 = _class.instanceMethodId( + r'component14', + r'()Z', + ); + + static final _component14 = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallBooleanMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public final boolean component14()` + bool component14() { + return _component14( + reference.pointer, + _id_component14 as jni$_.JMethodIDPtr, + ).boolean; + } + + static final _id_copy = _class.instanceMethodId( + r'copy', + r'(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Lokhttp3/Headers;ZLjava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Z)Leu/kanade/tachiyomi/animesource/model/Video;', + ); + + static final _copy = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + ( + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Int32, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Int32, + ) + >, + ) + > + >('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + int, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + jni$_.Pointer, + int, + ) + >(); + + /// from: `public final eu.kanade.tachiyomi.animesource.model.Video copy(java.lang.String string, java.lang.String string1, java.lang.Integer integer, java.lang.Integer integer1, okhttp3.Headers headers, boolean z, java.util.List list, java.util.List list1, java.util.List list2, java.util.List> list3, java.util.List> list4, java.util.List> list5, java.lang.String string2, boolean z1)` + /// The returned object must be released after use, by calling the [release] method. + JVideo copy( + jni$_.JString string, + jni$_.JString string1, + jni$_.JInteger? integer, + jni$_.JInteger? integer1, + jni$_.JObject? headers, + bool z, + jni$_.JList list, + jni$_.JList list1, + jni$_.JList list2, + jni$_.JList list3, + jni$_.JList list4, + jni$_.JList list5, + jni$_.JString string2, + bool z1, + ) { + final _$string = string.reference; + final _$string1 = string1.reference; + final _$integer = integer?.reference ?? jni$_.jNullReference; + final _$integer1 = integer1?.reference ?? jni$_.jNullReference; + final _$headers = headers?.reference ?? jni$_.jNullReference; + final _$list = list.reference; + final _$list1 = list1.reference; + final _$list2 = list2.reference; + final _$list3 = list3.reference; + final _$list4 = list4.reference; + final _$list5 = list5.reference; + final _$string2 = string2.reference; + return _copy( + reference.pointer, + _id_copy as jni$_.JMethodIDPtr, + _$string.pointer, + _$string1.pointer, + _$integer.pointer, + _$integer1.pointer, + _$headers.pointer, + z ? 1 : 0, + _$list.pointer, + _$list1.pointer, + _$list2.pointer, + _$list3.pointer, + _$list4.pointer, + _$list5.pointer, + _$string2.pointer, + z1 ? 1 : 0, + ).object(const $Video$Type()); + } + + static final _id_toString$1 = _class.instanceMethodId( + r'toString', + r'()Ljava/lang/String;', + ); + + static final _toString$1 = + 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.lang.String toString()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString toString$1() { + return _toString$1( + reference.pointer, + _id_toString$1 as jni$_.JMethodIDPtr, + ).object(const jni$_.JStringType()); + } + + static final _id_hashCode$1 = _class.instanceMethodId(r'hashCode', r'()I'); + + static final _hashCode$1 = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_CallIntMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public int hashCode()` + int hashCode$1() { + return _hashCode$1( + reference.pointer, + _id_hashCode$1 as jni$_.JMethodIDPtr, + ).integer; + } + + static final _id_equals = _class.instanceMethodId( + r'equals', + r'(Ljava/lang/Object;)Z', + ); + + static final _equals = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>, + ) + > + >('globalEnv_CallBooleanMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + ) + >(); + + /// from: `public boolean equals(java.lang.Object object)` + bool equals(jni$_.JObject? object) { + final _$object = object?.reference ?? jni$_.jNullReference; + return _equals( + reference.pointer, + _id_equals as jni$_.JMethodIDPtr, + _$object.pointer, + ).boolean; + } + + static final _id_new$6 = _class.constructorId(r'()V'); + + static final _new$6 = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + > + >('globalEnv_NewObject') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + ) + >(); + + /// from: `public void ()` + /// The returned object must be released after use, by calling the [release] method. + factory JVideo.new$6() { + return JVideo.fromReference( + _new$6( + _class.reference.pointer, + _id_new$6 as jni$_.JMethodIDPtr, + ).reference, + ); + } +} + +final class $Video$NullableType extends jni$_.JObjType { + @jni$_.internal + const $Video$NullableType(); + + @jni$_.internal + @core$_.override + String get signature => r'Leu/kanade/tachiyomi/animesource/model/Video;'; + + @jni$_.internal + @core$_.override + JVideo? fromReference(jni$_.JReference reference) => + reference.isNull ? null : JVideo.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 => ($Video$NullableType).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($Video$NullableType) && + other is $Video$NullableType; + } +} + +final class $Video$Type extends jni$_.JObjType { + @jni$_.internal + const $Video$Type(); + + @jni$_.internal + @core$_.override + String get signature => r'Leu/kanade/tachiyomi/animesource/model/Video;'; + + @jni$_.internal + @core$_.override + JVideo fromReference(jni$_.JReference reference) => + JVideo.fromReference(reference); + @jni$_.internal + @core$_.override + jni$_.JObjType get superType => const jni$_.JObjectType(); + + @jni$_.internal + @core$_.override + jni$_.JObjType get nullableType => const $Video$NullableType(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($Video$Type).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($Video$Type) && other is $Video$Type; + } +} diff --git a/pubspec.yaml b/pubspec.yaml index 7b7a03b..eebefc1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -8,7 +8,6 @@ environment: flutter: ">=1.17.0" dependencies: - archive: ^4.0.7 flutter: sdk: flutter jni: ^0.14.2