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

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

Merge "Override animation background with app override color" into tm-qpr-dev

parents f10f6630 166d53bd
Loading
Loading
Loading
Loading
+20 −7
Original line number Diff line number Diff line
@@ -1731,13 +1731,26 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
            }

            if (activityRecord != null || (taskFragment != null && taskFragment.isEmbedded())) {
                // Set background color to Task theme color for activity and embedded TaskFragment
                // in case we want to show background during the animation.
                final int backgroundColor;
                final TaskFragment organizedTf = activityRecord != null
                        ? activityRecord.getOrganizedTaskFragment()
                        : taskFragment.getOrganizedTaskFragment();
                if (organizedTf != null && organizedTf.getAnimationParams()
                        .getAnimationBackgroundColor() != 0) {
                    // This window is embedded and has an animation background color set on the
                    // TaskFragment. Pass this color with this window, so the handler can use it as
                    // the animation background color if needed,
                    backgroundColor = organizedTf.getAnimationParams()
                            .getAnimationBackgroundColor();
                } else {
                    // Set background color to Task theme color for activity and embedded
                    // TaskFragment in case we want to show background during the animation.
                    final Task parentTask = activityRecord != null
                            ? activityRecord.getTask()
                            : taskFragment.getTask();
                final int backgroundColor = ColorUtils.setAlphaComponent(
                    backgroundColor = ColorUtils.setAlphaComponent(
                            parentTask.getTaskDescription().getBackgroundColor(), 255);
                }
                change.setBackgroundColor(backgroundColor);
            }

+20 −8
Original line number Diff line number Diff line
@@ -3144,6 +3144,17 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
                    // If available use the background color provided through getBackgroundColor
                    // which if set originates from a call to overridePendingAppTransition.
                    backgroundColorForTransition = adapter.getBackgroundColor();
                } else {
                    final TaskFragment organizedTf = activityRecord != null
                            ? activityRecord.getOrganizedTaskFragment()
                            : taskFragment.getOrganizedTaskFragment();
                    if (organizedTf != null && organizedTf.getAnimationParams()
                            .getAnimationBackgroundColor() != 0) {
                        // This window is embedded and has an animation background color set on the
                        // TaskFragment. Pass this color with this window, so the handler can use it
                        // as the animation background color if needed,
                        backgroundColorForTransition = organizedTf.getAnimationParams()
                                .getAnimationBackgroundColor();
                    } else {
                        // Otherwise default to the window's background color if provided through
                        // the theme as the background color for the animation - the top most window
@@ -3154,6 +3165,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
                        backgroundColorForTransition = ColorUtils.setAlphaComponent(
                                parentTask.getTaskDescription().getBackgroundColor(), 255);
                    }
                }
                animationRunnerBuilder.setTaskBackgroundColor(backgroundColorForTransition);
            }