diff --git a/packages/android_intent/CHANGELOG.md b/packages/android_intent/CHANGELOG.md
index 47f1917e3e8a..6160ba54b003 100644
--- a/packages/android_intent/CHANGELOG.md
+++ b/packages/android_intent/CHANGELOG.md
@@ -1,3 +1,11 @@
+## 0.3.6+1
+
+* Bump the minimum Flutter version to 1.12.13+hotfix.5.
+* Bump the minimum Dart version to 2.3.0.
+* Uses Darts spread operator to build plugin arguments internally.
+* Remove deprecated API usage warning in AndroidIntentPlugin.java.
+* Migrates the Android example to V2 embedding.
+
## 0.3.6
* Marks the `action` parameter as optional
diff --git a/packages/android_intent/android/build.gradle b/packages/android_intent/android/build.gradle
index 008b49ff7719..d261dac7df1c 100644
--- a/packages/android_intent/android/build.gradle
+++ b/packages/android_intent/android/build.gradle
@@ -43,29 +43,3 @@ dependencies {
testImplementation 'androidx.test:core:1.0.0'
testImplementation 'org.robolectric:robolectric:4.3'
}
-
-// TODO(mklim): Remove this hack once androidx.lifecycle is included on stable. https://github.com/flutter/flutter/issues/42348
-afterEvaluate {
- def containsEmbeddingDependencies = false
- for (def configuration : configurations.all) {
- for (def dependency : configuration.dependencies) {
- if (dependency.group == 'io.flutter' &&
- dependency.name.startsWith('flutter_embedding') &&
- dependency.isTransitive())
- {
- containsEmbeddingDependencies = true
- break
- }
- }
- }
- if (!containsEmbeddingDependencies) {
- android {
- dependencies {
- def lifecycle_version = "1.1.1"
- compileOnly "android.arch.lifecycle:runtime:$lifecycle_version"
- compileOnly "android.arch.lifecycle:common:$lifecycle_version"
- compileOnly "android.arch.lifecycle:common-java8:$lifecycle_version"
- }
- }
- }
-}
diff --git a/packages/android_intent/android/src/main/java/io/flutter/plugins/androidintent/AndroidIntentPlugin.java b/packages/android_intent/android/src/main/java/io/flutter/plugins/androidintent/AndroidIntentPlugin.java
index 10c807979162..2f35dfcf0372 100644
--- a/packages/android_intent/android/src/main/java/io/flutter/plugins/androidintent/AndroidIntentPlugin.java
+++ b/packages/android_intent/android/src/main/java/io/flutter/plugins/androidintent/AndroidIntentPlugin.java
@@ -42,7 +42,7 @@ public static void registerWith(Registrar registrar) {
public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) {
sender.setApplicationContext(binding.getApplicationContext());
sender.setActivity(null);
- impl.startListening(binding.getFlutterEngine().getDartExecutor());
+ impl.startListening(binding.getBinaryMessenger());
}
@Override
diff --git a/packages/android_intent/example/android/app/src/main/AndroidManifest.xml b/packages/android_intent/example/android/app/src/main/AndroidManifest.xml
index 7d6fcd44834f..761c35fd64d8 100644
--- a/packages/android_intent/example/android/app/src/main/AndroidManifest.xml
+++ b/packages/android_intent/example/android/app/src/main/AndroidManifest.xml
@@ -11,25 +11,27 @@
android:label="android_intent_example"
android:name="io.flutter.app.FlutterApplication">
-
+
+
+
+
+
diff --git a/packages/android_intent/example/android/app/src/main/java/io/flutter/plugins/androidintentexample/EmbeddingV1Activity.java b/packages/android_intent/example/android/app/src/main/java/io/flutter/plugins/androidintentexample/EmbeddingV1Activity.java
index 95dc41a02ef7..1bbe89a4a4cb 100644
--- a/packages/android_intent/example/android/app/src/main/java/io/flutter/plugins/androidintentexample/EmbeddingV1Activity.java
+++ b/packages/android_intent/example/android/app/src/main/java/io/flutter/plugins/androidintentexample/EmbeddingV1Activity.java
@@ -6,12 +6,13 @@
import android.os.Bundle;
import io.flutter.app.FlutterActivity;
-import io.flutter.plugins.GeneratedPluginRegistrant;
+import io.flutter.plugins.androidintent.AndroidIntentPlugin;
public class EmbeddingV1Activity extends FlutterActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- GeneratedPluginRegistrant.registerWith(this);
+ AndroidIntentPlugin.registerWith(
+ registrarFor("io.flutter.plugins.androidintent.AndroidIntentPlugin"));
}
}
diff --git a/packages/android_intent/example/android/app/src/main/java/io/flutter/plugins/androidintentexample/MainActivity.java b/packages/android_intent/example/android/app/src/main/java/io/flutter/plugins/androidintentexample/MainActivity.java
deleted file mode 100644
index 56e0bab207d4..000000000000
--- a/packages/android_intent/example/android/app/src/main/java/io/flutter/plugins/androidintentexample/MainActivity.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.flutter.plugins.androidintentexample;
-
-import io.flutter.embedding.android.FlutterActivity;
-import io.flutter.embedding.engine.FlutterEngine;
-import io.flutter.plugins.androidintent.AndroidIntentPlugin;
-
-public class MainActivity extends FlutterActivity {
- @Override
- public void configureFlutterEngine(FlutterEngine flutterEngine) {
- flutterEngine.getPlugins().add(new AndroidIntentPlugin());
- }
-}
diff --git a/packages/android_intent/example/pubspec.yaml b/packages/android_intent/example/pubspec.yaml
index 4418e9fb82c6..22ff833f8198 100644
--- a/packages/android_intent/example/pubspec.yaml
+++ b/packages/android_intent/example/pubspec.yaml
@@ -16,6 +16,3 @@ dev_dependencies:
# The following section is specific to Flutter.
flutter:
uses-material-design: true
-
-environment:
- flutter: ">=1.9.1+hotfix.2 <2.0.0"
\ No newline at end of file
diff --git a/packages/android_intent/lib/android_intent.dart b/packages/android_intent/lib/android_intent.dart
index 26e270a3a79b..ff95299a93fd 100644
--- a/packages/android_intent/lib/android_intent.dart
+++ b/packages/android_intent/lib/android_intent.dart
@@ -134,31 +134,23 @@ class AndroidIntent {
if (!_platform.isAndroid) {
return;
}
- final Map args = {};
- if (action != null) {
- args['action'] = action;
- }
- if (flags != null) {
- args['flags'] = convertFlags(flags);
- }
- if (category != null) {
- args['category'] = category;
- }
- if (data != null) {
- args['data'] = data;
- }
- if (arguments != null) {
- args['arguments'] = arguments;
- }
- if (package != null) {
- args['package'] = package;
- if (componentName != null) {
- args['componentName'] = componentName;
- }
- }
- if (type != null) {
- args['type'] = type;
- }
- await _channel.invokeMethod('launch', args);
+
+ await _channel.invokeMethod('launch', _buildArguments());
+ }
+
+ /// Constructs the map of arguments which is passed to the plugin.
+ Map _buildArguments() {
+ return {
+ if (action != null) 'action': action,
+ if (flags != null) 'flags': convertFlags(flags),
+ if (category != null) 'category': category,
+ if (data != null) 'data': data,
+ if (arguments != null) 'arguments': arguments,
+ if (package != null) ...{
+ 'package': package,
+ if (componentName != null) 'componentName': componentName,
+ },
+ if (type != null) 'type': type,
+ };
}
}
diff --git a/packages/android_intent/pubspec.yaml b/packages/android_intent/pubspec.yaml
index 2faf45e915f6..82f6e187ace5 100644
--- a/packages/android_intent/pubspec.yaml
+++ b/packages/android_intent/pubspec.yaml
@@ -1,7 +1,7 @@
name: android_intent
description: Flutter plugin for launching Android Intents. Not supported on iOS.
homepage: https://github.com/flutter/plugins/tree/master/packages/android_intent
-version: 0.3.6
+version: 0.3.6+1
flutter:
plugin:
@@ -23,5 +23,5 @@ dev_dependencies:
pedantic: ^1.8.0
environment:
- sdk: ">=2.0.0-dev.28.0 <3.0.0"
- flutter: ">=1.10.0 <2.0.0"
+ sdk: ">=2.3.0 <3.0.0"
+ flutter: ">=1.12.13+hotfix.5 <2.0.0"
\ No newline at end of file