Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bb55f9e9 authored by Vinit Nayak's avatar Vinit Nayak
Browse files

Use rotation based on PagedOrientationHandler instead of touch

Fixes: 154928106
Test: Tested overview w/ and w/o
home rotation enabled.

Change-Id: Ib7e91e51b2181824e5520ad69965ed3379302c27
parent 5c6b3200
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -239,7 +239,8 @@ public class TaskMenuView extends AbstractFloatingView {
        setLayoutParams(params);
        setLayoutParams(params);
        setScaleX(taskView.getScaleX());
        setScaleX(taskView.getScaleX());
        setScaleY(taskView.getScaleY());
        setScaleY(taskView.getScaleY());
        mOptionLayout.setOrientation(orientationHandler.getTaskMenuLayoutOrientation());
        mOptionLayout.setOrientation(orientationHandler
                .getTaskMenuLayoutOrientation(mOptionLayout));
        setPosition(sTempRect.left - insets.left, sTempRect.top - insets.top,
        setPosition(sTempRect.left - insets.left, sTempRect.top - insets.top,
            taskView.getPagedOrientationHandler());
            taskView.getPagedOrientationHandler());
    }
    }
+2 −4
Original line number Original line Diff line number Diff line
@@ -448,14 +448,12 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
    }
    }


    public void setOrientationState(RecentsOrientedState orientationState) {
    public void setOrientationState(RecentsOrientedState orientationState) {
        int iconRotation = orientationState.getTouchRotation();
        PagedOrientationHandler orientationHandler = orientationState.getOrientationHandler();
        PagedOrientationHandler orientationHandler = orientationState.getOrientationHandler();
        boolean isRtl = orientationHandler.getRecentsRtlSetting(getResources());
        boolean isRtl = orientationHandler.getRecentsRtlSetting(getResources());
        LayoutParams snapshotParams = (LayoutParams) mSnapshotView.getLayoutParams();
        LayoutParams snapshotParams = (LayoutParams) mSnapshotView.getLayoutParams();
        int thumbnailPadding = (int) getResources().getDimension(R.dimen.task_thumbnail_top_margin);
        int thumbnailPadding = (int) getResources().getDimension(R.dimen.task_thumbnail_top_margin);
        LayoutParams iconParams = (LayoutParams) mIconView.getLayoutParams();
        LayoutParams iconParams = (LayoutParams) mIconView.getLayoutParams();
        int rotation = orientationState.getTouchRotationDegrees();
        switch (orientationHandler.getRotation()) {
        switch (iconRotation) {
            case Surface.ROTATION_90:
            case Surface.ROTATION_90:
                iconParams.gravity = (isRtl ? END : START) | CENTER_VERTICAL;
                iconParams.gravity = (isRtl ? END : START) | CENTER_VERTICAL;
                iconParams.rightMargin = -thumbnailPadding;
                iconParams.rightMargin = -thumbnailPadding;
@@ -480,7 +478,7 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
                break;
                break;
        }
        }
        mIconView.setLayoutParams(iconParams);
        mIconView.setLayoutParams(iconParams);
        mIconView.setRotation(rotation);
        mIconView.setRotation(orientationHandler.getDegreesRotated());


        if (mMenuView != null) {
        if (mMenuView != null) {
            mMenuView.onRotationChanged();
            mMenuView.onRotationChanged();
+6 −0
Original line number Original line Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.launcher3.touch;


import android.graphics.RectF;
import android.graphics.RectF;
import android.view.Surface;
import android.view.Surface;
import android.widget.LinearLayout;


public class HomeRotatedPageHandler extends PortraitPagedViewHandler {
public class HomeRotatedPageHandler extends PortraitPagedViewHandler {
    @Override
    @Override
@@ -46,4 +47,9 @@ public class HomeRotatedPageHandler extends PortraitPagedViewHandler {
            }
            }
        } // TODO (b/149609488) handle 180 case as well
        } // TODO (b/149609488) handle 180 case as well
    }
    }

    @Override
    public int getTaskMenuLayoutOrientation(LinearLayout taskMenuLayout) {
        return taskMenuLayout.getOrientation();
    }
}
}
+6 −1
Original line number Original line Diff line number Diff line
@@ -176,6 +176,11 @@ public class LandscapePagedViewHandler implements PagedOrientationHandler {
        return 90;
        return 90;
    }
    }


    @Override
    public int getRotation() {
        return Surface.ROTATION_90;
    }

    @Override
    @Override
    public void offsetTaskRect(RectF rect, float value, int displayRotation, int launcherRotation) {
    public void offsetTaskRect(RectF rect, float value, int displayRotation, int launcherRotation) {
        if (displayRotation == Surface.ROTATION_0) {
        if (displayRotation == Surface.ROTATION_0) {
@@ -246,7 +251,7 @@ public class LandscapePagedViewHandler implements PagedOrientationHandler {
    }
    }


    @Override
    @Override
    public int getTaskMenuLayoutOrientation() {
    public int getTaskMenuLayoutOrientation(LinearLayout taskMenuLayout) {
        return LinearLayout.HORIZONTAL;
        return LinearLayout.HORIZONTAL;
    }
    }


+2 −1
Original line number Original line Diff line number Diff line
@@ -81,6 +81,7 @@ public interface PagedOrientationHandler {
    void setMaxScroll(AccessibilityEvent event, int maxScroll);
    void setMaxScroll(AccessibilityEvent event, int maxScroll);
    boolean getRecentsRtlSetting(Resources resources);
    boolean getRecentsRtlSetting(Resources resources);
    float getDegreesRotated();
    float getDegreesRotated();
    int getRotation();
    void offsetTaskRect(RectF rect, float value, int delta, int launcherRotation);
    void offsetTaskRect(RectF rect, float value, int delta, int launcherRotation);
    int getPrimaryValue(int x, int y);
    int getPrimaryValue(int x, int y);
    int getSecondaryValue(int x, int y);
    int getSecondaryValue(int x, int y);
@@ -95,7 +96,7 @@ public interface PagedOrientationHandler {
    float getTaskMenuX(float x, View thumbnailView);
    float getTaskMenuX(float x, View thumbnailView);
    float getTaskMenuY(float y, View thumbnailView);
    float getTaskMenuY(float y, View thumbnailView);
    int getTaskMenuWidth(View view);
    int getTaskMenuWidth(View view);
    int getTaskMenuLayoutOrientation();
    int getTaskMenuLayoutOrientation(LinearLayout taskMenuLayout);
    void setLayoutParamsForTaskMenuOptionItem(LinearLayout.LayoutParams lp);
    void setLayoutParamsForTaskMenuOptionItem(LinearLayout.LayoutParams lp);


    /**
    /**
Loading