Merge "Use rotation based on PagedOrientationHandler instead of touch" into ub-launcher3-rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
0dbbd8951d
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user