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

Commit 70ff0c11 authored by Becky Qiu's avatar Becky Qiu
Browse files

Revert "Revert "[Overview Actions] UI update for Landscape.""

This reverts commit 4dfcbec5.

Reason for revert: Fix the margin issue by handling the bottom
insets ourselves.

Change-Id: Ic01cadbbe847e419af8bb444ad57764e719152c3
parent ee4a2fe6
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import android.view.animation.Interpolator;
import androidx.annotation.Nullable;
import androidx.annotation.UiThread;

import com.android.launcher3.BaseDraggingActivity;
import com.android.launcher3.BaseQuickstepLauncher;
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.Launcher;
@@ -314,8 +313,8 @@ public final class LauncherActivityInterface extends
    @Override
    protected float getExtraSpace(Context context, DeviceProfile dp,
            PagedOrientationHandler orientationHandler) {
        if (dp.isVerticalBarLayout() ||
                hideShelfInTwoButtonLandscape(context, orientationHandler)) {
        if ((dp.isVerticalBarLayout() && !showOverviewActions(context))
                || hideShelfInTwoButtonLandscape(context, orientationHandler)) {
            return 0;
        } else {
            Resources res = context.getResources();
@@ -323,6 +322,7 @@ public final class LauncherActivityInterface extends
                //TODO: this needs to account for the swipe gesture height and accessibility
                // UI when shown.
                float actionsBottomMargin = 0;
                if (!dp.isVerticalBarLayout()) {
                    if (getMode(context) == Mode.THREE_BUTTONS) {
                        actionsBottomMargin = res.getDimensionPixelSize(
                            R.dimen.overview_actions_bottom_margin_three_button);
@@ -330,6 +330,7 @@ public final class LauncherActivityInterface extends
                        actionsBottomMargin = res.getDimensionPixelSize(
                            R.dimen.overview_actions_bottom_margin_gesture);
                    }
                }
                float actionsHeight = actionsBottomMargin
                        + res.getDimensionPixelSize(R.dimen.overview_actions_height);
                return actionsHeight;
+27 −5
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@ import static com.android.launcher3.config.FeatureFlags.ENABLE_OVERVIEW_SHARE;
import static com.android.quickstep.SysUINavigationMode.removeShelfFromOverview;

import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
@@ -30,9 +32,11 @@ import android.widget.FrameLayout;
import androidx.annotation.IntDef;
import androidx.annotation.Nullable;

import com.android.launcher3.Insettable;
import com.android.launcher3.R;
import com.android.launcher3.util.MultiValueAlpha;
import com.android.launcher3.util.MultiValueAlpha.AlphaProperty;
import com.android.quickstep.SysUINavigationMode;
import com.android.quickstep.SysUINavigationMode.Mode;
import com.android.quickstep.TaskOverlayFactory.OverlayUICallbacks;

@@ -43,7 +47,9 @@ import java.lang.annotation.RetentionPolicy;
 * View for showing action buttons in Overview
 */
public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayout
        implements OnClickListener {
        implements OnClickListener, Insettable {

    private final Rect mInsets = new Rect();

    @IntDef(flag = true, value = {
            HIDDEN_UNSUPPORTED_NAVIGATION,
@@ -129,6 +135,18 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo
        updateHiddenFlags(HIDDEN_UNSUPPORTED_NAVIGATION, !removeShelfFromOverview(getContext()));
    }

    @Override
    protected void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        updateVerticalMargin(SysUINavigationMode.getMode(getContext()));
    }

    @Override
    public void setInsets(Rect insets) {
        mInsets.set(insets);
        updateVerticalMargin(SysUINavigationMode.getMode(getContext()));
    }

    public void updateHiddenFlags(@ActionsHiddenFlags int visibilityFlags, boolean enable) {
        if (enable) {
            mHiddenFlags |= visibilityFlags;
@@ -152,16 +170,20 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo
        return mMultiValueAlpha.getProperty(INDEX_FULLSCREEN_ALPHA);
    }

    /** Updates vertical margins for different navigation mode. */
    public void updateVerticalMarginForNavModeChange(Mode mode) {
        int bottomMargin = 0;
        if (mode == Mode.THREE_BUTTONS) {
    /** Updates vertical margins for different navigation mode or configuration changes. */
    public void updateVerticalMargin(Mode mode) {
        int bottomMargin;
        int orientation = getResources().getConfiguration().orientation;
        if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
            bottomMargin = 0;
        } else if (mode == Mode.THREE_BUTTONS) {
            bottomMargin = getResources()
                    .getDimensionPixelSize(R.dimen.overview_actions_bottom_margin_three_button);
        } else {
            bottomMargin = getResources()
                    .getDimensionPixelSize(R.dimen.overview_actions_bottom_margin_gesture);
        }
        bottomMargin += mInsets.bottom;
        LayoutParams params = (LayoutParams) getLayoutParams();
        params.setMargins(
                params.leftMargin, params.topMargin, params.rightMargin, bottomMargin);
+3 −1
Original line number Diff line number Diff line
@@ -1627,8 +1627,10 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
                    : View.LAYOUT_DIRECTION_RTL);
            mClearAllButton.setRotation(mOrientationHandler.getDegreesRotated());
            mActivity.getDragLayer().recreateControllers();
            boolean isInLandscape = touchRotation != 0
                    || mOrientationState.getLauncherRotation() != ROTATION_0;
            mActionsView.updateHiddenFlags(HIDDEN_NON_ZERO_ROTATION,
                    touchRotation != 0 || mOrientationState.getLauncherRotation() != ROTATION_0);
                    !mOrientationState.canLauncherRotate() && isInLandscape);
            resetPaddingFromTaskSize();
            requestLayout();
        }
+2 −2
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ public abstract class BaseQuickstepLauncher extends Launcher
    public void onNavigationModeChanged(Mode newMode) {
        getDragLayer().recreateControllers();
        if (mActionsView != null && isOverviewActionsEnabled()) {
            mActionsView.updateVerticalMarginForNavModeChange(newMode);
            mActionsView.updateVerticalMargin(newMode);
        }
    }

@@ -175,7 +175,7 @@ public abstract class BaseQuickstepLauncher extends Launcher
            // Overview is above all other launcher elements, including qsb, so move it to the top.
            getOverviewPanel().bringToFront();
            mActionsView.bringToFront();
            mActionsView.updateVerticalMarginForNavModeChange(SysUINavigationMode.getMode(this));
            mActionsView.updateVerticalMargin(SysUINavigationMode.getMode(this));
        }
    }