Fix analytics code (#3197)
diff --git a/lib/src/solver/result.dart b/lib/src/solver/result.dart index cec4f75..692b05f 100644 --- a/lib/src/solver/result.dart +++ b/lib/src/solver/result.dart
@@ -136,11 +136,9 @@ final dependenciesForAnalytics = <PackageId>[]; for (final package in packages) { - final source = package.source; // Only send analytics for packages from pub.dev. - if (source is HostedSource && - (runningFromTest || - package.description['url'] == HostedSource.pubDevUrl)) { + if (HostedSource.isFromPubDev(package) || + (package.source is HostedSource && runningFromTest)) { dependenciesForAnalytics.add(package); } }
diff --git a/lib/src/source/hosted.dart b/lib/src/source/hosted.dart index cfe582a..def4a98 100644 --- a/lib/src/source/hosted.dart +++ b/lib/src/source/hosted.dart
@@ -99,6 +99,11 @@ static String pubDevUrl = 'https://pub.dartlang.org'; + static bool isFromPubDev(PackageId id) { + return id.source is HostedSource && + (id.description as _HostedDescription).uri.toString() == pubDevUrl; + } + /// Gets the default URL for the package server for hosted dependencies. Uri get defaultUrl { // Changing this to pub.dev raises the following concerns: