From d2bc74aa6d33b0ed9fc5ff8c91f9cee05e831daf Mon Sep 17 00:00:00 2001 From: Kaushik Iska Date: Mon, 19 Aug 2019 14:56:22 -0700 Subject: [PATCH] Fix analyzer issues for onReportTiming to frameTiming (#38840) Filed: https://github.com/flutter/flutter/issues/38838 to track these usages. This was introduced by: https://github.com/flutter/engine/pull/11041 --- packages/flutter/lib/src/scheduler/binding.dart | 2 ++ packages/flutter/lib/src/widgets/binding.dart | 6 ++++++ .../flutter/test/foundation/service_extensions_test.dart | 4 ++++ packages/flutter/test/scheduler/scheduler_test.dart | 2 ++ packages/flutter_test/lib/src/window.dart | 4 ++++ 5 files changed, 18 insertions(+) diff --git a/packages/flutter/lib/src/scheduler/binding.dart b/packages/flutter/lib/src/scheduler/binding.dart index 4327ee353a..2e47923621 100644 --- a/packages/flutter/lib/src/scheduler/binding.dart +++ b/packages/flutter/lib/src/scheduler/binding.dart @@ -202,6 +202,8 @@ mixin SchedulerBinding on BindingBase, ServicesBinding { if (!kReleaseMode) { int frameNumber = 0; + // use frameTimings. https://github.com/flutter/flutter/issues/38838 + // ignore: deprecated_member_use window.onReportTimings = (List timings) { for (FrameTiming frameTiming in timings) { frameNumber += 1; diff --git a/packages/flutter/lib/src/widgets/binding.dart b/packages/flutter/lib/src/widgets/binding.dart index 6b6ec608a5..60811d3688 100644 --- a/packages/flutter/lib/src/widgets/binding.dart +++ b/packages/flutter/lib/src/widgets/binding.dart @@ -741,7 +741,11 @@ mixin WidgetsBinding on BindingBase, SchedulerBinding, GestureBinding, RendererB if (_needToReportFirstFrame && _reportFirstFrame) { assert(!_firstFrameCompleter.isCompleted); // TODO(liyuqian): use a broadcast stream approach + // use frameTimings. https://github.com/flutter/flutter/issues/38838 + // ignore: deprecated_member_use final TimingsCallback oldCallback = WidgetsBinding.instance.window.onReportTimings; + // use frameTimings. https://github.com/flutter/flutter/issues/38838 + // ignore: deprecated_member_use WidgetsBinding.instance.window.onReportTimings = (List timings) { if (!kReleaseMode) { developer.Timeline.instantSync('Rasterized first useful frame'); @@ -750,6 +754,8 @@ mixin WidgetsBinding on BindingBase, SchedulerBinding, GestureBinding, RendererB if (oldCallback != null) { oldCallback(timings); } + // use frameTimings. https://github.com/flutter/flutter/issues/38838 + // ignore: deprecated_member_use WidgetsBinding.instance.window.onReportTimings = oldCallback; _firstFrameCompleter.complete(); }; diff --git a/packages/flutter/test/foundation/service_extensions_test.dart b/packages/flutter/test/foundation/service_extensions_test.dart index 52a270f138..2720cd03cc 100644 --- a/packages/flutter/test/foundation/service_extensions_test.dart +++ b/packages/flutter/test/foundation/service_extensions_test.dart @@ -79,7 +79,11 @@ class TestServiceExtensionsBinding extends BindingBase await flushMicrotasks(); if (ui.window.onDrawFrame != null) ui.window.onDrawFrame(); + // use frameTimings. https://github.com/flutter/flutter/issues/38838 + // ignore: deprecated_member_use if (ui.window.onReportTimings != null) + // use frameTimings. https://github.com/flutter/flutter/issues/38838 + // ignore: deprecated_member_use ui.window.onReportTimings([]); } diff --git a/packages/flutter/test/scheduler/scheduler_test.dart b/packages/flutter/test/scheduler/scheduler_test.dart index bbb7dd6b18..c62fcf8dac 100644 --- a/packages/flutter/test/scheduler/scheduler_test.dart +++ b/packages/flutter/test/scheduler/scheduler_test.dart @@ -132,6 +132,8 @@ void main() { }); test('Flutter.Frame event fired', () async { + // use frameTimings. https://github.com/flutter/flutter/issues/38838 + // ignore: deprecated_member_use window.onReportTimings([FrameTiming([ // build start, build finish 10000, 15000, diff --git a/packages/flutter_test/lib/src/window.dart b/packages/flutter_test/lib/src/window.dart index db2cd812ec..7abdae70de 100644 --- a/packages/flutter_test/lib/src/window.dart +++ b/packages/flutter_test/lib/src/window.dart @@ -272,9 +272,13 @@ class TestWindow implements Window { } @override + // use frameTimings. https://github.com/flutter/flutter/issues/38838 + // ignore: deprecated_member_use TimingsCallback get onReportTimings => _window.onReportTimings; @override set onReportTimings(TimingsCallback callback) { + // use frameTimings. https://github.com/flutter/flutter/issues/38838 + // ignore: deprecated_member_use _window.onReportTimings = callback; }