Merge "Use rotation based on PagedOrientationHandler instead of touch" into ub-launcher3-rvc-dev

This commit is contained in:
TreeHugger Robot
2020-05-04 20:21:50 +00:00
committed by Android (Google) Code Review
7 changed files with 29 additions and 8 deletions
@@ -239,7 +239,8 @@ public class TaskMenuView extends AbstractFloatingView {
setLayoutParams(params);
setScaleX(taskView.getScaleX());
setScaleY(taskView.getScaleY());
mOptionLayout.setOrientation(orientationHandler.getTaskMenuLayoutOrientation());
mOptionLayout.setOrientation(orientationHandler
.getTaskMenuLayoutOrientation(mOptionLayout));
setPosition(sTempRect.left - insets.left, sTempRect.top - insets.top,
taskView.getPagedOrientationHandler());
}
@@ -448,14 +448,12 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
}
public void setOrientationState(RecentsOrientedState orientationState) {
int iconRotation = orientationState.getTouchRotation();
PagedOrientationHandler orientationHandler = orientationState.getOrientationHandler();
boolean isRtl = orientationHandler.getRecentsRtlSetting(getResources());
LayoutParams snapshotParams = (LayoutParams) mSnapshotView.getLayoutParams();
int thumbnailPadding = (int) getResources().getDimension(R.dimen.task_thumbnail_top_margin);
LayoutParams iconParams = (LayoutParams) mIconView.getLayoutParams();
int rotation = orientationState.getTouchRotationDegrees();
switch (iconRotation) {
switch (orientationHandler.getRotation()) {
case Surface.ROTATION_90:
iconParams.gravity = (isRtl ? END : START) | CENTER_VERTICAL;
iconParams.rightMargin = -thumbnailPadding;
@@ -480,7 +478,7 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
break;
}
mIconView.setLayoutParams(iconParams);
mIconView.setRotation(rotation);
mIconView.setRotation(orientationHandler.getDegreesRotated());
if (mMenuView != null) {
mMenuView.onRotationChanged();
@@ -18,6 +18,7 @@ package com.android.launcher3.touch;
import android.graphics.RectF;
import android.view.Surface;
import android.widget.LinearLayout;
public class HomeRotatedPageHandler extends PortraitPagedViewHandler {
@Override
@@ -46,4 +47,9 @@ public class HomeRotatedPageHandler extends PortraitPagedViewHandler {
}
} // TODO (b/149609488) handle 180 case as well
}
@Override
public int getTaskMenuLayoutOrientation(LinearLayout taskMenuLayout) {
return taskMenuLayout.getOrientation();
}
}
@@ -176,6 +176,11 @@ public class LandscapePagedViewHandler implements PagedOrientationHandler {
return 90;
}
@Override
public int getRotation() {
return Surface.ROTATION_90;
}
@Override
public void offsetTaskRect(RectF rect, float value, int displayRotation, int launcherRotation) {
if (displayRotation == Surface.ROTATION_0) {
@@ -246,7 +251,7 @@ public class LandscapePagedViewHandler implements PagedOrientationHandler {
}
@Override
public int getTaskMenuLayoutOrientation() {
public int getTaskMenuLayoutOrientation(LinearLayout taskMenuLayout) {
return LinearLayout.HORIZONTAL;
}
@@ -81,6 +81,7 @@ public interface PagedOrientationHandler {
void setMaxScroll(AccessibilityEvent event, int maxScroll);
boolean getRecentsRtlSetting(Resources resources);
float getDegreesRotated();
int getRotation();
void offsetTaskRect(RectF rect, float value, int delta, int launcherRotation);
int getPrimaryValue(int x, int y);
int getSecondaryValue(int x, int y);
@@ -95,7 +96,7 @@ public interface PagedOrientationHandler {
float getTaskMenuX(float x, View thumbnailView);
float getTaskMenuY(float y, View thumbnailView);
int getTaskMenuWidth(View view);
int getTaskMenuLayoutOrientation();
int getTaskMenuLayoutOrientation(LinearLayout taskMenuLayout);
void setLayoutParamsForTaskMenuOptionItem(LinearLayout.LayoutParams lp);
/**
@@ -173,6 +173,11 @@ public class PortraitPagedViewHandler implements PagedOrientationHandler {
return 0;
}
@Override
public int getRotation() {
return Surface.ROTATION_0;
}
@Override
public void offsetTaskRect(RectF rect, float value, int displayRotation, int launcherRotation) {
if (displayRotation == Surface.ROTATION_0) {
@@ -243,7 +248,7 @@ public class PortraitPagedViewHandler implements PagedOrientationHandler {
}
@Override
public int getTaskMenuLayoutOrientation() {
public int getTaskMenuLayoutOrientation(LinearLayout taskMenuLayout) {
return LinearLayout.VERTICAL;
}
@@ -54,6 +54,11 @@ public class SeascapePagedViewHandler extends LandscapePagedViewHandler {
return 270;
}
@Override
public int getRotation() {
return Surface.ROTATION_270;
}
@Override
public boolean isGoingUp(float displacement) {
return displacement < 0;