From 39f340fd53d26de9315bfdd5548ae1165a2c4514 Mon Sep 17 00:00:00 2001 From: SheepYang1993 <332594623@qq.com> Date: Thu, 4 Jul 2019 15:26:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0isChangingConfigurations()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/loader/delegates/ShadowActivityDelegate.kt | 5 +++++ .../tencent/shadow/core/runtime/PluginActivity.java | 7 ++++++- .../core/runtime/container/HostActivityDelegate.java | 2 ++ .../runtime/container/PluginContainerActivity.java | 10 ++++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/projects/sdk/core/loader/src/main/kotlin/com/tencent/shadow/core/loader/delegates/ShadowActivityDelegate.kt b/projects/sdk/core/loader/src/main/kotlin/com/tencent/shadow/core/loader/delegates/ShadowActivityDelegate.kt index 7d19de44a..aa69f476d 100644 --- a/projects/sdk/core/loader/src/main/kotlin/com/tencent/shadow/core/loader/delegates/ShadowActivityDelegate.kt +++ b/projects/sdk/core/loader/src/main/kotlin/com/tencent/shadow/core/loader/delegates/ShadowActivityDelegate.kt @@ -245,6 +245,11 @@ class ShadowActivityDelegate(private val mDI: DI) : HostActivityDelegate, Shadow mPluginActivity.onRestart() } + override fun isChangingConfigurations(): Boolean { + return mPluginActivity.isChangingConfigurations() + } + + override fun onUserLeaveHint() { mPluginActivity.onUserLeaveHint() } diff --git a/projects/sdk/core/runtime/src/main/java/com/tencent/shadow/core/runtime/PluginActivity.java b/projects/sdk/core/runtime/src/main/java/com/tencent/shadow/core/runtime/PluginActivity.java index d9c94f181..24e2375bf 100644 --- a/projects/sdk/core/runtime/src/main/java/com/tencent/shadow/core/runtime/PluginActivity.java +++ b/projects/sdk/core/runtime/src/main/java/com/tencent/shadow/core/runtime/PluginActivity.java @@ -46,7 +46,7 @@ import java.util.List; -public abstract class PluginActivity extends ShadowContext implements Window.Callback{ +public abstract class PluginActivity extends ShadowContext implements Window.Callback { HostActivityDelegator mHostActivityDelegator; ShadowApplication mPluginApplication; @@ -119,6 +119,11 @@ public void onRestoreInstanceState(Bundle savedInstanceState) { mHostActivityDelegator.superOnRestoreInstanceState(savedInstanceState); } + + public boolean isChangingConfigurations() { + return mHostActivityDelegator.superIsChangingConfigurations(); + } + public void onPostCreate(Bundle savedInstanceState) { mHostActivityDelegator.superOnPostCreate(savedInstanceState); } diff --git a/projects/sdk/core/runtime/src/main/java/com/tencent/shadow/core/runtime/container/HostActivityDelegate.java b/projects/sdk/core/runtime/src/main/java/com/tencent/shadow/core/runtime/container/HostActivityDelegate.java index 41c4f62c4..8c96f3975 100644 --- a/projects/sdk/core/runtime/src/main/java/com/tencent/shadow/core/runtime/container/HostActivityDelegate.java +++ b/projects/sdk/core/runtime/src/main/java/com/tencent/shadow/core/runtime/container/HostActivityDelegate.java @@ -65,6 +65,8 @@ public interface HostActivityDelegate { void onConfigurationChanged(Configuration newConfig); + boolean isChangingConfigurations(); + boolean dispatchKeyEvent(KeyEvent event); void finish(); diff --git a/projects/sdk/core/runtime/src/main/java/com/tencent/shadow/core/runtime/container/PluginContainerActivity.java b/projects/sdk/core/runtime/src/main/java/com/tencent/shadow/core/runtime/container/PluginContainerActivity.java index 430273930..92568fbd2 100644 --- a/projects/sdk/core/runtime/src/main/java/com/tencent/shadow/core/runtime/container/PluginContainerActivity.java +++ b/projects/sdk/core/runtime/src/main/java/com/tencent/shadow/core/runtime/container/PluginContainerActivity.java @@ -264,6 +264,15 @@ public void onConfigurationChanged(Configuration newConfig) { } } + @Override + public boolean isChangingConfigurations() { + if (hostActivityDelegate != null) { + return hostActivityDelegate.isChangingConfigurations(); + } else { + return super.isChangingConfigurations(); + } + } + @Override public boolean dispatchKeyEvent(KeyEvent event) { if (hostActivityDelegate != null) { @@ -1068,6 +1077,7 @@ public boolean superIsDestroyed() { return super.isDestroyed(); } + @Override public boolean superIsChangingConfigurations() { return super.isChangingConfigurations(); }