Merge "Use the non-override task progress for calculating the z." into nyc-dev

am: e27a4376ab

* commit 'e27a4376aba021f72771d28daf656307a32e8ce3':
  Use the non-override task progress for calculating the z.
This commit is contained in:
Winson
2016-03-04 22:36:32 +00:00
committed by android-build-merger

View File

@@ -672,8 +672,9 @@ public class TaskStackLayoutAlgorithm {
boolean isFrontMostTaskInGroup = task.group == null || task.group.isFrontMostTask(task); boolean isFrontMostTaskInGroup = task.group == null || task.group.isFrontMostTask(task);
if (isFrontMostTaskInGroup) { if (isFrontMostTaskInGroup) {
getStackTransform(taskProgress, mInitialScrollP, mFocusState, tmpTransform, null, getStackTransform(taskProgress, taskProgress, mInitialScrollP, mFocusState,
false /* ignoreSingleTaskCase */, false /* forceUpdate */); tmpTransform, null, false /* ignoreSingleTaskCase */,
false /* forceUpdate */);
float screenY = tmpTransform.rect.top; float screenY = tmpTransform.rect.top;
boolean hasVisibleThumbnail = (prevScreenY - screenY) > taskBarHeight; boolean hasVisibleThumbnail = (prevScreenY - screenY) > taskBarHeight;
if (hasVisibleThumbnail) { if (hasVisibleThumbnail) {
@@ -725,15 +726,16 @@ public class TaskStackLayoutAlgorithm {
return transformOut; return transformOut;
} else { } else {
// Return early if we have an invalid index // Return early if we have an invalid index
if (task == null || mTaskIndexMap.get(task.key.id, -1) == -1) { int nonOverrideTaskProgress = mTaskIndexMap.get(task.key.id, -1);
if (task == null || nonOverrideTaskProgress == -1) {
transformOut.reset(); transformOut.reset();
return transformOut; return transformOut;
} }
float taskProgress = ignoreTaskOverrides float taskProgress = ignoreTaskOverrides
? mTaskIndexMap.get(task.key.id, 0) ? nonOverrideTaskProgress
: getStackScrollForTask(task); : getStackScrollForTask(task);
getStackTransform(taskProgress, stackScroll, focusState, transformOut, getStackTransform(taskProgress, nonOverrideTaskProgress, stackScroll, focusState,
frontTransform, false /* ignoreSingleTaskCase */, forceUpdate); transformOut, frontTransform, false /* ignoreSingleTaskCase */, forceUpdate);
return transformOut; return transformOut;
} }
} }
@@ -758,9 +760,9 @@ public class TaskStackLayoutAlgorithm {
* internally to ensure that we can calculate the transform for any * internally to ensure that we can calculate the transform for any
* position in the stack. * position in the stack.
*/ */
public void getStackTransform(float taskProgress, float stackScroll, int focusState, public void getStackTransform(float taskProgress, float nonOverrideTaskProgress,
TaskViewTransform transformOut, TaskViewTransform frontTransform, float stackScroll, int focusState, TaskViewTransform transformOut,
boolean ignoreSingleTaskCase, boolean forceUpdate) { TaskViewTransform frontTransform, boolean ignoreSingleTaskCase, boolean forceUpdate) {
SystemServicesProxy ssp = Recents.getSystemServices(); SystemServicesProxy ssp = Recents.getSystemServices();
// Compute the focused and unfocused offset // Compute the focused and unfocused offset
@@ -769,6 +771,8 @@ public class TaskStackLayoutAlgorithm {
mFocusedRange.offset(boundedStackScroll); mFocusedRange.offset(boundedStackScroll);
float boundedScrollUnfocusedRangeX = mUnfocusedRange.getNormalizedX(taskProgress); float boundedScrollUnfocusedRangeX = mUnfocusedRange.getNormalizedX(taskProgress);
float boundedScrollFocusedRangeX = mFocusedRange.getNormalizedX(taskProgress); float boundedScrollFocusedRangeX = mFocusedRange.getNormalizedX(taskProgress);
float boundedScrollUnfocusedNonOverrideRangeX =
mUnfocusedRange.getNormalizedX(nonOverrideTaskProgress);
mUnfocusedRange.offset(stackScroll); mUnfocusedRange.offset(stackScroll);
mFocusedRange.offset(stackScroll); mFocusedRange.offset(stackScroll);
boolean unfocusedVisible = mUnfocusedRange.isInRange(taskProgress); boolean unfocusedVisible = mUnfocusedRange.isInRange(taskProgress);
@@ -812,7 +816,7 @@ public class TaskStackLayoutAlgorithm {
y = (mStackRect.top - mTaskRect.top) + y = (mStackRect.top - mTaskRect.top) +
(int) Utilities.mapRange(focusState, unfocusedY, focusedY); (int) Utilities.mapRange(focusState, unfocusedY, focusedY);
z = Utilities.mapRange(Utilities.clamp01(boundedScrollUnfocusedRangeX), z = Utilities.mapRange(Utilities.clamp01(boundedScrollUnfocusedNonOverrideRangeX),
mMinTranslationZ, mMaxTranslationZ); mMinTranslationZ, mMaxTranslationZ);
dimAlpha = Utilities.mapRange(focusState, unfocusedDim, focusedDim); dimAlpha = Utilities.mapRange(focusState, unfocusedDim, focusedDim);
viewOutlineAlpha = Utilities.mapRange(Utilities.clamp01(boundedScrollUnfocusedRangeX), viewOutlineAlpha = Utilities.mapRange(Utilities.clamp01(boundedScrollUnfocusedRangeX),
@@ -952,9 +956,9 @@ public class TaskStackLayoutAlgorithm {
mFocusedRange.relativeMin); mFocusedRange.relativeMin);
float max = Utilities.mapRange(mFocusState, mUnfocusedRange.relativeMax, float max = Utilities.mapRange(mFocusState, mUnfocusedRange.relativeMax,
mFocusedRange.relativeMax); mFocusedRange.relativeMax);
getStackTransform(min, 0f, mFocusState, mBackOfStackTransform, null, getStackTransform(min, min, 0f, mFocusState, mBackOfStackTransform, null,
true /* ignoreSingleTaskCase */, true /* forceUpdate */); true /* ignoreSingleTaskCase */, true /* forceUpdate */);
getStackTransform(max, 0f, mFocusState, mFrontOfStackTransform, null, getStackTransform(max, max, 0f, mFocusState, mFrontOfStackTransform, null,
true /* ignoreSingleTaskCase */, true /* forceUpdate */); true /* ignoreSingleTaskCase */, true /* forceUpdate */);
mBackOfStackTransform.visible = true; mBackOfStackTransform.visible = true;
mFrontOfStackTransform.visible = true; mFrontOfStackTransform.visible = true;