From 6ae5d0bcd0638baffc849100abab6d203b1a3b1b Mon Sep 17 00:00:00 2001 From: Greg Spencer Date: Tue, 9 May 2023 14:38:03 -0700 Subject: [PATCH] Android lifecycle defaults to focused instead of unfocused --- .../engine/systemchannels/LifecycleChannel.java | 2 +- .../systemchannels/LifecycleChannelTest.java | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/shell/platform/android/io/flutter/embedding/engine/systemchannels/LifecycleChannel.java b/shell/platform/android/io/flutter/embedding/engine/systemchannels/LifecycleChannel.java index f34f774536018..6ea0814fe0ba5 100644 --- a/shell/platform/android/io/flutter/embedding/engine/systemchannels/LifecycleChannel.java +++ b/shell/platform/android/io/flutter/embedding/engine/systemchannels/LifecycleChannel.java @@ -30,7 +30,7 @@ public class LifecycleChannel { private String lastAndroidState = ""; private String lastFlutterState = ""; - private boolean lastFocus = false; + private boolean lastFocus = true; @NonNull private final BasicMessageChannel channel; diff --git a/shell/platform/android/test/io/flutter/embedding/engine/systemchannels/LifecycleChannelTest.java b/shell/platform/android/test/io/flutter/embedding/engine/systemchannels/LifecycleChannelTest.java index e9211d5f3b411..3adc80212b2d7 100644 --- a/shell/platform/android/test/io/flutter/embedding/engine/systemchannels/LifecycleChannelTest.java +++ b/shell/platform/android/test/io/flutter/embedding/engine/systemchannels/LifecycleChannelTest.java @@ -31,29 +31,29 @@ public void lifecycleChannel_handlesResumed() { lifecycleChannel.appIsResumed(); ArgumentCaptor stringArgumentCaptor = ArgumentCaptor.forClass(String.class); verify(mockChannel, times(1)).send(stringArgumentCaptor.capture()); - assertEquals("AppLifecycleState.inactive", stringArgumentCaptor.getValue()); + assertEquals("AppLifecycleState.resumed", stringArgumentCaptor.getValue()); - lifecycleChannel.aWindowIsFocused(); + lifecycleChannel.noWindowsAreFocused(); stringArgumentCaptor = ArgumentCaptor.forClass(String.class); verify(mockChannel, times(2)).send(stringArgumentCaptor.capture()); - assertEquals("AppLifecycleState.resumed", stringArgumentCaptor.getValue()); + assertEquals("AppLifecycleState.inactive", stringArgumentCaptor.getValue()); - lifecycleChannel.noWindowsAreFocused(); + lifecycleChannel.aWindowIsFocused(); stringArgumentCaptor = ArgumentCaptor.forClass(String.class); verify(mockChannel, times(3)).send(stringArgumentCaptor.capture()); - assertEquals("AppLifecycleState.inactive", stringArgumentCaptor.getValue()); + assertEquals("AppLifecycleState.resumed", stringArgumentCaptor.getValue()); // Stays inactive, so no event is sent. lifecycleChannel.appIsInactive(); - verify(mockChannel, times(3)).send(any(String.class)); + verify(mockChannel, times(4)).send(any(String.class)); // Stays inactive, so no event is sent. lifecycleChannel.appIsResumed(); - verify(mockChannel, times(3)).send(any(String.class)); + verify(mockChannel, times(5)).send(any(String.class)); lifecycleChannel.aWindowIsFocused(); stringArgumentCaptor = ArgumentCaptor.forClass(String.class); - verify(mockChannel, times(4)).send(stringArgumentCaptor.capture()); + verify(mockChannel, times(5)).send(stringArgumentCaptor.capture()); assertEquals("AppLifecycleState.resumed", stringArgumentCaptor.getValue()); }