Merge "Merge existing bundle with ActivityOptions" into sc-dev am: a83514ecfb am: b1b5bf4273

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14455597

Change-Id: I36c866b2dc455564cccefb9123fcf9de28e1f843
This commit is contained in:
TreeHugger Robot
2021-05-10 06:43:07 +00:00
committed by Automerger Merge Worker

View File

@@ -78,6 +78,10 @@ public abstract class SettingsTransitionActivity extends FragmentActivity {
super.startActivity(intent, options);
return;
}
if (options != null) {
super.startActivity(intent, getMergedBundleForTransition(options));
return;
}
super.startActivity(intent, getActivityOptionsBundle(toolbar));
}
@@ -110,6 +114,11 @@ public abstract class SettingsTransitionActivity extends FragmentActivity {
super.startActivityForResult(intent, requestCode, options);
return;
}
if (options != null) {
super.startActivityForResult(intent, requestCode,
getMergedBundleForTransition(options));
return;
}
super.startActivityForResult(intent, requestCode, getActivityOptionsBundle(toolbar));
}
@@ -133,4 +142,15 @@ public abstract class SettingsTransitionActivity extends FragmentActivity {
return ActivityOptions.makeSceneTransitionAnimation(this, toolbar,
"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;
}
}