diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java index 72da9719a..ffd422733 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java @@ -1340,7 +1340,6 @@ public class DownloadsScene extends ToolbarScene args.putString(GalleryDetailScene.KEY_ACTION, GalleryDetailScene.ACTION_GALLERY_INFO); args.putParcelable(GalleryDetailScene.KEY_GALLERY_INFO, list.get(index)); Announcer announcer = new Announcer(GalleryDetailScene.class).setArgs(args); - announcer.setTranHelper(new EnterGalleryDetailTransaction(thumb)); startScene(announcer); } else if (start == v) { Intent intent = new Intent(activity, DownloadService.class); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/EnterGalleryDetailTransaction.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/EnterGalleryDetailTransaction.java deleted file mode 100644 index 3f6b1e070..000000000 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/EnterGalleryDetailTransaction.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 2016 Hippo Seven - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.hippo.ehviewer.ui.scene; - -import android.content.Context; -import android.view.View; - -import androidx.core.view.ViewCompat; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentTransaction; -import androidx.transition.TransitionInflater; - -import com.hippo.ehviewer.R; -import com.hippo.scene.TransitionHelper; - -class EnterGalleryDetailTransaction implements TransitionHelper { - - private final View mThumb; - - public EnterGalleryDetailTransaction(View thumb) { - mThumb = thumb; - } - - @Override - public boolean onTransition(Context context, FragmentTransaction transaction, - Fragment exit, Fragment enter) { - if (mThumb == null || !(enter instanceof GalleryDetailScene)) { - return false; - } - - String transitionName = ViewCompat.getTransitionName(mThumb); - if (transitionName != null) { - exit.setSharedElementReturnTransition( - TransitionInflater.from(context).inflateTransition(R.transition.trans_move)); - exit.setExitTransition( - TransitionInflater.from(context).inflateTransition(R.transition.trans_fade)); - enter.setSharedElementEnterTransition( - TransitionInflater.from(context).inflateTransition(R.transition.trans_move)); - enter.setEnterTransition( - TransitionInflater.from(context).inflateTransition(R.transition.trans_fade)); - transaction.addSharedElement(mThumb, transitionName); - } - return true; - } -} diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java index 0d94d7cee..666e57acc 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java @@ -550,10 +550,6 @@ public class FavoritesScene extends BaseScene implements args.putString(GalleryDetailScene.KEY_ACTION, GalleryDetailScene.ACTION_GALLERY_INFO); args.putParcelable(GalleryDetailScene.KEY_GALLERY_INFO, gi); Announcer announcer = new Announcer(GalleryDetailScene.class).setArgs(args); - View thumb; - if (null != (thumb = view.findViewById(R.id.thumb))) { - announcer.setTranHelper(new EnterGalleryDetailTransaction(thumb)); - } startScene(announcer); } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java index 165d5568f..2c06e85b6 100755 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java @@ -1543,17 +1543,6 @@ public class GalleryDetailScene extends ToolbarScene implements View.OnClickList @Override public void onBackPressed() { - if (mViewTransition != null && mThumb != null && - mViewTransition.getShownViewIndex() == 0 && mThumb.isShown()) { - int[] location = new int[2]; - mThumb.getLocationInWindow(location); - // Only show transaction when thumb can be seen - if (location[1] + mThumb.getHeight() > 0) { - setTransitionName(); - finish(new ExitTransaction(mThumb)); - return; - } - } finish(); } @@ -1715,38 +1704,6 @@ public class GalleryDetailScene extends ToolbarScene implements View.OnClickList private @interface State { } - private static class ExitTransaction implements TransitionHelper { - - private final View mThumb; - - public ExitTransaction(View thumb) { - mThumb = thumb; - } - - @Override - public boolean onTransition(Context context, - FragmentTransaction transaction, Fragment exit, Fragment enter) { - if (!(enter instanceof GalleryListScene) && !(enter instanceof DownloadsScene) && - !(enter instanceof FavoritesScene) && !(enter instanceof HistoryScene)) { - return false; - } - - String transitionName = ViewCompat.getTransitionName(mThumb); - if (transitionName != null) { - exit.setSharedElementReturnTransition( - TransitionInflater.from(context).inflateTransition(R.transition.trans_move)); - exit.setExitTransition( - TransitionInflater.from(context).inflateTransition(R.transition.trans_fade)); - enter.setSharedElementEnterTransition( - TransitionInflater.from(context).inflateTransition(R.transition.trans_move)); - enter.setEnterTransition( - TransitionInflater.from(context).inflateTransition(R.transition.trans_fade)); - transaction.addSharedElement(mThumb, transitionName); - } - return true; - } - } - private static class GetGalleryDetailListener extends EhCallback { public GetGalleryDetailListener(Context context, int stageId, String sceneTag) { diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java index c9e8a0ae7..89de01133 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java @@ -903,10 +903,6 @@ public final class GalleryListScene extends BaseScene args.putString(GalleryDetailScene.KEY_ACTION, GalleryDetailScene.ACTION_GALLERY_INFO); args.putParcelable(GalleryDetailScene.KEY_GALLERY_INFO, gi); Announcer announcer = new Announcer(GalleryDetailScene.class).setArgs(args); - View thumb; - if (null != (thumb = view.findViewById(R.id.thumb))) { - announcer.setTranHelper(new EnterGalleryDetailTransaction(thumb)); - } startScene(announcer); return true; } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.java index 4ecd77712..2012f15ad 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.java @@ -342,10 +342,6 @@ public class HistoryScene extends ToolbarScene { args.putString(GalleryDetailScene.KEY_ACTION, GalleryDetailScene.ACTION_GALLERY_INFO); args.putParcelable(GalleryDetailScene.KEY_GALLERY_INFO, mLazyList.get(position)); Announcer announcer = new Announcer(GalleryDetailScene.class).setArgs(args); - View thumb; - if (null != (thumb = view.findViewById(R.id.thumb))) { - announcer.setTranHelper(new EnterGalleryDetailTransaction(thumb)); - } startScene(announcer); return true; } diff --git a/app/src/main/java/com/hippo/scene/Announcer.java b/app/src/main/java/com/hippo/scene/Announcer.java index 49e9c16d5..7bee86bf9 100644 --- a/app/src/main/java/com/hippo/scene/Announcer.java +++ b/app/src/main/java/com/hippo/scene/Announcer.java @@ -22,7 +22,6 @@ public final class Announcer { Class clazz; Bundle args; - TransitionHelper tranHelper; SceneFragment requestFrom; int requestCode; @@ -43,11 +42,6 @@ public final class Announcer { return this; } - public Announcer setTranHelper(TransitionHelper tranHelper) { - this.tranHelper = tranHelper; - return this; - } - public Announcer setRequestCode(SceneFragment requestFrom, int requestCode) { this.requestFrom = requestFrom; this.requestCode = requestCode; diff --git a/app/src/main/java/com/hippo/scene/SceneFragment.java b/app/src/main/java/com/hippo/scene/SceneFragment.java index 2b3a7521a..fc4414bdc 100644 --- a/app/src/main/java/com/hippo/scene/SceneFragment.java +++ b/app/src/main/java/com/hippo/scene/SceneFragment.java @@ -72,13 +72,9 @@ public class SceneFragment extends Fragment { } public void finish() { - finish(null); - } - - public void finish(TransitionHelper transitionHelper) { FragmentActivity activity = getActivity(); if (activity instanceof StageActivity) { - ((StageActivity) activity).finishScene(this, transitionHelper); + ((StageActivity) activity).finishScene(this); } } diff --git a/app/src/main/java/com/hippo/scene/StageActivity.java b/app/src/main/java/com/hippo/scene/StageActivity.java index 13229feb0..56e5cfadb 100644 --- a/app/src/main/java/com/hippo/scene/StageActivity.java +++ b/app/src/main/java/com/hippo/scene/StageActivity.java @@ -252,7 +252,6 @@ public abstract class StageActivity extends EhActivity { public void startScene(Announcer announcer, boolean horizontal) { Class clazz = announcer.clazz; Bundle args = announcer.args; - TransitionHelper tranHelper = announcer.tranHelper; FragmentManager fragmentManager = getSupportFragmentManager(); int launchMode = getSceneLaunchMode(clazz); @@ -351,23 +350,20 @@ public abstract class StageActivity extends EhActivity { FragmentTransaction transaction = fragmentManager.beginTransaction(); // Animation if (currentScene != null) { - if (tranHelper == null || !tranHelper.onTransition( - this, transaction, currentScene, newScene)) { - // Clear shared item - currentScene.setSharedElementEnterTransition(null); - currentScene.setSharedElementReturnTransition(null); - currentScene.setEnterTransition(null); - currentScene.setExitTransition(null); - newScene.setSharedElementEnterTransition(null); - newScene.setSharedElementReturnTransition(null); - newScene.setEnterTransition(null); - newScene.setExitTransition(null); - // Set default animation - if (horizontal) { - transaction.setCustomAnimations(R.anim.scene_open_enter_horizontal, R.anim.scene_open_exit); - } else { - transaction.setCustomAnimations(R.anim.scene_open_enter, R.anim.scene_open_exit); - } + // Clear shared item + currentScene.setSharedElementEnterTransition(null); + currentScene.setSharedElementReturnTransition(null); + currentScene.setEnterTransition(null); + currentScene.setExitTransition(null); + newScene.setSharedElementEnterTransition(null); + newScene.setSharedElementReturnTransition(null); + newScene.setEnterTransition(null); + newScene.setExitTransition(null); + // Set default animation + if (horizontal) { + transaction.setCustomAnimations(R.anim.scene_open_enter_horizontal, R.anim.scene_open_exit); + } else { + transaction.setCustomAnimations(R.anim.scene_open_enter, R.anim.scene_open_exit); } // Detach current scene if (!currentScene.isDetached()) { @@ -480,14 +476,10 @@ public abstract class StageActivity extends EhActivity { } public void finishScene(SceneFragment scene) { - finishScene(scene, null); + finishScene(scene.getTag()); } - public void finishScene(SceneFragment scene, TransitionHelper transitionHelper) { - finishScene(scene.getTag(), transitionHelper); - } - - private void finishScene(String tag, TransitionHelper transitionHelper) { + private void finishScene(String tag) { FragmentManager fragmentManager = getSupportFragmentManager(); // Get scene @@ -519,8 +511,6 @@ public abstract class StageActivity extends EhActivity { FragmentTransaction transaction = fragmentManager.beginTransaction(); if (next != null) { - if (transitionHelper == null || !transitionHelper.onTransition( - this, transaction, scene, next)) { // Clear shared item scene.setSharedElementEnterTransition(null); scene.setSharedElementReturnTransition(null); @@ -532,7 +522,6 @@ public abstract class StageActivity extends EhActivity { next.setExitTransition(null); // Do not show animate if it is not the first fragment transaction.setCustomAnimations(R.anim.scene_close_enter, R.anim.scene_close_exit); - } // Attach fragment transaction.attach(next); }