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

Commit a83514ec authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Merge existing bundle with ActivityOptions" into sc-dev

parents 393c625a 98362d0e
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -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;
    }
}