[device_info] Update Android embedding to match latest Flutter stable release (#2590)
* Update V2 plugin migration to match current flutter stable
* Bump AGP to 3.6.1
diff --git a/packages/device_info/CHANGELOG.md b/packages/device_info/CHANGELOG.md
index 68aeed8..c6f8fb2 100644
--- a/packages/device_info/CHANGELOG.md
+++ b/packages/device_info/CHANGELOG.md
@@ -1,3 +1,10 @@
+## 0.4.2+1
+
+* Bump the minimum Flutter version to 1.12.13+hotfix.5.
+* Remove deprecated API usage warning in AndroidIntentPlugin.java.
+* Migrates the Android example to V2 embedding.
+* Bumps AGP to 3.6.1.
+
## 0.4.2
* Add systemFeatures to AndroidDeviceInfo.
diff --git a/packages/device_info/android/build.gradle b/packages/device_info/android/build.gradle
index d1dd790..58bdfd3 100644
--- a/packages/device_info/android/build.gradle
+++ b/packages/device_info/android/build.gradle
@@ -8,7 +8,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.3.0'
+ classpath 'com.android.tools.build:gradle:3.6.1'
}
}
@@ -32,29 +32,3 @@
disable 'InvalidPackage'
}
}
-
-// TODO(cyanglaz): 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/device_info/android/src/main/java/io/flutter/plugins/deviceinfo/DeviceInfoPlugin.java b/packages/device_info/android/src/main/java/io/flutter/plugins/deviceinfo/DeviceInfoPlugin.java
index a0435a4..8061959 100644
--- a/packages/device_info/android/src/main/java/io/flutter/plugins/deviceinfo/DeviceInfoPlugin.java
+++ b/packages/device_info/android/src/main/java/io/flutter/plugins/deviceinfo/DeviceInfoPlugin.java
@@ -23,8 +23,7 @@
@Override
public void onAttachedToEngine(FlutterPlugin.FlutterPluginBinding binding) {
- setupMethodChannel(
- binding.getFlutterEngine().getDartExecutor(), binding.getApplicationContext());
+ setupMethodChannel(binding.getBinaryMessenger(), binding.getApplicationContext());
}
@Override
diff --git a/packages/device_info/example/android/app/src/main/AndroidManifest.xml b/packages/device_info/example/android/app/src/main/AndroidManifest.xml
index 45242ab..f9f91fa 100644
--- a/packages/device_info/example/android/app/src/main/AndroidManifest.xml
+++ b/packages/device_info/example/android/app/src/main/AndroidManifest.xml
@@ -12,15 +12,20 @@
android:exported="true"
android:windowSoftInputMode="adjustResize">
</activity>
- <activity android:name=".MainActivity"
- android:theme="@android:style/Theme.Black.NoTitleBar"
- android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection"
- android:hardwareAccelerated="true"
- android:windowSoftInputMode="adjustResize">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </activity>
+
+ <activity android:name="io.flutter.embedding.android.FlutterActivity"
+ android:theme="@android:style/Theme.Black.NoTitleBar"
+ android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale"
+ android:hardwareAccelerated="true"
+ android:windowSoftInputMode="adjustResize">
+ <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>
+ <meta-data android:name="flutterEmbedding" android:value="2"/>
</application>
</manifest>
diff --git a/packages/device_info/example/android/app/src/main/java/io/flutter/plugins/deviceinfoexample/EmbeddingV1Activity.java b/packages/device_info/example/android/app/src/main/java/io/flutter/plugins/deviceinfoexample/EmbeddingV1Activity.java
index 0bfaee8..48678a7 100644
--- a/packages/device_info/example/android/app/src/main/java/io/flutter/plugins/deviceinfoexample/EmbeddingV1Activity.java
+++ b/packages/device_info/example/android/app/src/main/java/io/flutter/plugins/deviceinfoexample/EmbeddingV1Activity.java
@@ -6,12 +6,12 @@
import android.os.Bundle;
import io.flutter.app.FlutterActivity;
-import io.flutter.plugins.GeneratedPluginRegistrant;
+import io.flutter.plugins.deviceinfo.DeviceInfoPlugin;
public class EmbeddingV1Activity extends FlutterActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- GeneratedPluginRegistrant.registerWith(this);
+ DeviceInfoPlugin.registerWith(registrarFor("io.flutter.plugins.deviceinfo.DeviceInfoPlugin"));
}
}
diff --git a/packages/device_info/example/android/app/src/main/java/io/flutter/plugins/deviceinfoexample/MainActivity.java b/packages/device_info/example/android/app/src/main/java/io/flutter/plugins/deviceinfoexample/MainActivity.java
deleted file mode 100644
index b820542..0000000
--- a/packages/device_info/example/android/app/src/main/java/io/flutter/plugins/deviceinfoexample/MainActivity.java
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2019 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package io.flutter.plugins.deviceinfoexample;
-
-import io.flutter.embedding.android.FlutterActivity;
-import io.flutter.embedding.engine.FlutterEngine;
-import io.flutter.plugins.deviceinfo.DeviceInfoPlugin;
-
-public class MainActivity extends FlutterActivity {
-
- // TODO(cyanglaz): Remove this once v2 of GeneratedPluginRegistrant rolls to stable.
- // https://github.com/flutter/flutter/issues/42694
- @Override
- public void configureFlutterEngine(FlutterEngine flutterEngine) {
- super.configureFlutterEngine(flutterEngine);
- flutterEngine.getPlugins().add(new DeviceInfoPlugin());
- }
-}
diff --git a/packages/device_info/example/android/app/src/main/java/io/flutter/plugins/deviceinfoexample/MainActivityTest.java b/packages/device_info/example/android/app/src/main/java/io/flutter/plugins/deviceinfoexample/MainActivityTest.java
deleted file mode 100644
index 36967eb..0000000
--- a/packages/device_info/example/android/app/src/main/java/io/flutter/plugins/deviceinfoexample/MainActivityTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2019 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package io.flutter.plugins.deviceinfoexample;
-
-import androidx.test.rule.ActivityTestRule;
-import dev.flutter.plugins.e2e.FlutterRunner;
-import org.junit.Rule;
-import org.junit.runner.RunWith;
-
-@RunWith(FlutterRunner.class)
-public class MainActivityTest {
- @Rule public ActivityTestRule<MainActivity> rule = new ActivityTestRule<>(MainActivity.class);
-}
diff --git a/packages/device_info/example/android/build.gradle b/packages/device_info/example/android/build.gradle
index 541636c..83f114c 100644
--- a/packages/device_info/example/android/build.gradle
+++ b/packages/device_info/example/android/build.gradle
@@ -5,7 +5,7 @@
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.3.0'
+ classpath 'com.android.tools.build:gradle:3.6.1'
}
}
diff --git a/packages/device_info/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/device_info/example/android/gradle/wrapper/gradle-wrapper.properties
index 2819f02..c243e25 100644
--- a/packages/device_info/example/android/gradle/wrapper/gradle-wrapper.properties
+++ b/packages/device_info/example/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Fri Jun 23 08:50:38 CEST 2017
+#Mon Mar 09 11:05:13 GMT 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
diff --git a/packages/device_info/example/pubspec.yaml b/packages/device_info/example/pubspec.yaml
index 89bf430..dc63d8b 100644
--- a/packages/device_info/example/pubspec.yaml
+++ b/packages/device_info/example/pubspec.yaml
@@ -15,8 +15,3 @@
flutter:
uses-material-design: true
-
-environment:
- sdk: ">=2.0.0-dev.28.0 <3.0.0"
- flutter: ">=1.9.1+hotfix.2 <2.0.0"
-
diff --git a/packages/device_info/pubspec.yaml b/packages/device_info/pubspec.yaml
index 06a530b..0769f98 100644
--- a/packages/device_info/pubspec.yaml
+++ b/packages/device_info/pubspec.yaml
@@ -2,7 +2,7 @@
description: Flutter plugin providing detailed information about the device
(make, model, etc.), and Android or iOS version the app is running on.
homepage: https://github.com/flutter/plugins/tree/master/packages/device_info
-version: 0.4.2
+version: 0.4.2+1
flutter:
plugin:
@@ -26,4 +26,4 @@
environment:
sdk: ">=2.0.0-dev.28.0 <3.0.0"
- flutter: ">=1.10.0 <2.0.0"
+ flutter: ">=1.12.13+hotfix.5 <2.0.0"