Some cleanup in RecentsView
> Merging overview and all-apps scrims into a single View > Decoupling TaskMenuView from taskView Bug: 184676497 Test: Manual Change-Id: I49f7249eaa2a800054385ab8e73a441d6a1b5e16
This commit is contained in:
@@ -27,6 +27,7 @@ import static android.view.Surface.ROTATION_270;
|
||||
import static android.view.Surface.ROTATION_90;
|
||||
import static android.widget.Toast.LENGTH_SHORT;
|
||||
|
||||
import static com.android.launcher3.AbstractFloatingView.TYPE_TASK_MENU;
|
||||
import static com.android.launcher3.LauncherState.OVERVIEW_SPLIT_SELECT;
|
||||
import static com.android.launcher3.QuickstepTransitionManager.RECENTS_LAUNCH_DURATION;
|
||||
import static com.android.launcher3.Utilities.comp;
|
||||
@@ -72,6 +73,7 @@ import android.widget.Toast;
|
||||
import androidx.annotation.IntDef;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.android.launcher3.AbstractFloatingView;
|
||||
import com.android.launcher3.DeviceProfile;
|
||||
import com.android.launcher3.LauncherSettings;
|
||||
import com.android.launcher3.R;
|
||||
@@ -102,8 +104,6 @@ import com.android.quickstep.TaskViewUtils;
|
||||
import com.android.quickstep.util.CancellableTask;
|
||||
import com.android.quickstep.util.RecentsOrientedState;
|
||||
import com.android.quickstep.util.TaskCornerRadius;
|
||||
import com.android.quickstep.views.RecentsView.PageCallbacks;
|
||||
import com.android.quickstep.views.RecentsView.ScrollState;
|
||||
import com.android.quickstep.views.TaskThumbnailView.PreviewPositionHelper;
|
||||
import com.android.systemui.shared.recents.model.Task;
|
||||
import com.android.systemui.shared.system.ActivityManagerWrapper;
|
||||
@@ -118,7 +118,7 @@ import java.util.function.Consumer;
|
||||
/**
|
||||
* A task in the Recents view.
|
||||
*/
|
||||
public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
public class TaskView extends FrameLayout implements Reusable {
|
||||
|
||||
private static final String TAG = TaskView.class.getSimpleName();
|
||||
|
||||
@@ -265,26 +265,10 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
}
|
||||
};
|
||||
|
||||
private final OnAttachStateChangeListener mTaskMenuStateListener =
|
||||
new OnAttachStateChangeListener() {
|
||||
@Override
|
||||
public void onViewAttachedToWindow(View view) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewDetachedFromWindow(View view) {
|
||||
if (mMenuView != null) {
|
||||
mMenuView.removeOnAttachStateChangeListener(this);
|
||||
mMenuView = null;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
private final TaskOutlineProvider mOutlineProvider;
|
||||
|
||||
private Task mTask;
|
||||
private TaskThumbnailView mSnapshotView;
|
||||
private TaskMenuView mMenuView;
|
||||
private IconView mIconView;
|
||||
private final DigitalWellBeingToast mDigitalWellBeingToast;
|
||||
private float mFullscreenProgress;
|
||||
@@ -487,10 +471,6 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
+ mCurrentFullscreenParams.mCurrentDrawnInsets.bottom);
|
||||
}
|
||||
|
||||
public TaskMenuView getMenuView() {
|
||||
return mMenuView;
|
||||
}
|
||||
|
||||
public DigitalWellBeingToast getDigitalWellBeingToast() {
|
||||
return mDigitalWellBeingToast;
|
||||
}
|
||||
@@ -662,15 +642,12 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
|
||||
if (!getRecentsView().isClearAllHidden()) {
|
||||
getRecentsView().snapToPage(getRecentsView().indexOfChild(this));
|
||||
return false;
|
||||
} else {
|
||||
mMenuView = TaskMenuView.showForTask(this);
|
||||
mActivity.getStatsLogManager().logger().withItemInfo(getItemInfo())
|
||||
.log(LAUNCHER_TASK_ICON_TAP_OR_LONGPRESS);
|
||||
if (mMenuView != null) {
|
||||
mMenuView.addOnAttachStateChangeListener(mTaskMenuStateListener);
|
||||
}
|
||||
return TaskMenuView.showForTask(this);
|
||||
}
|
||||
return mMenuView != null;
|
||||
}
|
||||
|
||||
private void setIcon(Drawable icon) {
|
||||
@@ -729,10 +706,6 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
mIconView.setRotation(orientationHandler.getDegreesRotated());
|
||||
snapshotParams.topMargin = deviceProfile.overviewTaskThumbnailTopMarginPx;
|
||||
mSnapshotView.setLayoutParams(snapshotParams);
|
||||
|
||||
if (mMenuView != null) {
|
||||
mMenuView.onRotationChanged();
|
||||
}
|
||||
}
|
||||
|
||||
private void setIconAndDimTransitionProgress(float progress, boolean invert) {
|
||||
@@ -817,27 +790,6 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
onTaskListVisibilityChanged(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScroll(ScrollState scrollState, boolean gridEnabled) {
|
||||
// Don't do anything if it's modal.
|
||||
if (mModalness > 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
float dwbBannerAlpha = Utilities.boundToRange(1.0f - 2 * scrollState.linearInterpolation,
|
||||
0f, 1f);
|
||||
mDigitalWellBeingToast.updateBannerAlpha(dwbBannerAlpha);
|
||||
|
||||
if (mMenuView != null) {
|
||||
PagedOrientationHandler pagedOrientationHandler = getPagedOrientationHandler();
|
||||
RecentsView recentsView = getRecentsView();
|
||||
mMenuView.setPosition(getX() - recentsView.getScrollX(),
|
||||
getY() - recentsView.getScrollY(), pagedOrientationHandler);
|
||||
mMenuView.setScaleX(getScaleX());
|
||||
mMenuView.setScaleY(getScaleY());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the contextual chip.
|
||||
*
|
||||
@@ -1337,9 +1289,8 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
}
|
||||
|
||||
public void initiateSplitSelect(SplitPositionOption splitPositionOption) {
|
||||
RecentsView rv = getRecentsView();
|
||||
getMenuView().close(false);
|
||||
rv.initiateSplitSelect(this, splitPositionOption);
|
||||
AbstractFloatingView.closeOpenViews(mActivity, false, TYPE_TASK_MENU);
|
||||
getRecentsView().initiateSplitSelect(this, splitPositionOption);
|
||||
}
|
||||
|
||||
private void setColorTint(float amount) {
|
||||
|
||||
Reference in New Issue
Block a user