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

Commit 663854b1 authored by András Kurucz's avatar András Kurucz
Browse files

Make BigPictureIconManagerTest resilient to diverse screen factors

Ensure that this test runs reliably on various screen sizes and densities.

Bug: 306184173
Test: atest BigPictureIconManagerTest
Change-Id: I8678c4db353cee72019198ad8310e0f6744aac29
parent 955f9d2d
Loading
Loading
Loading
Loading
+14 −1
Original line number Original line Diff line number Diff line
@@ -24,9 +24,9 @@ import android.testing.AndroidTestingRunner
import android.testing.TestableLooper.RunWithLooper
import android.testing.TestableLooper.RunWithLooper
import androidx.test.filters.SmallTest
import androidx.test.filters.SmallTest
import com.android.internal.widget.NotificationDrawableConsumer
import com.android.internal.widget.NotificationDrawableConsumer
import com.android.systemui.res.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.SysuiTestCase
import com.android.systemui.graphics.ImageLoader
import com.android.systemui.graphics.ImageLoader
import com.android.systemui.res.R
import com.android.systemui.util.mockito.argumentCaptor
import com.android.systemui.util.mockito.argumentCaptor
import com.android.systemui.util.mockito.mock
import com.android.systemui.util.mockito.mock
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertThat
@@ -45,6 +45,7 @@ import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyZeroInteractions
import org.mockito.Mockito.verifyZeroInteractions


private const val FREE_IMAGE_DELAY_MS = 4000L
private const val FREE_IMAGE_DELAY_MS = 4000L
private const val MAX_IMAGE_SIZE = 512 // size of the test drawables in pixels


@OptIn(ExperimentalCoroutinesApi::class)
@OptIn(ExperimentalCoroutinesApi::class)
@SmallTest
@SmallTest
@@ -81,6 +82,7 @@ class BigPictureIconManagerTest : SysuiTestCase() {
    @Before
    @Before
    fun setUp() {
    fun setUp() {
        allowTestableLooperAsMainThread()
        allowTestableLooperAsMainThread()
        overrideMaxImageSizes()
        iconManager =
        iconManager =
            BigPictureIconManager(
            BigPictureIconManager(
                context,
                context,
@@ -430,6 +432,17 @@ class BigPictureIconManagerTest : SysuiTestCase() {
            verifyZeroInteractions(mockConsumer)
            verifyZeroInteractions(mockConsumer)
        }
        }


    private fun overrideMaxImageSizes() {
        testableResources.addOverride(
            com.android.internal.R.dimen.notification_big_picture_max_width,
            MAX_IMAGE_SIZE
        )
        testableResources.addOverride(
            com.android.internal.R.dimen.notification_big_picture_max_height,
            MAX_IMAGE_SIZE
        )
    }

    private fun assertIsPlaceHolder(drawable: Drawable) {
    private fun assertIsPlaceHolder(drawable: Drawable) {
        assertThat(drawable).isInstanceOf(PlaceHolderDrawable::class.java)
        assertThat(drawable).isInstanceOf(PlaceHolderDrawable::class.java)
    }
    }