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

Commit ca7f30f7 authored by Hyunyoung Song's avatar Hyunyoung Song
Browse files

Fix all apps becoming clipped when screen is rotated with all apps opened.

b/30040068

Change-Id: I5e89a82310fddd5aa89a8f5d855b2efa526f8244
parent 7ed42af3
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -252,7 +252,10 @@ public class LauncherStateTransitionAnimation {
        playCommonTransitionAnimations(toWorkspaceState, fromView, toView,
                animated, initialized, animation, revealDuration, layerViews);
        if (!animated || !initialized) {

            if (FeatureFlags.LAUNCHER3_ALL_APPS_PULL_UP &&
                    toWorkspaceState == Workspace.State.NORMAL_HIDDEN) {
                mAllAppsController.finishPullUp();
            }
            toView.setTranslationX(0.0f);
            toView.setTranslationY(0.0f);
            toView.setScaleX(1.0f);
@@ -672,7 +675,8 @@ public class LauncherStateTransitionAnimation {
        playCommonTransitionAnimations(toWorkspaceState, fromView, toView,
                animated, initialized, animation, revealDuration, layerViews);
        if (!animated || !initialized) {
            if (FeatureFlags.LAUNCHER3_ALL_APPS_PULL_UP) {
            if (FeatureFlags.LAUNCHER3_ALL_APPS_PULL_UP &&
                    fromWorkspaceState == Workspace.State.NORMAL_HIDDEN) {
                mAllAppsController.finishPullDown();
            }
            fromView.setVisibility(View.GONE);
+7 −12
Original line number Diff line number Diff line
@@ -397,14 +397,13 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        updatePaddingsAndMargins();
        mContentBounds.set(mHorizontalPadding, 0,
                MeasureSpec.getSize(widthMeasureSpec) - mHorizontalPadding,
                MeasureSpec.getSize(heightMeasureSpec));
        int widthPx = MeasureSpec.getSize(widthMeasureSpec);
        int heightPx = MeasureSpec.getSize(heightMeasureSpec);
        updatePaddingsAndMargins(widthPx, heightPx);
        mContentBounds.set(mHorizontalPadding, 0, widthPx - mHorizontalPadding, heightPx);

        DeviceProfile grid = mLauncher.getDeviceProfile();
        int availableWidth = (!mContentBounds.isEmpty() ? mContentBounds.width() :
                MeasureSpec.getSize(widthMeasureSpec))
        int availableWidth = (!mContentBounds.isEmpty() ? mContentBounds.width() : widthPx)
                - 2 * mAppsRecyclerView.getMaxScrollbarWidth();
        grid.updateAppsViewNumCols(getResources(), availableWidth);
        if (FeatureFlags.LAUNCHER3_ALL_APPS_PULL_UP) {
@@ -470,7 +469,7 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
     * container view, we inset the background and padding of the recycler view to allow for the
     * recycler view to handle touch events (for fast scrolling) all the way to the edge.
     */
    private void updatePaddingsAndMargins() {
    private void updatePaddingsAndMargins(int widthPx, int heightPx) {
        Rect bgPadding = new Rect();
        getRevealView().getBackground().getPadding(bgPadding);

@@ -497,11 +496,7 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
        // Clip the view to the left and right edge of the background to
        // to prevent shadows from rendering beyond the edges
        final Rect newClipBounds = new Rect(
                bgPadding.left,
                0,
                getWidth() - bgPadding.right,
                getHeight()
        );
                bgPadding.left, 0, widthPx - bgPadding.right, heightPx);
        setClipBounds(newClipBounds);

        // Allow the overscroll effect to reach the edges of the view
+2 −2
Original line number Diff line number Diff line
@@ -256,7 +256,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
    }

    private void updateLightStatusBar(float progress) {
        boolean enable = (progress < mStatusBarHeight / 2);
        boolean enable = progress <= mStatusBarHeight / 2;
        // Do not modify status bar on landscape as all apps is not full bleed.
        if (mLauncher.getDeviceProfile().isVerticalBarLayout()) {
            return;
@@ -404,7 +404,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
        }
    }

    private void finishPullUp() {
    public void finishPullUp() {
        mHotseat.setVisibility(View.INVISIBLE);
        setProgress(0f);
    }