Revert: Migrate examples to Android embedding v2 (#43997)
This reverts commit 99cd4403848185c530f6eadd43d1511376c45c15.
diff --git a/dev/benchmarks/macrobenchmarks/android/app/src/main/AndroidManifest.xml b/dev/benchmarks/macrobenchmarks/android/app/src/main/AndroidManifest.xml
index 70e48f2..7a65065 100644
--- a/dev/benchmarks/macrobenchmarks/android/app/src/main/AndroidManifest.xml
+++ b/dev/benchmarks/macrobenchmarks/android/app/src/main/AndroidManifest.xml
@@ -23,15 +23,17 @@
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
+ <!-- This keeps the window background of the activity showing
+ until Flutter renders its first frame. It can be removed if
+ there is no splash screen (such as the default splash screen
+ defined in @style/LaunchTheme). -->
+ <meta-data
+ android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
+ android:value="true" />
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- <!-- Don't delete the meta-data below.
- This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
- <meta-data
- android:name="flutterEmbedding"
- android:value="2" />
</application>
</manifest>
diff --git a/dev/benchmarks/macrobenchmarks/android/app/src/main/java/com/example/macrobenchmarks/MainActivity.java b/dev/benchmarks/macrobenchmarks/android/app/src/main/java/com/example/macrobenchmarks/MainActivity.java
index d71d90b..4e5d4f1 100644
--- a/dev/benchmarks/macrobenchmarks/android/app/src/main/java/com/example/macrobenchmarks/MainActivity.java
+++ b/dev/benchmarks/macrobenchmarks/android/app/src/main/java/com/example/macrobenchmarks/MainActivity.java
@@ -1,13 +1,13 @@
package com.example.macrobenchmarks;
-import androidx.annotation.NonNull;
-import dev.flutter.plugins.GeneratedPluginRegistrant;
-import io.flutter.embedding.android.FlutterActivity;
-import io.flutter.embedding.engine.FlutterEngine;
+import android.os.Bundle;
+import io.flutter.app.FlutterActivity;
+import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
@Override
- public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
- GeneratedPluginRegistrant.registerWith(flutterEngine);
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ GeneratedPluginRegistrant.registerWith(this);
}
}
diff --git a/dev/integration_tests/abstract_method_smoke_test/android/app/src/main/AndroidManifest.xml b/dev/integration_tests/abstract_method_smoke_test/android/app/src/main/AndroidManifest.xml
index 9b35b9c..40f8e84 100644
--- a/dev/integration_tests/abstract_method_smoke_test/android/app/src/main/AndroidManifest.xml
+++ b/dev/integration_tests/abstract_method_smoke_test/android/app/src/main/AndroidManifest.xml
@@ -17,15 +17,17 @@
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="stateVisible|adjustResize">
+ <!-- This keeps the window background of the activity showing
+ until Flutter renders its first frame. It can be removed if
+ there is no splash screen (such as the default splash screen
+ defined in @style/LaunchTheme). -->
+ <meta-data
+ android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
+ android:value="true" />
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- <!-- Don't delete the meta-data below.
- This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
- <meta-data
- android:name="flutterEmbedding"
- android:value="2" />
</application>
</manifest>
diff --git a/dev/integration_tests/abstract_method_smoke_test/android/app/src/main/kotlin/com/example/abstract_method_smoke_test/MainActivity.kt b/dev/integration_tests/abstract_method_smoke_test/android/app/src/main/kotlin/com/example/abstract_method_smoke_test/MainActivity.kt
index 4660329..6b55569 100644
--- a/dev/integration_tests/abstract_method_smoke_test/android/app/src/main/kotlin/com/example/abstract_method_smoke_test/MainActivity.kt
+++ b/dev/integration_tests/abstract_method_smoke_test/android/app/src/main/kotlin/com/example/abstract_method_smoke_test/MainActivity.kt
@@ -5,15 +5,12 @@
import android.os.Bundle
import android.view.View
import android.view.inputmethod.InputMethodManager
-import androidx.annotation.NonNull
-import dev.flutter.plugins.GeneratedPluginRegistrant
-import io.flutter.embedding.android.FlutterActivity
-import io.flutter.embedding.engine.FlutterEngine
-import io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry
+import io.flutter.app.FlutterActivity
import io.flutter.plugin.common.MethodChannel
import io.flutter.plugin.common.StandardMessageCodec
import io.flutter.plugin.platform.PlatformView
import io.flutter.plugin.platform.PlatformViewFactory
+import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity : FlutterActivity() {
class SimplePlatformView(context: Context) : PlatformView {
@@ -30,11 +27,11 @@
}
}
- override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
- GeneratedPluginRegistrant.registerWith(flutterEngine);
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ GeneratedPluginRegistrant.registerWith(this)
- val shimPluginRegistry = ShimPluginRegistry(flutterEngine);
- shimPluginRegistry.registrarFor("com.example.abstract_method_smoke_test")
+ registrarFor("com.example.abstract_method_smoke_test")
.platformViewRegistry()
.registerViewFactory("simple", object : PlatformViewFactory(StandardMessageCodec.INSTANCE) {
override fun create(context: Context?, viewId: Int, args: Any?): PlatformView {
@@ -44,7 +41,7 @@
// Triggers the Android keyboard, which causes the resize of the Flutter view.
// We need to wait for the app to complete.
- MethodChannel(flutterEngine.getDartExecutor(), "com.example.abstract_method_smoke_test")
+ MethodChannel(flutterView, "com.example.abstract_method_smoke_test")
.setMethodCallHandler { _, result ->
toggleInput()
result.success(null)
diff --git a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/MainActivity.java b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/MainActivity.java
index e2e7bed..8892ea9 100644
--- a/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/MainActivity.java
+++ b/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/android/app/src/main/java/io/flutter/splash_screen_kitchen_sink/MainActivity.java
@@ -5,9 +5,12 @@
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
+
import androidx.annotation.Nullable;
+
import java.util.ArrayList;
import java.util.List;
+
import io.flutter.embedding.android.FlutterActivity;
import io.flutter.embedding.android.FlutterView;
import io.flutter.embedding.android.SplashScreen;
diff --git a/dev/integration_tests/channels/android/app/src/main/AndroidManifest.xml b/dev/integration_tests/channels/android/app/src/main/AndroidManifest.xml
index 40f5ef6..a80ca4b 100644
--- a/dev/integration_tests/channels/android/app/src/main/AndroidManifest.xml
+++ b/dev/integration_tests/channels/android/app/src/main/AndroidManifest.xml
@@ -24,10 +24,5 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- <!-- Don't delete the meta-data below.
- This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
- <meta-data
- android:name="flutterEmbedding"
- android:value="2" />
</application>
</manifest>
diff --git a/dev/integration_tests/channels/android/app/src/main/java/com/yourcompany/channels/MainActivity.java b/dev/integration_tests/channels/android/app/src/main/java/com/yourcompany/channels/MainActivity.java
index 5ec4529..4347f5b 100644
--- a/dev/integration_tests/channels/android/app/src/main/java/com/yourcompany/channels/MainActivity.java
+++ b/dev/integration_tests/channels/android/app/src/main/java/com/yourcompany/channels/MainActivity.java
@@ -9,26 +9,22 @@
import java.util.Date;
import android.os.Bundle;
-import androidx.annotation.NonNull;
-import dev.flutter.plugins.GeneratedPluginRegistrant;
-import io.flutter.embedding.android.FlutterActivity;
-import io.flutter.embedding.engine.dart.DartExecutor;
-import io.flutter.embedding.engine.FlutterEngine;
+import io.flutter.app.FlutterActivity;
import io.flutter.plugin.common.*;
+import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
@Override
- public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
- GeneratedPluginRegistrant.registerWith(flutterEngine);
-
- DartExecutor dartExecutor = flutterEngine.getDartExecutor();
- setupMessageHandshake(new BasicMessageChannel<>(dartExecutor, "binary-msg", BinaryCodec.INSTANCE));
- setupMessageHandshake(new BasicMessageChannel<>(dartExecutor, "string-msg", StringCodec.INSTANCE));
- setupMessageHandshake(new BasicMessageChannel<>(dartExecutor, "json-msg", JSONMessageCodec.INSTANCE));
- setupMessageHandshake(new BasicMessageChannel<>(dartExecutor, "std-msg", ExtendedStandardMessageCodec.INSTANCE));
- setupMethodHandshake(new MethodChannel(dartExecutor, "json-method", JSONMethodCodec.INSTANCE));
- setupMethodHandshake(new MethodChannel(dartExecutor, "std-method", new StandardMethodCodec(ExtendedStandardMessageCodec.INSTANCE)));
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ GeneratedPluginRegistrant.registerWith(this);
+ setupMessageHandshake(new BasicMessageChannel<>(getFlutterView(), "binary-msg", BinaryCodec.INSTANCE));
+ setupMessageHandshake(new BasicMessageChannel<>(getFlutterView(), "string-msg", StringCodec.INSTANCE));
+ setupMessageHandshake(new BasicMessageChannel<>(getFlutterView(), "json-msg", JSONMessageCodec.INSTANCE));
+ setupMessageHandshake(new BasicMessageChannel<>(getFlutterView(), "std-msg", ExtendedStandardMessageCodec.INSTANCE));
+ setupMethodHandshake(new MethodChannel(getFlutterView(), "json-method", JSONMethodCodec.INSTANCE));
+ setupMethodHandshake(new MethodChannel(getFlutterView(), "std-method", new StandardMethodCodec(ExtendedStandardMessageCodec.INSTANCE)));
}
private <T> void setupMessageHandshake(final BasicMessageChannel<T> channel) {
diff --git a/dev/integration_tests/codegen/android/app/src/main/AndroidManifest.xml b/dev/integration_tests/codegen/android/app/src/main/AndroidManifest.xml
index 9ae0fcc..6703641 100644
--- a/dev/integration_tests/codegen/android/app/src/main/AndroidManifest.xml
+++ b/dev/integration_tests/codegen/android/app/src/main/AndroidManifest.xml
@@ -24,10 +24,5 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- <!-- Don't delete the meta-data below.
- This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
- <meta-data
- android:name="flutterEmbedding"
- android:value="2" />
</application>
</manifest>
diff --git a/dev/integration_tests/codegen/android/app/src/main/java/com/yourcompany/platforminteraction/MainActivity.java b/dev/integration_tests/codegen/android/app/src/main/java/com/yourcompany/platforminteraction/MainActivity.java
index b0d639a7..73b7e51 100644
--- a/dev/integration_tests/codegen/android/app/src/main/java/com/yourcompany/platforminteraction/MainActivity.java
+++ b/dev/integration_tests/codegen/android/app/src/main/java/com/yourcompany/platforminteraction/MainActivity.java
@@ -4,14 +4,14 @@
package com.yourcompany.platforminteraction;
-import androidx.annotation.NonNull;
-import dev.flutter.plugins.GeneratedPluginRegistrant;
-import io.flutter.embedding.android.FlutterActivity;
-import io.flutter.embedding.engine.FlutterEngine;
+import android.os.Bundle;
+import io.flutter.app.FlutterActivity;
+import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
@Override
- public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
- GeneratedPluginRegistrant.registerWith(flutterEngine);
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ GeneratedPluginRegistrant.registerWith(this);
}
}
diff --git a/examples/catalog/android/app/src/main/AndroidManifest.xml b/examples/catalog/android/app/src/main/AndroidManifest.xml
index 332f2bf..e5c2a44 100644
--- a/examples/catalog/android/app/src/main/AndroidManifest.xml
+++ b/examples/catalog/android/app/src/main/AndroidManifest.xml
@@ -24,10 +24,5 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- <!-- Don't delete the meta-data below.
- This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
- <meta-data
- android:name="flutterEmbedding"
- android:value="2" />
</application>
</manifest>
diff --git a/examples/catalog/android/app/src/main/java/com/yourcompany/animated_list/MainActivity.java b/examples/catalog/android/app/src/main/java/com/yourcompany/animated_list/MainActivity.java
index 7df95ca..4b45672 100644
--- a/examples/catalog/android/app/src/main/java/com/yourcompany/animated_list/MainActivity.java
+++ b/examples/catalog/android/app/src/main/java/com/yourcompany/animated_list/MainActivity.java
@@ -1,13 +1,13 @@
package com.yourcompany.animated_list;
-import androidx.annotation.NonNull;
-import dev.flutter.plugins.GeneratedPluginRegistrant;
-import io.flutter.embedding.android.FlutterActivity;
-import io.flutter.embedding.engine.FlutterEngine;
+import android.os.Bundle;
+import io.flutter.app.FlutterActivity;
+import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
@Override
- public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
- GeneratedPluginRegistrant.registerWith(flutterEngine);
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ GeneratedPluginRegistrant.registerWith(this);
}
}
diff --git a/examples/flutter_gallery/android/app/src/main/AndroidManifest.xml b/examples/flutter_gallery/android/app/src/main/AndroidManifest.xml
index 7b4cbbb..454073b 100644
--- a/examples/flutter_gallery/android/app/src/main/AndroidManifest.xml
+++ b/examples/flutter_gallery/android/app/src/main/AndroidManifest.xml
@@ -29,10 +29,5 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- <!-- Don't delete the meta-data below.
- This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
- <meta-data
- android:name="flutterEmbedding"
- android:value="2" />
</application>
</manifest>
diff --git a/examples/flutter_gallery/android/app/src/main/java/io/flutter/demo/gallery/FlutterGalleryInstrumentation.java b/examples/flutter_gallery/android/app/src/main/java/io/flutter/demo/gallery/FlutterGalleryInstrumentation.java
index ba97f91..ecd4cbf 100644
--- a/examples/flutter_gallery/android/app/src/main/java/io/flutter/demo/gallery/FlutterGalleryInstrumentation.java
+++ b/examples/flutter_gallery/android/app/src/main/java/io/flutter/demo/gallery/FlutterGalleryInstrumentation.java
@@ -5,26 +5,25 @@
package io.flutter.demo.gallery;
import android.os.ConditionVariable;
-import androidx.annotation.NonNull;
-
-import io.flutter.plugin.common.BinaryMessenger;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
import io.flutter.plugin.common.MethodChannel.Result;
+import io.flutter.view.FlutterView;
/** Instrumentation for testing using Android Espresso framework. */
public class FlutterGalleryInstrumentation implements MethodCallHandler {
+
private final ConditionVariable testFinished = new ConditionVariable();
private volatile boolean testSuccessful;
- FlutterGalleryInstrumentation(@NonNull BinaryMessenger messenger) {
- new MethodChannel(messenger, "io.flutter.demo.gallery/TestLifecycleListener")
+ FlutterGalleryInstrumentation(FlutterView view) {
+ new MethodChannel(view, "io.flutter.demo.gallery/TestLifecycleListener")
.setMethodCallHandler(this);
}
@Override
- public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) {
+ public void onMethodCall(MethodCall call, Result result) {
testSuccessful = call.method.equals("success");
testFinished.open();
result.success(null);
diff --git a/examples/flutter_gallery/android/app/src/main/java/io/flutter/demo/gallery/MainActivity.java b/examples/flutter_gallery/android/app/src/main/java/io/flutter/demo/gallery/MainActivity.java
index 741474e..dcfc139 100644
--- a/examples/flutter_gallery/android/app/src/main/java/io/flutter/demo/gallery/MainActivity.java
+++ b/examples/flutter_gallery/android/app/src/main/java/io/flutter/demo/gallery/MainActivity.java
@@ -4,12 +4,15 @@
package io.flutter.demo.gallery;
-import androidx.annotation.NonNull;
-import dev.flutter.plugins.GeneratedPluginRegistrant;
-import io.flutter.embedding.android.FlutterActivity;
-import io.flutter.embedding.engine.FlutterEngine;
+import android.os.Build;
+import android.os.Bundle;
+
+import io.flutter.app.FlutterActivity;
+import io.flutter.view.FlutterView;
+import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
+
private FlutterGalleryInstrumentation instrumentation;
/** Instrumentation for testing. */
@@ -18,8 +21,19 @@
}
@Override
- public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
- GeneratedPluginRegistrant.registerWith(flutterEngine);
- instrumentation = new FlutterGalleryInstrumentation(flutterEngine.getDartExecutor());
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ GeneratedPluginRegistrant.registerWith(this);
+ instrumentation = new FlutterGalleryInstrumentation(this.getFlutterView());
+ getFlutterView().addFirstFrameListener(new FlutterView.FirstFrameListener() {
+ @Override
+ public void onFirstFrame() {
+ // Report fully drawn time for Play Store Console.
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ MainActivity.this.reportFullyDrawn();
+ }
+ MainActivity.this.getFlutterView().removeFirstFrameListener(this);
+ }
+ });
}
}
diff --git a/examples/hello_world/android/app/src/main/AndroidManifest.xml b/examples/hello_world/android/app/src/main/AndroidManifest.xml
index 0cd05a2..37de797 100644
--- a/examples/hello_world/android/app/src/main/AndroidManifest.xml
+++ b/examples/hello_world/android/app/src/main/AndroidManifest.xml
@@ -29,10 +29,5 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- <!-- Don't delete the meta-data below.
- This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
- <meta-data
- android:name="flutterEmbedding"
- android:value="2" />
</application>
</manifest>
diff --git a/examples/hello_world/android/app/src/main/java/io/flutter/examples/hello_world/MainActivity.java b/examples/hello_world/android/app/src/main/java/io/flutter/examples/hello_world/MainActivity.java
index d4bc7c9..34dd67f 100644
--- a/examples/hello_world/android/app/src/main/java/io/flutter/examples/hello_world/MainActivity.java
+++ b/examples/hello_world/android/app/src/main/java/io/flutter/examples/hello_world/MainActivity.java
@@ -1,13 +1,13 @@
package io.flutter.examples.hello_world;
-import androidx.annotation.NonNull;
-import dev.flutter.plugins.GeneratedPluginRegistrant;
-import io.flutter.embedding.android.FlutterActivity;
-import io.flutter.embedding.engine.FlutterEngine;
+import android.os.Bundle;
+import io.flutter.app.FlutterActivity;
+import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
@Override
- public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
- GeneratedPluginRegistrant.registerWith(flutterEngine);
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ GeneratedPluginRegistrant.registerWith(this);
}
}
diff --git a/examples/image_list/android/app/src/main/AndroidManifest.xml b/examples/image_list/android/app/src/main/AndroidManifest.xml
index 6e81f05..6d9ce1c 100644
--- a/examples/image_list/android/app/src/main/AndroidManifest.xml
+++ b/examples/image_list/android/app/src/main/AndroidManifest.xml
@@ -18,15 +18,17 @@
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
+ <!-- This keeps the window background of the activity showing
+ until Flutter renders its first frame. It can be removed if
+ there is no splash screen (such as the default splash screen
+ defined in @style/LaunchTheme). -->
+ <meta-data
+ android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
+ android:value="true" />
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- <!-- Don't delete the meta-data below.
- This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
- <meta-data
- android:name="flutterEmbedding"
- android:value="2" />
</application>
</manifest>
diff --git a/examples/image_list/android/app/src/main/java/com/example/image_list/MainActivity.java b/examples/image_list/android/app/src/main/java/com/example/image_list/MainActivity.java
index 3e5f5b8..ff9b177 100644
--- a/examples/image_list/android/app/src/main/java/com/example/image_list/MainActivity.java
+++ b/examples/image_list/android/app/src/main/java/com/example/image_list/MainActivity.java
@@ -1,13 +1,13 @@
package com.example.image_list;
-import androidx.annotation.NonNull;
-import dev.flutter.plugins.GeneratedPluginRegistrant;
-import io.flutter.embedding.android.FlutterActivity;
-import io.flutter.embedding.engine.FlutterEngine;
+import android.os.Bundle;
+import io.flutter.app.FlutterActivity;
+import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
@Override
- public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
- GeneratedPluginRegistrant.registerWith(flutterEngine);
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ GeneratedPluginRegistrant.registerWith(this);
}
}
diff --git a/examples/layers/android/app/src/main/AndroidManifest.xml b/examples/layers/android/app/src/main/AndroidManifest.xml
index 5cb9382..c23efaf 100644
--- a/examples/layers/android/app/src/main/AndroidManifest.xml
+++ b/examples/layers/android/app/src/main/AndroidManifest.xml
@@ -24,10 +24,5 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- <!-- Don't delete the meta-data below.
- This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
- <meta-data
- android:name="flutterEmbedding"
- android:value="2" />
</application>
</manifest>
diff --git a/examples/layers/android/app/src/main/java/io/flutter/examples/Layers/MainActivity.java b/examples/layers/android/app/src/main/java/io/flutter/examples/Layers/MainActivity.java
index b829e9b..016102e 100644
--- a/examples/layers/android/app/src/main/java/io/flutter/examples/Layers/MainActivity.java
+++ b/examples/layers/android/app/src/main/java/io/flutter/examples/Layers/MainActivity.java
@@ -4,14 +4,15 @@
package io.flutter.examples.Layers;
-import androidx.annotation.NonNull;
-import dev.flutter.plugins.GeneratedPluginRegistrant;
-import io.flutter.embedding.android.FlutterActivity;
-import io.flutter.embedding.engine.FlutterEngine;
+import android.os.Bundle;
+import io.flutter.app.FlutterActivity;
+import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
@Override
- public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
- GeneratedPluginRegistrant.registerWith(flutterEngine);
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ GeneratedPluginRegistrant.registerWith(this);
}
}
+
diff --git a/examples/platform_channel/android/app/src/main/AndroidManifest.xml b/examples/platform_channel/android/app/src/main/AndroidManifest.xml
index f340c09..fe87a8a 100644
--- a/examples/platform_channel/android/app/src/main/AndroidManifest.xml
+++ b/examples/platform_channel/android/app/src/main/AndroidManifest.xml
@@ -21,10 +21,5 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- <!-- Don't delete the meta-data below.
- This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
- <meta-data
- android:name="flutterEmbedding"
- android:value="2" />
</application>
</manifest>
diff --git a/examples/platform_channel/android/app/src/main/java/com/example/platformchannel/MainActivity.java b/examples/platform_channel/android/app/src/main/java/com/example/platformchannel/MainActivity.java
index bca8d3f..19db060 100644
--- a/examples/platform_channel/android/app/src/main/java/com/example/platformchannel/MainActivity.java
+++ b/examples/platform_channel/android/app/src/main/java/com/example/platformchannel/MainActivity.java
@@ -13,10 +13,8 @@
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.os.Bundle;
-import androidx.annotation.NonNull;
-import dev.flutter.plugins.GeneratedPluginRegistrant;
-import io.flutter.embedding.android.FlutterActivity;
-import io.flutter.embedding.engine.FlutterEngine;
+
+import io.flutter.app.FlutterActivity;
import io.flutter.plugin.common.EventChannel;
import io.flutter.plugin.common.EventChannel.EventSink;
import io.flutter.plugin.common.EventChannel.StreamHandler;
@@ -24,50 +22,51 @@
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
import io.flutter.plugin.common.MethodChannel.Result;
import io.flutter.plugin.common.MethodCall;
+import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
private static final String BATTERY_CHANNEL = "samples.flutter.io/battery";
private static final String CHARGING_CHANNEL = "samples.flutter.io/charging";
@Override
- public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
- GeneratedPluginRegistrant.registerWith(flutterEngine);
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ GeneratedPluginRegistrant.registerWith(this);
+ new EventChannel(getFlutterView(), CHARGING_CHANNEL).setStreamHandler(
+ new StreamHandler() {
+ private BroadcastReceiver chargingStateChangeReceiver;
+ @Override
+ public void onListen(Object arguments, EventSink events) {
+ chargingStateChangeReceiver = createChargingStateChangeReceiver(events);
+ registerReceiver(
+ chargingStateChangeReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
+ }
- new EventChannel(flutterEngine.getDartExecutor(), CHARGING_CHANNEL).setStreamHandler(
- new StreamHandler() {
- private BroadcastReceiver chargingStateChangeReceiver;
- @Override
- public void onListen(Object arguments, EventSink events) {
- chargingStateChangeReceiver = createChargingStateChangeReceiver(events);
- registerReceiver(
- chargingStateChangeReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
- }
-
- @Override
- public void onCancel(Object arguments) {
- unregisterReceiver(chargingStateChangeReceiver);
- chargingStateChangeReceiver = null;
- }
- }
- );
-
- new MethodChannel(flutterEngine.getDartExecutor(), BATTERY_CHANNEL).setMethodCallHandler(
- new MethodCallHandler() {
- @Override
- public void onMethodCall(MethodCall call, Result result) {
- if (call.method.equals("getBatteryLevel")) {
- int batteryLevel = getBatteryLevel();
-
- if (batteryLevel != -1) {
- result.success(batteryLevel);
- } else {
- result.error("UNAVAILABLE", "Battery level not available.", null);
- }
- } else {
- result.notImplemented();
+ @Override
+ public void onCancel(Object arguments) {
+ unregisterReceiver(chargingStateChangeReceiver);
+ chargingStateChangeReceiver = null;
}
}
- }
+ );
+
+ new MethodChannel(getFlutterView(), BATTERY_CHANNEL).setMethodCallHandler(
+ new MethodCallHandler() {
+ @Override
+ public void onMethodCall(MethodCall call, Result result) {
+ if (call.method.equals("getBatteryLevel")) {
+ int batteryLevel = getBatteryLevel();
+
+ if (batteryLevel != -1) {
+ result.success(batteryLevel);
+ } else {
+ result.error("UNAVAILABLE", "Battery level not available.", null);
+ }
+ } else {
+ result.notImplemented();
+ }
+ }
+ }
);
}
diff --git a/examples/platform_channel_swift/android/app/src/androidTest/java/com/example/platformchannel/ExampleInstrumentedTest.java b/examples/platform_channel_swift/android/app/src/androidTest/java/com/example/platformchannel/ExampleInstrumentedTest.java
index c393575..8c1bf37 100644
--- a/examples/platform_channel_swift/android/app/src/androidTest/java/com/example/platformchannel/ExampleInstrumentedTest.java
+++ b/examples/platform_channel_swift/android/app/src/androidTest/java/com/example/platformchannel/ExampleInstrumentedTest.java
@@ -1,19 +1,21 @@
package com.example.platformchannel;
-import static org.junit.Assert.*;
-
-import android.app.Instrumentation;
import android.graphics.Bitmap;
import android.support.test.InstrumentationRegistry;
import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4;
+
import io.flutter.view.FlutterView;
+
+import android.app.Instrumentation;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import static org.junit.Assert.*;
+
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Rule
diff --git a/examples/platform_channel_swift/android/app/src/main/AndroidManifest.xml b/examples/platform_channel_swift/android/app/src/main/AndroidManifest.xml
index f340c09..fe87a8a 100644
--- a/examples/platform_channel_swift/android/app/src/main/AndroidManifest.xml
+++ b/examples/platform_channel_swift/android/app/src/main/AndroidManifest.xml
@@ -21,10 +21,5 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- <!-- Don't delete the meta-data below.
- This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
- <meta-data
- android:name="flutterEmbedding"
- android:value="2" />
</application>
</manifest>
diff --git a/examples/platform_channel_swift/android/app/src/main/java/com/example/platformchannel/MainActivity.java b/examples/platform_channel_swift/android/app/src/main/java/com/example/platformchannel/MainActivity.java
index bca8d3f..19db060 100644
--- a/examples/platform_channel_swift/android/app/src/main/java/com/example/platformchannel/MainActivity.java
+++ b/examples/platform_channel_swift/android/app/src/main/java/com/example/platformchannel/MainActivity.java
@@ -13,10 +13,8 @@
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.os.Bundle;
-import androidx.annotation.NonNull;
-import dev.flutter.plugins.GeneratedPluginRegistrant;
-import io.flutter.embedding.android.FlutterActivity;
-import io.flutter.embedding.engine.FlutterEngine;
+
+import io.flutter.app.FlutterActivity;
import io.flutter.plugin.common.EventChannel;
import io.flutter.plugin.common.EventChannel.EventSink;
import io.flutter.plugin.common.EventChannel.StreamHandler;
@@ -24,50 +22,51 @@
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
import io.flutter.plugin.common.MethodChannel.Result;
import io.flutter.plugin.common.MethodCall;
+import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
private static final String BATTERY_CHANNEL = "samples.flutter.io/battery";
private static final String CHARGING_CHANNEL = "samples.flutter.io/charging";
@Override
- public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
- GeneratedPluginRegistrant.registerWith(flutterEngine);
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ GeneratedPluginRegistrant.registerWith(this);
+ new EventChannel(getFlutterView(), CHARGING_CHANNEL).setStreamHandler(
+ new StreamHandler() {
+ private BroadcastReceiver chargingStateChangeReceiver;
+ @Override
+ public void onListen(Object arguments, EventSink events) {
+ chargingStateChangeReceiver = createChargingStateChangeReceiver(events);
+ registerReceiver(
+ chargingStateChangeReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
+ }
- new EventChannel(flutterEngine.getDartExecutor(), CHARGING_CHANNEL).setStreamHandler(
- new StreamHandler() {
- private BroadcastReceiver chargingStateChangeReceiver;
- @Override
- public void onListen(Object arguments, EventSink events) {
- chargingStateChangeReceiver = createChargingStateChangeReceiver(events);
- registerReceiver(
- chargingStateChangeReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
- }
-
- @Override
- public void onCancel(Object arguments) {
- unregisterReceiver(chargingStateChangeReceiver);
- chargingStateChangeReceiver = null;
- }
- }
- );
-
- new MethodChannel(flutterEngine.getDartExecutor(), BATTERY_CHANNEL).setMethodCallHandler(
- new MethodCallHandler() {
- @Override
- public void onMethodCall(MethodCall call, Result result) {
- if (call.method.equals("getBatteryLevel")) {
- int batteryLevel = getBatteryLevel();
-
- if (batteryLevel != -1) {
- result.success(batteryLevel);
- } else {
- result.error("UNAVAILABLE", "Battery level not available.", null);
- }
- } else {
- result.notImplemented();
+ @Override
+ public void onCancel(Object arguments) {
+ unregisterReceiver(chargingStateChangeReceiver);
+ chargingStateChangeReceiver = null;
}
}
- }
+ );
+
+ new MethodChannel(getFlutterView(), BATTERY_CHANNEL).setMethodCallHandler(
+ new MethodCallHandler() {
+ @Override
+ public void onMethodCall(MethodCall call, Result result) {
+ if (call.method.equals("getBatteryLevel")) {
+ int batteryLevel = getBatteryLevel();
+
+ if (batteryLevel != -1) {
+ result.success(batteryLevel);
+ } else {
+ result.error("UNAVAILABLE", "Battery level not available.", null);
+ }
+ } else {
+ result.notImplemented();
+ }
+ }
+ }
);
}
diff --git a/examples/platform_view/android/app/src/main/AndroidManifest.xml b/examples/platform_view/android/app/src/main/AndroidManifest.xml
index 34c1822..afb36b1 100644
--- a/examples/platform_view/android/app/src/main/AndroidManifest.xml
+++ b/examples/platform_view/android/app/src/main/AndroidManifest.xml
@@ -33,10 +33,5 @@
android:parentActivityName="io.flutter.examples.platform_view.MainActivity"
android:theme="@style/Theme.AppCompat.NoActionBar"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale"></activity>
- <!-- Don't delete the meta-data below.
- This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
- <meta-data
- android:name="flutterEmbedding"
- android:value="2" />
</application>
</manifest>
diff --git a/examples/platform_view/android/app/src/main/java/io/flutter/examples/platform_view/MainActivity.java b/examples/platform_view/android/app/src/main/java/io/flutter/examples/platform_view/MainActivity.java
index 03bca70..faa45fb 100644
--- a/examples/platform_view/android/app/src/main/java/io/flutter/examples/platform_view/MainActivity.java
+++ b/examples/platform_view/android/app/src/main/java/io/flutter/examples/platform_view/MainActivity.java
@@ -5,12 +5,13 @@
package io.flutter.examples.platform_view;
import android.content.Intent;
-import androidx.annotation.NonNull;
-import dev.flutter.plugins.GeneratedPluginRegistrant;
+import android.os.Bundle;
+
+import io.flutter.plugins.GeneratedPluginRegistrant;
+
+import io.flutter.app.FlutterActivity;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
-import io.flutter.embedding.android.FlutterActivity;
-import io.flutter.embedding.engine.FlutterEngine;
public class MainActivity extends FlutterActivity {
private static final String CHANNEL = "samples.flutter.io/platform_view";
@@ -20,22 +21,23 @@
private MethodChannel.Result result;
@Override
- public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
- GeneratedPluginRegistrant.registerWith(flutterEngine);
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ GeneratedPluginRegistrant.registerWith(this);
- new MethodChannel(flutterEngine.getDartExecutor(), CHANNEL).setMethodCallHandler(
- new MethodChannel.MethodCallHandler() {
- @Override
- public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) {
- MainActivity.this.result = result;
- int count = methodCall.arguments();
- if (methodCall.method.equals(METHOD_SWITCH_VIEW)) {
- onLaunchFullScreen(count);
- } else {
- result.notImplemented();
- }
- }
- }
+ new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler(
+ new MethodChannel.MethodCallHandler() {
+ @Override
+ public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) {
+ MainActivity.this.result = result;
+ int count = methodCall.arguments();
+ if (methodCall.method.equals(METHOD_SWITCH_VIEW)) {
+ onLaunchFullScreen(count);
+ } else {
+ result.notImplemented();
+ }
+ }
+ }
);
}
diff --git a/examples/stocks/android/app/src/main/AndroidManifest.xml b/examples/stocks/android/app/src/main/AndroidManifest.xml
index 20abea8..1d78389 100644
--- a/examples/stocks/android/app/src/main/AndroidManifest.xml
+++ b/examples/stocks/android/app/src/main/AndroidManifest.xml
@@ -29,10 +29,5 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- <!-- Don't delete the meta-data below.
- This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
- <meta-data
- android:name="flutterEmbedding"
- android:value="2" />
</application>
</manifest>
diff --git a/examples/stocks/android/app/src/main/java/io/flutter/examples/stocks/MainActivity.java b/examples/stocks/android/app/src/main/java/io/flutter/examples/stocks/MainActivity.java
index 3d4d328..49886b8 100644
--- a/examples/stocks/android/app/src/main/java/io/flutter/examples/stocks/MainActivity.java
+++ b/examples/stocks/android/app/src/main/java/io/flutter/examples/stocks/MainActivity.java
@@ -4,14 +4,14 @@
package io.flutter.examples.stocks;
-import androidx.annotation.NonNull;
-import dev.flutter.plugins.GeneratedPluginRegistrant;
-import io.flutter.embedding.android.FlutterActivity;
-import io.flutter.embedding.engine.FlutterEngine;
+import android.os.Bundle;
+import io.flutter.app.FlutterActivity;
+import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
@Override
- public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
- GeneratedPluginRegistrant.registerWith(flutterEngine);
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ GeneratedPluginRegistrant.registerWith(this);
}
}