Merge "Merge existing bundle with ActivityOptions" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
a83514ecfb
@@ -78,6 +78,10 @@ public abstract class SettingsTransitionActivity extends FragmentActivity {
|
|||||||
super.startActivity(intent, options);
|
super.startActivity(intent, options);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (options != null) {
|
||||||
|
super.startActivity(intent, getMergedBundleForTransition(options));
|
||||||
|
return;
|
||||||
|
}
|
||||||
super.startActivity(intent, getActivityOptionsBundle(toolbar));
|
super.startActivity(intent, getActivityOptionsBundle(toolbar));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,6 +114,11 @@ public abstract class SettingsTransitionActivity extends FragmentActivity {
|
|||||||
super.startActivityForResult(intent, requestCode, options);
|
super.startActivityForResult(intent, requestCode, options);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (options != null) {
|
||||||
|
super.startActivityForResult(intent, requestCode,
|
||||||
|
getMergedBundleForTransition(options));
|
||||||
|
return;
|
||||||
|
}
|
||||||
super.startActivityForResult(intent, requestCode, getActivityOptionsBundle(toolbar));
|
super.startActivityForResult(intent, requestCode, getActivityOptionsBundle(toolbar));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -133,4 +142,15 @@ public abstract class SettingsTransitionActivity extends FragmentActivity {
|
|||||||
return ActivityOptions.makeSceneTransitionAnimation(this, toolbar,
|
return ActivityOptions.makeSceneTransitionAnimation(this, toolbar,
|
||||||
"shared_element_view").toBundle();
|
"shared_element_view").toBundle();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Bundle getMergedBundleForTransition(@NonNull Bundle options) {
|
||||||
|
final Toolbar toolbar = getToolbar();
|
||||||
|
final Bundle mergedBundle = new Bundle();
|
||||||
|
mergedBundle.putAll(options);
|
||||||
|
final Bundle activityOptionsBundle = getActivityOptionsBundle(toolbar);
|
||||||
|
if (activityOptionsBundle != null) {
|
||||||
|
mergedBundle.putAll(activityOptionsBundle);
|
||||||
|
}
|
||||||
|
return mergedBundle;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user