diff --git a/packages/firebase_analytics/CHANGELOG.md b/packages/firebase_analytics/CHANGELOG.md index 320289c2d858..16051241ebb9 100644 --- a/packages/firebase_analytics/CHANGELOG.md +++ b/packages/firebase_analytics/CHANGELOG.md @@ -1,3 +1,11 @@ +## 5.0.0 + +* **Breaking change**. Remove deprecated method `setMinimumSessionDuration`. +* **Breaking change**. Removed `FirebaseAnalyticsAndroid.setAnalyticsCollectionEnabled`. Use + `FirebaseAnalytics.setAnalyticsCollectionEnabled` instead. +* Update Android gradle plugin and gradle version. +* Remove redundant casts on Android. + ## 4.0.2 * Update google-services Android gradle plugin to 4.3.0 in documentation and examples. diff --git a/packages/firebase_analytics/android/build.gradle b/packages/firebase_analytics/android/build.gradle index ad0cb30fdb16..96633d9194bc 100755 --- a/packages/firebase_analytics/android/build.gradle +++ b/packages/firebase_analytics/android/build.gradle @@ -21,7 +21,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.3.0' + classpath 'com.android.tools.build:gradle:3.4.2' } } diff --git a/packages/firebase_analytics/android/src/main/java/io/flutter/plugins/firebaseanalytics/FirebaseAnalyticsPlugin.java b/packages/firebase_analytics/android/src/main/java/io/flutter/plugins/firebaseanalytics/FirebaseAnalyticsPlugin.java index 7215afb1e73b..0ec15c7cc22b 100755 --- a/packages/firebase_analytics/android/src/main/java/io/flutter/plugins/firebaseanalytics/FirebaseAnalyticsPlugin.java +++ b/packages/firebase_analytics/android/src/main/java/io/flutter/plugins/firebaseanalytics/FirebaseAnalyticsPlugin.java @@ -47,9 +47,6 @@ public void onMethodCall(MethodCall call, Result result) { case "setAnalyticsCollectionEnabled": handleSetAnalyticsCollectionEnabled(call, result); break; - case "setMinimumSessionDuration": - handleSetMinimumSessionDuration(call, result); - break; case "setSessionTimeoutDuration": handleSetSessionTimeoutDuration(call, result); break; @@ -57,7 +54,7 @@ public void onMethodCall(MethodCall call, Result result) { handleSetUserProperty(call, result); break; case "resetAnalyticsData": - handleResetAnalyticsData(call, result); + handleResetAnalyticsData(result); break; default: result.notImplemented(); @@ -66,13 +63,10 @@ public void onMethodCall(MethodCall call, Result result) { } private void handleLogEvent(MethodCall call, Result result) { - @SuppressWarnings("unchecked") - Map arguments = (Map) call.arguments; - final String eventName = (String) arguments.get("name"); - @SuppressWarnings("unchecked") - final Bundle parameterBundle = - createBundleFromMap((Map) arguments.get("parameters")); + final String eventName = call.argument("name"); + final Map map = call.argument("parameters"); + final Bundle parameterBundle = createBundleFromMap(map); firebaseAnalytics.logEvent(eventName, parameterBundle); result.success(null); } @@ -84,49 +78,40 @@ private void handleSetUserId(MethodCall call, Result result) { } private void handleSetCurrentScreen(MethodCall call, Result result) { - @SuppressWarnings("unchecked") Activity activity = registrar.activity(); if (activity == null) { result.error("no_activity", "handleSetCurrentScreen requires a foreground activity", null); return; } - Map arguments = (Map) call.arguments; - final String screenName = (String) arguments.get("screenName"); - final String screenClassOverride = (String) arguments.get("screenClassOverride"); + + final String screenName = call.argument("screenName"); + final String screenClassOverride = call.argument("screenClassOverride"); firebaseAnalytics.setCurrentScreen(activity, screenName, screenClassOverride); result.success(null); } private void handleSetAnalyticsCollectionEnabled(MethodCall call, Result result) { - final Boolean enabled = (Boolean) call.arguments; + final Boolean enabled = call.arguments(); firebaseAnalytics.setAnalyticsCollectionEnabled(enabled); result.success(null); } - private void handleSetMinimumSessionDuration(MethodCall call, Result result) { - final Integer milliseconds = (Integer) call.arguments; - firebaseAnalytics.setMinimumSessionDuration(milliseconds); - result.success(null); - } - private void handleSetSessionTimeoutDuration(MethodCall call, Result result) { - final Integer milliseconds = (Integer) call.arguments; + final Integer milliseconds = call.arguments(); firebaseAnalytics.setSessionTimeoutDuration(milliseconds); result.success(null); } private void handleSetUserProperty(MethodCall call, Result result) { - @SuppressWarnings("unchecked") - Map arguments = (Map) call.arguments; - final String name = (String) arguments.get("name"); - final String value = (String) arguments.get("value"); + final String name = call.argument("name"); + final String value = call.argument("value"); firebaseAnalytics.setUserProperty(name, value); result.success(null); } - private void handleResetAnalyticsData(MethodCall call, Result result) { + private void handleResetAnalyticsData(Result result) { firebaseAnalytics.resetAnalyticsData(); result.success(null); } diff --git a/packages/firebase_analytics/example/android/build.gradle b/packages/firebase_analytics/example/android/build.gradle index 695de848ec30..3f271ea72055 100755 --- a/packages/firebase_analytics/example/android/build.gradle +++ b/packages/firebase_analytics/example/android/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.3.0' + classpath 'com.android.tools.build:gradle:3.4.2' classpath 'com.google.gms:google-services:4.3.0' } } diff --git a/packages/firebase_analytics/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/firebase_analytics/example/android/gradle/wrapper/gradle-wrapper.properties index 019065d1d650..0c59c158ca01 100644 --- a/packages/firebase_analytics/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/firebase_analytics/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Wed Jul 31 23:52:55 BRT 2019 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.1.1-all.zip diff --git a/packages/firebase_analytics/example/lib/main.dart b/packages/firebase_analytics/example/lib/main.dart index 2c1d1b789984..2c3affd29c1c 100755 --- a/packages/firebase_analytics/example/lib/main.dart +++ b/packages/firebase_analytics/example/lib/main.dart @@ -94,11 +94,6 @@ class _MyHomePageState extends State { setMessage('setAnalyticsCollectionEnabled succeeded'); } - Future _testSetMinimumSessionDuration() async { - await analytics.android?.setMinimumSessionDuration(20000); - setMessage('setMinimumSessionDuration succeeded'); - } - Future _testSetSessionTimeoutDuration() async { await analytics.android?.setSessionTimeoutDuration(2000000); setMessage('setSessionTimeoutDuration succeeded'); @@ -298,10 +293,6 @@ class _MyHomePageState extends State { child: const Text('Test setAnalyticsCollectionEnabled'), onPressed: _testSetAnalyticsCollectionEnabled, ), - MaterialButton( - child: const Text('Test setMinimumSessionDuration'), - onPressed: _testSetMinimumSessionDuration, - ), MaterialButton( child: const Text('Test setSessionTimeoutDuration'), onPressed: _testSetSessionTimeoutDuration, diff --git a/packages/firebase_analytics/example/test_driver/firebase_analytics.dart b/packages/firebase_analytics/example/test_driver/firebase_analytics.dart index 40f994203284..ee09c9415527 100644 --- a/packages/firebase_analytics/example/test_driver/firebase_analytics.dart +++ b/packages/firebase_analytics/example/test_driver/firebase_analytics.dart @@ -25,7 +25,7 @@ void main() { expect(analytics.android, isNull); } if (Platform.isAndroid) { - await analytics.android.setMinimumSessionDuration(9000); + await analytics.android.setSessionTimeoutDuration(1000); } }); diff --git a/packages/firebase_analytics/lib/firebase_analytics.dart b/packages/firebase_analytics/lib/firebase_analytics.dart index 2dd17e09786f..c04ac1c3e468 100755 --- a/packages/firebase_analytics/lib/firebase_analytics.dart +++ b/packages/firebase_analytics/lib/firebase_analytics.dart @@ -24,7 +24,7 @@ class FirebaseAnalytics { /// Example: /// /// FirebaseAnalytics analytics = FirebaseAnalytics(); - /// analytics.android?.setMinimumSessionDuration(200000); + /// analytics.android?.setSessionTimeoutDuration(true); final FirebaseAnalyticsAndroid android = defaultTargetPlatform == TargetPlatform.android ? FirebaseAnalyticsAndroid() @@ -871,29 +871,6 @@ class FirebaseAnalytics { class FirebaseAnalyticsAndroid { final MethodChannel _channel = firebaseChannel; - /// Sets whether analytics collection is enabled for this app on this device. - /// - /// This setting is persisted across app sessions. By default it is enabled. - /// Deprecated: Use [FirebaseAnalytics.setAnalyticsCollectionEnabled] instead. - @deprecated - Future setAnalyticsCollectionEnabled(bool enabled) async { - if (enabled == null) { - throw ArgumentError.notNull('enabled'); - } - await _channel.invokeMethod('setAnalyticsCollectionEnabled', enabled); - } - - /// Sets the minimum engagement time required before starting a session. - /// - /// The default value is 10000 (10 seconds). - Future setMinimumSessionDuration(int milliseconds) async { - if (milliseconds == null) { - throw ArgumentError.notNull('milliseconds'); - } - await _channel.invokeMethod( - 'setMinimumSessionDuration', milliseconds); - } - /// Sets the duration of inactivity that terminates the current session. /// /// The default value is 1800000 (30 minutes). diff --git a/packages/firebase_analytics/pubspec.yaml b/packages/firebase_analytics/pubspec.yaml index 324fac8ac189..071ed2321382 100755 --- a/packages/firebase_analytics/pubspec.yaml +++ b/packages/firebase_analytics/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for Google Analytics for Firebase, an app measuremen solution that provides insight on app usage and user engagement on Android and iOS. author: Flutter Team homepage: https://github.com/flutter/plugins/tree/master/packages/firebase_analytics -version: 4.0.2 +version: 5.0.0 flutter: plugin: diff --git a/packages/firebase_analytics/test/firebase_analytics_test.dart b/packages/firebase_analytics/test/firebase_analytics_test.dart index 31fa713e1596..c8af79710f0d 100755 --- a/packages/firebase_analytics/test/firebase_analytics_test.dart +++ b/packages/firebase_analytics/test/firebase_analytics_test.dart @@ -113,17 +113,6 @@ void main() { ); }); - test('setMinimumSessionDuration', () async { - await analytics.android.setMinimumSessionDuration(123); - expect( - methodCall, - isMethodCall( - 'setMinimumSessionDuration', - arguments: 123, - ), - ); - }); - test('setSessionTimeoutDuration', () async { await analytics.android.setSessionTimeoutDuration(234); expect(