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(); }