am e50b091d: Merge "Clean up the enter transition even if there is not entering fragment." into mnc-dev
* commit 'e50b091df9586c5c41d219ffb0c41fa3f893c329': Clean up the enter transition even if there is not entering fragment.
This commit is contained in:
@@ -1107,6 +1107,7 @@ final class BackStackRecord extends FragmentTransaction implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (enterTransition != null) {
|
if (enterTransition != null) {
|
||||||
|
enterTransition.removeTarget(state.nonExistentView);
|
||||||
View view = inFragment.getView();
|
View view = inFragment.getView();
|
||||||
if (view != null) {
|
if (view != null) {
|
||||||
view.captureTransitioningViews(enteringViews);
|
view.captureTransitioningViews(enteringViews);
|
||||||
@@ -1115,7 +1116,6 @@ final class BackStackRecord extends FragmentTransaction implements
|
|||||||
}
|
}
|
||||||
enteringViews.add(state.nonExistentView);
|
enteringViews.add(state.nonExistentView);
|
||||||
// We added this earlier to prevent any views being targeted.
|
// We added this earlier to prevent any views being targeted.
|
||||||
enterTransition.removeTarget(state.nonExistentView);
|
|
||||||
addTargets(enterTransition, enteringViews);
|
addTargets(enterTransition, enteringViews);
|
||||||
}
|
}
|
||||||
setSharedElementEpicenter(enterTransition, state);
|
setSharedElementEpicenter(enterTransition, state);
|
||||||
@@ -1170,7 +1170,7 @@ final class BackStackRecord extends FragmentTransaction implements
|
|||||||
Transition exitTransition, Transition sharedElementTransition, Fragment inFragment,
|
Transition exitTransition, Transition sharedElementTransition, Fragment inFragment,
|
||||||
boolean isBack) {
|
boolean isBack) {
|
||||||
boolean overlap = true;
|
boolean overlap = true;
|
||||||
if (enterTransition != null && exitTransition != null) {
|
if (enterTransition != null && exitTransition != null && inFragment != null) {
|
||||||
overlap = isBack ? inFragment.getAllowReturnTransitionOverlap() :
|
overlap = isBack ? inFragment.getAllowReturnTransitionOverlap() :
|
||||||
inFragment.getAllowEnterTransitionOverlap();
|
inFragment.getAllowEnterTransitionOverlap();
|
||||||
}
|
}
|
||||||
@@ -1638,7 +1638,7 @@ final class BackStackRecord extends FragmentTransaction implements
|
|||||||
|
|
||||||
private void setBackNameOverrides(TransitionState state, ArrayMap<String, View> namedViews,
|
private void setBackNameOverrides(TransitionState state, ArrayMap<String, View> namedViews,
|
||||||
boolean isEnd) {
|
boolean isEnd) {
|
||||||
int count = mSharedElementTargetNames.size();
|
int count = mSharedElementTargetNames == null ? 0 : mSharedElementTargetNames.size();
|
||||||
for (int i = 0; i < count; i++) {
|
for (int i = 0; i < count; i++) {
|
||||||
String source = mSharedElementSourceNames.get(i);
|
String source = mSharedElementSourceNames.get(i);
|
||||||
String originalTarget = mSharedElementTargetNames.get(i);
|
String originalTarget = mSharedElementTargetNames.get(i);
|
||||||
@@ -1656,7 +1656,7 @@ final class BackStackRecord extends FragmentTransaction implements
|
|||||||
|
|
||||||
private void setNameOverrides(TransitionState state, ArrayMap<String, View> namedViews,
|
private void setNameOverrides(TransitionState state, ArrayMap<String, View> namedViews,
|
||||||
boolean isEnd) {
|
boolean isEnd) {
|
||||||
int count = namedViews.size();
|
int count = namedViews == null ? 0 : namedViews.size();
|
||||||
for (int i = 0; i < count; i++) {
|
for (int i = 0; i < count; i++) {
|
||||||
String source = namedViews.keyAt(i);
|
String source = namedViews.keyAt(i);
|
||||||
String target = namedViews.valueAt(i).getTransitionName();
|
String target = namedViews.valueAt(i).getTransitionName();
|
||||||
|
|||||||
Reference in New Issue
Block a user