TaskView has fullscreen progress instead of boolean
This way we can update the insets of the adjacent task throughout the swipe up from an app. Bug: 111699315 Change-Id: Ieeaa5b6667e44f82e7e097acb9f0552609b15809
This commit is contained in:
@@ -102,6 +102,19 @@ public class TaskView extends FrameLayout implements PageCallbacks {
|
||||
}
|
||||
};
|
||||
|
||||
public static final FloatProperty<TaskView> FULLSCREEN_PROGRESS =
|
||||
new FloatProperty<TaskView>("fullscreenProgress") {
|
||||
@Override
|
||||
public void setValue(TaskView taskView, float v) {
|
||||
taskView.setFullscreenProgress(v);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Float get(TaskView taskView) {
|
||||
return taskView.mFullscreenProgress;
|
||||
}
|
||||
};
|
||||
|
||||
private static final FloatProperty<TaskView> FOCUS_TRANSITION =
|
||||
new FloatProperty<TaskView>("focusTransition") {
|
||||
@Override
|
||||
@@ -140,7 +153,7 @@ public class TaskView extends FrameLayout implements PageCallbacks {
|
||||
private DigitalWellBeingToast mDigitalWellBeingToast;
|
||||
private float mCurveScale;
|
||||
private float mZoomScale;
|
||||
private boolean mIsFullscreen;
|
||||
private float mFullscreenProgress;
|
||||
|
||||
private Animator mIconAndDimAnimator;
|
||||
private float mFocusTransitionProgress = 1;
|
||||
@@ -341,6 +354,10 @@ public class TaskView extends FrameLayout implements PageCallbacks {
|
||||
setTranslationZ(0);
|
||||
setAlpha(1f);
|
||||
setIconScaleAndDim(1);
|
||||
if (!getRecentsView().getQuickScrubController().isQuickSwitch()) {
|
||||
// Reset full screen progress unless we are doing back to back quick switch.
|
||||
setFullscreenProgress(0);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -499,15 +516,21 @@ public class TaskView extends FrameLayout implements PageCallbacks {
|
||||
|
||||
/**
|
||||
* Hides the icon and shows insets when this TaskView is about to be shown fullscreen.
|
||||
* @param progress: 0 = show icon and no insets; 1 = don't show icon and show full insets.
|
||||
*/
|
||||
public void setFullscreen(boolean isFullscreen) {
|
||||
mIsFullscreen = isFullscreen;
|
||||
mIconView.setVisibility(mIsFullscreen ? INVISIBLE : VISIBLE);
|
||||
setClipChildren(!mIsFullscreen);
|
||||
setClipToPadding(!mIsFullscreen);
|
||||
public void setFullscreenProgress(float progress) {
|
||||
if (progress == mFullscreenProgress) {
|
||||
return;
|
||||
}
|
||||
mFullscreenProgress = progress;
|
||||
boolean isFullscreen = mFullscreenProgress > 0;
|
||||
mIconView.setVisibility(isFullscreen ? INVISIBLE : VISIBLE);
|
||||
setClipChildren(!isFullscreen);
|
||||
setClipToPadding(!isFullscreen);
|
||||
getThumbnail().invalidate();
|
||||
}
|
||||
|
||||
public boolean isFullscreen() {
|
||||
return mIsFullscreen;
|
||||
public float getFullscreenProgress() {
|
||||
return mFullscreenProgress;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user