From cdd3f8d86c9c0892c83d8f3c06eba8c3b25af135 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Thu, 26 Dec 2019 16:59:23 +0100 Subject: [PATCH] Use flutter_runtime_env Now almost all of the custom Java/iOS code has been moved to plugins. --- .../gitjournal/gitjournal/MainActivity.java | 26 ------------------- lib/app.dart | 10 +++---- lib/utils.dart | 12 --------- pubspec.lock | 7 +++++ pubspec.yaml | 1 + 5 files changed, 11 insertions(+), 45 deletions(-) diff --git a/android/app/src/main/java/io/gitjournal/gitjournal/MainActivity.java b/android/app/src/main/java/io/gitjournal/gitjournal/MainActivity.java index 4935eea8..ba2600c6 100644 --- a/android/app/src/main/java/io/gitjournal/gitjournal/MainActivity.java +++ b/android/app/src/main/java/io/gitjournal/gitjournal/MainActivity.java @@ -40,35 +40,9 @@ public class MainActivity extends FlutterActivity implements MethodCallHandler { Context context = getApplicationContext(); final String filesDir = PathUtils.getFilesDir(context); - Log.d("GitJournalAndroid", "Called method " + call.method); - if (call.arguments instanceof Map) { - Map map = (Map) call.arguments; - for (Map.Entry entry : map.entrySet()) { - Object val = entry.getValue(); - String objVal = ""; - if (val != null) { - objVal = val.toString(); - } - Log.d("GitJournalAndroid", ". " + entry.getKey() + ": " + val); - } - } - if (call.method.equals("getBaseDirectory")) { result.success(filesDir); return; - } else if (call.method.equals("shouldEnableAnalytics")) { - boolean shouldBe = true; - String testLabSetting = Settings.System.getString(context.getContentResolver(), "firebase.test.lab"); - if ("true".equals(testLabSetting)) { - shouldBe = false; - } - - if (BuildConfig.DEBUG) { - shouldBe = false; - } - - result.success(shouldBe); - return; } result.notImplemented(); diff --git a/lib/app.dart b/lib/app.dart index 610285d6..84cf07e8 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -7,13 +7,13 @@ import 'package:firebase_analytics/observer.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:path/path.dart' as p; +import 'package:flutter_runtime_env/flutter_runtime_env.dart' as runtime_env; import 'package:git_bindings/git_bindings.dart'; import 'package:gitjournal/apis/git.dart'; import 'package:gitjournal/settings.dart'; import 'package:gitjournal/state_container.dart'; -import 'package:gitjournal/utils.dart'; import 'package:gitjournal/appstate.dart'; import 'package:gitjournal/themes.dart'; @@ -62,10 +62,7 @@ class JournalApp extends StatelessWidget { } static void _enableAnalyticsIfPossible() async { - // - // Check if in debugMode or not a real device - // - assert(JournalApp.isInDebugMode = true); + JournalApp.isInDebugMode = runtime_env.isInDebugMode(); var isPhysicalDevice = true; try { @@ -82,12 +79,11 @@ class JournalApp extends StatelessWidget { } if (isPhysicalDevice == false) { - Fimber.d("Not running in a physcial device"); JournalApp.isInDebugMode = true; } bool should = (JournalApp.isInDebugMode == false); - should = should && (await shouldEnableAnalytics()); + should = should && (await runtime_env.inFirebaseTestLab()); Fimber.d("Analytics Collection: $should"); JournalApp.analytics.setAnalyticsCollectionEnabled(should); diff --git a/lib/utils.dart b/lib/utils.dart index bd394903..7704d9a2 100644 --- a/lib/utils.dart +++ b/lib/utils.dart @@ -1,6 +1,5 @@ import 'package:fimber/fimber.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; import 'package:package_info/package_info.dart'; import 'package:flushbar/flushbar.dart'; @@ -23,17 +22,6 @@ Future getVersionString() async { return versionText; } -Future shouldEnableAnalytics() async { - try { - const _platform = MethodChannel('gitjournal.io/git'); - final bool result = await _platform.invokeMethod('shouldEnableAnalytics'); - return result; - } on MissingPluginException catch (e) { - Fimber.d("shouldEnableAnalytics: $e"); - return false; - } -} - void showUndoDeleteSnackbar( BuildContext context, StateContainerState stateContainer, diff --git a/pubspec.lock b/pubspec.lock index 4cad346d..705e0ba8 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -193,6 +193,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.3.2" + flutter_runtime_env: + dependency: "direct main" + description: + name: flutter_runtime_env + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.1" flutter_staggered_grid_view: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 70b05259..c628a3f8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -32,6 +32,7 @@ dependencies: provider: ^3.2.0 git_bindings: ^0.0.6 fetch_app_logs: ^0.0.2 + flutter_runtime_env: ^0.0.1 dev_dependencies: flutter_launcher_icons: "^0.7.2"