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

Commit 5a3dacc1 authored by Matías Hernández's avatar Matías Hernández Committed by Android (Google) Code Review
Browse files

Merge "Add test for setting/keeping scaleType on StatusBarIconView" into main

parents e6d25841 b2ca569f
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ import android.platform.test.annotations.DisableFlags;
import android.platform.test.annotations.EnableFlags;
import android.service.notification.StatusBarNotification;
import android.view.ViewGroup;
import android.widget.ImageView;

import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;
@@ -431,6 +432,32 @@ public class StatusBarIconViewTest extends SysuiTestCase {
                mIconView.getIconScale(), 0.01f);
    }

    @Test
    @EnableFlags({Flags.FLAG_MODES_UI, Flags.FLAG_MODES_UI_ICONS})
    public void set_iconThatWantsFixedSpace_setsScaleType() {
        mIconView.setScaleType(ImageView.ScaleType.FIT_START);
        StatusBarIcon icon = new StatusBarIcon(UserHandle.ALL, "mockPackage",
                Icon.createWithResource(mContext, R.drawable.ic_android), 0, 0, "",
                StatusBarIcon.Type.SystemIcon, StatusBarIcon.Shape.FIXED_SPACE);

        mIconView.set(icon);

        assertThat(mIconView.getScaleType()).isEqualTo(ImageView.ScaleType.FIT_CENTER);
    }

    @Test
    @EnableFlags({Flags.FLAG_MODES_UI, Flags.FLAG_MODES_UI_ICONS})
    public void set_iconWithOtherShape_keepsScaleType() {
        mIconView.setScaleType(ImageView.ScaleType.FIT_START);
        StatusBarIcon icon = new StatusBarIcon(UserHandle.ALL, "mockPackage",
                Icon.createWithResource(mContext, R.drawable.ic_android), 0, 0, "",
                StatusBarIcon.Type.SystemIcon, StatusBarIcon.Shape.WRAP_CONTENT);

        mIconView.set(icon);

        assertThat(mIconView.getScaleType()).isEqualTo(ImageView.ScaleType.FIT_START);
    }

    private static StatusBarNotification getMockSbn() {
        StatusBarNotification sbn = mock(StatusBarNotification.class);
        when(sbn.getNotification()).thenReturn(mock(Notification.class));