From 1cb912e75c1bfeb957b9388790ac66f957e47942 Mon Sep 17 00:00:00 2001 From: ColdPaleLight <31977171+ColdPaleLight@users.noreply.github.com> Date: Sat, 5 Feb 2022 09:45:19 +0800 Subject: [PATCH] Make the application lifecycle does not affect `SchedulerBinding.scheduleForcedFrame`. (#97468) --- packages/flutter/lib/src/scheduler/binding.dart | 5 ----- packages/flutter/test/widgets/binding_test.dart | 5 ++--- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/packages/flutter/lib/src/scheduler/binding.dart b/packages/flutter/lib/src/scheduler/binding.dart index eb4dae1ef7..1a6c81fdf2 100644 --- a/packages/flutter/lib/src/scheduler/binding.dart +++ b/packages/flutter/lib/src/scheduler/binding.dart @@ -818,11 +818,6 @@ mixin SchedulerBinding on BindingBase { /// Consider using [scheduleWarmUpFrame] instead if the goal is to update the /// rendering as soon as possible (e.g. at application startup). void scheduleForcedFrame() { - // TODO(chunhtai): Removes the if case once the issue is fixed - // https://github.com/flutter/flutter/issues/45131 - if (!framesEnabled) - return; - if (_hasScheduledFrame) return; assert(() { diff --git a/packages/flutter/test/widgets/binding_test.dart b/packages/flutter/test/widgets/binding_test.dart index 4a455149de..fec3594fdf 100644 --- a/packages/flutter/test/widgets/binding_test.dart +++ b/packages/flutter/test/widgets/binding_test.dart @@ -177,10 +177,9 @@ void main() { tester.binding.scheduleFrame(); expect(tester.binding.hasScheduledFrame, isFalse); - // TODO(chunhtai): fix this test after workaround is removed - // https://github.com/flutter/flutter/issues/45131 tester.binding.scheduleForcedFrame(); - expect(tester.binding.hasScheduledFrame, isFalse); + expect(tester.binding.hasScheduledFrame, isTrue); + await tester.pump(); int frameCount = 0; tester.binding.addPostFrameCallback((Duration duration) {