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

Commit 74b25ca2 authored by Vinit Nayak's avatar Vinit Nayak
Browse files

Align 3 button nav with hotseat

* Animate translationY alongside icons
* When device rotates on home, update
translationY
* Add padding to contextual buttons to center
it

Bug: 189807374
Change-Id: I149ef25df570fb1fd385f1da960c827105ff975d
parent 60c64ade
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@
            android:layout_height="match_parent"
            android:paddingLeft="@dimen/taskbar_nav_buttons_spacing"
            android:paddingRight="@dimen/taskbar_nav_buttons_spacing"
            android:paddingTop="@dimen/taskbar_contextual_padding_top"
            android:gravity="center_vertical"
            android:layout_gravity="start"/>

@@ -62,6 +63,7 @@
            android:layout_height="match_parent"
            android:paddingLeft="@dimen/taskbar_nav_buttons_spacing"
            android:paddingRight="@dimen/taskbar_nav_buttons_spacing"
            android:paddingTop="@dimen/taskbar_contextual_padding_top"
            android:gravity="center_vertical"
            android:layout_gravity="end"/>
    </FrameLayout>
+2 −4
Original line number Diff line number Diff line
@@ -15,9 +15,7 @@
-->
<ImageView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="@dimen/taskbar_contextual_buttons_size"
    android:layout_height="@dimen/taskbar_contextual_buttons_size"
    android:layout_marginTop="@dimen/taskbar_contextual_button_margin"
    android:paddingStart="@dimen/taskbar_nav_buttons_spacing"
    android:layout_width="@dimen/taskbar_nav_buttons_size"
    android:layout_height="@dimen/taskbar_nav_buttons_size"
    android:background="@drawable/taskbar_icon_click_feedback_roundrect"
    android:scaleType="center"/>
 No newline at end of file
+4 −2
Original line number Diff line number Diff line
@@ -165,8 +165,10 @@
    <dimen name="taskbar_icon_drag_icon_size">54dp</dimen>
    <dimen name="taskbar_folder_margin">16dp</dimen>
    <dimen name="taskbar_nav_buttons_spacing">16dp</dimen>
    <dimen name="taskbar_nav_buttons_size">48dp</dimen>
    <dimen name="taskbar_contextual_button_margin">16dp</dimen>
    <dimen name="taskbar_contextual_padding_top">8dp</dimen>
    <dimen name="taskbar_nav_buttons_size">44dp</dimen>
    <dimen name="taskbar_contextual_button_margin">40dp</dimen>
    <dimen name="taskbar_hotseat_nav_spacing">42dp</dimen>
    <dimen name="taskbar_contextual_buttons_size">35dp</dimen>
    <dimen name="taskbar_stashed_size">24dp</dimen>
    <dimen name="taskbar_stashed_handle_width">220dp</dimen>
+10 −2
Original line number Diff line number Diff line
@@ -62,7 +62,6 @@ import java.util.stream.Stream;
public class LauncherTaskbarUIController extends TaskbarUIController {

    private final BaseQuickstepLauncher mLauncher;
    private final TaskbarStateHandler mTaskbarStateHandler;

    private final TaskbarActivityContext mContext;
    private final TaskbarDragLayer mTaskbarDragLayer;
@@ -96,6 +95,14 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
    private TaskbarKeyguardController mKeyguardController;

    private LauncherState mTargetStateOverride = null;
    private final DeviceProfile.OnDeviceProfileChangeListener mProfileChangeListener =
            new DeviceProfile.OnDeviceProfileChangeListener() {
                @Override
                public void onDeviceProfileChanged(DeviceProfile dp) {
                    mControllers.taskbarViewController.onRotationChanged(
                            mLauncher.getDeviceProfile());
                }
            };

    public LauncherTaskbarUIController(
            BaseQuickstepLauncher launcher, TaskbarActivityContext context) {
@@ -104,7 +111,6 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
        mTaskbarView = mTaskbarDragLayer.findViewById(R.id.taskbar_view);

        mLauncher = launcher;
        mTaskbarStateHandler = mLauncher.getTaskbarStateHandler();
    }

    @Override
@@ -129,6 +135,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
        onStashedInAppChanged(mLauncher.getDeviceProfile());
        mLauncher.addOnDeviceProfileChangeListener(mOnDeviceProfileChangeListener);
        mLauncher.getStateManager().addStateListener(mStateListener);
        mLauncher.addOnDeviceProfileChangeListener(mProfileChangeListener);
    }

    @Override
@@ -141,6 +148,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
        mLauncher.getStateManager().removeStateListener(mStateListener);
        mLauncher.getHotseat().setIconsAlpha(1f);
        mLauncher.setTaskbarUIController(null);
        mLauncher.removeOnDeviceProfileChangeListener(mProfileChangeListener);
    }

    @Override
+13 −2
Original line number Diff line number Diff line
@@ -95,6 +95,9 @@ public class NavbarButtonsViewController {
    private final ViewGroup mEndContextualContainer;
    private final ViewGroup mStartContextualContainer;

    private final AnimatedFloat mTaskbarNavButtonTranslationY = new AnimatedFloat(
            this::updateNavButtonTranslationY);

    // Initialized in init.
    private TaskbarControllers mControllers;
    private View mA11yButton;
@@ -133,8 +136,7 @@ public class NavbarButtonsViewController {
                mControllers.navButtonController, R.id.ime_switcher);
        mPropertyHolders.add(new StatePropertyHolder(imeSwitcherButton,
                flags -> ((flags & MASK_IME_SWITCHER_VISIBLE) == MASK_IME_SWITCHER_VISIBLE)
                        && ((flags & FLAG_ROTATION_BUTTON_VISIBLE) == 0)
                        && ((flags & FLAG_A11Y_VISIBLE) == 0)));
                        && ((flags & FLAG_ROTATION_BUTTON_VISIBLE) == 0)));

        mPropertyHolders.add(new StatePropertyHolder(
                mControllers.taskbarViewController.getTaskbarIconAlpha()
@@ -305,6 +307,11 @@ public class NavbarButtonsViewController {
        }
    }

    /** Use to set the translationY for the all nav+contextual buttons */
    public AnimatedFloat getTaskbarNavButtonTranslationY() {
        return mTaskbarNavButtonTranslationY;
    }

    /**
     * Does not call {@link #applyState()}. Don't forget to!
     */
@@ -323,6 +330,10 @@ public class NavbarButtonsViewController {
        }
    }

    private void updateNavButtonTranslationY() {
        mNavButtonsView.setTranslationY(mTaskbarNavButtonTranslationY.value);
    }

    private ImageView addButton(@DrawableRes int drawableId, @TaskbarButton int buttonType,
            ViewGroup parent, TaskbarNavButtonController navButtonController, @IdRes int id) {
        return addButton(drawableId, buttonType, parent, navButtonController, id,
Loading