diff --git a/README.md b/README.md
index d6128517..d81f9be1 100644
--- a/README.md
+++ b/README.md
@@ -22,6 +22,7 @@ npm start
- [@nativescript/email](packages/email/README.md)
- [@nativescript/facebook](packages/facebook/README.md)
- [@nativescript/fingerprint-auth](packages/fingerprint-auth/README.md)
+- [@nativescript/flutter](packages/flutter/README.md)
- [@nativescript/geolocation](packages/geolocation/README.md)
- [@nativescript/google-maps](packages/google-maps/README.md)
- [@nativescript/google-signin](packages/google-signin/README.md)
diff --git a/apps/demo-angular/package.json b/apps/demo-angular/package.json
index d48f8d29..800e6bf5 100644
--- a/apps/demo-angular/package.json
+++ b/apps/demo-angular/package.json
@@ -20,6 +20,7 @@
"@nativescript/email": "file:../../dist/packages/email",
"@nativescript/facebook": "file:../../dist/packages/facebook",
"@nativescript/fingerprint-auth": "file:../../dist/packages/fingerprint-auth",
+ "@nativescript/flutter": "file:../../dist/packages/flutter",
"@nativescript/geolocation": "file:../../dist/packages/geolocation",
"@nativescript/google-maps": "file:../../dist/packages/google-maps",
"@nativescript/google-signin": "file:../../dist/packages/google-signin",
diff --git a/apps/demo-angular/src/app-routing.module.ts b/apps/demo-angular/src/app-routing.module.ts
index cefc7451..a9fbd57b 100644
--- a/apps/demo-angular/src/app-routing.module.ts
+++ b/apps/demo-angular/src/app-routing.module.ts
@@ -24,13 +24,14 @@ const routes: Routes = [
{ path: 'email', loadChildren: () => import('./plugin-demos/email.module').then((m) => m.EmailModule) },
{ path: 'facebook', loadChildren: () => import('./plugin-demos/facebook.module').then((m) => m.FacebookModule) },
{ path: 'fingerprint-auth', loadChildren: () => import('./plugin-demos/fingerprint-auth.module').then((m) => m.FingerprintAuthModule) },
+ { path: 'flutter', loadChildren: () => import('./plugin-demos/flutter.module').then((m) => m.FlutterModule) },
{ path: 'geolocation', loadChildren: () => import('./plugin-demos/geolocation.module').then((m) => m.GeolocationModule) },
{ path: 'google-maps', loadChildren: () => import('./plugin-demos/google-maps.module').then((m) => m.GoogleMapsModule) },
{ path: 'google-signin', loadChildren: () => import('./plugin-demos/google-signin.module').then((m) => m.GoogleSigninModule) },
{ path: 'haptics', loadChildren: () => import('./plugin-demos/haptics.module').then((m) => m.HapticsModule) },
{ path: 'imagepicker', loadChildren: () => import('./plugin-demos/imagepicker.module').then((m) => m.ImagepickerModule) },
{ path: 'ionic-portals', loadChildren: () => import('./plugin-demos/ionic-portals.module').then((m) => m.IonicPortalsModule) },
- { path: 'ios-security', loadChildren: () => import('./plugin-demos/ios-security.module').then((m) => m.IosSecurityModule) },
+ { path: 'ios-security', loadChildren: () => import('./plugin-demos/ios-security.module').then((m) => m.IOSSecurityModule) },
{ path: 'iqkeyboardmanager', loadChildren: () => import('./plugin-demos/iqkeyboardmanager.module').then((m) => m.IqkeyboardmanagerModule) },
{ path: 'jetpack-compose', loadChildren: () => import('./plugin-demos/jetpack-compose.module').then((m) => m.JetpackComposeModule) },
{ path: 'local-notifications', loadChildren: () => import('./plugin-demos/local-notifications.module').then((m) => m.LocalNotificationsModule) },
diff --git a/apps/demo-angular/src/home.component.ts b/apps/demo-angular/src/home.component.ts
index 863f9cb6..b6c71d17 100644
--- a/apps/demo-angular/src/home.component.ts
+++ b/apps/demo-angular/src/home.component.ts
@@ -57,6 +57,9 @@ export class HomeComponent {
{
name: 'fingerprint-auth',
},
+ {
+ name: 'flutter',
+ },
{
name: 'geolocation',
},
diff --git a/apps/demo-angular/src/plugin-demos/flutter.component.html b/apps/demo-angular/src/plugin-demos/flutter.component.html
new file mode 100644
index 00000000..58a0940b
--- /dev/null
+++ b/apps/demo-angular/src/plugin-demos/flutter.component.html
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/apps/demo-angular/src/plugin-demos/flutter.component.ts b/apps/demo-angular/src/plugin-demos/flutter.component.ts
new file mode 100644
index 00000000..95732312
--- /dev/null
+++ b/apps/demo-angular/src/plugin-demos/flutter.component.ts
@@ -0,0 +1,17 @@
+import { Component, NgZone } from '@angular/core';
+import { DemoSharedFlutter } from '@demo/shared';
+import {} from '@nativescript/flutter';
+
+@Component({
+ selector: 'demo-flutter',
+ templateUrl: 'flutter.component.html',
+})
+export class FlutterComponent {
+ demoShared: DemoSharedFlutter;
+
+ constructor(private _ngZone: NgZone) {}
+
+ ngOnInit() {
+ this.demoShared = new DemoSharedFlutter();
+ }
+}
diff --git a/apps/demo-angular/src/plugin-demos/flutter.module.ts b/apps/demo-angular/src/plugin-demos/flutter.module.ts
new file mode 100644
index 00000000..8a1e8db2
--- /dev/null
+++ b/apps/demo-angular/src/plugin-demos/flutter.module.ts
@@ -0,0 +1,10 @@
+import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
+import { NativeScriptCommonModule, NativeScriptRouterModule } from '@nativescript/angular';
+import { FlutterComponent } from './flutter.component';
+
+@NgModule({
+ imports: [NativeScriptCommonModule, NativeScriptRouterModule.forChild([{ path: '', component: FlutterComponent }])],
+ declarations: [FlutterComponent],
+ schemas: [NO_ERRORS_SCHEMA],
+})
+export class FlutterModule {}
diff --git a/apps/demo/flutter_module/.gitignore b/apps/demo/flutter_module/.gitignore
new file mode 100644
index 00000000..9141595f
--- /dev/null
+++ b/apps/demo/flutter_module/.gitignore
@@ -0,0 +1,50 @@
+.DS_Store
+.dart_tool/
+
+.packages
+.pub/
+
+.idea/
+.vagrant/
+.sconsign.dblite
+.svn/
+
+migrate_working_dir/
+
+*.swp
+profile
+
+DerivedData/
+
+.generated/
+
+*.pbxuser
+*.mode1v3
+*.mode2v3
+*.perspectivev3
+
+!default.pbxuser
+!default.mode1v3
+!default.mode2v3
+!default.perspectivev3
+
+xcuserdata
+
+*.moved-aside
+
+*.pyc
+*sync/
+Icon?
+.tags*
+
+build/
+.android/
+.ios/
+.flutter-plugins
+.flutter-plugins-dependencies
+
+# Symbolication related
+app.*.symbols
+
+# Obfuscation related
+app.*.map.json
diff --git a/apps/demo/flutter_module/.metadata b/apps/demo/flutter_module/.metadata
new file mode 100644
index 00000000..b4666993
--- /dev/null
+++ b/apps/demo/flutter_module/.metadata
@@ -0,0 +1,10 @@
+# This file tracks properties of this Flutter project.
+# Used by Flutter tool to assess capabilities and perform upgrades etc.
+#
+# This file should be version controlled and should not be manually edited.
+
+version:
+ revision: 4d9e56e694b656610ab87fcf2efbcd226e0ed8cf
+ channel: stable
+
+project_type: module
diff --git a/apps/demo/flutter_module/README.md b/apps/demo/flutter_module/README.md
new file mode 100644
index 00000000..6ee3cc24
--- /dev/null
+++ b/apps/demo/flutter_module/README.md
@@ -0,0 +1,11 @@
+# flutter_module
+
+A new Flutter module project.
+
+## Getting Started
+
+For help getting started with Flutter development, view the online
+[documentation](https://flutter.dev/).
+
+For instructions integrating Flutter modules to your existing applications,
+see the [add-to-app documentation](https://flutter.dev/docs/development/add-to-app).
diff --git a/apps/demo/flutter_module/analysis_options.yaml b/apps/demo/flutter_module/analysis_options.yaml
new file mode 100644
index 00000000..a5744c1c
--- /dev/null
+++ b/apps/demo/flutter_module/analysis_options.yaml
@@ -0,0 +1,4 @@
+include: package:flutter_lints/flutter.yaml
+
+# Additional information about this file can be found at
+# https://dart.dev/guides/language/analysis-options
diff --git a/apps/demo/flutter_module/flutter_module.iml b/apps/demo/flutter_module/flutter_module.iml
new file mode 100644
index 00000000..f66303d5
--- /dev/null
+++ b/apps/demo/flutter_module/flutter_module.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/demo/flutter_module/flutter_module_android.iml b/apps/demo/flutter_module/flutter_module_android.iml
new file mode 100644
index 00000000..6fa7b635
--- /dev/null
+++ b/apps/demo/flutter_module/flutter_module_android.iml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/demo/flutter_module/lib/main.dart b/apps/demo/flutter_module/lib/main.dart
new file mode 100644
index 00000000..5528fec9
--- /dev/null
+++ b/apps/demo/flutter_module/lib/main.dart
@@ -0,0 +1,117 @@
+import 'package:flutter/material.dart';
+import 'package:flutter/services.dart';
+
+void main() => runApp(const MyApp());
+
+class MyApp extends StatelessWidget {
+ const MyApp({super.key});
+
+ // This widget is the root of your application.
+ @override
+ Widget build(BuildContext context) {
+ return MaterialApp(
+ title: 'Flutter Demo',
+ theme: ThemeData(
+ // This is the theme of your application.
+ //
+ // Try running your application with "flutter run". You'll see the
+ // application has a blue toolbar. Then, without quitting the app, try
+ // changing the primarySwatch below to Colors.green and then invoke
+ // "hot reload" (press "r" in the console where you ran "flutter run",
+ // or press Run > Flutter Hot Reload in a Flutter IDE). Notice that the
+ // counter didn't reset back to zero; the application is not restarted.
+ primarySwatch: Colors.blue,
+ ),
+ home: const MyHomePage(title: 'Flutter Demo Home Page'),
+ );
+ }
+}
+
+class MyHomePage extends StatefulWidget {
+ const MyHomePage({super.key, required this.title});
+
+ // This widget is the home page of your application. It is stateful, meaning
+ // that it has a State object (defined below) that contains fields that affect
+ // how it looks.
+
+ // This class is the configuration for the state. It holds the values (in this
+ // case the title) provided by the parent (in this case the App widget) and
+ // used by the build method of the State. Fields in a Widget subclass are
+ // always marked "final".
+
+ final String title;
+
+ @override
+ State createState() => _MyHomePageState();
+}
+
+class _MyHomePageState extends State {
+ int _counter = 0;
+ MethodChannel platform = const MethodChannel("nativescript");
+ void _incrementCounter() async {
+ int level = await platform.invokeMethod("getBatteryLevel");
+
+ print("level $level");
+
+ setState(() {
+ // This call to setState tells the Flutter framework that something has
+ // changed in this State, which causes it to rerun the build method below
+ // so that the display can reflect the updated values. If we changed
+ // _counter without calling setState(), then the build method would not be
+ // called again, and so nothing would appear to happen.
+ _counter++;
+ });
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ // This method is rerun every time setState is called, for instance as done
+ // by the _incrementCounter method above.
+ //
+ // The Flutter framework has been optimized to make rerunning build methods
+ // fast, so that you can just rebuild anything that needs updating rather
+ // than having to individually change instances of widgets.
+ return Scaffold(
+ appBar: AppBar(
+ // Here we take the value from the MyHomePage object that was created by
+ // the App.build method, and use it to set our appbar title.
+ title: Text(widget.title),
+ ),
+ body: Center(
+ // Center is a layout widget. It takes a single child and positions it
+ // in the middle of the parent.
+ child: Column(
+ // Column is also a layout widget. It takes a list of children and
+ // arranges them vertically. By default, it sizes itself to fit its
+ // children horizontally, and tries to be as tall as its parent.
+ //
+ // Invoke "debug painting" (press "p" in the console, choose the
+ // "Toggle Debug Paint" action from the Flutter Inspector in Android
+ // Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
+ // to see the wireframe for each widget.
+ //
+ // Column has various properties to control how it sizes itself and
+ // how it positions its children. Here we use mainAxisAlignment to
+ // center the children vertically; the main axis here is the vertical
+ // axis because Columns are vertical (the cross axis would be
+ // horizontal).
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ const Text(
+ 'You have pushed the button this many times:',
+ ),
+ Text(
+ '$_counter',
+ style: Theme.of(context).textTheme.headlineMedium,
+ ),
+ ],
+ ),
+ ),
+ floatingActionButton: FloatingActionButton(
+ onPressed: _incrementCounter,
+ tooltip: 'Increment',
+ child: const Icon(Icons.add),
+ ), // This trailing comma makes auto-formatting nicer for build methods.
+ );
+ }
+}
diff --git a/apps/demo/flutter_module/pubspec.lock b/apps/demo/flutter_module/pubspec.lock
new file mode 100644
index 00000000..b2cb69de
--- /dev/null
+++ b/apps/demo/flutter_module/pubspec.lock
@@ -0,0 +1,188 @@
+# Generated by pub
+# See https://dart.dev/tools/pub/glossary#lockfile
+packages:
+ async:
+ dependency: transitive
+ description:
+ name: async
+ sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.10.0"
+ boolean_selector:
+ dependency: transitive
+ description:
+ name: boolean_selector
+ sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.1"
+ characters:
+ dependency: transitive
+ description:
+ name: characters
+ sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.1"
+ clock:
+ dependency: transitive
+ description:
+ name: clock
+ sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.1"
+ collection:
+ dependency: transitive
+ description:
+ name: collection
+ sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.17.0"
+ cupertino_icons:
+ dependency: "direct main"
+ description:
+ name: cupertino_icons
+ sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.5"
+ fake_async:
+ dependency: transitive
+ description:
+ name: fake_async
+ sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.3.1"
+ flutter:
+ dependency: "direct main"
+ description: flutter
+ source: sdk
+ version: "0.0.0"
+ flutter_lints:
+ dependency: "direct dev"
+ description:
+ name: flutter_lints
+ sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.1"
+ flutter_test:
+ dependency: "direct dev"
+ description: flutter
+ source: sdk
+ version: "0.0.0"
+ js:
+ dependency: transitive
+ description:
+ name: js
+ sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.6.5"
+ lints:
+ dependency: transitive
+ description:
+ name: lints
+ sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.1"
+ matcher:
+ dependency: transitive
+ description:
+ name: matcher
+ sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.12.13"
+ material_color_utilities:
+ dependency: transitive
+ description:
+ name: material_color_utilities
+ sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.2.0"
+ meta:
+ dependency: transitive
+ description:
+ name: meta
+ sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.8.0"
+ path:
+ dependency: transitive
+ description:
+ name: path
+ sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.8.2"
+ sky_engine:
+ dependency: transitive
+ description: flutter
+ source: sdk
+ version: "0.0.99"
+ source_span:
+ dependency: transitive
+ description:
+ name: source_span
+ sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.9.1"
+ stack_trace:
+ dependency: transitive
+ description:
+ name: stack_trace
+ sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.11.0"
+ stream_channel:
+ dependency: transitive
+ description:
+ name: stream_channel
+ sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.1"
+ string_scanner:
+ dependency: transitive
+ description:
+ name: string_scanner
+ sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.0"
+ term_glyph:
+ dependency: transitive
+ description:
+ name: term_glyph
+ sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.1"
+ test_api:
+ dependency: transitive
+ description:
+ name: test_api
+ sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.4.16"
+ vector_math:
+ dependency: transitive
+ description:
+ name: vector_math
+ sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.4"
+sdks:
+ dart: ">=2.19.6 <3.0.0"
diff --git a/apps/demo/flutter_module/pubspec.yaml b/apps/demo/flutter_module/pubspec.yaml
new file mode 100644
index 00000000..24705b0a
--- /dev/null
+++ b/apps/demo/flutter_module/pubspec.yaml
@@ -0,0 +1,87 @@
+name: flutter_module
+description: A new Flutter module project.
+
+# The following defines the version and build number for your application.
+# A version number is three numbers separated by dots, like 1.2.43
+# followed by an optional build number separated by a +.
+# Both the version and the builder number may be overridden in flutter
+# build by specifying --build-name and --build-number, respectively.
+# In Android, build-name is used as versionName while build-number used as versionCode.
+# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
+# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
+# Read more about iOS versioning at
+# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
+#
+# This version is used _only_ for the Runner app, which is used if you just do
+# a `flutter run` or a `flutter make-host-app-editable`. It has no impact
+# on any other native host app that you embed your Flutter project into.
+version: 1.0.0+1
+
+environment:
+ sdk: '>=2.19.6 <3.0.0'
+
+dependencies:
+ flutter:
+ sdk: flutter
+
+ # The following adds the Cupertino Icons font to your application.
+ # Use with the CupertinoIcons class for iOS style icons.
+ cupertino_icons: ^1.0.2
+
+dev_dependencies:
+ flutter_test:
+ sdk: flutter
+ flutter_lints: ^2.0.0
+
+# For information on the generic Dart part of this file, see the
+# following page: https://dart.dev/tools/pub/pubspec
+
+flutter:
+ # The following line ensures that the Material Icons font is
+ # included with your application, so that you can use the icons in
+ # the material Icons class.
+ uses-material-design: true
+
+ # To add Flutter specific assets to your application, add an assets section,
+ # like this:
+ # assets:
+ # - images/a_dot_burr.jpeg
+ # - images/a_dot_ham.jpeg
+
+ # An image asset can refer to one or more resolution-specific "variants", see
+ # https://flutter.dev/assets-and-images/#resolution-aware
+
+ # For details regarding adding assets from package dependencies, see
+ # https://flutter.dev/assets-and-images/#from-packages
+
+ # To add Flutter specific custom fonts to your application, add a fonts
+ # section here, in this "flutter" section. Each entry in this list should
+ # have a "family" key with the font family name, and a "fonts" key with a
+ # list giving the asset and other descriptors for the font. For
+ # example:
+ # fonts:
+ # - family: Schyler
+ # fonts:
+ # - asset: fonts/Schyler-Regular.ttf
+ # - asset: fonts/Schyler-Italic.ttf
+ # style: italic
+ # - family: Trajan Pro
+ # fonts:
+ # - asset: fonts/TrajanPro.ttf
+ # - asset: fonts/TrajanPro_Bold.ttf
+ # weight: 700
+ #
+ # For details regarding fonts from package dependencies,
+ # see https://flutter.dev/custom-fonts/#from-packages
+
+
+ # This section identifies your Flutter project as a module meant for
+ # embedding in a native host app. These identifiers should _not_ ordinarily
+ # be changed after generation - they are used to ensure that the tooling can
+ # maintain consistency when adding or modifying assets and plugins.
+ # They also do not have any bearing on your native host application's
+ # identifiers, which may be completely independent or the same as these.
+ module:
+ androidX: true
+ androidPackage: com.example.flutter_module
+ iosBundleIdentifier: com.example.flutterModule
diff --git a/apps/demo/flutter_module/test/widget_test.dart b/apps/demo/flutter_module/test/widget_test.dart
new file mode 100644
index 00000000..396d6965
--- /dev/null
+++ b/apps/demo/flutter_module/test/widget_test.dart
@@ -0,0 +1,30 @@
+// This is a basic Flutter widget test.
+//
+// To perform an interaction with a widget in your test, use the WidgetTester
+// utility in the flutter_test package. For example, you can send tap and scroll
+// gestures. You can also use WidgetTester to find child widgets in the widget
+// tree, read text, and verify that the values of widget properties are correct.
+
+import 'package:flutter/material.dart';
+import 'package:flutter_test/flutter_test.dart';
+
+import 'package:flutter_module/main.dart';
+
+void main() {
+ testWidgets('Counter increments smoke test', (WidgetTester tester) async {
+ // Build our app and trigger a frame.
+ await tester.pumpWidget(const MyApp());
+
+ // Verify that our counter starts at 0.
+ expect(find.text('0'), findsOneWidget);
+ expect(find.text('1'), findsNothing);
+
+ // Tap the '+' icon and trigger a frame.
+ await tester.tap(find.byIcon(Icons.add));
+ await tester.pump();
+
+ // Verify that our counter has incremented.
+ expect(find.text('0'), findsNothing);
+ expect(find.text('1'), findsOneWidget);
+ });
+}
diff --git a/apps/demo/nativescript.config.ts b/apps/demo/nativescript.config.ts
index e18221d6..6c56a679 100644
--- a/apps/demo/nativescript.config.ts
+++ b/apps/demo/nativescript.config.ts
@@ -1,7 +1,7 @@
import { NativeScriptConfig } from '@nativescript/core';
export default {
- id: 'org.nativescript.plugindemo',
+ id: 'org.nativescript.plugindemotest',
appResourcesPath: '../../tools/assets/App_Resources',
android: {
v8Flags: '--expose_gc',
@@ -9,12 +9,12 @@ export default {
},
appPath: 'src',
cli: {
- packageManager: 'npm'
+ packageManager: 'npm',
},
hooks: [
{
- type: 'before-prepare',
- script: '../../tools/scripts/before-prepare.js',
- }
- ],
+ type: 'before-prepare',
+ script: '../../tools/scripts/before-prepare.js',
+ },
+ ],
} as NativeScriptConfig;
diff --git a/apps/demo/package.json b/apps/demo/package.json
index c2110ae2..c08a6c22 100644
--- a/apps/demo/package.json
+++ b/apps/demo/package.json
@@ -23,6 +23,7 @@
"@nativescript/email": "file:../../packages/email",
"@nativescript/facebook": "file:../../packages/facebook",
"@nativescript/fingerprint-auth": "file:../../packages/fingerprint-auth",
+ "@nativescript/flutter": "file:../../packages/flutter",
"@nativescript/geolocation": "file:../../packages/geolocation",
"@nativescript/google-maps": "file:../../packages/google-maps",
"@nativescript/google-signin": "file:../../packages/google-signin",
diff --git a/apps/demo/src/app.ts b/apps/demo/src/app.ts
index 41103c1c..336021c1 100644
--- a/apps/demo/src/app.ts
+++ b/apps/demo/src/app.ts
@@ -1,5 +1,6 @@
import { Application } from '@nativescript/core';
-
+import { FlutterDelegate, init } from '@nativescript/flutter';
+init();
// uncomment to test local notifications
// import "@nativescript/local-notifications";
@@ -24,4 +25,8 @@ import { Application } from '@nativescript/core';
// IonicPortalManager.register('');
// });
+if (global.isIOS) {
+ Application.ios.delegate = FlutterDelegate;
+}
+
Application.run({ moduleName: 'app-root' });
diff --git a/apps/demo/src/main-page.xml b/apps/demo/src/main-page.xml
index f68418ec..f6f7d61b 100644
--- a/apps/demo/src/main-page.xml
+++ b/apps/demo/src/main-page.xml
@@ -22,6 +22,7 @@
+
diff --git a/apps/demo/src/modals/modal-flutter.ts b/apps/demo/src/modals/modal-flutter.ts
new file mode 100644
index 00000000..1ee877a9
--- /dev/null
+++ b/apps/demo/src/modals/modal-flutter.ts
@@ -0,0 +1,37 @@
+import { Observable, EventData, Page, Device, Utils } from '@nativescript/core';
+import { FlutterChannelType } from '@nativescript/flutter';
+
+export function shownModally(args: EventData) {
+ const page = args.object;
+ page.bindingContext = new DemoModel();
+}
+
+export class DemoModel extends Observable {
+ channel: FlutterChannelType;
+
+ constructor() {
+ super();
+ this.channel = {
+ getBatteryLevel: this._getBatteryLevel,
+ };
+ }
+
+ private _getBatteryLevel() {
+ if (global.isAndroid) {
+ let batteryLevel = 0;
+ const context = Utils.android.getApplicationContext();
+ if (parseInt(Device.sdkVersion) >= 19) {
+ const batteryManager = context.getSystemService(android.content.Context.BATTERY_SERVICE) as android.os.BatteryManager;
+ batteryLevel = batteryManager.getIntProperty(android.os.BatteryManager.BATTERY_PROPERTY_CAPACITY);
+ } else {
+ const intent = new android.content.ContextWrapper(context).registerReceiver(null, new android.content.IntentFilter(android.content.Intent.ACTION_BATTERY_CHANGED));
+ batteryLevel = (intent!!.getIntExtra(android.os.BatteryManager.EXTRA_LEVEL, -1) * 100) / intent.getIntExtra(android.os.BatteryManager.EXTRA_SCALE, -1);
+ }
+
+ return Promise.resolve(batteryLevel);
+ }
+ UIDevice.currentDevice.batteryMonitoringEnabled = true;
+ const batteryLevel = (UIDevice.currentDevice.batteryLevel * 100) | 0;
+ return Promise.resolve(batteryLevel);
+ }
+}
diff --git a/apps/demo/src/modals/modal-flutter.xml b/apps/demo/src/modals/modal-flutter.xml
new file mode 100644
index 00000000..7716e3e0
--- /dev/null
+++ b/apps/demo/src/modals/modal-flutter.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/demo/src/plugin-demos/flutter.ts b/apps/demo/src/plugin-demos/flutter.ts
new file mode 100644
index 00000000..600d48e7
--- /dev/null
+++ b/apps/demo/src/plugin-demos/flutter.ts
@@ -0,0 +1,26 @@
+import { Observable, EventData, Page, ShowModalOptions } from '@nativescript/core';
+import { DemoSharedFlutter } from '@demo/shared';
+import { Flutter } from '@nativescript/flutter';
+
+export function navigatingTo(args: EventData) {
+ const page = args.object;
+ page.bindingContext = new DemoModel(page);
+}
+
+export class DemoModel extends DemoSharedFlutter {
+ flutter: Flutter;
+
+ constructor(protected page: Page) {
+ super();
+ }
+
+ openFlutter() {
+ this.page.showModal('modals/modal-flutter', {
+ fullscreen: global.isAndroid ? true : false,
+ });
+ }
+
+ loadedFlutter(args) {
+ this.flutter = args.object;
+ }
+}
diff --git a/apps/demo/src/plugin-demos/flutter.xml b/apps/demo/src/plugin-demos/flutter.xml
new file mode 100644
index 00000000..b823768c
--- /dev/null
+++ b/apps/demo/src/plugin-demos/flutter.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/flutter/.eslintrc.json b/packages/flutter/.eslintrc.json
new file mode 100644
index 00000000..be41074b
--- /dev/null
+++ b/packages/flutter/.eslintrc.json
@@ -0,0 +1,18 @@
+{
+ "extends": ["../../.eslintrc.json"],
+ "ignorePatterns": ["!**/*", "node_modules/**/*"],
+ "overrides": [
+ {
+ "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
+ "rules": {}
+ },
+ {
+ "files": ["*.ts", "*.tsx"],
+ "rules": {}
+ },
+ {
+ "files": ["*.js", "*.jsx"],
+ "rules": {}
+ }
+ ]
+}
diff --git a/packages/flutter/README.md b/packages/flutter/README.md
new file mode 100644
index 00000000..35965b62
--- /dev/null
+++ b/packages/flutter/README.md
@@ -0,0 +1,13 @@
+# @nativescript/flutter
+
+```javascript
+npm install @nativescript/flutter
+```
+
+## Usage
+
+// TODO
+
+## License
+
+Apache License Version 2.0
diff --git a/packages/flutter/common.ts b/packages/flutter/common.ts
new file mode 100644
index 00000000..fb58ee2e
--- /dev/null
+++ b/packages/flutter/common.ts
@@ -0,0 +1,12 @@
+import { ContentView, Observable } from '@nativescript/core';
+
+export type FlutterChannelType = { [key: string]: (...args: any[]) => Promise };
+
+export class FlutterCommon extends ContentView {
+ static invokeResultEvent = 'invokeResultEvent';
+ channel: FlutterChannelType;
+
+ invoke(name: string, args?: Array, callback?: (value?: any) => void) {
+ // impl specific
+ }
+}
diff --git a/packages/flutter/index.android.ts b/packages/flutter/index.android.ts
new file mode 100644
index 00000000..ae273e85
--- /dev/null
+++ b/packages/flutter/index.android.ts
@@ -0,0 +1,155 @@
+import { Utils, fromObject } from '@nativescript/core';
+
+import { FlutterChannelType, FlutterCommon } from './common';
+
+function makeFragmentName(viewId: number): string {
+ return 'android:flutter:' + viewId;
+}
+
+let didInit = false;
+let flutterEngine: io.flutter.embedding.engine.FlutterEngine;
+let channel: io.flutter.plugin.common.MethodChannel;
+let listener;
+let MethodCallClazz: java.lang.Class;
+let argumentsMethod;
+const channelMethods = new Map();
+export function init() {
+ if (!didInit) {
+ // todo remove remove after fixing runtime;
+ MethodCallClazz = java.lang.Class.forName('io.flutter.plugin.common.MethodCall');
+ argumentsMethod = MethodCallClazz.getDeclaredMethod('arguments', []);
+
+ flutterEngine = new io.flutter.embedding.engine.FlutterEngine(Utils.android.getApplicationContext());
+ flutterEngine.getDartExecutor().executeDartEntrypoint(io.flutter.embedding.engine.dart.DartExecutor.DartEntrypoint.createDefault());
+ io.flutter.embedding.engine.FlutterEngineCache.getInstance().put('default_nativescript', flutterEngine);
+ io.flutter.embedding.engine.plugins.util.GeneratedPluginRegister.registerGeneratedPlugins(flutterEngine);
+ channel = new io.flutter.plugin.common.MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), 'nativescript');
+ listener = new io.flutter.plugin.common.MethodChannel.MethodCallHandler({
+ onMethodCall(call: io.flutter.plugin.common.MethodCall, result: io.flutter.plugin.common.MethodChannel.Result) {
+ const method = channelMethods.get(call.method);
+ if (method) {
+ const args = argumentsMethod.invoke(call, null); //call.arguments();
+ const methodArgs = args ? Utils.dataDeserialize(args) : null;
+
+ method(methodArgs).then((value) => {
+ console.log('value:', value);
+ result.success(value);
+ });
+ } else {
+ result.notImplemented();
+ }
+ },
+ });
+
+ channel.setMethodCallHandler(listener);
+
+ didInit = true;
+ }
+}
+
+export class Flutter extends FlutterCommon {
+ _fragment;
+ _androidViewId: number = -1;
+ _activityCallbacks: android.app.Application.ActivityLifecycleCallbacks;
+
+ static _events = fromObject({});
+ static get events() {
+ return this._events;
+ }
+
+ createNativeView(): Object {
+ return new android.widget.FrameLayout(this._context);
+ }
+
+ _channel: FlutterChannelType;
+
+ //@ts-ignore
+ get channel(): FlutterChannelType {
+ return this._channel;
+ }
+
+ set channel(value: FlutterChannelType) {
+ if (this._channel) {
+ Object.keys(this._channel).forEach((key) => {
+ channelMethods.delete(key);
+ });
+ }
+ this._channel = value;
+ if (value) {
+ Object.keys(value).forEach((key) => {
+ const val = value[key];
+ channelMethods.set(key, val);
+ });
+ }
+ }
+
+ initNativeView(): void {
+ super.initNativeView();
+ if (this._androidViewId < 0) {
+ this._androidViewId = android.view.View.generateViewId();
+ }
+
+ /*
+ const ref = new WeakRef(this);
+ Application.android.on('activityNewIntent', args =>{
+ this._fragment?.onNewIntent?.(args.intent)
+ });
+ Application.android.on('activityRequestPermissions', args =>{
+ this._fragment?.onRequestPermissionsResult(
+ args.requestCode,
+ args.permissions,
+ args.grantResults
+ );
+ });
+ this._activityCallbacks = new android.app.Application.ActivityLifecycleCallbacks({
+ onActivityPostResumed(param0, param1?) {
+ const owner = ref.get();
+ if(owner){
+ owner._fragment?.onPostResume?.();
+ }
+ }
+ });
+
+ (Application.android.startActivity as android.app.Activity).registerActivityLifecycleCallbacks(
+ this._activityCallbacks
+ );
+
+ */
+
+ this.nativeViewProtected.setId(this._androidViewId);
+
+ const fm = this._getFragmentManager() as androidx.fragment.app.FragmentManager;
+
+ //this._fragment = io.flutter.embedding.android.FlutterFragment.createDefault() as any;
+
+ this._fragment = io.flutter.embedding.android.FlutterFragment.withCachedEngine('default_nativescript').build() as any;
+
+ const name = makeFragmentName(this._androidViewId);
+
+ const tr = fm.beginTransaction();
+
+ tr.replace(this._androidViewId, this._fragment as any, name);
+
+ tr.commit();
+ }
+
+ invoke(name: string, args?: Array, callback?: (value?: any) => void) {
+ if (callback) {
+ const result = new io.flutter.plugin.common.MethodChannel.Result({
+ success(param0: any) {},
+ error(param0: string, param1: string, param2: any): void {},
+ notImplemented(): void {},
+ });
+
+ // this.notify({
+ // eventName: Flutter.invokeResultEvent,
+ // object: this,
+ // data: result,
+ // });
+
+ channel.invokeMethod(name, args, result);
+ } else {
+ channel.invokeMethod(name, Utils.dataSerialize(args, true));
+ }
+ }
+}
diff --git a/packages/flutter/index.d.ts b/packages/flutter/index.d.ts
new file mode 100644
index 00000000..421a9bfd
--- /dev/null
+++ b/packages/flutter/index.d.ts
@@ -0,0 +1,8 @@
+import { FlutterCommon } from './common';
+export { FlutterChannelType } from './common';
+
+export function init();
+
+export declare class Flutter extends FlutterCommon {}
+
+export declare class FlutterDelegate extends UIResponder {}
diff --git a/packages/flutter/index.ios.ts b/packages/flutter/index.ios.ts
new file mode 100644
index 00000000..6785b725
--- /dev/null
+++ b/packages/flutter/index.ios.ts
@@ -0,0 +1,86 @@
+import { Utils, ViewBase } from '@nativescript/core';
+import { FlutterCommon } from './common';
+
+let flutterEngineGroup: FlutterEngineGroup;
+
+export function init() {}
+
+export class Flutter extends FlutterCommon {
+ flutterViewController: FlutterViewController;
+ platformChannel: FlutterMethodChannel;
+
+ createNativeView() {
+ if (!this.id) {
+ throw new Error(`Flutter requires an 'id' property set to match your Dart entry point name.`);
+ }
+ const engine = flutterEngineGroup.makeEngineWithEntrypointLibraryURI(this.id, null);
+ GeneratedPluginRegistrant.registerWithRegistry(engine);
+ this.flutterViewController = FlutterViewController.alloc().initWithEngineNibNameBundle(engine, null, null);
+ return this.flutterViewController.view;
+ }
+
+ initNativeView() {
+ this.platformChannel = FlutterMethodChannel.methodChannelWithNameBinaryMessenger('nativescript', this.flutterViewController.binaryMessenger);
+ this.platformChannel.setMethodCallHandler(this._methodCallHandler.bind(this));
+ }
+
+ disposeNativeView() {
+ if (this.platformChannel) {
+ this.platformChannel.setMethodCallHandler(null);
+ this.platformChannel = null;
+ }
+ }
+
+ invoke(name: string, args?: Array, callback?: (value?: any) => void) {
+ if (this.platformChannel) {
+ if (callback) {
+ this.platformChannel.invokeMethodArgumentsResult(name, args, (result) => {
+ this.notify({
+ eventName: Flutter.invokeResultEvent,
+ object: this,
+ data: result,
+ });
+ });
+ } else {
+ this.platformChannel.invokeMethodArguments(name, args);
+ }
+ }
+ }
+
+ private _methodCallHandler(call: FlutterMethodCall, result: any) {
+ // console.log('Flutter called NativeScript with:', call.method);
+
+ if (this.channel?.[call.method]) {
+ const methodArgs = call.arguments ? Utils.dataDeserialize(call.arguments) : null;
+ this.channel[call.method](methodArgs).then((value) => {
+ // console.log('value:', value);
+ result(value);
+ });
+ }
+ }
+
+ onLoaded() {
+ super.onLoaded();
+ // we do this on onLoaded as the viewControllers are not properly setup on createNativeView
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
+ let vcParent: ViewBase = this;
+ while (vcParent && !vcParent.viewController) {
+ vcParent = vcParent.parent;
+ }
+ const vc = vcParent?.viewController || Utils.ios.getRootViewController();
+ if (vc) {
+ vc.addChildViewController(this.flutterViewController);
+ this.flutterViewController.didMoveToParentViewController(vc);
+ }
+ }
+}
+
+@NativeClass()
+export class FlutterDelegate extends FlutterAppDelegate implements UIApplicationDelegate {
+ static ObjCProtocols = [UIApplicationDelegate, FlutterAppLifeCycleProvider, FlutterPluginRegistry];
+
+ applicationDidFinishLaunchingWithOptions(application: UIApplication, launchOptions: NSDictionary): boolean {
+ flutterEngineGroup = FlutterEngineGroup.alloc().initWithNameProject('ns_flutter_engine', null);
+ return true;
+ }
+}
diff --git a/packages/flutter/package.json b/packages/flutter/package.json
new file mode 100644
index 00000000..3f98d132
--- /dev/null
+++ b/packages/flutter/package.json
@@ -0,0 +1,35 @@
+{
+ "name": "@nativescript/flutter",
+ "version": "1.0.0",
+ "description": "Flutter for NativeScript",
+ "main": "index",
+ "typings": "index.d.ts",
+ "nativescript": {
+ "platforms": {
+ "ios": "6.0.0",
+ "android": "6.0.0"
+ }
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/NativeScript/plugins.git"
+ },
+ "keywords": [
+ "NativeScript",
+ "JavaScript",
+ "TypeScript",
+ "iOS",
+ "Android"
+ ],
+ "author": {
+ "name": "NativeScript",
+ "email": "oss@nativescript.org"
+ },
+ "bugs": {
+ "url": "https://github.com/NativeScript/plugins/issues"
+ },
+ "license": "Apache-2.0",
+ "homepage": "https://github.com/NativeScript/plugins",
+ "readmeFilename": "README.md",
+ "bootstrapper": "@nativescript/plugin-seed"
+}
diff --git a/packages/flutter/platforms/android/include.gradle b/packages/flutter/platforms/android/include.gradle
new file mode 100644
index 00000000..1c3e74e9
--- /dev/null
+++ b/packages/flutter/platforms/android/include.gradle
@@ -0,0 +1,12 @@
+dependencies {
+implementation project(':flutter')
+}
+
+android {
+ packagingOptions {
+ pickFirst 'lib/armeabi-v7a/libc++_shared.so'
+ pickFirst 'lib/arm64-v8a/libc++_shared.so'
+ pickFirst 'lib/x86_64/libc++_shared.so'
+ pickFirst 'lib/x86/libc++_shared.so'
+ }
+}
\ No newline at end of file
diff --git a/packages/flutter/platforms/ios/Podfile b/packages/flutter/platforms/ios/Podfile
new file mode 100644
index 00000000..6123fe6c
--- /dev/null
+++ b/packages/flutter/platforms/ios/Podfile
@@ -0,0 +1,9 @@
+platform :ios, '14.0'
+
+flutter_application_path = '/Users/nstudio/Documents/github/nstudio/flutter-examples/ns_flutter'
+load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')
+install_all_flutter_pods(flutter_application_path)
+
+post_install do |installer|
+ flutter_post_install(installer) if defined?(flutter_post_install)
+end
\ No newline at end of file
diff --git a/packages/flutter/project.json b/packages/flutter/project.json
new file mode 100644
index 00000000..eadd015d
--- /dev/null
+++ b/packages/flutter/project.json
@@ -0,0 +1,65 @@
+{
+ "name": "flutter",
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
+ "projectType": "library",
+ "sourceRoot": "packages/flutter",
+ "targets": {
+ "build": {
+ "executor": "@nrwl/js:tsc",
+ "options": {
+ "outputPath": "dist/packages/flutter",
+ "tsConfig": "packages/flutter/tsconfig.json",
+ "packageJson": "packages/flutter/package.json",
+ "main": "packages/flutter/index.d.ts",
+ "assets": [
+ "packages/flutter/*.md",
+ "packages/flutter/index.d.ts",
+ "LICENSE",
+ {
+ "glob": "**/*",
+ "input": "packages/flutter/platforms/",
+ "output": "./platforms/"
+ }
+ ],
+ "dependsOn": [
+ {
+ "target": "build.all",
+ "projects": "dependencies"
+ }
+ ]
+ }
+ },
+ "build.all": {
+ "executor": "nx:run-commands",
+ "options": {
+ "commands": ["node tools/scripts/build-finish.ts flutter"],
+ "parallel": false
+ },
+ "outputs": ["{workspaceRoot}/dist/packages/flutter"],
+ "dependsOn": [
+ {
+ "target": "build.all",
+ "projects": "dependencies"
+ },
+ {
+ "target": "build",
+ "projects": "self"
+ }
+ ]
+ },
+ "focus": {
+ "executor": "nx:run-commands",
+ "options": {
+ "commands": ["nx g @nativescript/plugin-tools:focus-packages flutter"],
+ "parallel": false
+ }
+ },
+ "lint": {
+ "executor": "@nrwl/linter:eslint",
+ "options": {
+ "lintFilePatterns": ["packages/flutter/**/*.ts"]
+ }
+ }
+ },
+ "tags": []
+}
diff --git a/packages/flutter/references.d.ts b/packages/flutter/references.d.ts
new file mode 100644
index 00000000..dd1fbade
--- /dev/null
+++ b/packages/flutter/references.d.ts
@@ -0,0 +1,2 @@
+///
+///
diff --git a/packages/flutter/tsconfig.json b/packages/flutter/tsconfig.json
new file mode 100644
index 00000000..52cfe522
--- /dev/null
+++ b/packages/flutter/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "outDir": "../../dist/out-tsc",
+ "rootDir": "."
+ },
+ "exclude": ["**/*.spec.ts", "**/*.test.ts", "angular"],
+ "include": ["**/*.ts", "references.d.ts"]
+}
diff --git a/packages/flutter/typings/android.d.ts b/packages/flutter/typings/android.d.ts
new file mode 100644
index 00000000..15a38cd4
--- /dev/null
+++ b/packages/flutter/typings/android.d.ts
@@ -0,0 +1,5153 @@
+declare module io {
+ export module flutter {
+ export class BuildConfig {
+ public static class: java.lang.Class;
+ public static DEBUG: boolean;
+ public static PROFILE: boolean;
+ public static RELEASE: boolean;
+ public static JIT_RELEASE: boolean;
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export class FlutterInjector {
+ public static class: java.lang.Class;
+ public executorService(): java.util.concurrent.ExecutorService;
+ public static instance(): io.flutter.FlutterInjector;
+ public flutterLoader(): io.flutter.embedding.engine.loader.FlutterLoader;
+ public deferredComponentManager(): io.flutter.embedding.engine.deferredcomponents.DeferredComponentManager;
+ public static setInstance(param0: io.flutter.FlutterInjector): void;
+ public static reset(): void;
+ public getFlutterJNIFactory(): io.flutter.embedding.engine.FlutterJNI.Factory;
+ }
+ export module FlutterInjector {
+ export class Builder {
+ public static class: java.lang.Class;
+ public setFlutterLoader(param0: io.flutter.embedding.engine.loader.FlutterLoader): io.flutter.FlutterInjector.Builder;
+ public setFlutterJNIFactory(param0: io.flutter.embedding.engine.FlutterJNI.Factory): io.flutter.FlutterInjector.Builder;
+ public setExecutorService(param0: java.util.concurrent.ExecutorService): io.flutter.FlutterInjector.Builder;
+ public setDeferredComponentManager(param0: io.flutter.embedding.engine.deferredcomponents.DeferredComponentManager): io.flutter.FlutterInjector.Builder;
+ public build(): io.flutter.FlutterInjector;
+ public constructor();
+ }
+ export module Builder {
+ export class NamedThreadFactory {
+ public static class: java.lang.Class;
+ public newThread(param0: java.lang.Runnable): java.lang.Thread;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export class Log {
+ public static class: java.lang.Class;
+ public static ASSERT: number;
+ public static DEBUG: number;
+ public static ERROR: number;
+ public static INFO: number;
+ public static VERBOSE: number;
+ public static WARN: number;
+ public static v(param0: string, param1: string): void;
+ public static w(param0: string, param1: string): void;
+ public static d(param0: string, param1: string, param2: java.lang.Throwable): void;
+ public static i(param0: string, param1: string): void;
+ public constructor();
+ public static wtf(param0: string, param1: string, param2: java.lang.Throwable): void;
+ public static i(param0: string, param1: string, param2: java.lang.Throwable): void;
+ public static w(param0: string, param1: string, param2: java.lang.Throwable): void;
+ public static println(param0: number, param1: string, param2: string): void;
+ public static wtf(param0: string, param1: string): void;
+ public static getStackTraceString(param0: java.lang.Throwable): string;
+ public static e(param0: string, param1: string, param2: java.lang.Throwable): void;
+ public static e(param0: string, param1: string): void;
+ public static setLogLevel(param0: number): void;
+ public static v(param0: string, param1: string, param2: java.lang.Throwable): void;
+ public static d(param0: string, param1: string): void;
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module app {
+ export class FlutterActivity implements io.flutter.view.FlutterView.Provider, io.flutter.plugin.common.PluginRegistry, io.flutter.app.FlutterActivityDelegate.ViewFactory {
+ public static class: java.lang.Class;
+ /** @deprecated */
+ public valuePublishedByPlugin(param0: string): any;
+ /** @deprecated */
+ public registrarFor(param0: string): io.flutter.plugin.common.PluginRegistry.Registrar;
+ public onBackPressed(): void;
+ public onPause(): void;
+ public valuePublishedByPlugin(param0: string): any;
+ public constructor();
+ public createFlutterNativeView(): io.flutter.view.FlutterNativeView;
+ /** @deprecated */
+ public hasPlugin(param0: string): boolean;
+ public onStop(): void;
+ public registrarFor(param0: string): io.flutter.plugin.common.PluginRegistry.Registrar;
+ public onTrimMemory(param0: number): void;
+ public onConfigurationChanged(param0: globalAndroid.content.res.Configuration): void;
+ public hasPlugin(param0: string): boolean;
+ public onResume(): void;
+ public onLowMemory(): void;
+ public onUserLeaveHint(): void;
+ public createFlutterView(param0: globalAndroid.content.Context): io.flutter.view.FlutterView;
+ public retainFlutterNativeView(): boolean;
+ public onActivityResult(param0: number, param1: number, param2: globalAndroid.content.Intent): void;
+ public onCreate(param0: globalAndroid.os.Bundle): void;
+ public getFlutterView(): io.flutter.view.FlutterView;
+ public onStart(): void;
+ public onPostResume(): void;
+ public onRequestPermissionsResult(param0: number, param1: androidNative.Array, param2: androidNative.Array): void;
+ public onNewIntent(param0: globalAndroid.content.Intent): void;
+ public onDestroy(): void;
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module app {
+ export class FlutterActivityDelegate implements io.flutter.app.FlutterActivityEvents, io.flutter.view.FlutterView.Provider, io.flutter.plugin.common.PluginRegistry {
+ public static class: java.lang.Class;
+ public onActivityResult(param0: number, param1: number, param2: globalAndroid.content.Intent): boolean;
+ /** @deprecated */
+ public valuePublishedByPlugin(param0: string): any;
+ /** @deprecated */
+ public registrarFor(param0: string): io.flutter.plugin.common.PluginRegistry.Registrar;
+ public onBackPressed(): boolean;
+ public onResume(): void;
+ public onLowMemory(): void;
+ public onPause(): void;
+ public onUserLeaveHint(): void;
+ public onRequestPermissionsResult(param0: number, param1: androidNative.Array, param2: androidNative.Array): boolean;
+ public valuePublishedByPlugin(param0: string): any;
+ public onCreate(param0: globalAndroid.os.Bundle): void;
+ /** @deprecated */
+ public hasPlugin(param0: string): boolean;
+ public getFlutterView(): io.flutter.view.FlutterView;
+ public onStart(): void;
+ public onPostResume(): void;
+ public constructor(param0: globalAndroid.app.Activity, param1: io.flutter.app.FlutterActivityDelegate.ViewFactory);
+ public onNewIntent(param0: globalAndroid.content.Intent): void;
+ public onStop(): void;
+ public onDestroy(): void;
+ public registrarFor(param0: string): io.flutter.plugin.common.PluginRegistry.Registrar;
+ public onTrimMemory(param0: number): void;
+ public onConfigurationChanged(param0: globalAndroid.content.res.Configuration): void;
+ public hasPlugin(param0: string): boolean;
+ }
+ export module FlutterActivityDelegate {
+ export class ViewFactory {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.app.FlutterActivityDelegate$ViewFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { createFlutterView(param0: globalAndroid.content.Context): io.flutter.view.FlutterView; createFlutterNativeView(): io.flutter.view.FlutterNativeView; retainFlutterNativeView(): boolean });
+ public constructor();
+ public retainFlutterNativeView(): boolean;
+ public createFlutterView(param0: globalAndroid.content.Context): io.flutter.view.FlutterView;
+ public createFlutterNativeView(): io.flutter.view.FlutterNativeView;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module app {
+ export class FlutterActivityEvents implements io.flutter.plugin.common.PluginRegistry.ActivityResultListener, io.flutter.plugin.common.PluginRegistry.RequestPermissionsResultListener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.app.FlutterActivityEvents interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onCreate(param0: globalAndroid.os.Bundle): void; onNewIntent(param0: globalAndroid.content.Intent): void; onPause(): void; onStart(): void; onResume(): void; onPostResume(): void; onDestroy(): void; onStop(): void; onBackPressed(): boolean; onUserLeaveHint(): void; onActivityResult(param0: number, param1: number, param2: globalAndroid.content.Intent): boolean; onRequestPermissionsResult(param0: number, param1: androidNative.Array, param2: androidNative.Array): boolean });
+ public constructor();
+ public onActivityResult(param0: number, param1: number, param2: globalAndroid.content.Intent): boolean;
+ public onBackPressed(): boolean;
+ public onCreate(param0: globalAndroid.os.Bundle): void;
+ public onResume(): void;
+ public onStart(): void;
+ public onPostResume(): void;
+ public onNewIntent(param0: globalAndroid.content.Intent): void;
+ public onPause(): void;
+ public onUserLeaveHint(): void;
+ public onStop(): void;
+ public onRequestPermissionsResult(param0: number, param1: androidNative.Array, param2: androidNative.Array): boolean;
+ public onDestroy(): void;
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module app {
+ export class FlutterApplication {
+ public static class: java.lang.Class;
+ public setCurrentActivity(param0: globalAndroid.app.Activity): void;
+ public onCreate(): void;
+ public getCurrentActivity(): globalAndroid.app.Activity;
+ public constructor();
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module app {
+ export class FlutterFragmentActivity implements io.flutter.view.FlutterView.Provider, io.flutter.plugin.common.PluginRegistry, io.flutter.app.FlutterActivityDelegate.ViewFactory {
+ public static class: java.lang.Class;
+ /** @deprecated */
+ public valuePublishedByPlugin(param0: string): any;
+ /** @deprecated */
+ public registrarFor(param0: string): io.flutter.plugin.common.PluginRegistry.Registrar;
+ public onBackPressed(): void;
+ public onPause(): void;
+ public valuePublishedByPlugin(param0: string): any;
+ public constructor();
+ public createFlutterNativeView(): io.flutter.view.FlutterNativeView;
+ /** @deprecated */
+ public hasPlugin(param0: string): boolean;
+ public onStop(): void;
+ public registrarFor(param0: string): io.flutter.plugin.common.PluginRegistry.Registrar;
+ public onTrimMemory(param0: number): void;
+ public onConfigurationChanged(param0: globalAndroid.content.res.Configuration): void;
+ public hasPlugin(param0: string): boolean;
+ public onLowMemory(): void;
+ public onUserLeaveHint(): void;
+ public createFlutterView(param0: globalAndroid.content.Context): io.flutter.view.FlutterView;
+ public retainFlutterNativeView(): boolean;
+ public onActivityResult(param0: number, param1: number, param2: globalAndroid.content.Intent): void;
+ public onCreate(param0: globalAndroid.os.Bundle): void;
+ public getFlutterView(): io.flutter.view.FlutterView;
+ public onStart(): void;
+ public onPostResume(): void;
+ public onRequestPermissionsResult(param0: number, param1: androidNative.Array, param2: androidNative.Array): void;
+ public onNewIntent(param0: globalAndroid.content.Intent): void;
+ public onDestroy(): void;
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module app {
+ export class FlutterPlayStoreSplitApplication {
+ public static class: java.lang.Class;
+ public onCreate(): void;
+ public constructor();
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module app {
+ export class FlutterPluginRegistry implements io.flutter.plugin.common.PluginRegistry, io.flutter.plugin.common.PluginRegistry.RequestPermissionsResultListener, io.flutter.plugin.common.PluginRegistry.ActivityResultListener, io.flutter.plugin.common.PluginRegistry.NewIntentListener, io.flutter.plugin.common.PluginRegistry.UserLeaveHintListener, io.flutter.plugin.common.PluginRegistry.ViewDestroyListener {
+ public static class: java.lang.Class;
+ public onActivityResult(param0: number, param1: number, param2: globalAndroid.content.Intent): boolean;
+ /** @deprecated */
+ public valuePublishedByPlugin(param0: string): any;
+ /** @deprecated */
+ public registrarFor(param0: string): io.flutter.plugin.common.PluginRegistry.Registrar;
+ public onViewDestroy(param0: io.flutter.view.FlutterNativeView): boolean;
+ public onNewIntent(param0: globalAndroid.content.Intent): boolean;
+ public onUserLeaveHint(): void;
+ public onRequestPermissionsResult(param0: number, param1: androidNative.Array, param2: androidNative.Array): boolean;
+ public valuePublishedByPlugin(param0: string): any;
+ public destroy(): void;
+ public attach(param0: io.flutter.view.FlutterView, param1: globalAndroid.app.Activity): void;
+ public getPlatformViewsController(): io.flutter.plugin.platform.PlatformViewsController;
+ /** @deprecated */
+ public hasPlugin(param0: string): boolean;
+ public constructor(param0: io.flutter.view.FlutterNativeView, param1: globalAndroid.content.Context);
+ public onPreEngineRestart(): void;
+ public constructor(param0: io.flutter.embedding.engine.FlutterEngine, param1: globalAndroid.content.Context);
+ public registrarFor(param0: string): io.flutter.plugin.common.PluginRegistry.Registrar;
+ public hasPlugin(param0: string): boolean;
+ public detach(): void;
+ }
+ export module FlutterPluginRegistry {
+ export class FlutterRegistrar extends io.flutter.plugin.common.PluginRegistry.Registrar {
+ public static class: java.lang.Class;
+ public messenger(): io.flutter.plugin.common.BinaryMessenger;
+ public addNewIntentListener(param0: io.flutter.plugin.common.PluginRegistry.NewIntentListener): io.flutter.plugin.common.PluginRegistry.Registrar;
+ public activity(): globalAndroid.app.Activity;
+ public view(): io.flutter.view.FlutterView;
+ public addRequestPermissionsResultListener(param0: io.flutter.plugin.common.PluginRegistry.RequestPermissionsResultListener): io.flutter.plugin.common.PluginRegistry.Registrar;
+ public lookupKeyForAsset(param0: string): string;
+ public activeContext(): globalAndroid.content.Context;
+ public platformViewRegistry(): io.flutter.plugin.platform.PlatformViewRegistry;
+ public context(): globalAndroid.content.Context;
+ public textures(): io.flutter.view.TextureRegistry;
+ public lookupKeyForAsset(param0: string, param1: string): string;
+ public addActivityResultListener(param0: io.flutter.plugin.common.PluginRegistry.ActivityResultListener): io.flutter.plugin.common.PluginRegistry.Registrar;
+ public addUserLeaveHintListener(param0: io.flutter.plugin.common.PluginRegistry.UserLeaveHintListener): io.flutter.plugin.common.PluginRegistry.Registrar;
+ public addViewDestroyListener(param0: io.flutter.plugin.common.PluginRegistry.ViewDestroyListener): io.flutter.plugin.common.PluginRegistry.Registrar;
+ public publish(param0: any): io.flutter.plugin.common.PluginRegistry.Registrar;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class AndroidTouchProcessor {
+ public static class: java.lang.Class;
+ public onTouchEvent(param0: globalAndroid.view.MotionEvent, param1: globalAndroid.graphics.Matrix): boolean;
+ public onGenericMotionEvent(param0: globalAndroid.view.MotionEvent): boolean;
+ public onTouchEvent(param0: globalAndroid.view.MotionEvent): boolean;
+ public constructor(param0: io.flutter.embedding.engine.renderer.FlutterRenderer, param1: boolean);
+ }
+ export module AndroidTouchProcessor {
+ export class PointerChange {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.AndroidTouchProcessor$PointerChange interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {});
+ public constructor();
+ public static REMOVE: number;
+ public static PAN_ZOOM_END: number;
+ public static UP: number;
+ public static PAN_ZOOM_START: number;
+ public static ADD: number;
+ public static DOWN: number;
+ public static MOVE: number;
+ public static PAN_ZOOM_UPDATE: number;
+ public static CANCEL: number;
+ public static HOVER: number;
+ }
+ export class PointerDeviceKind {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.AndroidTouchProcessor$PointerDeviceKind interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {});
+ public constructor();
+ public static STYLUS: number;
+ public static TRACKPAD: number;
+ public static TOUCH: number;
+ public static UNKNOWN: number;
+ public static INVERTED_STYLUS: number;
+ public static MOUSE: number;
+ }
+ export class PointerSignalKind {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.AndroidTouchProcessor$PointerSignalKind interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {});
+ public constructor();
+ public static SCALE: number;
+ public static UNKNOWN: number;
+ public static NONE: number;
+ public static SCROLL: number;
+ public static SCROLL_INERTIA_CANCEL: number;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class DrawableSplashScreen extends io.flutter.embedding.android.SplashScreen {
+ public static class: java.lang.Class;
+ public transitionToFlutter(param0: java.lang.Runnable): void;
+ public createSplashView(param0: globalAndroid.content.Context, param1: globalAndroid.os.Bundle): globalAndroid.view.View;
+ public constructor(param0: globalAndroid.graphics.drawable.Drawable, param1: globalAndroid.widget.ImageView.ScaleType, param2: number);
+ public doesSplashViewRememberItsTransition(): boolean;
+ public saveSplashScreenState(): globalAndroid.os.Bundle;
+ public constructor(param0: globalAndroid.graphics.drawable.Drawable);
+ }
+ export module DrawableSplashScreen {
+ export class DrawableSplashScreenView {
+ public static class: java.lang.Class;
+ public constructor(param0: globalAndroid.content.Context);
+ public setSplashDrawable(param0: globalAndroid.graphics.drawable.Drawable, param1: globalAndroid.widget.ImageView.ScaleType): void;
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet, param2: number);
+ public setSplashDrawable(param0: globalAndroid.graphics.drawable.Drawable): void;
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet);
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class ExclusiveAppComponent extends java.lang.Object {
+ public static class: java.lang.Class>;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.ExclusiveAppComponent interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { detachFromFlutterEngine(): void; getAppComponent(): T });
+ public constructor();
+ public detachFromFlutterEngine(): void;
+ public getAppComponent(): T;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class FlutterActivity implements io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.Host {
+ public static class: java.lang.Class;
+ public static FLUTTER_VIEW_ID: number;
+ public delegate: io.flutter.embedding.android.FlutterActivityAndFragmentDelegate;
+ public static createDefaultIntent(param0: globalAndroid.content.Context): globalAndroid.content.Intent;
+ public getDartEntrypointArgs(): java.util.List;
+ public onCreate(param0: globalAndroid.os.Bundle): void;
+ public onDestroy(): void;
+ public getActivity(): globalAndroid.app.Activity;
+ public getFlutterEngine(): io.flutter.embedding.engine.FlutterEngine;
+ public onStart(): void;
+ public onFlutterSurfaceViewCreated(param0: io.flutter.embedding.android.FlutterSurfaceView): void;
+ public detachFromFlutterEngine(): void;
+ public onNewIntent(param0: globalAndroid.content.Intent): void;
+ public constructor();
+ public popSystemNavigator(): boolean;
+ public unregisterOnBackInvokedCallback(): void;
+ public getContext(): globalAndroid.content.Context;
+ public getRenderMode(): io.flutter.embedding.android.RenderMode;
+ public getMetaData(): globalAndroid.os.Bundle;
+ public shouldDestroyEngineWithHost(): boolean;
+ public getDartEntrypointLibraryUri(): string;
+ public release(): void;
+ public updateSystemUiOverlays(): void;
+ public onResume(): void;
+ public getDartEntrypointFunctionName(): string;
+ public onTrimMemory(param0: number): void;
+ public provideSplashScreen(): io.flutter.embedding.android.SplashScreen;
+ public onFlutterTextureViewCreated(param0: io.flutter.embedding.android.FlutterTextureView): void;
+ public onRequestPermissionsResult(param0: number, param1: androidNative.Array, param2: androidNative.Array): void;
+ public getBackgroundMode(): io.flutter.embedding.android.FlutterActivityLaunchConfigs.BackgroundMode;
+ public provideFlutterEngine(param0: globalAndroid.content.Context): io.flutter.embedding.engine.FlutterEngine;
+ public onBackPressed(): void;
+ public providePlatformPlugin(param0: globalAndroid.app.Activity, param1: io.flutter.embedding.engine.FlutterEngine): io.flutter.plugin.platform.PlatformPlugin;
+ public static withCachedEngine(param0: string): io.flutter.embedding.android.FlutterActivity.CachedEngineIntentBuilder;
+ public shouldRestoreAndSaveState(): boolean;
+ public registerOnBackInvokedCallback(): void;
+ public onActivityResult(param0: number, param1: number, param2: globalAndroid.content.Intent): void;
+ public getCachedEngineId(): string;
+ public shouldHandleDeeplinking(): boolean;
+ public getFlutterShellArgs(): io.flutter.embedding.engine.FlutterShellArgs;
+ public onPostResume(): void;
+ public onSaveInstanceState(param0: globalAndroid.os.Bundle): void;
+ public onFlutterUiDisplayed(): void;
+ public configureFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ public cleanUpFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ public getLifecycle(): androidx.lifecycle.Lifecycle;
+ public shouldAttachEngineToActivity(): boolean;
+ public onFlutterUiNoLongerDisplayed(): void;
+ public getInitialRoute(): string;
+ public static withNewEngine(): io.flutter.embedding.android.FlutterActivity.NewEngineIntentBuilder;
+ public onPause(): void;
+ public getAppBundlePath(): string;
+ public getTransparencyMode(): io.flutter.embedding.android.TransparencyMode;
+ public onUserLeaveHint(): void;
+ public onStop(): void;
+ public getExclusiveAppComponent(): io.flutter.embedding.android.ExclusiveAppComponent;
+ public shouldDispatchAppLifecycleState(): boolean;
+ }
+ export module FlutterActivity {
+ export class CachedEngineIntentBuilder {
+ public static class: java.lang.Class;
+ public constructor(param0: java.lang.Class, param1: string);
+ public backgroundMode(param0: io.flutter.embedding.android.FlutterActivityLaunchConfigs.BackgroundMode): io.flutter.embedding.android.FlutterActivity.CachedEngineIntentBuilder;
+ public build(param0: globalAndroid.content.Context): globalAndroid.content.Intent;
+ public destroyEngineWithActivity(param0: boolean): io.flutter.embedding.android.FlutterActivity.CachedEngineIntentBuilder;
+ }
+ export class NewEngineIntentBuilder {
+ public static class: java.lang.Class;
+ public backgroundMode(param0: io.flutter.embedding.android.FlutterActivityLaunchConfigs.BackgroundMode): io.flutter.embedding.android.FlutterActivity.NewEngineIntentBuilder;
+ public constructor(param0: java.lang.Class);
+ public initialRoute(param0: string): io.flutter.embedding.android.FlutterActivity.NewEngineIntentBuilder;
+ public build(param0: globalAndroid.content.Context): globalAndroid.content.Intent;
+ public dartEntrypointArgs(param0: java.util.List): io.flutter.embedding.android.FlutterActivity.NewEngineIntentBuilder;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class FlutterActivityAndFragmentDelegate extends io.flutter.embedding.android.ExclusiveAppComponent {
+ public static class: java.lang.Class;
+ public getAppComponent(): globalAndroid.app.Activity;
+ public detachFromFlutterEngine(): void;
+ public getAppComponent(): any;
+ }
+ export module FlutterActivityAndFragmentDelegate {
+ export class DelegateFactory {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$DelegateFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { createDelegate(param0: io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.Host): io.flutter.embedding.android.FlutterActivityAndFragmentDelegate });
+ public constructor();
+ public createDelegate(param0: io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.Host): io.flutter.embedding.android.FlutterActivityAndFragmentDelegate;
+ }
+ export class Host implements io.flutter.embedding.android.SplashScreenProvider, io.flutter.embedding.android.FlutterEngineProvider, io.flutter.embedding.android.FlutterEngineConfigurator, io.flutter.plugin.platform.PlatformPlugin.PlatformPluginDelegate {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.FlutterActivityAndFragmentDelegate$Host interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {
+ getContext(): globalAndroid.content.Context;
+ shouldHandleDeeplinking(): boolean;
+ getActivity(): globalAndroid.app.Activity;
+ getLifecycle(): androidx.lifecycle.Lifecycle;
+ getFlutterShellArgs(): io.flutter.embedding.engine.FlutterShellArgs;
+ getCachedEngineId(): string;
+ shouldDestroyEngineWithHost(): boolean;
+ detachFromFlutterEngine(): void;
+ getDartEntrypointFunctionName(): string;
+ getDartEntrypointLibraryUri(): string;
+ getDartEntrypointArgs(): java.util.List;
+ getAppBundlePath(): string;
+ getInitialRoute(): string;
+ getRenderMode(): io.flutter.embedding.android.RenderMode;
+ getTransparencyMode(): io.flutter.embedding.android.TransparencyMode;
+ getExclusiveAppComponent(): io.flutter.embedding.android.ExclusiveAppComponent;
+ provideSplashScreen(): io.flutter.embedding.android.SplashScreen;
+ provideFlutterEngine(param0: globalAndroid.content.Context): io.flutter.embedding.engine.FlutterEngine;
+ providePlatformPlugin(param0: globalAndroid.app.Activity, param1: io.flutter.embedding.engine.FlutterEngine): io.flutter.plugin.platform.PlatformPlugin;
+ configureFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ cleanUpFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ shouldAttachEngineToActivity(): boolean;
+ onFlutterSurfaceViewCreated(param0: io.flutter.embedding.android.FlutterSurfaceView): void;
+ onFlutterTextureViewCreated(param0: io.flutter.embedding.android.FlutterTextureView): void;
+ onFlutterUiDisplayed(): void;
+ onFlutterUiNoLongerDisplayed(): void;
+ shouldRestoreAndSaveState(): boolean;
+ updateSystemUiOverlays(): void;
+ shouldDispatchAppLifecycleState(): boolean;
+ provideSplashScreen(): io.flutter.embedding.android.SplashScreen;
+ provideFlutterEngine(param0: globalAndroid.content.Context): io.flutter.embedding.engine.FlutterEngine;
+ configureFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ cleanUpFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ popSystemNavigator(): boolean;
+ });
+ public constructor();
+ public getFlutterShellArgs(): io.flutter.embedding.engine.FlutterShellArgs;
+ public onFlutterSurfaceViewCreated(param0: io.flutter.embedding.android.FlutterSurfaceView): void;
+ public detachFromFlutterEngine(): void;
+ public getAppBundlePath(): string;
+ public getCachedEngineId(): string;
+ public shouldRestoreAndSaveState(): boolean;
+ public shouldHandleDeeplinking(): boolean;
+ public shouldDestroyEngineWithHost(): boolean;
+ public getDartEntrypointLibraryUri(): string;
+ public provideFlutterEngine(param0: globalAndroid.content.Context): io.flutter.embedding.engine.FlutterEngine;
+ public getDartEntrypointFunctionName(): string;
+ public provideSplashScreen(): io.flutter.embedding.android.SplashScreen;
+ public getActivity(): globalAndroid.app.Activity;
+ public configureFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ public onFlutterTextureViewCreated(param0: io.flutter.embedding.android.FlutterTextureView): void;
+ public getRenderMode(): io.flutter.embedding.android.RenderMode;
+ public updateSystemUiOverlays(): void;
+ public getContext(): globalAndroid.content.Context;
+ public providePlatformPlugin(param0: globalAndroid.app.Activity, param1: io.flutter.embedding.engine.FlutterEngine): io.flutter.plugin.platform.PlatformPlugin;
+ public getDartEntrypointArgs(): java.util.List;
+ public shouldAttachEngineToActivity(): boolean;
+ public getTransparencyMode(): io.flutter.embedding.android.TransparencyMode;
+ public cleanUpFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ public getInitialRoute(): string;
+ public onFlutterUiNoLongerDisplayed(): void;
+ public getExclusiveAppComponent(): io.flutter.embedding.android.ExclusiveAppComponent;
+ public onFlutterUiDisplayed(): void;
+ public getLifecycle(): androidx.lifecycle.Lifecycle;
+ public shouldDispatchAppLifecycleState(): boolean;
+ public popSystemNavigator(): boolean;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class FlutterActivityLaunchConfigs {
+ public static class: java.lang.Class;
+ }
+ export module FlutterActivityLaunchConfigs {
+ export class BackgroundMode {
+ public static class: java.lang.Class;
+ public static opaque: io.flutter.embedding.android.FlutterActivityLaunchConfigs.BackgroundMode;
+ public static transparent: io.flutter.embedding.android.FlutterActivityLaunchConfigs.BackgroundMode;
+ public static values(): androidNative.Array;
+ public static valueOf(param0: string): io.flutter.embedding.android.FlutterActivityLaunchConfigs.BackgroundMode;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class FlutterEngineConfigurator {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.FlutterEngineConfigurator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { configureFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void; cleanUpFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void });
+ public constructor();
+ public configureFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ public cleanUpFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class FlutterEngineProvider {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.FlutterEngineProvider interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { provideFlutterEngine(param0: globalAndroid.content.Context): io.flutter.embedding.engine.FlutterEngine });
+ public constructor();
+ public provideFlutterEngine(param0: globalAndroid.content.Context): io.flutter.embedding.engine.FlutterEngine;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class FlutterFragment implements io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.Host, io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.DelegateFactory {
+ public static class: java.lang.Class;
+ public static FLUTTER_VIEW_ID: number;
+ public static ARG_DART_ENTRYPOINT: string;
+ public static ARG_DART_ENTRYPOINT_URI: string;
+ public static ARG_DART_ENTRYPOINT_ARGS: string;
+ public static ARG_INITIAL_ROUTE: string;
+ public static ARG_HANDLE_DEEPLINKING: string;
+ public static ARG_APP_BUNDLE_PATH: string;
+ public static ARG_SHOULD_DELAY_FIRST_ANDROID_VIEW_DRAW: string;
+ public static ARG_FLUTTER_INITIALIZATION_ARGS: string;
+ public static ARG_FLUTTERVIEW_RENDER_MODE: string;
+ public static ARG_FLUTTERVIEW_TRANSPARENCY_MODE: string;
+ public static ARG_SHOULD_ATTACH_ENGINE_TO_ACTIVITY: string;
+ public static ARG_CACHED_ENGINE_ID: string;
+ public static ARG_DESTROY_ENGINE_WITH_FRAGMENT: string;
+ public static ARG_ENABLE_STATE_RESTORATION: string;
+ public static ARG_SHOULD_AUTOMATICALLY_HANDLE_ON_BACK_PRESSED: string;
+ public getDartEntrypointArgs(): java.util.List;
+ public onCreate(param0: globalAndroid.os.Bundle): void;
+ public onCreateView(param0: globalAndroid.view.LayoutInflater, param1: globalAndroid.view.ViewGroup, param2: globalAndroid.os.Bundle): globalAndroid.view.View;
+ public getActivity(): globalAndroid.app.Activity;
+ public getFlutterEngine(): io.flutter.embedding.engine.FlutterEngine;
+ public onStart(): void;
+ public onFlutterSurfaceViewCreated(param0: io.flutter.embedding.android.FlutterSurfaceView): void;
+ public detachFromFlutterEngine(): void;
+ public onNewIntent(param0: globalAndroid.content.Intent): void;
+ public constructor();
+ public createDelegate(param0: io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.Host): io.flutter.embedding.android.FlutterActivityAndFragmentDelegate;
+ public popSystemNavigator(): boolean;
+ public getContext(): globalAndroid.content.Context;
+ public onAttach(param0: globalAndroid.content.Context): void;
+ public getRenderMode(): io.flutter.embedding.android.RenderMode;
+ public shouldDestroyEngineWithHost(): boolean;
+ public getDartEntrypointLibraryUri(): string;
+ public updateSystemUiOverlays(): void;
+ public onResume(): void;
+ public getDartEntrypointFunctionName(): string;
+ public onTrimMemory(param0: number): void;
+ public provideSplashScreen(): io.flutter.embedding.android.SplashScreen;
+ public onFlutterTextureViewCreated(param0: io.flutter.embedding.android.FlutterTextureView): void;
+ public onRequestPermissionsResult(param0: number, param1: androidNative.Array, param2: androidNative.Array): void;
+ public static withNewEngine(): io.flutter.embedding.android.FlutterFragment.NewEngineFragmentBuilder;
+ public provideFlutterEngine(param0: globalAndroid.content.Context): io.flutter.embedding.engine.FlutterEngine;
+ public onBackPressed(): void;
+ public providePlatformPlugin(param0: globalAndroid.app.Activity, param1: io.flutter.embedding.engine.FlutterEngine): io.flutter.plugin.platform.PlatformPlugin;
+ public shouldRestoreAndSaveState(): boolean;
+ public onActivityResult(param0: number, param1: number, param2: globalAndroid.content.Intent): void;
+ public getCachedEngineId(): string;
+ public shouldHandleDeeplinking(): boolean;
+ public getFlutterShellArgs(): io.flutter.embedding.engine.FlutterShellArgs;
+ public static withCachedEngine(param0: string): io.flutter.embedding.android.FlutterFragment.CachedEngineFragmentBuilder;
+ public onPostResume(): void;
+ public onDetach(): void;
+ public onSaveInstanceState(param0: globalAndroid.os.Bundle): void;
+ public onFlutterUiDisplayed(): void;
+ public configureFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ public cleanUpFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ public onDestroyView(): void;
+ public shouldAttachEngineToActivity(): boolean;
+ public getLifecycle(): androidx.lifecycle.Lifecycle;
+ public onFlutterUiNoLongerDisplayed(): void;
+ public static createDefault(): io.flutter.embedding.android.FlutterFragment;
+ public getInitialRoute(): string;
+ public onPause(): void;
+ public getAppBundlePath(): string;
+ public getTransparencyMode(): io.flutter.embedding.android.TransparencyMode;
+ public onUserLeaveHint(): void;
+ public onStop(): void;
+ public getExclusiveAppComponent(): io.flutter.embedding.android.ExclusiveAppComponent;
+ public shouldDispatchAppLifecycleState(): boolean;
+ }
+ export module FlutterFragment {
+ export class ActivityCallThrough {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.FlutterFragment$ActivityCallThrough interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {});
+ public constructor();
+ }
+ export class CachedEngineFragmentBuilder {
+ public static class: java.lang.Class;
+ public shouldAutomaticallyHandleOnBackPressed(param0: boolean): io.flutter.embedding.android.FlutterFragment.CachedEngineFragmentBuilder;
+ public shouldDelayFirstAndroidViewDraw(param0: boolean): io.flutter.embedding.android.FlutterFragment.CachedEngineFragmentBuilder;
+ public constructor(param0: java.lang.Class, param1: string);
+ public createArgs(): globalAndroid.os.Bundle;
+ public build(): io.flutter.embedding.android.FlutterFragment;
+ public shouldAttachEngineToActivity(param0: boolean): io.flutter.embedding.android.FlutterFragment.CachedEngineFragmentBuilder;
+ public handleDeeplinking(param0: java.lang.Boolean): io.flutter.embedding.android.FlutterFragment.CachedEngineFragmentBuilder;
+ public destroyEngineWithFragment(param0: boolean): io.flutter.embedding.android.FlutterFragment.CachedEngineFragmentBuilder;
+ public transparencyMode(param0: io.flutter.embedding.android.TransparencyMode): io.flutter.embedding.android.FlutterFragment.CachedEngineFragmentBuilder;
+ public renderMode(param0: io.flutter.embedding.android.RenderMode): io.flutter.embedding.android.FlutterFragment.CachedEngineFragmentBuilder;
+ }
+ export class NewEngineFragmentBuilder {
+ public static class: java.lang.Class;
+ public constructor();
+ public renderMode(param0: io.flutter.embedding.android.RenderMode): io.flutter.embedding.android.FlutterFragment.NewEngineFragmentBuilder;
+ public shouldAttachEngineToActivity(param0: boolean): io.flutter.embedding.android.FlutterFragment.NewEngineFragmentBuilder;
+ public flutterShellArgs(param0: io.flutter.embedding.engine.FlutterShellArgs): io.flutter.embedding.android.FlutterFragment.NewEngineFragmentBuilder;
+ public build(): io.flutter.embedding.android.FlutterFragment;
+ public transparencyMode(param0: io.flutter.embedding.android.TransparencyMode): io.flutter.embedding.android.FlutterFragment.NewEngineFragmentBuilder;
+ public dartLibraryUri(param0: string): io.flutter.embedding.android.FlutterFragment.NewEngineFragmentBuilder;
+ public shouldAutomaticallyHandleOnBackPressed(param0: boolean): io.flutter.embedding.android.FlutterFragment.NewEngineFragmentBuilder;
+ public constructor(param0: java.lang.Class);
+ public createArgs(): globalAndroid.os.Bundle;
+ public dartEntrypoint(param0: string): io.flutter.embedding.android.FlutterFragment.NewEngineFragmentBuilder;
+ public appBundlePath(param0: string): io.flutter.embedding.android.FlutterFragment.NewEngineFragmentBuilder;
+ public dartEntrypointArgs(param0: java.util.List): io.flutter.embedding.android.FlutterFragment.NewEngineFragmentBuilder;
+ public initialRoute(param0: string): io.flutter.embedding.android.FlutterFragment.NewEngineFragmentBuilder;
+ public handleDeeplinking(param0: java.lang.Boolean): io.flutter.embedding.android.FlutterFragment.NewEngineFragmentBuilder;
+ public shouldDelayFirstAndroidViewDraw(param0: boolean): io.flutter.embedding.android.FlutterFragment.NewEngineFragmentBuilder;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class FlutterFragmentActivity implements io.flutter.embedding.android.SplashScreenProvider, io.flutter.embedding.android.FlutterEngineProvider, io.flutter.embedding.android.FlutterEngineConfigurator {
+ public static class: java.lang.Class;
+ public static FRAGMENT_CONTAINER_ID: number;
+ public static createDefaultIntent(param0: globalAndroid.content.Context): globalAndroid.content.Intent;
+ public getDartEntrypointArgs(): java.util.List;
+ public onCreate(param0: globalAndroid.os.Bundle): void;
+ public onBackPressed(): void;
+ public provideRootLayout(param0: globalAndroid.content.Context): globalAndroid.widget.FrameLayout;
+ public static withCachedEngine(param0: string): io.flutter.embedding.android.FlutterFragmentActivity.CachedEngineIntentBuilder;
+ public getFlutterEngine(): io.flutter.embedding.engine.FlutterEngine;
+ public onActivityResult(param0: number, param1: number, param2: globalAndroid.content.Intent): void;
+ public shouldHandleDeeplinking(): boolean;
+ public getCachedEngineId(): string;
+ public onNewIntent(param0: globalAndroid.content.Intent): void;
+ public constructor();
+ public onPostResume(): void;
+ public configureFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ public createFlutterFragment(): io.flutter.embedding.android.FlutterFragment;
+ public cleanUpFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ public getMetaData(): globalAndroid.os.Bundle;
+ public getRenderMode(): io.flutter.embedding.android.RenderMode;
+ public shouldDestroyEngineWithHost(): boolean;
+ public getDartEntrypointLibraryUri(): string;
+ public shouldAttachEngineToActivity(): boolean;
+ public getDartEntrypointFunctionName(): string;
+ public onTrimMemory(param0: number): void;
+ public provideSplashScreen(): io.flutter.embedding.android.SplashScreen;
+ public getInitialRoute(): string;
+ public getAppBundlePath(): string;
+ public onUserLeaveHint(): void;
+ public onRequestPermissionsResult(param0: number, param1: androidNative.Array, param2: androidNative.Array): void;
+ public getBackgroundMode(): io.flutter.embedding.android.FlutterActivityLaunchConfigs.BackgroundMode;
+ public static withNewEngine(): io.flutter.embedding.android.FlutterFragmentActivity.NewEngineIntentBuilder;
+ public provideFlutterEngine(param0: globalAndroid.content.Context): io.flutter.embedding.engine.FlutterEngine;
+ }
+ export module FlutterFragmentActivity {
+ export class CachedEngineIntentBuilder {
+ public static class: java.lang.Class;
+ public constructor(param0: java.lang.Class, param1: string);
+ public build(param0: globalAndroid.content.Context): globalAndroid.content.Intent;
+ public destroyEngineWithActivity(param0: boolean): io.flutter.embedding.android.FlutterFragmentActivity.CachedEngineIntentBuilder;
+ public backgroundMode(param0: io.flutter.embedding.android.FlutterActivityLaunchConfigs.BackgroundMode): io.flutter.embedding.android.FlutterFragmentActivity.CachedEngineIntentBuilder;
+ }
+ export class NewEngineIntentBuilder {
+ public static class: java.lang.Class;
+ public constructor(param0: java.lang.Class);
+ public build(param0: globalAndroid.content.Context): globalAndroid.content.Intent;
+ public dartEntrypointArgs(param0: java.util.List): io.flutter.embedding.android.FlutterFragmentActivity.NewEngineIntentBuilder;
+ public initialRoute(param0: string): io.flutter.embedding.android.FlutterFragmentActivity.NewEngineIntentBuilder;
+ public backgroundMode(param0: io.flutter.embedding.android.FlutterActivityLaunchConfigs.BackgroundMode): io.flutter.embedding.android.FlutterFragmentActivity.NewEngineIntentBuilder;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class FlutterImageView implements io.flutter.embedding.engine.renderer.RenderSurface {
+ public static class: java.lang.Class;
+ public onDraw(param0: globalAndroid.graphics.Canvas): void;
+ public resizeIfNeeded(param0: number, param1: number): void;
+ public constructor(param0: globalAndroid.content.Context, param1: number, param2: number, param3: io.flutter.embedding.android.FlutterImageView.SurfaceKind);
+ public getSurface(): globalAndroid.view.Surface;
+ public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
+ public constructor(param0: globalAndroid.content.Context);
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet);
+ public getImageReader(): globalAndroid.media.ImageReader;
+ public pause(): void;
+ public closeImageReader(): void;
+ public getAttachedRenderer(): io.flutter.embedding.engine.renderer.FlutterRenderer;
+ public attachToRenderer(param0: io.flutter.embedding.engine.renderer.FlutterRenderer): void;
+ public detachFromRenderer(): void;
+ public acquireLatestImage(): boolean;
+ }
+ export module FlutterImageView {
+ export class SurfaceKind {
+ public static class: java.lang.Class;
+ public static background: io.flutter.embedding.android.FlutterImageView.SurfaceKind;
+ public static overlay: io.flutter.embedding.android.FlutterImageView.SurfaceKind;
+ public static valueOf(param0: string): io.flutter.embedding.android.FlutterImageView.SurfaceKind;
+ public static values(): androidNative.Array;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class FlutterPlayStoreSplitApplication {
+ public static class: java.lang.Class;
+ public onCreate(): void;
+ public constructor();
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class FlutterSplashView {
+ public static class: java.lang.Class;
+ public constructor(param0: globalAndroid.content.Context);
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet);
+ public onRestoreInstanceState(param0: globalAndroid.os.Parcelable): void;
+ public displayFlutterViewWithSplash(param0: io.flutter.embedding.android.FlutterView, param1: io.flutter.embedding.android.SplashScreen): void;
+ public onSaveInstanceState(): globalAndroid.os.Parcelable;
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet, param2: number);
+ }
+ export module FlutterSplashView {
+ export class SavedState {
+ public static class: java.lang.Class;
+ public static CREATOR: globalAndroid.os.Parcelable.Creator;
+ public writeToParcel(param0: globalAndroid.os.Parcel, param1: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class FlutterSurfaceView implements io.flutter.embedding.engine.renderer.RenderSurface {
+ public static class: java.lang.Class;
+ public constructor(param0: globalAndroid.content.Context);
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet);
+ public constructor(param0: globalAndroid.content.Context, param1: boolean);
+ public pause(): void;
+ public getAttachedRenderer(): io.flutter.embedding.engine.renderer.FlutterRenderer;
+ public attachToRenderer(param0: io.flutter.embedding.engine.renderer.FlutterRenderer): void;
+ public detachFromRenderer(): void;
+ public gatherTransparentRegion(param0: globalAndroid.graphics.Region): boolean;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class FlutterTextureView implements io.flutter.embedding.engine.renderer.RenderSurface {
+ public static class: java.lang.Class;
+ public constructor(param0: globalAndroid.content.Context);
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet);
+ public pause(): void;
+ public setRenderSurface(param0: globalAndroid.view.Surface): void;
+ public getAttachedRenderer(): io.flutter.embedding.engine.renderer.FlutterRenderer;
+ public attachToRenderer(param0: io.flutter.embedding.engine.renderer.FlutterRenderer): void;
+ public detachFromRenderer(): void;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class FlutterView implements io.flutter.plugin.mouse.MouseCursorPlugin.MouseCursorViewDelegate, io.flutter.embedding.android.KeyboardManager.ViewDelegate {
+ public static class: java.lang.Class;
+ public onApplyWindowInsets(param0: globalAndroid.view.WindowInsets): globalAndroid.view.WindowInsets;
+ public autofill(param0: globalAndroid.util.SparseArray): void;
+ public checkInputConnectionProxy(param0: globalAndroid.view.View): boolean;
+ public getCurrentImageSurface(): io.flutter.embedding.android.FlutterImageView;
+ public onAttachedToWindow(): void;
+ public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet);
+ public revertImageView(param0: java.lang.Runnable): void;
+ public addFlutterEngineAttachmentListener(param0: io.flutter.embedding.android.FlutterView.FlutterEngineAttachmentListener): void;
+ public getAccessibilityNodeProvider(): globalAndroid.view.accessibility.AccessibilityNodeProvider;
+ public detachFromFlutterEngine(): void;
+ public onHoverEvent(param0: globalAndroid.view.MotionEvent): boolean;
+ public setPointerIcon(param0: any): void;
+ public acquireLatestImageViewFrame(): boolean;
+ public createImageView(): io.flutter.embedding.android.FlutterImageView;
+ public constructor(param0: globalAndroid.content.Context, param1: io.flutter.embedding.android.FlutterImageView);
+ public convertToImageView(): void;
+ public setWindowInfoListenerDisplayFeatures(param0: androidx.window.layout.WindowLayoutInfo): void;
+ public onDetachedFromWindow(): void;
+ public attachOverlaySurfaceToRender(param0: io.flutter.embedding.android.FlutterImageView): void;
+ /** @deprecated */
+ public constructor(param0: globalAndroid.content.Context, param1: io.flutter.embedding.android.TransparencyMode);
+ public dispatchKeyEvent(param0: globalAndroid.view.KeyEvent): boolean;
+ public isAttachedToFlutterEngine(): boolean;
+ public removeOnFirstFrameRenderedListener(param0: io.flutter.embedding.engine.renderer.FlutterUiDisplayListener): void;
+ public onConfigurationChanged(param0: globalAndroid.content.res.Configuration): void;
+ /** @deprecated */
+ public constructor(param0: globalAndroid.content.Context, param1: io.flutter.embedding.android.RenderMode);
+ public createWindowInfoRepo(): io.flutter.embedding.android.WindowInfoRepositoryCallbackAdapterWrapper;
+ public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
+ public onCreateInputConnection(param0: globalAndroid.view.inputmethod.EditorInfo): globalAndroid.view.inputmethod.InputConnection;
+ public findViewByAccessibilityIdTraversal(param0: number): globalAndroid.view.View;
+ public constructor(param0: globalAndroid.content.Context);
+ public constructor(param0: globalAndroid.content.Context, param1: io.flutter.embedding.android.FlutterTextureView);
+ public getAttachedFlutterEngine(): io.flutter.embedding.engine.FlutterEngine;
+ public constructor(param0: globalAndroid.content.Context, param1: io.flutter.embedding.android.FlutterSurfaceView);
+ public getSystemPointerIcon(param0: number): any;
+ public onProvideAutofillVirtualStructure(param0: any, param1: number): void;
+ /** @deprecated */
+ public constructor(param0: globalAndroid.content.Context, param1: io.flutter.embedding.android.RenderMode, param2: io.flutter.embedding.android.TransparencyMode);
+ public fitSystemWindows(param0: globalAndroid.graphics.Rect): boolean;
+ public onGenericMotionEvent(param0: globalAndroid.view.MotionEvent): boolean;
+ public setVisibility(param0: number): void;
+ public getBinaryMessenger(): io.flutter.plugin.common.BinaryMessenger;
+ public onTextInputKeyEvent(param0: globalAndroid.view.KeyEvent): boolean;
+ public addOnFirstFrameRenderedListener(param0: io.flutter.embedding.engine.renderer.FlutterUiDisplayListener): void;
+ public redispatch(param0: globalAndroid.view.KeyEvent): void;
+ public onTouchEvent(param0: globalAndroid.view.MotionEvent): boolean;
+ public removeFlutterEngineAttachmentListener(param0: io.flutter.embedding.android.FlutterView.FlutterEngineAttachmentListener): void;
+ public hasRenderedFirstFrame(): boolean;
+ public attachToFlutterEngine(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ }
+ export module FlutterView {
+ export class FlutterEngineAttachmentListener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.FlutterView$FlutterEngineAttachmentListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onFlutterEngineAttachedToFlutterView(param0: io.flutter.embedding.engine.FlutterEngine): void; onFlutterEngineDetachedFromFlutterView(): void });
+ public constructor();
+ public onFlutterEngineDetachedFromFlutterView(): void;
+ public onFlutterEngineAttachedToFlutterView(param0: io.flutter.embedding.engine.FlutterEngine): void;
+ }
+ export class ZeroSides {
+ public static class: java.lang.Class;
+ public static NONE: io.flutter.embedding.android.FlutterView.ZeroSides;
+ public static LEFT: io.flutter.embedding.android.FlutterView.ZeroSides;
+ public static RIGHT: io.flutter.embedding.android.FlutterView.ZeroSides;
+ public static BOTH: io.flutter.embedding.android.FlutterView.ZeroSides;
+ public static values(): androidNative.Array;
+ public static valueOf(param0: string): io.flutter.embedding.android.FlutterView.ZeroSides;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class KeyChannelResponder extends io.flutter.embedding.android.KeyboardManager.Responder {
+ public static class: java.lang.Class;
+ public handleEvent(param0: globalAndroid.view.KeyEvent, param1: io.flutter.embedding.android.KeyboardManager.Responder.OnKeyEventHandledCallback): void;
+ public constructor(param0: io.flutter.embedding.engine.systemchannels.KeyEventChannel);
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class KeyData {
+ public static class: java.lang.Class;
+ public static CHANNEL: string;
+ public constructor();
+ public constructor(param0: java.nio.ByteBuffer);
+ }
+ export module KeyData {
+ export class Type {
+ public static class: java.lang.Class;
+ public static kDown: io.flutter.embedding.android.KeyData.Type;
+ public static kUp: io.flutter.embedding.android.KeyData.Type;
+ public static kRepeat: io.flutter.embedding.android.KeyData.Type;
+ public static valueOf(param0: string): io.flutter.embedding.android.KeyData.Type;
+ public static values(): androidNative.Array;
+ public getValue(): number;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class KeyEmbedderResponder extends io.flutter.embedding.android.KeyboardManager.Responder {
+ public static class: java.lang.Class;
+ public handleEvent(param0: globalAndroid.view.KeyEvent, param1: io.flutter.embedding.android.KeyboardManager.Responder.OnKeyEventHandledCallback): void;
+ public constructor(param0: io.flutter.plugin.common.BinaryMessenger);
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class KeyboardManager extends io.flutter.plugin.editing.InputConnectionAdaptor.KeyboardDelegate {
+ public static class: java.lang.Class;
+ public responders: androidNative.Array;
+ public constructor(param0: io.flutter.embedding.android.KeyboardManager.ViewDelegate);
+ public destroy(): void;
+ public handleEvent(param0: globalAndroid.view.KeyEvent): boolean;
+ }
+ export module KeyboardManager {
+ export class CharacterCombiner {
+ public static class: java.lang.Class;
+ public constructor();
+ }
+ export class PerEventCallbackBuilder {
+ public static class: java.lang.Class;
+ public buildCallback(): io.flutter.embedding.android.KeyboardManager.Responder.OnKeyEventHandledCallback;
+ }
+ export module PerEventCallbackBuilder {
+ export class Callback extends io.flutter.embedding.android.KeyboardManager.Responder.OnKeyEventHandledCallback {
+ public static class: java.lang.Class;
+ public onKeyEventHandled(param0: boolean): void;
+ }
+ }
+ export class Responder {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.KeyboardManager$Responder interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { handleEvent(param0: globalAndroid.view.KeyEvent, param1: io.flutter.embedding.android.KeyboardManager.Responder.OnKeyEventHandledCallback): void });
+ public constructor();
+ public handleEvent(param0: globalAndroid.view.KeyEvent, param1: io.flutter.embedding.android.KeyboardManager.Responder.OnKeyEventHandledCallback): void;
+ }
+ export module Responder {
+ export class OnKeyEventHandledCallback {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.KeyboardManager$Responder$OnKeyEventHandledCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onKeyEventHandled(param0: boolean): void });
+ public constructor();
+ public onKeyEventHandled(param0: boolean): void;
+ }
+ }
+ export class ViewDelegate {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.KeyboardManager$ViewDelegate interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { getBinaryMessenger(): io.flutter.plugin.common.BinaryMessenger; onTextInputKeyEvent(param0: globalAndroid.view.KeyEvent): boolean; redispatch(param0: globalAndroid.view.KeyEvent): void });
+ public constructor();
+ public redispatch(param0: globalAndroid.view.KeyEvent): void;
+ public onTextInputKeyEvent(param0: globalAndroid.view.KeyEvent): boolean;
+ public getBinaryMessenger(): io.flutter.plugin.common.BinaryMessenger;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class KeyboardMap {
+ public static class: java.lang.Class;
+ public static scanCodeToPhysical: java.util.HashMap;
+ public static keyCodeToLogical: java.util.HashMap;
+ public static pressingGoals: androidNative.Array;
+ public static kValueMask: number;
+ public static kUnicodePlane: number;
+ public static kAndroidPlane: number;
+ public static getTogglingGoals(): androidNative.Array;
+ public constructor();
+ }
+ export module KeyboardMap {
+ export class KeyPair {
+ public static class: java.lang.Class;
+ public physicalKey: number;
+ public logicalKey: number;
+ public constructor(param0: number, param1: number);
+ }
+ export class PressingGoal {
+ public static class: java.lang.Class;
+ public mask: number;
+ public keys: androidNative.Array;
+ public constructor(param0: number, param1: androidNative.Array);
+ }
+ export class TogglingGoal {
+ public static class: java.lang.Class;
+ public mask: number;
+ public physicalKey: number;
+ public logicalKey: number;
+ public enabled: boolean;
+ public constructor(param0: number, param1: number, param2: number);
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class MotionEventTracker {
+ public static class: java.lang.Class;
+ public static getInstance(): io.flutter.embedding.android.MotionEventTracker;
+ public track(param0: globalAndroid.view.MotionEvent): io.flutter.embedding.android.MotionEventTracker.MotionEventId;
+ public pop(param0: io.flutter.embedding.android.MotionEventTracker.MotionEventId): globalAndroid.view.MotionEvent;
+ }
+ export module MotionEventTracker {
+ export class MotionEventId {
+ public static class: java.lang.Class;
+ public static from(param0: number): io.flutter.embedding.android.MotionEventTracker.MotionEventId;
+ public static createUnique(): io.flutter.embedding.android.MotionEventTracker.MotionEventId;
+ public getId(): number;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class RenderMode {
+ public static class: java.lang.Class;
+ public static surface: io.flutter.embedding.android.RenderMode;
+ public static texture: io.flutter.embedding.android.RenderMode;
+ public static image: io.flutter.embedding.android.RenderMode;
+ public static valueOf(param0: string): io.flutter.embedding.android.RenderMode;
+ public static values(): androidNative.Array;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class SplashScreen {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.SplashScreen interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { createSplashView(param0: globalAndroid.content.Context, param1: globalAndroid.os.Bundle): globalAndroid.view.View; transitionToFlutter(param0: java.lang.Runnable): void; doesSplashViewRememberItsTransition(): boolean; saveSplashScreenState(): globalAndroid.os.Bundle });
+ public constructor();
+ public transitionToFlutter(param0: java.lang.Runnable): void;
+ public createSplashView(param0: globalAndroid.content.Context, param1: globalAndroid.os.Bundle): globalAndroid.view.View;
+ public doesSplashViewRememberItsTransition(): boolean;
+ public saveSplashScreenState(): globalAndroid.os.Bundle;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class SplashScreenProvider {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.android.SplashScreenProvider interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { provideSplashScreen(): io.flutter.embedding.android.SplashScreen });
+ public constructor();
+ public provideSplashScreen(): io.flutter.embedding.android.SplashScreen;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class TransparencyMode {
+ public static class: java.lang.Class;
+ public static opaque: io.flutter.embedding.android.TransparencyMode;
+ public static transparent: io.flutter.embedding.android.TransparencyMode;
+ public static values(): androidNative.Array;
+ public static valueOf(param0: string): io.flutter.embedding.android.TransparencyMode;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module android {
+ export class WindowInfoRepositoryCallbackAdapterWrapper {
+ public static class: java.lang.Class;
+ public addWindowLayoutInfoListener(param0: globalAndroid.app.Activity, param1: java.util.concurrent.Executor, param2: androidx.core.util.Consumer): void;
+ public constructor(param0: androidx.window.java.layout.WindowInfoTrackerCallbackAdapter);
+ public removeWindowLayoutInfoListener(param0: androidx.core.util.Consumer): void;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export class FlutterEngine {
+ public static class: java.lang.Class;
+ public removeEngineLifecycleListener(param0: io.flutter.embedding.engine.FlutterEngine.EngineLifecycleListener): void;
+ public constructor(param0: globalAndroid.content.Context, param1: io.flutter.embedding.engine.loader.FlutterLoader, param2: io.flutter.embedding.engine.FlutterJNI, param3: androidNative.Array, param4: boolean);
+ public getPlatformChannel(): io.flutter.embedding.engine.systemchannels.PlatformChannel;
+ public getSpellCheckChannel(): io.flutter.embedding.engine.systemchannels.SpellCheckChannel;
+ public constructor(param0: globalAndroid.content.Context, param1: io.flutter.embedding.engine.loader.FlutterLoader, param2: io.flutter.embedding.engine.FlutterJNI, param3: io.flutter.plugin.platform.PlatformViewsController, param4: androidNative.Array, param5: boolean);
+ public getBroadcastReceiverControlSurface(): io.flutter.embedding.engine.plugins.broadcastreceiver.BroadcastReceiverControlSurface;
+ public getMouseCursorChannel(): io.flutter.embedding.engine.systemchannels.MouseCursorChannel;
+ public getSystemChannel(): io.flutter.embedding.engine.systemchannels.SystemChannel;
+ public constructor(param0: globalAndroid.content.Context, param1: androidNative.Array);
+ public destroy(): void;
+ public getActivityControlSurface(): io.flutter.embedding.engine.plugins.activity.ActivityControlSurface;
+ public getAccessibilityChannel(): io.flutter.embedding.engine.systemchannels.AccessibilityChannel;
+ public getLocalizationChannel(): io.flutter.embedding.engine.systemchannels.LocalizationChannel;
+ public getPlatformViewsController(): io.flutter.plugin.platform.PlatformViewsController;
+ public getRestorationChannel(): io.flutter.embedding.engine.systemchannels.RestorationChannel;
+ public constructor(param0: globalAndroid.content.Context, param1: androidNative.Array, param2: boolean, param3: boolean);
+ public constructor(param0: globalAndroid.content.Context, param1: io.flutter.embedding.engine.loader.FlutterLoader, param2: io.flutter.embedding.engine.FlutterJNI);
+ public getDartExecutor(): io.flutter.embedding.engine.dart.DartExecutor;
+ public getSettingsChannel(): io.flutter.embedding.engine.systemchannels.SettingsChannel;
+ public constructor(param0: globalAndroid.content.Context, param1: io.flutter.embedding.engine.loader.FlutterLoader, param2: io.flutter.embedding.engine.FlutterJNI, param3: io.flutter.plugin.platform.PlatformViewsController, param4: androidNative.Array, param5: boolean, param6: boolean);
+ public addEngineLifecycleListener(param0: io.flutter.embedding.engine.FlutterEngine.EngineLifecycleListener): void;
+ public constructor(param0: globalAndroid.content.Context, param1: androidNative.Array, param2: boolean);
+ public getLifecycleChannel(): io.flutter.embedding.engine.systemchannels.LifecycleChannel;
+ public constructor(param0: globalAndroid.content.Context);
+ public getDeferredComponentChannel(): io.flutter.embedding.engine.systemchannels.DeferredComponentChannel;
+ public getContentProviderControlSurface(): io.flutter.embedding.engine.plugins.contentprovider.ContentProviderControlSurface;
+ public getRenderer(): io.flutter.embedding.engine.renderer.FlutterRenderer;
+ public getLocalizationPlugin(): io.flutter.plugin.localization.LocalizationPlugin;
+ public getPlugins(): io.flutter.embedding.engine.plugins.PluginRegistry;
+ public getNavigationChannel(): io.flutter.embedding.engine.systemchannels.NavigationChannel;
+ public getTextInputChannel(): io.flutter.embedding.engine.systemchannels.TextInputChannel;
+ public getServiceControlSurface(): io.flutter.embedding.engine.plugins.service.ServiceControlSurface;
+ }
+ export module FlutterEngine {
+ export class EngineLifecycleListener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.engine.FlutterEngine$EngineLifecycleListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onPreEngineRestart(): void; onEngineWillDestroy(): void });
+ public constructor();
+ public onEngineWillDestroy(): void;
+ public onPreEngineRestart(): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export class FlutterEngineCache {
+ public static class: java.lang.Class;
+ public put(param0: string, param1: io.flutter.embedding.engine.FlutterEngine): void;
+ public get(param0: string): io.flutter.embedding.engine.FlutterEngine;
+ public remove(param0: string): void;
+ public static getInstance(): io.flutter.embedding.engine.FlutterEngineCache;
+ public clear(): void;
+ public contains(param0: string): boolean;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export class FlutterEngineConnectionRegistry implements io.flutter.embedding.engine.plugins.PluginRegistry, io.flutter.embedding.engine.plugins.activity.ActivityControlSurface, io.flutter.embedding.engine.plugins.service.ServiceControlSurface, io.flutter.embedding.engine.plugins.broadcastreceiver.BroadcastReceiverControlSurface, io.flutter.embedding.engine.plugins.contentprovider.ContentProviderControlSurface {
+ public static class: java.lang.Class;
+ public remove(param0: java.util.Set>): void;
+ public add(param0: io.flutter.embedding.engine.plugins.FlutterPlugin): void;
+ public detachFromBroadcastReceiver(): void;
+ public onMoveToForeground(): void;
+ public get(param0: java.lang.Class): io.flutter.embedding.engine.plugins.FlutterPlugin;
+ public detachFromContentProvider(): void;
+ public attachToBroadcastReceiver(param0: globalAndroid.content.BroadcastReceiver, param1: androidx.lifecycle.Lifecycle): void;
+ public destroy(): void;
+ public onNewIntent(param0: globalAndroid.content.Intent): void;
+ public onMoveToBackground(): void;
+ public detachFromService(): void;
+ public onActivityResult(param0: number, param1: number, param2: globalAndroid.content.Intent): boolean;
+ public attachToActivity(param0: io.flutter.embedding.android.ExclusiveAppComponent, param1: androidx.lifecycle.Lifecycle): void;
+ public detachFromActivity(): void;
+ public has(param0: java.lang.Class): boolean;
+ public onSaveInstanceState(param0: globalAndroid.os.Bundle): void;
+ public remove(param0: java.lang.Class): void;
+ public add(param0: java.util.Set): void;
+ public attachToService(param0: globalAndroid.app.Service, param1: androidx.lifecycle.Lifecycle, param2: boolean): void;
+ public removeAll(): void;
+ public attachToContentProvider(param0: globalAndroid.content.ContentProvider, param1: androidx.lifecycle.Lifecycle): void;
+ public onRestoreInstanceState(param0: globalAndroid.os.Bundle): void;
+ public onUserLeaveHint(): void;
+ public detachFromActivityForConfigChanges(): void;
+ public onRequestPermissionsResult(param0: number, param1: androidNative.Array, param2: androidNative.Array): boolean;
+ }
+ export module FlutterEngineConnectionRegistry {
+ export class DefaultFlutterAssets extends io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterAssets {
+ public static class: java.lang.Class;
+ public getAssetFilePathByName(param0: string): string;
+ public getAssetFilePathByName(param0: string, param1: string): string;
+ public getAssetFilePathBySubpath(param0: string): string;
+ public getAssetFilePathBySubpath(param0: string, param1: string): string;
+ }
+ export class FlutterEngineActivityPluginBinding extends io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding {
+ public static class: java.lang.Class;
+ public getActivity(): globalAndroid.app.Activity;
+ public addActivityResultListener(param0: io.flutter.plugin.common.PluginRegistry.ActivityResultListener): void;
+ public addOnUserLeaveHintListener(param0: io.flutter.plugin.common.PluginRegistry.UserLeaveHintListener): void;
+ public addOnSaveStateListener(param0: io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding.OnSaveInstanceStateListener): void;
+ public removeRequestPermissionsResultListener(param0: io.flutter.plugin.common.PluginRegistry.RequestPermissionsResultListener): void;
+ public removeActivityResultListener(param0: io.flutter.plugin.common.PluginRegistry.ActivityResultListener): void;
+ public constructor(param0: globalAndroid.app.Activity, param1: androidx.lifecycle.Lifecycle);
+ public removeOnNewIntentListener(param0: io.flutter.plugin.common.PluginRegistry.NewIntentListener): void;
+ public getLifecycle(): any;
+ public addOnNewIntentListener(param0: io.flutter.plugin.common.PluginRegistry.NewIntentListener): void;
+ public removeOnSaveStateListener(param0: io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding.OnSaveInstanceStateListener): void;
+ public addRequestPermissionsResultListener(param0: io.flutter.plugin.common.PluginRegistry.RequestPermissionsResultListener): void;
+ public removeOnUserLeaveHintListener(param0: io.flutter.plugin.common.PluginRegistry.UserLeaveHintListener): void;
+ }
+ export class FlutterEngineBroadcastReceiverPluginBinding extends io.flutter.embedding.engine.plugins.broadcastreceiver.BroadcastReceiverPluginBinding {
+ public static class: java.lang.Class;
+ public getBroadcastReceiver(): globalAndroid.content.BroadcastReceiver;
+ }
+ export class FlutterEngineContentProviderPluginBinding extends io.flutter.embedding.engine.plugins.contentprovider.ContentProviderPluginBinding {
+ public static class: java.lang.Class;
+ public getContentProvider(): globalAndroid.content.ContentProvider;
+ }
+ export class FlutterEngineServicePluginBinding extends io.flutter.embedding.engine.plugins.service.ServicePluginBinding {
+ public static class: java.lang.Class;
+ public removeOnModeChangeListener(param0: io.flutter.embedding.engine.plugins.service.ServiceAware.OnModeChangeListener): void;
+ public addOnModeChangeListener(param0: io.flutter.embedding.engine.plugins.service.ServiceAware.OnModeChangeListener): void;
+ public getLifecycle(): any;
+ public getService(): globalAndroid.app.Service;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export class FlutterEngineGroup {
+ public static class: java.lang.Class;
+ public constructor(param0: globalAndroid.content.Context);
+ public createAndRunEngine(param0: globalAndroid.content.Context, param1: io.flutter.embedding.engine.dart.DartExecutor.DartEntrypoint): io.flutter.embedding.engine.FlutterEngine;
+ public constructor(param0: globalAndroid.content.Context, param1: androidNative.Array);
+ public createAndRunEngine(param0: io.flutter.embedding.engine.FlutterEngineGroup.Options): io.flutter.embedding.engine.FlutterEngine;
+ public createAndRunDefaultEngine(param0: globalAndroid.content.Context): io.flutter.embedding.engine.FlutterEngine;
+ public createAndRunEngine(param0: globalAndroid.content.Context, param1: io.flutter.embedding.engine.dart.DartExecutor.DartEntrypoint, param2: string): io.flutter.embedding.engine.FlutterEngine;
+ }
+ export module FlutterEngineGroup {
+ export class Options {
+ public static class: java.lang.Class;
+ public getAutomaticallyRegisterPlugins(): boolean;
+ public setDartEntrypointArgs(param0: java.util.List): io.flutter.embedding.engine.FlutterEngineGroup.Options;
+ public setInitialRoute(param0: string): io.flutter.embedding.engine.FlutterEngineGroup.Options;
+ public constructor(param0: globalAndroid.content.Context);
+ public getContext(): globalAndroid.content.Context;
+ public getDartEntrypointArgs(): java.util.List;
+ public getWaitForRestorationData(): boolean;
+ public getPlatformViewsController(): io.flutter.plugin.platform.PlatformViewsController;
+ public setWaitForRestorationData(param0: boolean): io.flutter.embedding.engine.FlutterEngineGroup.Options;
+ public getInitialRoute(): string;
+ public setDartEntrypoint(param0: io.flutter.embedding.engine.dart.DartExecutor.DartEntrypoint): io.flutter.embedding.engine.FlutterEngineGroup.Options;
+ public getDartEntrypoint(): io.flutter.embedding.engine.dart.DartExecutor.DartEntrypoint;
+ public setAutomaticallyRegisterPlugins(param0: boolean): io.flutter.embedding.engine.FlutterEngineGroup.Options;
+ public setPlatformViewsController(param0: io.flutter.plugin.platform.PlatformViewsController): io.flutter.embedding.engine.FlutterEngineGroup.Options;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export class FlutterJNI {
+ public static class: java.lang.Class;
+ public removeEngineLifecycleListener(param0: io.flutter.embedding.engine.FlutterEngine.EngineLifecycleListener): void;
+ public isCodePointVariantSelector(param0: number): boolean;
+ public detachFromNativeAndReleaseResources(): void;
+ public onEndFrame(): void;
+ public onSurfaceWindowChanged(param0: globalAndroid.view.Surface): void;
+ public destroyOverlaySurfaces(): void;
+ public constructor();
+ public setPlatformViewsController(param0: io.flutter.plugin.platform.PlatformViewsController): void;
+ public cleanupMessageData(param0: number): void;
+ public attachToNative(): void;
+ public setViewportMetrics(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: number, param11: number, param12: number, param13: number, param14: number, param15: number, param16: androidNative.Array, param17: androidNative.Array, param18: androidNative.Array): void;
+ public loadLibrary(): void;
+ public onFirstFrame(): void;
+ public updateRefreshRate(): void;
+ public dispatchEmptyPlatformMessage(param0: string, param1: number): void;
+ public setDeferredComponentManager(param0: io.flutter.embedding.engine.deferredcomponents.DeferredComponentManager): void;
+ public onDisplayPlatformView(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: io.flutter.embedding.engine.mutatorsstack.FlutterMutatorsStack): void;
+ public addIsDisplayingFlutterUiListener(param0: io.flutter.embedding.engine.renderer.FlutterUiDisplayListener): void;
+ public onSurfaceCreated(param0: globalAndroid.view.Surface): void;
+ public isCodePointEmojiModifierBase(param0: number): boolean;
+ public isCodePointRegionalIndicator(param0: number): boolean;
+ public setRefreshRateFPS(param0: number): void;
+ public registerTexture(param0: number, param1: io.flutter.embedding.engine.renderer.SurfaceTextureWrapper): void;
+ public onDisplayOverlaySurface(param0: number, param1: number, param2: number, param3: number, param4: number): void;
+ public setSemanticsEnabled(param0: boolean): void;
+ public performNativeAttach(param0: io.flutter.embedding.engine.FlutterJNI): number;
+ public setAccessibilityDelegate(param0: io.flutter.embedding.engine.FlutterJNI.AccessibilityDelegate): void;
+ public onSurfaceDestroyed(): void;
+ public spawn(param0: string, param1: string, param2: string, param3: java.util.List): io.flutter.embedding.engine.FlutterJNI;
+ public unregisterTexture(param0: number): void;
+ public isCodePointEmojiModifier(param0: number): boolean;
+ public static nativeImageHeaderCallback(param0: number, param1: number, param2: number): void;
+ public computePlatformResolvedLocale(param0: androidNative.Array): androidNative.Array;
+ public onBeginFrame(): void;
+ public isCodePointEmoji(param0: number): boolean;
+ public deferredComponentInstallFailure(param0: number, param1: string, param2: boolean): void;
+ public static getObservatoryUri(): string;
+ public setLocalizationPlugin(param0: io.flutter.plugin.localization.LocalizationPlugin): void;
+ public createOverlaySurface(): io.flutter.embedding.engine.FlutterOverlaySurface;
+ public invokePlatformMessageEmptyResponseCallback(param0: number): void;
+ public loadDartDeferredLibrary(param0: number, param1: androidNative.Array): void;
+ public removeIsDisplayingFlutterUiListener(param0: io.flutter.embedding.engine.renderer.FlutterUiDisplayListener): void;
+ public prefetchDefaultFontManager(): void;
+ public getIsSoftwareRenderingEnabled(): boolean;
+ public dispatchSemanticsAction(param0: number, param1: number, param2: java.nio.ByteBuffer, param3: number): void;
+ public dispatchPointerDataPacket(param0: java.nio.ByteBuffer, param1: number): void;
+ public setPlatformMessageHandler(param0: io.flutter.embedding.engine.dart.PlatformMessageHandler): void;
+ public notifyLowMemoryWarning(): void;
+ public onSurfaceChanged(param0: number, param1: number): void;
+ public addEngineLifecycleListener(param0: io.flutter.embedding.engine.FlutterEngine.EngineLifecycleListener): void;
+ public requestDartDeferredLibrary(param0: number): void;
+ public dispatchSemanticsAction(param0: number, param1: io.flutter.view.AccessibilityBridge.Action): void;
+ public handlePlatformMessage(param0: string, param1: java.nio.ByteBuffer, param2: number, param3: number): void;
+ public getBitmap(): globalAndroid.graphics.Bitmap;
+ public dispatchPlatformMessage(param0: string, param1: java.nio.ByteBuffer, param2: number, param3: number): void;
+ public setAsyncWaitForVsyncDelegate(param0: io.flutter.embedding.engine.FlutterJNI.AsyncWaitForVsyncDelegate): void;
+ public init(param0: globalAndroid.content.Context, param1: androidNative.Array, param2: string, param3: string, param4: string, param5: number): void;
+ /** @deprecated */
+ public static nativeLookupCallbackInformation(param0: number): io.flutter.view.FlutterCallbackInformation;
+ public runBundleAndSnapshotFromLibrary(param0: string, param1: string, param2: string, param3: globalAndroid.content.res.AssetManager, param4: java.util.List): void;
+ public markTextureFrameAvailable(param0: number): void;
+ public onVsync(param0: number, param1: number, param2: number): void;
+ public invokePlatformMessageResponseCallback(param0: number, param1: java.nio.ByteBuffer, param2: number): void;
+ public static decodeImage(param0: java.nio.ByteBuffer, param1: number): globalAndroid.graphics.Bitmap;
+ public setAccessibilityFeatures(param0: number): void;
+ public isAttached(): boolean;
+ public dispatchSemanticsAction(param0: number, param1: io.flutter.view.AccessibilityBridge.Action, param2: any): void;
+ public updateJavaAssetManager(param0: globalAndroid.content.res.AssetManager, param1: string): void;
+ }
+ export module FlutterJNI {
+ export class ioflutterembeddingengineFlutterJNIAccessibilityDelegate {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.engine.FlutterJNI$AccessibilityDelegate interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { updateCustomAccessibilityActions(param0: java.nio.ByteBuffer, param1: androidNative.Array): void; updateSemantics(param0: java.nio.ByteBuffer, param1: androidNative.Array, param2: androidNative.Array): void });
+ public constructor();
+ public updateCustomAccessibilityActions(param0: java.nio.ByteBuffer, param1: androidNative.Array): void;
+ public updateSemantics(param0: java.nio.ByteBuffer, param1: androidNative.Array, param2: androidNative.Array): void;
+ }
+ export type AccessibilityDelegate = ioflutterembeddingengineFlutterJNIAccessibilityDelegate;
+ export class AsyncWaitForVsyncDelegate {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.engine.FlutterJNI$AsyncWaitForVsyncDelegate interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { asyncWaitForVsync(param0: number): void });
+ public constructor();
+ public asyncWaitForVsync(param0: number): void;
+ }
+ export class Factory {
+ public static class: java.lang.Class;
+ public constructor();
+ public provideFlutterJNI(): io.flutter.embedding.engine.FlutterJNI;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export class FlutterOverlaySurface {
+ public static class: java.lang.Class;
+ public constructor(param0: number, param1: globalAndroid.view.Surface);
+ public getId(): number;
+ public getSurface(): globalAndroid.view.Surface;
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export class FlutterShellArgs {
+ public static class: java.lang.Class;
+ public static ARG_KEY_TRACE_STARTUP: string;
+ public static ARG_TRACE_STARTUP: string;
+ public static ARG_KEY_START_PAUSED: string;
+ public static ARG_START_PAUSED: string;
+ public static ARG_KEY_DISABLE_SERVICE_AUTH_CODES: string;
+ public static ARG_DISABLE_SERVICE_AUTH_CODES: string;
+ public static ARG_KEY_ENDLESS_TRACE_BUFFER: string;
+ public static ARG_ENDLESS_TRACE_BUFFER: string;
+ public static ARG_KEY_USE_TEST_FONTS: string;
+ public static ARG_USE_TEST_FONTS: string;
+ public static ARG_KEY_ENABLE_DART_PROFILING: string;
+ public static ARG_ENABLE_DART_PROFILING: string;
+ public static ARG_KEY_ENABLE_SOFTWARE_RENDERING: string;
+ public static ARG_ENABLE_SOFTWARE_RENDERING: string;
+ public static ARG_KEY_SKIA_DETERMINISTIC_RENDERING: string;
+ public static ARG_SKIA_DETERMINISTIC_RENDERING: string;
+ public static ARG_KEY_TRACE_SKIA: string;
+ public static ARG_TRACE_SKIA: string;
+ public static ARG_KEY_TRACE_SKIA_ALLOWLIST: string;
+ public static ARG_TRACE_SKIA_ALLOWLIST: string;
+ public static ARG_KEY_TRACE_SYSTRACE: string;
+ public static ARG_TRACE_SYSTRACE: string;
+ public static ARG_KEY_ENABLE_IMPELLER: string;
+ public static ARG_ENABLE_IMPELLER: string;
+ public static ARG_KEY_DUMP_SHADER_SKP_ON_SHADER_COMPILATION: string;
+ public static ARG_DUMP_SHADER_SKP_ON_SHADER_COMPILATION: string;
+ public static ARG_KEY_CACHE_SKSL: string;
+ public static ARG_CACHE_SKSL: string;
+ public static ARG_KEY_PURGE_PERSISTENT_CACHE: string;
+ public static ARG_PURGE_PERSISTENT_CACHE: string;
+ public static ARG_KEY_VERBOSE_LOGGING: string;
+ public static ARG_VERBOSE_LOGGING: string;
+ public static ARG_KEY_OBSERVATORY_PORT: string;
+ public static ARG_OBSERVATORY_PORT: string;
+ public static ARG_KEY_DART_FLAGS: string;
+ public static ARG_DART_FLAGS: string;
+ public static ARG_KEY_MSAA_SAMPLES: string;
+ public static ARG_MSAA_SAMPLES: string;
+ public add(param0: string): void;
+ public static fromIntent(param0: globalAndroid.content.Intent): io.flutter.embedding.engine.FlutterShellArgs;
+ public remove(param0: string): void;
+ public toArray(): androidNative.Array;
+ public constructor(param0: java.util.Set);
+ public constructor(param0: androidNative.Array);
+ public constructor(param0: java.util.List);
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module dart {
+ export class DartExecutor extends io.flutter.plugin.common.BinaryMessenger {
+ public static class: java.lang.Class;
+ public setMessageHandler(param0: string, param1: io.flutter.plugin.common.BinaryMessenger.BinaryMessageHandler): void;
+ public makeBackgroundTaskQueue(): io.flutter.plugin.common.BinaryMessenger.TaskQueue;
+ public disableBufferingIncomingMessages(): void;
+ public onDetachedFromJNI(): void;
+ public getIsolateServiceId(): string;
+ public executeDartEntrypoint(param0: io.flutter.embedding.engine.dart.DartExecutor.DartEntrypoint, param1: java.util.List): void;
+ public getBinaryMessenger(): io.flutter.plugin.common.BinaryMessenger;
+ /** @deprecated */
+ public setMessageHandler(param0: string, param1: io.flutter.plugin.common.BinaryMessenger.BinaryMessageHandler): void;
+ public isExecutingDart(): boolean;
+ /** @deprecated */
+ public makeBackgroundTaskQueue(param0: io.flutter.plugin.common.BinaryMessenger.TaskQueueOptions): io.flutter.plugin.common.BinaryMessenger.TaskQueue;
+ public send(param0: string, param1: java.nio.ByteBuffer): void;
+ public enableBufferingIncomingMessages(): void;
+ /** @deprecated */
+ public disableBufferingIncomingMessages(): void;
+ public send(param0: string, param1: java.nio.ByteBuffer, param2: io.flutter.plugin.common.BinaryMessenger.BinaryReply): void;
+ public constructor(param0: io.flutter.embedding.engine.FlutterJNI, param1: globalAndroid.content.res.AssetManager);
+ public executeDartEntrypoint(param0: io.flutter.embedding.engine.dart.DartExecutor.DartEntrypoint): void;
+ public makeBackgroundTaskQueue(param0: io.flutter.plugin.common.BinaryMessenger.TaskQueueOptions): io.flutter.plugin.common.BinaryMessenger.TaskQueue;
+ public getPendingChannelResponseCount(): number;
+ public notifyLowMemoryWarning(): void;
+ public onAttachedToJNI(): void;
+ /** @deprecated */
+ public setMessageHandler(param0: string, param1: io.flutter.plugin.common.BinaryMessenger.BinaryMessageHandler, param2: io.flutter.plugin.common.BinaryMessenger.TaskQueue): void;
+ /** @deprecated */
+ public send(param0: string, param1: java.nio.ByteBuffer): void;
+ /** @deprecated */
+ public send(param0: string, param1: java.nio.ByteBuffer, param2: io.flutter.plugin.common.BinaryMessenger.BinaryReply): void;
+ /** @deprecated */
+ public enableBufferingIncomingMessages(): void;
+ public executeDartCallback(param0: io.flutter.embedding.engine.dart.DartExecutor.DartCallback): void;
+ public setMessageHandler(param0: string, param1: io.flutter.plugin.common.BinaryMessenger.BinaryMessageHandler, param2: io.flutter.plugin.common.BinaryMessenger.TaskQueue): void;
+ public setIsolateServiceIdListener(param0: io.flutter.embedding.engine.dart.DartExecutor.IsolateServiceIdListener): void;
+ }
+ export module DartExecutor {
+ export class DartCallback {
+ public static class: java.lang.Class;
+ public androidAssetManager: globalAndroid.content.res.AssetManager;
+ public pathToBundle: string;
+ public callbackHandle: io.flutter.view.FlutterCallbackInformation;
+ public constructor(param0: globalAndroid.content.res.AssetManager, param1: string, param2: io.flutter.view.FlutterCallbackInformation);
+ public toString(): string;
+ }
+ export class DartEntrypoint {
+ public static class: java.lang.Class;
+ public pathToBundle: string;
+ public dartEntrypointLibrary: string;
+ public dartEntrypointFunctionName: string;
+ public static createDefault(): io.flutter.embedding.engine.dart.DartExecutor.DartEntrypoint;
+ public hashCode(): number;
+ public constructor(param0: string, param1: string);
+ public constructor(param0: string, param1: string, param2: string);
+ public toString(): string;
+ public equals(param0: any): boolean;
+ }
+ export class DefaultBinaryMessenger extends io.flutter.plugin.common.BinaryMessenger {
+ public static class: java.lang.Class;
+ public setMessageHandler(param0: string, param1: io.flutter.plugin.common.BinaryMessenger.BinaryMessageHandler): void;
+ public makeBackgroundTaskQueue(): io.flutter.plugin.common.BinaryMessenger.TaskQueue;
+ public send(param0: string, param1: java.nio.ByteBuffer): void;
+ public disableBufferingIncomingMessages(): void;
+ public enableBufferingIncomingMessages(): void;
+ public setMessageHandler(param0: string, param1: io.flutter.plugin.common.BinaryMessenger.BinaryMessageHandler, param2: io.flutter.plugin.common.BinaryMessenger.TaskQueue): void;
+ public makeBackgroundTaskQueue(param0: io.flutter.plugin.common.BinaryMessenger.TaskQueueOptions): io.flutter.plugin.common.BinaryMessenger.TaskQueue;
+ public send(param0: string, param1: java.nio.ByteBuffer, param2: io.flutter.plugin.common.BinaryMessenger.BinaryReply): void;
+ }
+ export class IsolateServiceIdListener {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.engine.dart.DartExecutor$IsolateServiceIdListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onIsolateServiceIdAvailable(param0: string): void });
+ public constructor();
+ public onIsolateServiceIdAvailable(param0: string): void;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module dart {
+ export class DartMessenger implements io.flutter.plugin.common.BinaryMessenger, io.flutter.embedding.engine.dart.PlatformMessageHandler {
+ public static class: java.lang.Class;
+ public setMessageHandler(param0: string, param1: io.flutter.plugin.common.BinaryMessenger.BinaryMessageHandler): void;
+ public send(param0: string, param1: java.nio.ByteBuffer): void;
+ public makeBackgroundTaskQueue(): io.flutter.plugin.common.BinaryMessenger.TaskQueue;
+ public handlePlatformMessageResponse(param0: number, param1: java.nio.ByteBuffer): void;
+ public makeBackgroundTaskQueue(param0: io.flutter.plugin.common.BinaryMessenger.TaskQueueOptions): io.flutter.plugin.common.BinaryMessenger.TaskQueue;
+ public disableBufferingIncomingMessages(): void;
+ public handleMessageFromDart(param0: string, param1: java.nio.ByteBuffer, param2: number, param3: number): void;
+ public enableBufferingIncomingMessages(): void;
+ public getPendingChannelResponseCount(): number;
+ public setMessageHandler(param0: string, param1: io.flutter.plugin.common.BinaryMessenger.BinaryMessageHandler, param2: io.flutter.plugin.common.BinaryMessenger.TaskQueue): void;
+ public send(param0: string, param1: java.nio.ByteBuffer, param2: io.flutter.plugin.common.BinaryMessenger.BinaryReply): void;
+ }
+ export module DartMessenger {
+ export class BufferedMessageInfo {
+ public static class: java.lang.Class;
+ public message: java.nio.ByteBuffer;
+ }
+ export class ConcurrentTaskQueue extends io.flutter.embedding.engine.dart.DartMessenger.DartMessengerTaskQueue {
+ public static class: java.lang.Class;
+ public dispatch(param0: java.lang.Runnable): void;
+ }
+ export class DartMessengerTaskQueue {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.engine.dart.DartMessenger$DartMessengerTaskQueue interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { dispatch(param0: java.lang.Runnable): void });
+ public constructor();
+ public dispatch(param0: java.lang.Runnable): void;
+ }
+ export class DefaultTaskQueueFactory extends io.flutter.embedding.engine.dart.DartMessenger.TaskQueueFactory {
+ public static class: java.lang.Class;
+ public makeBackgroundTaskQueue(param0: io.flutter.plugin.common.BinaryMessenger.TaskQueueOptions): io.flutter.embedding.engine.dart.DartMessenger.DartMessengerTaskQueue;
+ }
+ export class HandlerInfo {
+ public static class: java.lang.Class;
+ public handler: io.flutter.plugin.common.BinaryMessenger.BinaryMessageHandler;
+ public taskQueue: io.flutter.embedding.engine.dart.DartMessenger.DartMessengerTaskQueue;
+ }
+ export class Reply extends io.flutter.plugin.common.BinaryMessenger.BinaryReply {
+ public static class: java.lang.Class;
+ public reply(param0: java.nio.ByteBuffer): void;
+ }
+ export class SerialTaskQueue extends io.flutter.embedding.engine.dart.DartMessenger.DartMessengerTaskQueue {
+ public static class: java.lang.Class;
+ public dispatch(param0: java.lang.Runnable): void;
+ }
+ export class TaskQueueFactory {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.engine.dart.DartMessenger$TaskQueueFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { makeBackgroundTaskQueue(param0: io.flutter.plugin.common.BinaryMessenger.TaskQueueOptions): io.flutter.embedding.engine.dart.DartMessenger.DartMessengerTaskQueue });
+ public constructor();
+ public makeBackgroundTaskQueue(param0: io.flutter.plugin.common.BinaryMessenger.TaskQueueOptions): io.flutter.embedding.engine.dart.DartMessenger.DartMessengerTaskQueue;
+ }
+ export class TaskQueueToken extends io.flutter.plugin.common.BinaryMessenger.TaskQueue {
+ public static class: java.lang.Class;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module dart {
+ export class PlatformMessageHandler {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.engine.dart.PlatformMessageHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { handleMessageFromDart(param0: string, param1: java.nio.ByteBuffer, param2: number, param3: number): void; handlePlatformMessageResponse(param0: number, param1: java.nio.ByteBuffer): void });
+ public constructor();
+ public handlePlatformMessageResponse(param0: number, param1: java.nio.ByteBuffer): void;
+ public handleMessageFromDart(param0: string, param1: java.nio.ByteBuffer, param2: number, param3: number): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module dart {
+ export class PlatformTaskQueue extends io.flutter.embedding.engine.dart.DartMessenger.DartMessengerTaskQueue {
+ public static class: java.lang.Class;
+ public constructor();
+ public dispatch(param0: java.lang.Runnable): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module deferredcomponents {
+ export class DeferredComponentManager {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.engine.deferredcomponents.DeferredComponentManager interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { setJNI(param0: io.flutter.embedding.engine.FlutterJNI): void; setDeferredComponentChannel(param0: io.flutter.embedding.engine.systemchannels.DeferredComponentChannel): void; installDeferredComponent(param0: number, param1: string): void; getDeferredComponentInstallState(param0: number, param1: string): string; loadAssets(param0: number, param1: string): void; loadDartLibrary(param0: number, param1: string): void; uninstallDeferredComponent(param0: number, param1: string): boolean; destroy(): void });
+ public constructor();
+ public loadAssets(param0: number, param1: string): void;
+ public uninstallDeferredComponent(param0: number, param1: string): boolean;
+ public setJNI(param0: io.flutter.embedding.engine.FlutterJNI): void;
+ public getDeferredComponentInstallState(param0: number, param1: string): string;
+ public setDeferredComponentChannel(param0: io.flutter.embedding.engine.systemchannels.DeferredComponentChannel): void;
+ public destroy(): void;
+ public installDeferredComponent(param0: number, param1: string): void;
+ public loadDartLibrary(param0: number, param1: string): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module deferredcomponents {
+ export class PlayStoreDeferredComponentManager extends io.flutter.embedding.engine.deferredcomponents.DeferredComponentManager {
+ public static class: java.lang.Class;
+ public static MAPPING_KEY: string;
+ public loadingUnitIdToComponentNames: globalAndroid.util.SparseArray;
+ public loadingUnitIdToSharedLibraryNames: globalAndroid.util.SparseArray;
+ public loadAssets(param0: number, param1: string): void;
+ public uninstallDeferredComponent(param0: number, param1: string): boolean;
+ public setJNI(param0: io.flutter.embedding.engine.FlutterJNI): void;
+ public getDeferredComponentInstallState(param0: number, param1: string): string;
+ public setDeferredComponentChannel(param0: io.flutter.embedding.engine.systemchannels.DeferredComponentChannel): void;
+ public destroy(): void;
+ public installDeferredComponent(param0: number, param1: string): void;
+ public loadDartLibrary(param0: number, param1: string): void;
+ public constructor(param0: globalAndroid.content.Context, param1: io.flutter.embedding.engine.FlutterJNI);
+ }
+ export module PlayStoreDeferredComponentManager {
+ export class FeatureInstallStateUpdatedListener {
+ public static class: java.lang.Class;
+ public onStateUpdate(param0: com.google.android.play.core.splitinstall.SplitInstallSessionState): void;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module loader {
+ export class ApplicationInfoLoader {
+ public static class: java.lang.Class;
+ public static PUBLIC_AOT_SHARED_LIBRARY_NAME: string;
+ public static PUBLIC_VM_SNAPSHOT_DATA_KEY: string;
+ public static PUBLIC_ISOLATE_SNAPSHOT_DATA_KEY: string;
+ public static PUBLIC_FLUTTER_ASSETS_DIR_KEY: string;
+ public static NETWORK_POLICY_METADATA_KEY: string;
+ public static PUBLIC_AUTOMATICALLY_REGISTER_PLUGINS_METADATA_KEY: string;
+ public static load(param0: globalAndroid.content.Context): io.flutter.embedding.engine.loader.FlutterApplicationInfo;
+ public constructor();
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module loader {
+ export class FlutterApplicationInfo {
+ public static class: java.lang.Class;
+ public aotSharedLibraryName: string;
+ public vmSnapshotData: string;
+ public isolateSnapshotData: string;
+ public flutterAssetsDir: string;
+ public domainNetworkPolicy: string;
+ public nativeLibraryDir: string;
+ public constructor(param0: string, param1: string, param2: string, param3: string, param4: string, param5: string, param6: boolean);
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module loader {
+ export class FlutterLoader {
+ public static class: java.lang.Class;
+ public constructor(param0: io.flutter.embedding.engine.FlutterJNI, param1: java.util.concurrent.ExecutorService);
+ public constructor();
+ public constructor(param0: io.flutter.embedding.engine.FlutterJNI);
+ public startInitialization(param0: globalAndroid.content.Context): void;
+ public ensureInitializationComplete(param0: globalAndroid.content.Context, param1: androidNative.Array): void;
+ public getLookupKeyForAsset(param0: string, param1: string): string;
+ public initialized(): boolean;
+ public ensureInitializationCompleteAsync(param0: globalAndroid.content.Context, param1: androidNative.Array, param2: globalAndroid.os.Handler, param3: java.lang.Runnable): void;
+ public getLookupKeyForAsset(param0: string): string;
+ public findAppBundlePath(): string;
+ public startInitialization(param0: globalAndroid.content.Context, param1: io.flutter.embedding.engine.loader.FlutterLoader.Settings): void;
+ public automaticallyRegisterPlugins(): boolean;
+ }
+ export module FlutterLoader {
+ export class InitResult {
+ public static class: java.lang.Class;
+ }
+ export class Settings {
+ public static class: java.lang.Class;
+ public constructor();
+ public getLogTag(): string;
+ public setLogTag(param0: string): void;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module loader {
+ export class ResourceExtractor {
+ public static class: java.lang.Class;
+ }
+ export module ResourceExtractor {
+ export class ExtractTask extends globalAndroid.os.AsyncTask {
+ public static class: java.lang.Class;
+ public doInBackground(param0: androidNative.Array): java.lang.Void;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module mutatorsstack {
+ export class FlutterMutatorView {
+ public static class: java.lang.Class;
+ public onTouchEvent(param0: globalAndroid.view.MotionEvent): boolean;
+ public setOnDescendantFocusChangeListener(param0: globalAndroid.view.View.OnFocusChangeListener): void;
+ public constructor(param0: globalAndroid.content.Context, param1: number, param2: io.flutter.embedding.android.AndroidTouchProcessor);
+ public constructor(param0: globalAndroid.content.Context);
+ public unsetOnDescendantFocusChangeListener(): void;
+ public draw(param0: globalAndroid.graphics.Canvas): void;
+ public readyToDisplay(param0: io.flutter.embedding.engine.mutatorsstack.FlutterMutatorsStack, param1: number, param2: number, param3: number, param4: number): void;
+ public onInterceptTouchEvent(param0: globalAndroid.view.MotionEvent): boolean;
+ public dispatchDraw(param0: globalAndroid.graphics.Canvas): void;
+ public requestSendAccessibilityEvent(param0: globalAndroid.view.View, param1: globalAndroid.view.accessibility.AccessibilityEvent): boolean;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module mutatorsstack {
+ export class FlutterMutatorsStack {
+ public static class: java.lang.Class;
+ public constructor();
+ public pushTransform(param0: androidNative.Array): void;
+ public getMutators(): java.util.List;
+ public getFinalMatrix(): globalAndroid.graphics.Matrix;
+ public getFinalClippingPaths(): java.util.List;
+ public pushClipRect(param0: number, param1: number, param2: number, param3: number): void;
+ public pushClipRRect(param0: number, param1: number, param2: number, param3: number, param4: androidNative.Array): void;
+ }
+ export module FlutterMutatorsStack {
+ export class FlutterMutator {
+ public static class: java.lang.Class;
+ public getType(): io.flutter.embedding.engine.mutatorsstack.FlutterMutatorsStack.FlutterMutatorType;
+ public getMatrix(): globalAndroid.graphics.Matrix;
+ public constructor(param0: io.flutter.embedding.engine.mutatorsstack.FlutterMutatorsStack, param1: globalAndroid.graphics.Matrix);
+ public constructor(param0: io.flutter.embedding.engine.mutatorsstack.FlutterMutatorsStack, param1: globalAndroid.graphics.Path);
+ public constructor(param0: io.flutter.embedding.engine.mutatorsstack.FlutterMutatorsStack, param1: globalAndroid.graphics.Rect, param2: androidNative.Array);
+ public getRect(): globalAndroid.graphics.Rect;
+ public getPath(): globalAndroid.graphics.Path;
+ public constructor(param0: io.flutter.embedding.engine.mutatorsstack.FlutterMutatorsStack, param1: globalAndroid.graphics.Rect);
+ }
+ export class FlutterMutatorType {
+ public static class: java.lang.Class;
+ public static CLIP_RECT: io.flutter.embedding.engine.mutatorsstack.FlutterMutatorsStack.FlutterMutatorType;
+ public static CLIP_RRECT: io.flutter.embedding.engine.mutatorsstack.FlutterMutatorsStack.FlutterMutatorType;
+ public static CLIP_PATH: io.flutter.embedding.engine.mutatorsstack.FlutterMutatorsStack.FlutterMutatorType;
+ public static TRANSFORM: io.flutter.embedding.engine.mutatorsstack.FlutterMutatorsStack.FlutterMutatorType;
+ public static OPACITY: io.flutter.embedding.engine.mutatorsstack.FlutterMutatorsStack.FlutterMutatorType;
+ public static values(): androidNative.Array;
+ public static valueOf(param0: string): io.flutter.embedding.engine.mutatorsstack.FlutterMutatorsStack.FlutterMutatorType;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module plugins {
+ export class FlutterPlugin {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.engine.plugins.FlutterPlugin interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onAttachedToEngine(param0: io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterPluginBinding): void; onDetachedFromEngine(param0: io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterPluginBinding): void });
+ public constructor();
+ public onAttachedToEngine(param0: io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterPluginBinding): void;
+ public onDetachedFromEngine(param0: io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterPluginBinding): void;
+ }
+ export module FlutterPlugin {
+ export class FlutterAssets {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.engine.plugins.FlutterPlugin$FlutterAssets interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { getAssetFilePathByName(param0: string): string; getAssetFilePathByName(param0: string, param1: string): string; getAssetFilePathBySubpath(param0: string): string; getAssetFilePathBySubpath(param0: string, param1: string): string });
+ public constructor();
+ public getAssetFilePathByName(param0: string, param1: string): string;
+ public getAssetFilePathByName(param0: string): string;
+ public getAssetFilePathBySubpath(param0: string): string;
+ public getAssetFilePathBySubpath(param0: string, param1: string): string;
+ }
+ export class FlutterPluginBinding {
+ public static class: java.lang.Class;
+ /** @deprecated */
+ public getFlutterEngine(): io.flutter.embedding.engine.FlutterEngine;
+ public getApplicationContext(): globalAndroid.content.Context;
+ public getTextureRegistry(): io.flutter.view.TextureRegistry;
+ public constructor(param0: globalAndroid.content.Context, param1: io.flutter.embedding.engine.FlutterEngine, param2: io.flutter.plugin.common.BinaryMessenger, param3: io.flutter.view.TextureRegistry, param4: io.flutter.plugin.platform.PlatformViewRegistry, param5: io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterAssets);
+ public getBinaryMessenger(): io.flutter.plugin.common.BinaryMessenger;
+ public getFlutterAssets(): io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterAssets;
+ public getPlatformViewRegistry(): io.flutter.plugin.platform.PlatformViewRegistry;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module plugins {
+ export class PluginRegistry {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.engine.plugins.PluginRegistry interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { add(param0: io.flutter.embedding.engine.plugins.FlutterPlugin): void; add(param0: java.util.Set): void; has(param0: java.lang.Class): boolean; get(param0: java.lang.Class): io.flutter.embedding.engine.plugins.FlutterPlugin; remove(param0: java.lang.Class): void; remove(param0: java.util.Set>): void; removeAll(): void });
+ public constructor();
+ public has(param0: java.lang.Class): boolean;
+ public add(param0: io.flutter.embedding.engine.plugins.FlutterPlugin): void;
+ public add(param0: java.util.Set): void;
+ public remove(param0: java.util.Set>): void;
+ public removeAll(): void;
+ public get(param0: java.lang.Class): io.flutter.embedding.engine.plugins.FlutterPlugin;
+ public remove(param0: java.lang.Class): void;
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module plugins {
+ export module activity {
+ export class ActivityAware {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.engine.plugins.activity.ActivityAware interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: { onAttachedToActivity(param0: io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding): void; onDetachedFromActivityForConfigChanges(): void; onReattachedToActivityForConfigChanges(param0: io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding): void; onDetachedFromActivity(): void });
+ public constructor();
+ public onAttachedToActivity(param0: io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding): void;
+ public onDetachedFromActivity(): void;
+ public onReattachedToActivityForConfigChanges(param0: io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding): void;
+ public onDetachedFromActivityForConfigChanges(): void;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+declare module io {
+ export module flutter {
+ export module embedding {
+ export module engine {
+ export module plugins {
+ export module activity {
+ export class ActivityControlSurface {
+ public static class: java.lang.Class;
+ /**
+ * Constructs a new instance of the io.flutter.embedding.engine.plugins.activity.ActivityControlSurface interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
+ */
+ public constructor(implementation: {
+ attachToActivity(param0: io.flutter.embedding.android.ExclusiveAppComponent, param1: androidx.lifecycle.Lifecycle): void;
+ detachFromActivityForConfigChanges(): void;
+ detachFromActivity(): void;
+ onRequestPermissionsResult(param0: number, param1: androidNative.Array