mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
Android plugin registry (#9715)
This commit is contained in:
parent
aba6095444
commit
24a3e58cd0
@ -77,26 +77,20 @@ void _writeFlutterPluginsList(String directory, List<Plugin> plugins) {
|
||||
|
||||
const String _androidPluginRegistryTemplate = '''package io.flutter.plugins;
|
||||
|
||||
import io.flutter.app.FlutterActivity;
|
||||
|
||||
{{#plugins}}
|
||||
import io.flutter.plugin.common.PluginRegistry;
|
||||
import {{package}}.{{class}};
|
||||
{{/plugins}}
|
||||
|
||||
/**
|
||||
* Generated file. Do not edit.
|
||||
*/
|
||||
|
||||
public class PluginRegistry {
|
||||
public final class GeneratedPluginRegistrant {
|
||||
public static void registerWith(PluginRegistry registry) {
|
||||
{{#plugins}}
|
||||
public {{class}} {{name}};
|
||||
{{class}}.registerWith(registry.registrarFor("{{package}}.{{class}}"));
|
||||
{{/plugins}}
|
||||
|
||||
public void registerAll(FlutterActivity activity) {
|
||||
{{#plugins}}
|
||||
{{name}} = {{class}}.register(activity);
|
||||
{{/plugins}}
|
||||
}
|
||||
}
|
||||
}
|
||||
''';
|
||||
|
||||
@ -119,7 +113,7 @@ void _writeAndroidPluginRegistry(String directory, List<Plugin> plugins) {
|
||||
final Directory registryDirectory =
|
||||
fs.directory(fs.path.join(javaSourcePath, 'io', 'flutter', 'plugins'));
|
||||
registryDirectory.createSync(recursive: true);
|
||||
final File registryFile = registryDirectory.childFile('PluginRegistry.java');
|
||||
final File registryFile = registryDirectory.childFile('GeneratedPluginRegistrant.java');
|
||||
registryFile.writeAsStringSync(pluginRegistry);
|
||||
}
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
.DS_Store
|
||||
/build
|
||||
/captures
|
||||
PluginRegistry.java
|
||||
GeneratedPluginRegistrant.java
|
||||
|
||||
/gradle
|
||||
/gradlew
|
||||
|
@ -1,16 +1,14 @@
|
||||
package {{androidIdentifier}};
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import io.flutter.app.FlutterActivity;
|
||||
import io.flutter.plugins.PluginRegistry;
|
||||
import io.flutter.plugin.common.GeneratedPluginRegistrant;
|
||||
|
||||
public class MainActivity extends FlutterActivity {
|
||||
PluginRegistry pluginRegistry;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
pluginRegistry = new PluginRegistry();
|
||||
pluginRegistry.registerAll(this);
|
||||
}
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
GeneratedPluginRegistrant.registerWith(this);
|
||||
}
|
||||
}
|
||||
|
@ -1,24 +1,21 @@
|
||||
package {{androidIdentifier}};
|
||||
|
||||
import io.flutter.app.FlutterActivity;
|
||||
import io.flutter.plugin.common.MethodChannel;
|
||||
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
|
||||
import io.flutter.plugin.common.MethodChannel.Result;
|
||||
import io.flutter.plugin.common.MethodCall;
|
||||
import io.flutter.plugin.common.PluginRegistry.Registrar;
|
||||
|
||||
/**
|
||||
* {{pluginClass}}
|
||||
*/
|
||||
public class {{pluginClass}} implements MethodCallHandler {
|
||||
private FlutterActivity activity;
|
||||
|
||||
public static {{pluginClass}} register(FlutterActivity activity) {
|
||||
return new {{pluginClass}}(activity);
|
||||
}
|
||||
|
||||
private {{pluginClass}}(FlutterActivity activity) {
|
||||
this.activity = activity;
|
||||
new MethodChannel(activity.getFlutterView(), "{{projectName}}").setMethodCallHandler(this);
|
||||
/**
|
||||
* Plugin registration.
|
||||
*/
|
||||
public static void registerWith(Registrar registrar) {
|
||||
final MethodChannel channel = new MethodChannel(registrar.messenger(), "{{projectName}}");
|
||||
channel.setMethodCallHandler(new {{pluginClass}}());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user