Merge "Revert "Open taskMenu based on TaskIdAttributeContainer"" into sc-v2-dev

This commit is contained in:
Jonathan Scott
2021-11-19 16:44:30 +00:00
committed by Android (Google) Code Review
3 changed files with 17 additions and 16 deletions

View File

@@ -76,7 +76,7 @@ public class GroupedTaskView extends TaskView {
mSecondaryTask = secondary;
mTaskIdContainer[1] = secondary.key.id;
mTaskIdAttributeContainer[1] = new TaskIdAttributeContainer(secondary, mSnapshotView2,
mIconView2, STAGE_POSITION_BOTTOM_OR_RIGHT);
STAGE_POSITION_BOTTOM_OR_RIGHT);
mTaskIdAttributeContainer[0].setStagePosition(STAGE_POSITION_TOP_OR_LEFT);
mSnapshotView2.bind(secondary);
mSplitBoundsConfig = splitBoundsConfig;
@@ -117,6 +117,14 @@ public class GroupedTaskView extends TaskView {
}
}
protected boolean showTaskMenuWithContainer(IconView iconView) {
if (mActivity.getDeviceProfile().overviewShowAsGrid) {
return TaskMenuViewWithArrow.Companion.showForTask(mTaskIdAttributeContainer[0]);
} else {
return TaskMenuView.showForTask(mTaskIdAttributeContainer[0]);
}
}
public void updateSplitBoundsConfig(StagedSplitBounds stagedSplitBounds) {
mSplitBoundsConfig = stagedSplitBounds;
invalidate();

View File

@@ -80,6 +80,7 @@ class TaskMenuViewWithArrow<T : BaseDraggingActivity> : ArrowPopup<T> {
private val menuWidth = context.resources.getDimensionPixelSize(R.dimen.task_menu_width_grid)
private lateinit var taskView: TaskView
private lateinit var optionLayout: LinearLayout
private lateinit var taskContainer: TaskIdAttributeContainer
@@ -93,7 +94,7 @@ class TaskMenuViewWithArrow<T : BaseDraggingActivity> : ArrowPopup<T> {
override fun isOfType(type: Int): Boolean = type and TYPE_TASK_MENU != 0
override fun getTargetObjectLocation(outPos: Rect?) {
popupContainer.getDescendantRectRelativeToSelf(taskContainer.iconView, outPos)
popupContainer.getDescendantRectRelativeToSelf(taskView.iconView, outPos)
}
override fun onControllerInterceptTouchEvent(ev: MotionEvent?): Boolean {
@@ -116,6 +117,7 @@ class TaskMenuViewWithArrow<T : BaseDraggingActivity> : ArrowPopup<T> {
return false
}
taskView = taskContainer.taskView
this.taskContainer = taskContainer
if (!populateMenu()) return false
show()
@@ -135,8 +137,7 @@ class TaskMenuViewWithArrow<T : BaseDraggingActivity> : ArrowPopup<T> {
private fun addMenuOptions() {
// Add the options
TaskOverlayFactory
.getEnabledShortcuts(taskContainer.taskView, mActivityContext.deviceProfile,
taskContainer)
.getEnabledShortcuts(taskView, mActivityContext.deviceProfile, taskContainer)
.forEach { this.addMenuOption(it) }
// Add the spaces between items

View File

@@ -539,7 +539,7 @@ public class TaskView extends FrameLayout implements Reusable {
mTask = task;
mTaskIdContainer[0] = mTask.key.id;
mTaskIdAttributeContainer[0] = new TaskIdAttributeContainer(task, mSnapshotView,
mIconView, STAGE_POSITION_UNDEFINED);
STAGE_POSITION_UNDEFINED);
mSnapshotView.bind(task);
setOrientationState(orientedState);
}
@@ -837,12 +837,10 @@ public class TaskView extends FrameLayout implements Reusable {
}
protected boolean showTaskMenuWithContainer(IconView iconView) {
TaskIdAttributeContainer menuContainer =
mTaskIdAttributeContainer[iconView == mIconView ? 0 : 1];
if (mActivity.getDeviceProfile().overviewShowAsGrid) {
return TaskMenuViewWithArrow.Companion.showForTask(menuContainer);
return TaskMenuViewWithArrow.Companion.showForTask(mTaskIdAttributeContainer[0]);
} else {
return TaskMenuView.showForTask(menuContainer);
return TaskMenuView.showForTask(mTaskIdAttributeContainer[0]);
}
}
@@ -1564,15 +1562,13 @@ public class TaskView extends FrameLayout implements Reusable {
public class TaskIdAttributeContainer {
private final TaskThumbnailView mThumbnailView;
private final Task mTask;
private final IconView mIconView;
/** Defaults to STAGE_POSITION_UNDEFINED if in not a split screen task view */
private @SplitConfigurationOptions.StagePosition int mStagePosition;
public TaskIdAttributeContainer(Task task, TaskThumbnailView thumbnailView,
IconView iconView, int stagePosition) {
int stagePosition) {
this.mTask = task;
this.mThumbnailView = thumbnailView;
this.mIconView = iconView;
this.mStagePosition = stagePosition;
}
@@ -1592,10 +1588,6 @@ public class TaskView extends FrameLayout implements Reusable {
return TaskView.this;
}
public IconView getIconView() {
return mIconView;
}
public int getStagePosition() {
return mStagePosition;
}