From 7a7e053e6d998544e0af9c17f52cb1517bd56544 Mon Sep 17 00:00:00 2001 From: jonahwilliams Date: Fri, 4 May 2018 12:19:30 -0700 Subject: [PATCH] add onStart hook which places flutter in an inactive state --- shell/platform/android/io/flutter/app/FlutterActivity.java | 6 ++++++ .../android/io/flutter/app/FlutterActivityDelegate.java | 7 +++++++ .../android/io/flutter/app/FlutterActivityEvents.java | 5 +++++ shell/platform/android/io/flutter/view/FlutterView.java | 4 ++++ 4 files changed, 22 insertions(+) diff --git a/shell/platform/android/io/flutter/app/FlutterActivity.java b/shell/platform/android/io/flutter/app/FlutterActivity.java index ab566c485a1e6..39886c0b06004 100644 --- a/shell/platform/android/io/flutter/app/FlutterActivity.java +++ b/shell/platform/android/io/flutter/app/FlutterActivity.java @@ -81,6 +81,12 @@ protected void onCreate(Bundle savedInstanceState) { eventDelegate.onCreate(savedInstanceState); } + @Override + protected void onStart() { + super.onStart(); + eventDelegate.onStart(); + } + @Override protected void onResume() { super.onResume(); diff --git a/shell/platform/android/io/flutter/app/FlutterActivityDelegate.java b/shell/platform/android/io/flutter/app/FlutterActivityDelegate.java index 1c880d7e46987..8a41d8f4bfb62 100644 --- a/shell/platform/android/io/flutter/app/FlutterActivityDelegate.java +++ b/shell/platform/android/io/flutter/app/FlutterActivityDelegate.java @@ -206,6 +206,13 @@ public void onPause() { } } + @Override + public void onStart() { + if (flutterView != null) { + flutterView.onStart(); + } + } + @Override public void onResume() { Application app = (Application) activity.getApplicationContext(); diff --git a/shell/platform/android/io/flutter/app/FlutterActivityEvents.java b/shell/platform/android/io/flutter/app/FlutterActivityEvents.java index 8d8eb422aa338..a9a51d7a7bfcb 100644 --- a/shell/platform/android/io/flutter/app/FlutterActivityEvents.java +++ b/shell/platform/android/io/flutter/app/FlutterActivityEvents.java @@ -39,6 +39,11 @@ public interface FlutterActivityEvents */ void onPause(); + /** + * @see android.app.Activity#onStart() + */ + void onStart(); + /** * @see android.app.Activity#onResume() */ diff --git a/shell/platform/android/io/flutter/view/FlutterView.java b/shell/platform/android/io/flutter/view/FlutterView.java index 38b0df20b96c2..7734c29a0e31d 100644 --- a/shell/platform/android/io/flutter/view/FlutterView.java +++ b/shell/platform/android/io/flutter/view/FlutterView.java @@ -266,6 +266,10 @@ public void addActivityLifecycleListener(ActivityLifecycleListener listener) { mActivityLifecycleListeners.add(listener); } + public void onStart() { + mFlutterLifecycleChannel.send("AppLifecycleState.inactive"); + } + public void onPause() { mFlutterLifecycleChannel.send("AppLifecycleState.inactive"); }