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

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

Merge changes Id7ae3838,I8e297443

* changes:
  Fix NPE when shared elements are empty.
  Allow antroid.transition Transitions in fragments.
parents afc00e1c 4d994261
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -4203,6 +4203,9 @@ package android.app {
    method public abstract android.app.FragmentTransaction setBreadCrumbTitle(java.lang.CharSequence);
    method public abstract android.app.FragmentTransaction setCustomAnimations(int, int);
    method public abstract android.app.FragmentTransaction setCustomAnimations(int, int, int, int);
    method public abstract android.app.FragmentTransaction setCustomTransition(int, int);
    method public abstract android.app.FragmentTransaction setSharedElement(android.view.View, java.lang.String);
    method public abstract android.app.FragmentTransaction setSharedElements(android.util.Pair<android.view.View, java.lang.String>...);
    method public abstract android.app.FragmentTransaction setTransition(int);
    method public abstract android.app.FragmentTransaction setTransitionStyle(int);
    method public abstract android.app.FragmentTransaction show(android.app.Fragment);
+6 −2
Original line number Diff line number Diff line
@@ -293,13 +293,17 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver {
        if (transition == null || views == null || views.isEmpty()) {
            return null;
        }
        // Add the targets to a set containing transition so that transition
        // remains unaffected. We don't want to modify the targets of transition itself.
        TransitionSet set = new TransitionSet();
        set.addTransition(transition);
        if (views != null) {
            for (View view : views) {
                set.addTarget(view);
            }
        }
        // By adding the transition after addTarget, we prevent addTarget from
        // affecting transition.
        set.addTransition(transition);
        return set;
    }

+454 −90

File changed.

Preview size limit exceeded, changes collapsed.

+4 −2
Original line number Diff line number Diff line
@@ -133,10 +133,12 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator {
            public void onTransitionEnd(Transition transition) {
                setViewVisibility(mSharedElements, View.INVISIBLE);
                ViewGroupOverlay overlay = getDecor().getOverlay();
                if (mSharedElementSnapshots != null) {
                    for (int i = 0; i < mSharedElementSnapshots.size(); i++) {
                        overlay.add(mSharedElementSnapshots.get(i));
                    }
                }
            }
        });
        getDecor().getViewTreeObserver()
                .addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
+3 −2
Original line number Diff line number Diff line
@@ -1494,7 +1494,7 @@ final class FragmentManagerImpl extends FragmentManager {
                return false;
            }
            final BackStackRecord bss = mBackStack.remove(last);
            bss.popFromBackStack(true);
            bss.popFromBackStack(true, null);
            reportBackStackChanged();
        } else {
            int index = -1;
@@ -1538,9 +1538,10 @@ final class FragmentManagerImpl extends FragmentManager {
                states.add(mBackStack.remove(i));
            }
            final int LAST = states.size()-1;
            BackStackRecord.TransitionState state = null;
            for (int i=0; i<=LAST; i++) {
                if (DEBUG) Log.v(TAG, "Popping back stack state: " + states.get(i));
                states.get(i).popFromBackStack(i == LAST);
                state = states.get(i).popFromBackStack(i == LAST, state);
            }
            reportBackStackChanged();
        }
Loading