From 3e71217018851e2c3c5f8717336d7405f45e6643 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAlio=20Cotta?= Date: Thu, 1 Aug 2019 00:13:31 -0300 Subject: [PATCH 1/8] Update AGP and Gradle. --- packages/firebase_analytics/android/build.gradle | 2 +- packages/firebase_analytics/example/android/build.gradle | 2 +- .../example/android/gradle/wrapper/gradle-wrapper.properties | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) 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/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 From 04b7b2375f43e44baa475c8ced5e5e3ec0aab354 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAlio=20Cotta?= Date: Thu, 1 Aug 2019 00:14:12 -0300 Subject: [PATCH 2/8] Remove deprecated Android method setMinimumSessionDuration. --- .../FirebaseAnalyticsPlugin.java | 14 ++------------ packages/firebase_analytics/example/lib/main.dart | 9 --------- .../example/test_driver/firebase_analytics.dart | 2 +- .../lib/firebase_analytics.dart | 15 +-------------- .../test/firebase_analytics_test.dart | 11 ----------- 5 files changed, 4 insertions(+), 47 deletions(-) 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..ae8654187090 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(); @@ -84,7 +81,6 @@ 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); @@ -104,12 +100,6 @@ private void handleSetAnalyticsCollectionEnabled(MethodCall call, Result result) 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; firebaseAnalytics.setSessionTimeoutDuration(milliseconds); @@ -126,7 +116,7 @@ private void handleSetUserProperty(MethodCall call, Result result) { 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/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..4d2e732ad35e 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.setAnalyticsCollectionEnabled(true); } }); diff --git a/packages/firebase_analytics/lib/firebase_analytics.dart b/packages/firebase_analytics/lib/firebase_analytics.dart index 2dd17e09786f..f3d9f8e2ba63 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?.setAnalyticsCollectionEnabled(true); final FirebaseAnalyticsAndroid android = defaultTargetPlatform == TargetPlatform.android ? FirebaseAnalyticsAndroid() @@ -874,8 +874,6 @@ class FirebaseAnalyticsAndroid { /// 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'); @@ -883,17 +881,6 @@ class FirebaseAnalyticsAndroid { 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/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( From 0488db3774be0980bca3368c8fa2316a1e770abc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAlio=20Cotta?= Date: Thu, 1 Aug 2019 00:34:50 -0300 Subject: [PATCH 3/8] Removed reduntant casting --- .../FirebaseAnalyticsPlugin.java | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) 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 ae8654187090..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 @@ -63,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); } @@ -86,31 +83,29 @@ private void handleSetCurrentScreen(MethodCall call, Result result) { 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 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); From 70d5a7a3d54cc1c879d7820ed15c6ee58f31b044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAlio=20Cotta?= Date: Thu, 1 Aug 2019 00:42:15 -0300 Subject: [PATCH 4/8] update CHANGELOG.md and pubspec.yaml --- packages/firebase_analytics/CHANGELOG.md | 6 ++++++ packages/firebase_analytics/pubspec.yaml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/firebase_analytics/CHANGELOG.md b/packages/firebase_analytics/CHANGELOG.md index 320289c2d858..7c88be0f00cf 100644 --- a/packages/firebase_analytics/CHANGELOG.md +++ b/packages/firebase_analytics/CHANGELOG.md @@ -1,3 +1,9 @@ +## 5.0.0 + +* Android : Remove deprecated method `setMinimumSessionDuration`. +* Android : AGP and gradle update. +* Android : Remove redundant castings. + ## 4.0.2 * Update google-services Android gradle plugin to 4.3.0 in documentation and examples. 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: From f4eb61ccc8d1f538c7b6d2fb4354cfea942cd0e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAlio=20Cotta?= Date: Mon, 5 Aug 2019 01:54:41 -0300 Subject: [PATCH 5/8] remove `FirebaseAnalyticsAndroid.setAnalyticsCollectionEnabled` --- .../firebase_analytics/lib/firebase_analytics.dart | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/packages/firebase_analytics/lib/firebase_analytics.dart b/packages/firebase_analytics/lib/firebase_analytics.dart index f3d9f8e2ba63..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?.setAnalyticsCollectionEnabled(true); + /// analytics.android?.setSessionTimeoutDuration(true); final FirebaseAnalyticsAndroid android = defaultTargetPlatform == TargetPlatform.android ? FirebaseAnalyticsAndroid() @@ -871,16 +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. - Future setAnalyticsCollectionEnabled(bool enabled) async { - if (enabled == null) { - throw ArgumentError.notNull('enabled'); - } - await _channel.invokeMethod('setAnalyticsCollectionEnabled', enabled); - } - /// Sets the duration of inactivity that terminates the current session. /// /// The default value is 1800000 (30 minutes). From f49fb2fa7c880d4fe6382c0ea0b6ac694d0cc37a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAlio=20Cotta?= Date: Mon, 5 Aug 2019 01:55:10 -0300 Subject: [PATCH 6/8] update CHANGELOG.md --- packages/firebase_analytics/CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/firebase_analytics/CHANGELOG.md b/packages/firebase_analytics/CHANGELOG.md index 7c88be0f00cf..a81e475205eb 100644 --- a/packages/firebase_analytics/CHANGELOG.md +++ b/packages/firebase_analytics/CHANGELOG.md @@ -1,8 +1,8 @@ ## 5.0.0 -* Android : Remove deprecated method `setMinimumSessionDuration`. -* Android : AGP and gradle update. -* Android : Remove redundant castings. +* **Breaking change**. Remove deprecated method `setMinimumSessionDuration`. +* **Breaking change**. Removed `FirebaseAnalyticsAndroid.setAnalyticsCollectionEnabled`. Use `FirebaseAnalytics.setAnalyticsCollectionEnabled` instead. +* AGP and gradle update and Remove redundant castings on Android. ## 4.0.2 From 0c8b2ab66a0603da29bbe78ab3e9e1096d25ec08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAlio=20Cotta?= Date: Mon, 5 Aug 2019 20:00:36 -0300 Subject: [PATCH 7/8] fix test --- .../example/test_driver/firebase_analytics.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/firebase_analytics/example/test_driver/firebase_analytics.dart b/packages/firebase_analytics/example/test_driver/firebase_analytics.dart index 4d2e732ad35e..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.setAnalyticsCollectionEnabled(true); + await analytics.android.setSessionTimeoutDuration(1000); } }); From 8e2d9d46201274b1b7710335a77b0004367bd455 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Tue, 6 Aug 2019 10:23:47 -0700 Subject: [PATCH 8/8] Update CHANGELOG.md --- packages/firebase_analytics/CHANGELOG.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/firebase_analytics/CHANGELOG.md b/packages/firebase_analytics/CHANGELOG.md index a81e475205eb..16051241ebb9 100644 --- a/packages/firebase_analytics/CHANGELOG.md +++ b/packages/firebase_analytics/CHANGELOG.md @@ -1,8 +1,10 @@ ## 5.0.0 * **Breaking change**. Remove deprecated method `setMinimumSessionDuration`. -* **Breaking change**. Removed `FirebaseAnalyticsAndroid.setAnalyticsCollectionEnabled`. Use `FirebaseAnalytics.setAnalyticsCollectionEnabled` instead. -* AGP and gradle update and Remove redundant castings on Android. +* **Breaking change**. Removed `FirebaseAnalyticsAndroid.setAnalyticsCollectionEnabled`. Use + `FirebaseAnalytics.setAnalyticsCollectionEnabled` instead. +* Update Android gradle plugin and gradle version. +* Remove redundant casts on Android. ## 4.0.2