mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-19 18:58:19 +00:00
Revert "Revert "[Overview Actions] UI update for Landscape.""
This reverts commit 4dfcbec512.
Reason for revert: Fix the margin issue by handling the bottom
insets ourselves.
Change-Id: Ic01cadbbe847e419af8bb444ad57764e719152c3
This commit is contained in:
@@ -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,12 +322,14 @@ public final class LauncherActivityInterface extends
|
||||
//TODO: this needs to account for the swipe gesture height and accessibility
|
||||
// UI when shown.
|
||||
float actionsBottomMargin = 0;
|
||||
if (getMode(context) == Mode.THREE_BUTTONS) {
|
||||
actionsBottomMargin = res.getDimensionPixelSize(
|
||||
if (!dp.isVerticalBarLayout()) {
|
||||
if (getMode(context) == Mode.THREE_BUTTONS) {
|
||||
actionsBottomMargin = res.getDimensionPixelSize(
|
||||
R.dimen.overview_actions_bottom_margin_three_button);
|
||||
} else {
|
||||
actionsBottomMargin = res.getDimensionPixelSize(
|
||||
} else {
|
||||
actionsBottomMargin = res.getDimensionPixelSize(
|
||||
R.dimen.overview_actions_bottom_margin_gesture);
|
||||
}
|
||||
}
|
||||
float actionsHeight = actionsBottomMargin
|
||||
+ res.getDimensionPixelSize(R.dimen.overview_actions_height);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user