Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7f89c9b8 authored by George Mount's avatar George Mount Committed by Android (Google) Code Review
Browse files

Merge "Fix NPE when going "back" from Activity Transition."

parents 8f72e896 d64616e8
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -206,6 +206,7 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver {
    private ResultReceiver mRemoteResultReceiver;
    private boolean mNotifiedSharedElementTransitionComplete;
    private boolean mNotifiedExitTransitionComplete;
    private boolean mSharedElementTransitionStarted;

    private FixedEpicenterCallback mEpicenterCallback = new FixedEpicenterCallback();

@@ -250,7 +251,11 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver {
                onPrepareRestore();
                break;
            case MSG_EXIT_TRANSITION_COMPLETE:
                if (!mSharedElementTransitionStarted) {
                    send(resultCode, resultData);
                } else {
                    onRemoteSceneExitComplete();
                }
                break;
            case MSG_TAKE_SHARED_ELEMENTS:
                ArrayList<String> sharedElementNames
@@ -456,9 +461,13 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver {
        mTargetSharedNames.clear();
        if (sharedElements == null) {
            ArrayMap<String, View> map = new ArrayMap<String, View>();
            if (getViewsTransition() != null) {
                setViewVisibility(mEnteringViews, View.VISIBLE);
            }
            getDecor().findSharedElements(map);
            if (getViewsTransition() != null) {
                setViewVisibility(mEnteringViews, View.INVISIBLE);
            }
            for (int i = 0; i < map.size(); i++) {
                View view = map.valueAt(i);
                String name = map.keyAt(i);
@@ -582,6 +591,7 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver {
                        getDecor().getViewTreeObserver().removeOnPreDrawListener(this);
                        mListener.onCaptureSharedElementEnd(mTargetSharedNames, mSharedElements,
                                acceptedOverlayViews);
                        mSharedElementTransitionStarted = true;
                        return true;
                    }
                }
+2 −6
Original line number Diff line number Diff line
@@ -134,11 +134,6 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator
        }
    }

    @Override
    protected void onRemoteSceneExitComplete() {
        super.onRemoteSceneExitComplete();
    }

    @Override
    protected void onTakeSharedElements(ArrayList<String> sharedElementNames, Bundle state) {
        mEnteringSharedElementNames = new ArrayList<String>();
@@ -149,6 +144,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator
    @Override
    protected void sharedElementTransitionComplete(Bundle bundle) {
        notifySharedElementTransitionComplete(bundle);
        exitAfterSharedElementTransition();
    }

    @Override
@@ -280,7 +276,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator
    }

    private void exitAfterSharedElementTransition() {
        if (mSharedElementTransitionComplete && mExitTransitionComplete) {
        if (mSharedElementTransitionComplete && mExitTransitionComplete && mBackgroundFadedOut) {
            mActivity.finish();
            if (mSupportsTransition) {
                mActivity.overridePendingTransition(0, 0);