Merge "Override animation background with app override color" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
2ff8b7b00e
@@ -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 Task parentTask = activityRecord != null
|
||||
? activityRecord.getTask()
|
||||
: taskFragment.getTask();
|
||||
final int backgroundColor = ColorUtils.setAlphaComponent(
|
||||
parentTask.getTaskDescription().getBackgroundColor(), 255);
|
||||
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();
|
||||
backgroundColor = ColorUtils.setAlphaComponent(
|
||||
parentTask.getTaskDescription().getBackgroundColor(), 255);
|
||||
}
|
||||
change.setBackgroundColor(backgroundColor);
|
||||
}
|
||||
|
||||
|
||||
@@ -3145,14 +3145,26 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
|
||||
// which if set originates from a call to overridePendingAppTransition.
|
||||
backgroundColorForTransition = adapter.getBackgroundColor();
|
||||
} 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
|
||||
// with a valid background color and showBackground set takes precedence.
|
||||
final Task parentTask = activityRecord != null
|
||||
? activityRecord.getTask()
|
||||
: taskFragment.getTask();
|
||||
backgroundColorForTransition = ColorUtils.setAlphaComponent(
|
||||
parentTask.getTaskDescription().getBackgroundColor(), 255);
|
||||
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
|
||||
// with a valid background color and showBackground set takes precedence.
|
||||
final Task parentTask = activityRecord != null
|
||||
? activityRecord.getTask()
|
||||
: taskFragment.getTask();
|
||||
backgroundColorForTransition = ColorUtils.setAlphaComponent(
|
||||
parentTask.getTaskDescription().getBackgroundColor(), 255);
|
||||
}
|
||||
}
|
||||
animationRunnerBuilder.setTaskBackgroundColor(backgroundColorForTransition);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user