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

Commit 16204115 authored by Chilun Huang's avatar Chilun Huang
Browse files

Set the correct size to the container of icon view

Wrong container size causes some icon to be cropped. Set the icon size specified by spec as the container size to correct it.

Bug: 228928242
Bug: 229954549
Test: Manual resize the split and check the icon on both phone and large
      screen device.
      Manual drag to split and check the icon on both phone and large
      screen device.
Change-Id: I556f2c1a44852439242a16a6216121036b8aed5e
parent 9f46a6ec
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -20,8 +20,8 @@
    android:layout_width="match_parent">

    <ImageView android:id="@+id/split_resizing_icon"
               android:layout_height="@*android:dimen/starting_surface_icon_size"
               android:layout_width="@*android:dimen/starting_surface_icon_size"
               android:layout_height="@dimen/split_icon_size"
               android:layout_width="@dimen/split_icon_size"
               android:layout_gravity="center"
               android:scaleType="fitCenter"
               android:padding="0dp"
+2 −0
Original line number Diff line number Diff line
@@ -87,6 +87,8 @@
    <!-- How high we lift the divider when touching -->
    <dimen name="docked_stack_divider_lift_elevation">4dp</dimen>

    <!-- Icon size for split screen -->
    <dimen name="split_icon_size">72dp</dimen>
    <!-- Divider handle size for legacy split screen -->
    <dimen name="docked_divider_handle_width">16dp</dimen>
    <dimen name="docked_divider_handle_height">2dp</dimen>
+7 −4
Original line number Diff line number Diff line
@@ -73,6 +73,8 @@ public class SplitDecorManager extends WindowlessWindowManager {
    private Rect mBounds = new Rect();
    private ValueAnimator mFadeAnimator;

    private int mIconSize;

    public SplitDecorManager(Configuration configuration, IconProvider iconProvider,
            SurfaceSession surfaceSession) {
        super(configuration, null /* rootSurface */, null /* hostInputToken */);
@@ -104,6 +106,7 @@ public class SplitDecorManager extends WindowlessWindowManager {
        mHostLeash = rootLeash;
        mViewHost = new SurfaceControlViewHost(context, context.getDisplay(), this);

        mIconSize = context.getResources().getDimensionPixelSize(R.dimen.split_icon_size);
        final FrameLayout rootLayout = (FrameLayout) LayoutInflater.from(context)
                .inflate(R.layout.split_decor, null);
        mResizingIconView = rootLayout.findViewById(R.id.split_resizing_icon);
@@ -171,14 +174,14 @@ public class SplitDecorManager extends WindowlessWindowManager {

            WindowManager.LayoutParams lp =
                    (WindowManager.LayoutParams) mViewHost.getView().getLayoutParams();
            lp.width = mIcon.getIntrinsicWidth();
            lp.height = mIcon.getIntrinsicHeight();
            lp.width = mIconSize;
            lp.height = mIconSize;
            mViewHost.relayout(lp);
            t.setLayer(mIconLeash, Integer.MAX_VALUE);
        }
        t.setPosition(mIconLeash,
                newBounds.width() / 2 - mIcon.getIntrinsicWidth() / 2,
                newBounds.height() / 2 - mIcon.getIntrinsicWidth() / 2);
                newBounds.width() / 2 - mIconSize / 2,
                newBounds.height() / 2 - mIconSize / 2);

        boolean show = newBounds.width() > mBounds.width() || newBounds.height() > mBounds.height();
        if (show != mShown) {
+1 −2
Original line number Diff line number Diff line
@@ -111,8 +111,7 @@ public class DropZoneView extends FrameLayout {
        mColorDrawable = new ColorDrawable();
        setBackgroundDrawable(mColorDrawable);

        final int iconSize = context.getResources().getDimensionPixelSize(
                com.android.internal.R.dimen.starting_surface_icon_size);
        final int iconSize = context.getResources().getDimensionPixelSize(R.dimen.split_icon_size);
        mSplashScreenView = new ImageView(context);
        mSplashScreenView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        addView(mSplashScreenView,