[ci] Enable no_runtimeType_toString (#3129)

Enables the `no_runtimeType_toString` analysis option. This isn't part
of the base flutter/flutter analysis options, but is set in
flutter/packages which this repo better corresponds to.

This is already enabled in flutter/plugins, and is being enabled here as
part of aligning their options.

Part of https://github.com/flutter/flutter/issues/113764
diff --git a/analysis_options.yaml b/analysis_options.yaml
index 79eeca9..498d19d 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -115,7 +115,7 @@
     - no_leading_underscores_for_library_prefixes
     - no_leading_underscores_for_local_identifiers
     - no_logic_in_create_state
-    # - no_runtimeType_toString # ok in tests; we enable this only in packages/
+    - no_runtimeType_toString # DIFFERENT FROM FLUTTER/FLUTTER
     - non_constant_identifier_names
     - noop_primitive_operations
     - null_check_on_nullable_type_parameter
diff --git a/packages/flutter_image/CHANGELOG.md b/packages/flutter_image/CHANGELOG.md
index 7413350..1a2b63e 100644
--- a/packages/flutter_image/CHANGELOG.md
+++ b/packages/flutter_image/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 4.1.5
+
+* Removes use of `runtimeType.toString()`.
+
 ## 4.1.4
 
 * Ignores lint warnings from new changes in Flutter master.
diff --git a/packages/flutter_image/lib/network.dart b/packages/flutter_image/lib/network.dart
index 109634d..841d9ad 100644
--- a/packages/flutter_image/lib/network.dart
+++ b/packages/flutter_image/lib/network.dart
@@ -214,8 +214,8 @@
       FlutterError.onError!(FlutterErrorDetails(
         exception: lastFailure!,
         library: 'package:flutter_image',
-        context:
-            ErrorDescription('$runtimeType failed to load ${instructions.uri}'),
+        context: ErrorDescription(
+            '${objectRuntimeType(this, 'NetworkImageWithRetry')} failed to load ${instructions.uri}'),
       ));
     }
 
@@ -236,7 +236,8 @@
   int get hashCode => Object.hash(url, scale);
 
   @override
-  String toString() => '$runtimeType("$url", scale: $scale)';
+  String toString() =>
+      '${objectRuntimeType(this, 'NetworkImageWithRetry')}("$url", scale: $scale)';
 }
 
 /// This function is called to get [FetchInstructions] to fetch an image.
@@ -295,7 +296,7 @@
 
   @override
   String toString() {
-    return '$runtimeType(\n'
+    return '${objectRuntimeType(this, 'FetchInstructions')}(\n'
         '  shouldGiveUp: $shouldGiveUp\n'
         '  timeout: $timeout\n'
         '  uri: $uri\n'
@@ -332,7 +333,7 @@
 
   @override
   String toString() {
-    return '$runtimeType(\n'
+    return '${objectRuntimeType(this, 'FetchFailure')}(\n'
         '  attemptCount: $attemptCount\n'
         '  httpStatusCode: $httpStatusCode\n'
         '  totalDuration: $totalDuration\n'
diff --git a/packages/flutter_image/pubspec.yaml b/packages/flutter_image/pubspec.yaml
index 3fa9421..340d655 100644
--- a/packages/flutter_image/pubspec.yaml
+++ b/packages/flutter_image/pubspec.yaml
@@ -3,7 +3,7 @@
   Image utilities for Flutter: improved network providers, effects, etc.
 repository: https://github.com/flutter/packages/tree/main/packages/flutter_image
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+flutter_image%22
-version: 4.1.4
+version: 4.1.5
 
 environment:
   sdk: ">=2.12.0 <3.0.0"
diff --git a/packages/flutter_migrate/CHANGELOG.md b/packages/flutter_migrate/CHANGELOG.md
index e6a465c..5aaff1c 100644
--- a/packages/flutter_migrate/CHANGELOG.md
+++ b/packages/flutter_migrate/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.0.1+2
+
+* Removes use of `runtimeType.toString()`.
+
 ## 0.0.1+1
 
 * Updates code to fix strict-cast violations.
diff --git a/packages/flutter_migrate/lib/src/base/terminal.dart b/packages/flutter_migrate/lib/src/base/terminal.dart
index 07976aa..aeb8f28 100644
--- a/packages/flutter_migrate/lib/src/base/terminal.dart
+++ b/packages/flutter_migrate/lib/src/base/terminal.dart
@@ -72,7 +72,7 @@
 
   @override
   String toString() {
-    return '$runtimeType[wrapText: $wrapText, wrapColumn: $wrapColumn, showColor: $showColor]';
+    return 'OutputPreferences[wrapText: $wrapText, wrapColumn: $wrapColumn, showColor: $showColor]';
   }
 }
 
diff --git a/packages/flutter_migrate/pubspec.yaml b/packages/flutter_migrate/pubspec.yaml
index a1f06cb..7fefa3d 100644
--- a/packages/flutter_migrate/pubspec.yaml
+++ b/packages/flutter_migrate/pubspec.yaml
@@ -1,6 +1,6 @@
 name: flutter_migrate
 description: A tool to migrate legacy flutter projects to modern versions.
-version: 0.0.1+1
+version: 0.0.1+2
 repository: https://github.com/flutter/packages/tree/main/packages/flutter_migrate
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ap%3A%20flutter_migrate
 publish_to: none
diff --git a/packages/flutter_migrate/test/src/fakes.dart b/packages/flutter_migrate/test/src/fakes.dart
index 3e6b072..b78ed64 100644
--- a/packages/flutter_migrate/test/src/fakes.dart
+++ b/packages/flutter_migrate/test/src/fakes.dart
@@ -265,7 +265,7 @@
   }
 
   @override
-  String toString() => '$runtimeType $elapsed $isRunning';
+  String toString() => 'FakeStopwatch $elapsed $isRunning';
 }
 
 class FakeStopwatchFactory implements StopwatchFactory {
diff --git a/packages/multicast_dns/CHANGELOG.md b/packages/multicast_dns/CHANGELOG.md
index 68aad38..55ee390 100644
--- a/packages/multicast_dns/CHANGELOG.md
+++ b/packages/multicast_dns/CHANGELOG.md
@@ -1,5 +1,6 @@
-## NEXT
+## 0.3.2+3
 
+* Removes use of `runtimeType.toString()`.
 * Updates minimum SDK version to Flutter 3.0.
 
 ## 0.3.2+2
diff --git a/packages/multicast_dns/lib/src/resource_record.dart b/packages/multicast_dns/lib/src/resource_record.dart
index 65320d5..d58da79 100644
--- a/packages/multicast_dns/lib/src/resource_record.dart
+++ b/packages/multicast_dns/lib/src/resource_record.dart
@@ -167,7 +167,7 @@
 
   @override
   String toString() =>
-      '$runtimeType{$fullyQualifiedName, type: ${ResourceRecordType.toDebugString(resourceRecordType)}, isMulticast: $isMulticast}';
+      'ResourceRecordQuery{$fullyQualifiedName, type: ${ResourceRecordType.toDebugString(resourceRecordType)}, isMulticast: $isMulticast}';
 }
 
 /// Base implementation of DNS resource records (RRs).
diff --git a/packages/multicast_dns/pubspec.yaml b/packages/multicast_dns/pubspec.yaml
index 39571ce..8aa9b77 100644
--- a/packages/multicast_dns/pubspec.yaml
+++ b/packages/multicast_dns/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Dart package for performing mDNS queries (e.g. Bonjour, Avahi).
 repository: https://github.com/flutter/packages/tree/main/packages/multicast_dns
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+multicast_dns%22
-version: 0.3.2+2
+version: 0.3.2+3
 
 environment:
   sdk: ">=2.17.0 <3.0.0"
diff --git a/packages/rfw/CHANGELOG.md b/packages/rfw/CHANGELOG.md
index 5f44232..fa07c6b 100644
--- a/packages/rfw/CHANGELOG.md
+++ b/packages/rfw/CHANGELOG.md
@@ -1,5 +1,6 @@
-## NEXT
+## 1.0.8
 
+* Removes use of `runtimeType.toString()`.
 * Updates code to fix strict-cast violations.
 
 ## 1.0.7
diff --git a/packages/rfw/lib/src/flutter/content.dart b/packages/rfw/lib/src/flutter/content.dart
index e122aff..84a1eab 100644
--- a/packages/rfw/lib/src/flutter/content.dart
+++ b/packages/rfw/lib/src/flutter/content.dart
@@ -7,6 +7,8 @@
 import 'dart:async';
 import 'dart:convert';
 
+import 'package:flutter/foundation.dart' show objectRuntimeType;
+
 import '../dart/model.dart';
 
 /// Signature for the callback passed to [DynamicContent.subscribe].
@@ -188,7 +190,7 @@
   }
 
   @override
-  String toString() => '$runtimeType($_root)';
+  String toString() => '${objectRuntimeType(this, 'DynamicContent')}($_root)';
 }
 
 // Node in the [DynamicContent] tree. This should contain no [BlobNode]s.
diff --git a/packages/rfw/pubspec.yaml b/packages/rfw/pubspec.yaml
index b6e9b0a..2efaa0c 100644
--- a/packages/rfw/pubspec.yaml
+++ b/packages/rfw/pubspec.yaml
@@ -2,7 +2,7 @@
 description: "Remote Flutter widgets: a library for rendering declarative widget description files at runtime."
 repository: https://github.com/flutter/packages/tree/main/packages/rfw
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+rfw%22
-version: 1.0.7
+version: 1.0.8
 
 environment:
   sdk: ">=2.13.0 <3.0.0"