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

Commit 6cd8e5dc authored by Sunny Goyal's avatar Sunny Goyal Committed by Automerger Merge Worker
Browse files

Fixing tab width and panner not aligned with the all-apps icons am: 524f4c4f

parents 4bed744e 524f4c4f
Loading
Loading
Loading
Loading
+11 −7
Original line number Original line Diff line number Diff line
@@ -15,6 +15,8 @@
 */
 */
package com.android.launcher3.allapps;
package com.android.launcher3.allapps;


import static com.android.launcher3.workprofile.PersonalWorkSlidingTabStrip.getTabWidth;

import android.content.Context;
import android.content.Context;
import android.util.AttributeSet;
import android.util.AttributeSet;
import android.view.View;
import android.view.View;
@@ -87,14 +89,10 @@ public class WorkEduCard extends FrameLayout implements
    }
    }


    @Override
    @Override
    public void onAnimationRepeat(Animation animation) {
    public void onAnimationRepeat(Animation animation) { }

    }


    @Override
    @Override
    public void onAnimationStart(Animation animation) {
    public void onAnimationStart(Animation animation) { }

    }


    private void removeCard() {
    private void removeCard() {
        if (mPosition == -1) {
        if (mPosition == -1) {
@@ -107,8 +105,14 @@ public class WorkEduCard extends FrameLayout implements
        }
        }
    }
    }


    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int size = MeasureSpec.getSize(widthMeasureSpec);
        findViewById(R.id.wrapper).getLayoutParams().width = getTabWidth(getContext(), size);
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }

    public void setPosition(int position) {
    public void setPosition(int position) {
        mPosition = position;
        mPosition = position;
    }
    }

}
}
+34 −5
Original line number Original line Diff line number Diff line
@@ -16,20 +16,24 @@
package com.android.launcher3.allapps;
package com.android.launcher3.allapps;


import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TURN_OFF_WORK_APPS_TAP;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TURN_OFF_WORK_APPS_TAP;
import static com.android.launcher3.workprofile.PersonalWorkSlidingTabStrip.getTabWidth;


import android.content.Context;
import android.content.Context;
import android.graphics.Insets;
import android.graphics.Insets;
import android.graphics.Rect;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.util.AttributeSet;
import android.view.View;
import android.view.View;
import android.view.ViewGroup.MarginLayoutParams;
import android.view.ViewGroup;
import android.view.ViewGroup;
import android.view.WindowInsets;
import android.view.WindowInsets;
import android.widget.Button;
import android.widget.Button;


import com.android.launcher3.DeviceProfile;
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.Insettable;
import com.android.launcher3.Insettable;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.Utilities;
import com.android.launcher3.anim.KeyboardInsetAnimationCallback;
import com.android.launcher3.anim.KeyboardInsetAnimationCallback;
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.model.StringCache;
import com.android.launcher3.model.StringCache;
import com.android.launcher3.views.ActivityContext;
import com.android.launcher3.views.ActivityContext;
import com.android.launcher3.workprofile.PersonalWorkSlidingTabStrip;
import com.android.launcher3.workprofile.PersonalWorkSlidingTabStrip;
@@ -85,15 +89,40 @@ public class WorkModeSwitch extends Button implements Insettable, View.OnClickLi


    @Override
    @Override
    public void setInsets(Rect insets) {
    public void setInsets(Rect insets) {
        int bottomInset = insets.bottom - mInsets.bottom;
        mInsets.set(insets);
        mInsets.set(insets);
        ViewGroup.MarginLayoutParams marginLayoutParams =
        ViewGroup.MarginLayoutParams lp = (MarginLayoutParams) getLayoutParams();
                (ViewGroup.MarginLayoutParams) getLayoutParams();
        if (lp != null) {
        if (marginLayoutParams != null) {
            int bottomMargin = getResources().getDimensionPixelSize(R.dimen.work_fab_margin_bottom);
            marginLayoutParams.bottomMargin = bottomInset + marginLayoutParams.bottomMargin;
            if (FeatureFlags.ENABLE_FLOATING_SEARCH_BAR.get()) {
                bottomMargin <<= 1;  // Double margin to add space above search bar.
                bottomMargin += getResources().getDimensionPixelSize(R.dimen.qsb_widget_height);
            }
            }

            DeviceProfile dp = ActivityContext.lookupContext(getContext()).getDeviceProfile();
            if (!dp.isGestureMode) {
                if (dp.isTaskbarPresent) {
                    bottomMargin += dp.taskbarSize;
                } else {
                    bottomMargin += insets.bottom;
                }
            }

            lp.bottomMargin = bottomMargin;
        }
        }
    }



    @Override
    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
        super.onLayout(changed, left, top, right, bottom);
        DeviceProfile dp = ActivityContext.lookupContext(getContext()).getDeviceProfile();
        View parent = (View) getParent();
        int size = parent.getWidth() - parent.getPaddingLeft() - parent.getPaddingRight()
                - 2 * dp.allAppsLeftRightPadding;
        int tabWidth = getTabWidth(getContext(), size);
        int shift = (size - tabWidth) / 2 + dp.allAppsLeftRightPadding;
        setTranslationX(Utilities.isRtl(getResources()) ? shift : -shift);
    }


    @Override
    @Override
    public void onActivePageChanged(int page) {
    public void onActivePageChanged(int page) {
+22 −0
Original line number Original line Diff line number Diff line
@@ -23,7 +23,9 @@ import android.widget.LinearLayout;
import androidx.annotation.NonNull;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.Nullable;


import com.android.launcher3.DeviceProfile;
import com.android.launcher3.pageindicators.PageIndicator;
import com.android.launcher3.pageindicators.PageIndicator;
import com.android.launcher3.views.ActivityContext;


/**
/**
 * Supports two indicator colors, dedicated for personal and work tabs.
 * Supports two indicator colors, dedicated for personal and work tabs.
@@ -72,6 +74,26 @@ public class PersonalWorkSlidingTabStrip extends LinearLayout implements PageInd
        return false;
        return false;
    }
    }


    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        if (getPaddingLeft() == 0 && getPaddingRight() == 0) {
            // If any padding is not specified, restrict the width to emulate padding
            int size = MeasureSpec.getSize(widthMeasureSpec);
            size = getTabWidth(getContext(), size);
            widthMeasureSpec = MeasureSpec.makeMeasureSpec(size, MeasureSpec.EXACTLY);
        }
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }

    /**
     * Returns distance between left and right app icons
     */
    public static int getTabWidth(Context context, int totalWidth) {
        DeviceProfile grid = ActivityContext.lookupContext(context).getDeviceProfile();
        int iconPadding = totalWidth / grid.numShownAllAppsColumns - grid.allAppsIconSizePx;
        return totalWidth - iconPadding;
    }

    /**
    /**
     * Interface definition for a callback to be invoked when an active page has been changed.
     * Interface definition for a callback to be invoked when an active page has been changed.
     */
     */