Merge "Make sure theme attributes don't get lost" into oc-dev

am: 9d2f03ec5d

Change-Id: I4a2d163e18ce899eb97bfcff7c92de3a7ffb186c
This commit is contained in:
Jorim Jaggi
2017-04-14 05:34:38 +00:00
committed by android-build-merger
2 changed files with 22 additions and 1 deletions

View File

@@ -5941,7 +5941,7 @@ public class Activity extends ContextThemeWrapper
*/
public void setTaskDescription(ActivityManager.TaskDescription taskDescription) {
if (mTaskDescription != taskDescription) {
mTaskDescription.copyFrom(taskDescription);
mTaskDescription.copyFromPreserveHiddenFields(taskDescription);
// Scale the icon down to something reasonable if it is provided
if (taskDescription.getIconFilename() == null && taskDescription.getIcon() != null) {
final int size = ActivityManager.getLauncherLargeIconSizeInner(this);

View File

@@ -1222,6 +1222,27 @@ public class ActivityManager {
mNavigationBarColor = other.mNavigationBarColor;
}
/**
* Copies this the values from another TaskDescription, but preserves the hidden fields
* if they weren't set on {@code other}
* @hide
*/
public void copyFromPreserveHiddenFields(TaskDescription other) {
mLabel = other.mLabel;
mIcon = other.mIcon;
mIconFilename = other.mIconFilename;
mColorPrimary = other.mColorPrimary;
if (other.mColorBackground != 0) {
mColorBackground = other.mColorBackground;
}
if (other.mStatusBarColor != 0) {
mStatusBarColor = other.mStatusBarColor;
}
if (other.mNavigationBarColor != 0) {
mNavigationBarColor = other.mNavigationBarColor;
}
}
private TaskDescription(Parcel source) {
readFromParcel(source);
}