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

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

Merge "Allow arbitrarily-added shared elements." into lmp-dev

parents d1a5a463 ce725a47
Loading
Loading
Loading
Loading
+9 −22
Original line number Diff line number Diff line
@@ -217,7 +217,10 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver {
    }

    protected void viewsReady(ArrayMap<String, View> sharedElements) {
        setSharedElements(sharedElements);
        sharedElements.retainAll(mAllSharedElementNames);
        mListener.remapSharedElements(mAllSharedElementNames, sharedElements);
        mSharedElementNames.addAll(sharedElements.keySet());
        mSharedElements.addAll(sharedElements.values());
        if (getViewsTransition() != null) {
            getDecor().captureTransitioningViews(mTransitioningViews);
            mTransitioningViews.removeAll(mSharedElements);
@@ -339,7 +342,6 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver {
    protected ArrayMap<String, View> mapSharedElements(ArrayList<String> accepted,
            ArrayList<View> localViews) {
        ArrayMap<String, View> sharedElements = new ArrayMap<String, View>();
        if (!mAllSharedElementNames.isEmpty()) {
        if (accepted != null) {
            for (int i = 0; i < accepted.size(); i++) {
                sharedElements.put(accepted.get(i), localViews.get(i));
@@ -347,24 +349,9 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver {
        } else {
            getDecor().findNamedViews(sharedElements);
        }
        }
        return sharedElements;
    }

    private void setSharedElements(ArrayMap<String, View> sharedElements) {
        sharedElements.retainAll(mAllSharedElementNames);
        mListener.remapSharedElements(mAllSharedElementNames, sharedElements);
        sharedElements.retainAll(mAllSharedElementNames);
        for (int i = 0; i < mAllSharedElementNames.size(); i++) {
            String name = mAllSharedElementNames.get(i);
            View sharedElement = sharedElements.get(name);
            if (sharedElement != null) {
                mSharedElementNames.add(name);
                mSharedElements.add(sharedElement);
            }
        }
    }

    protected void setResultReceiver(ResultReceiver resultReceiver) {
        mResultReceiver = resultReceiver;
    }