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

This commit is contained in:
Vinit Nayak
2021-11-19 21:51:03 +00:00
committed by Android (Google) Code Review
3 changed files with 14 additions and 14 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,
STAGE_POSITION_BOTTOM_OR_RIGHT);
mIconView2, STAGE_POSITION_BOTTOM_OR_RIGHT);
mTaskIdAttributeContainer[0].setStagePosition(STAGE_POSITION_TOP_OR_LEFT);
mSnapshotView2.bind(secondary);
mSplitBoundsConfig = splitBoundsConfig;
@@ -117,14 +117,6 @@ 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

@@ -94,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(taskView.iconView, outPos)
popupContainer.getDescendantRectRelativeToSelf(taskContainer.iconView, outPos)
}
override fun onControllerInterceptTouchEvent(ev: MotionEvent?): Boolean {

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,
STAGE_POSITION_UNDEFINED);
mIconView, STAGE_POSITION_UNDEFINED);
mSnapshotView.bind(task);
setOrientationState(orientedState);
}
@@ -837,10 +837,12 @@ 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(mTaskIdAttributeContainer[0]);
return TaskMenuViewWithArrow.Companion.showForTask(menuContainer);
} else {
return TaskMenuView.showForTask(mTaskIdAttributeContainer[0]);
return TaskMenuView.showForTask(menuContainer);
}
}
@@ -1562,13 +1564,15 @@ 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,
int stagePosition) {
IconView iconView, int stagePosition) {
this.mTask = task;
this.mThumbnailView = thumbnailView;
this.mIconView = iconView;
this.mStagePosition = stagePosition;
}
@@ -1588,6 +1592,10 @@ public class TaskView extends FrameLayout implements Reusable {
return TaskView.this;
}
public IconView getIconView() {
return mIconView;
}
public int getStagePosition() {
return mStagePosition;
}