diff --git a/app/src/main/java/com/hippo/scene/Scene.java b/app/src/main/java/com/hippo/scene/Scene.java index 38ae3e0f3..07b077a33 100644 --- a/app/src/main/java/com/hippo/scene/Scene.java +++ b/app/src/main/java/com/hippo/scene/Scene.java @@ -167,10 +167,6 @@ public abstract class Scene { onResume(); } - void out() { - onOut(); - } - void setFitPaddingBottom(int b) { onGetFitPaddingBottom(b); } @@ -237,9 +233,6 @@ public abstract class Scene { protected void onResume() { } - protected void onOut() { - } - /** * It will be called if nav bar is transparent. * @param b the nav bar's height @@ -307,12 +300,19 @@ public abstract class Scene { getStageActivity().detachSceneFromStage(this); } - public void onBackPressed() { + void onBackPressedInternal() { if (!endCurtainAnimation() && !sSceneManager.endLegacyScene()) { - sSceneManager.finishScene(this); + onBackPressed(); } } + /** + * Not all back press will call it + */ + public void onBackPressed() { + finish(); + } + /** * End curtainAnimation if it is running * diff --git a/app/src/main/java/com/hippo/scene/SceneManager.java b/app/src/main/java/com/hippo/scene/SceneManager.java index 9f4932d5e..19e79328d 100644 --- a/app/src/main/java/com/hippo/scene/SceneManager.java +++ b/app/src/main/java/com/hippo/scene/SceneManager.java @@ -192,7 +192,7 @@ class SceneManager { boolean onBackPressed() { Scene scene = getTopState(); if (scene != null) { - scene.onBackPressed(); + scene.onBackPressedInternal(); return true; } else { Log.w(TAG, "There is no scene in the stage");