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

Commit 23d118ff authored by Yalan Yiue's avatar Yalan Yiue Committed by Automerger Merge Worker
Browse files

Merge "PSS: AppSelector's should update its width when unfold" into udc-qpr-dev am: 5a7cdcec

parents e29e39ad 5a7cdcec
Loading
Loading
Loading
Loading
+19 −2
Original line number Original line Diff line number Diff line
@@ -21,6 +21,7 @@ import static android.content.res.Resources.ID_NULL;


import android.annotation.IdRes;
import android.annotation.IdRes;
import android.content.Context;
import android.content.Context;
import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.Rect;
@@ -53,10 +54,13 @@ public class ResolverDrawerLayout extends ViewGroup {
    private static final String TAG = "ResolverDrawerLayout";
    private static final String TAG = "ResolverDrawerLayout";
    private MetricsLogger mMetricsLogger;
    private MetricsLogger mMetricsLogger;




    /**
    /**
     * Max width of the whole drawer layout
     * Max width of the whole drawer layout and its res id
     */
     */
    private final int mMaxWidth;
    private int mMaxWidthResId;
    private int mMaxWidth;


    /**
    /**
     * Max total visible height of views not marked always-show when in the closed/initial state
     * Max total visible height of views not marked always-show when in the closed/initial state
@@ -152,6 +156,7 @@ public class ResolverDrawerLayout extends ViewGroup {


        final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ResolverDrawerLayout,
        final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ResolverDrawerLayout,
                defStyleAttr, 0);
                defStyleAttr, 0);
        mMaxWidthResId = a.getResourceId(R.styleable.ResolverDrawerLayout_maxWidth, -1);
        mMaxWidth = a.getDimensionPixelSize(R.styleable.ResolverDrawerLayout_maxWidth, -1);
        mMaxWidth = a.getDimensionPixelSize(R.styleable.ResolverDrawerLayout_maxWidth, -1);
        mMaxCollapsedHeight = a.getDimensionPixelSize(
        mMaxCollapsedHeight = a.getDimensionPixelSize(
                R.styleable.ResolverDrawerLayout_maxCollapsedHeight, 0);
                R.styleable.ResolverDrawerLayout_maxCollapsedHeight, 0);
@@ -1042,6 +1047,18 @@ public class ResolverDrawerLayout extends ViewGroup {
        return mAlwaysShowHeight;
        return mAlwaysShowHeight;
    }
    }


    /**
     * Max width of the drawer needs to be updated after the configuration is changed.
     * For example, foldables have different layout width when the device is folded and unfolded.
     */
    @Override
    protected void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        if (mMaxWidthResId > 0) {
            mMaxWidth = getResources().getDimensionPixelSize(mMaxWidthResId);
        }
    }

    @Override
    @Override
    protected void onLayout(boolean changed, int l, int t, int r, int b) {
    protected void onLayout(boolean changed, int l, int t, int r, int b) {
        final int width = getWidth();
        final int width = getWidth();