[fenix] For https://github.com/mozilla-mobile/fenix/issues/20257 - Sets min no. of grid columns to 2 in TabsTray

pull/600/head
codrut.topliceanu 3 years ago committed by mergify[bot]
parent ae19555d25
commit 02d170a5b4

@ -15,5 +15,5 @@ internal val Context.numberOfGridColumns: Int
get() { get() {
val displayMetrics = resources.displayMetrics val displayMetrics = resources.displayMetrics
val screenWidthDp = displayMetrics.widthPixels / displayMetrics.density val screenWidthDp = displayMetrics.widthPixels / displayMetrics.density
return (screenWidthDp / MIN_COLUMN_WIDTH_DP).toInt() return (screenWidthDp / MIN_COLUMN_WIDTH_DP).toInt().coerceAtLeast(2)
} }

@ -5,10 +5,13 @@
package org.mozilla.fenix.tabstray.browser package org.mozilla.fenix.tabstray.browser
import android.content.Context import android.content.Context
import android.content.res.Resources
import android.util.DisplayMetrics
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import io.mockk.every import io.mockk.every
import io.mockk.mockk import io.mockk.mockk
import io.mockk.mockkStatic import io.mockk.mockkStatic
import io.mockk.spyk
import io.mockk.unmockkStatic import io.mockk.unmockkStatic
import org.junit.After import org.junit.After
import org.junit.Assert.assertEquals import org.junit.Assert.assertEquals
@ -79,4 +82,20 @@ class DefaultBrowserTrayInteractorTest {
// Should NOT be 4. // Should NOT be 4.
assertEquals(1, (result as GridLayoutManager).spanCount) assertEquals(1, (result as GridLayoutManager).spanCount)
} }
@Test
fun `WHEN screen density is very low THEN numberOfGridColumns will still be a minimum of 2`() {
val context = mockk<Context>()
val resources = mockk<Resources>()
val displayMetrics = spyk<DisplayMetrics> {
widthPixels = 1
density = 1f
}
every { context.resources } returns resources
every { resources.displayMetrics } returns displayMetrics
val result = context.numberOfGridColumns
assertEquals(2, result)
}
} }

Loading…
Cancel
Save