ui: hold the offline strip to the 48dp touch target

Keep the strip's own tint and the clickable row, but give it the
standard minimum interactive height now that the Surface is no longer
padding it invisibly.
This commit is contained in:
austinried
2026-10-21 10:14:10 +00:00
parent 9feaf54cd2
commit b76328fc26
2 changed files with 3 additions and 2 deletions
@@ -17,6 +17,7 @@ import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.heightIn
import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
@@ -1025,6 +1026,7 @@ private fun OfflineStrip(
modifier modifier
.fillMaxWidth() .fillMaxWidth()
.background(lerp(headerColor, MaterialTheme.colorScheme.primary, OFFLINE_STRIP_TINT)) .background(lerp(headerColor, MaterialTheme.colorScheme.primary, OFFLINE_STRIP_TINT))
.heightIn(min = 48.dp)
.clickable(role = Role.Button, onClick = onGoOnline) .clickable(role = Role.Button, onClick = onGoOnline)
.padding(horizontal = 16.dp, vertical = 8.dp), .padding(horizontal = 16.dp, vertical = 8.dp),
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
@@ -5,7 +5,6 @@ import androidx.compose.foundation.pager.PagerState
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.ui.test.assertHeightIsEqualTo
import androidx.compose.ui.test.assertWidthIsEqualTo import androidx.compose.ui.test.assertWidthIsEqualTo
import androidx.compose.ui.test.junit4.v2.createAndroidComposeRule import androidx.compose.ui.test.junit4.v2.createAndroidComposeRule
import androidx.compose.ui.test.onAllNodesWithContentDescription import androidx.compose.ui.test.onAllNodesWithContentDescription
@@ -534,7 +533,7 @@ class LibraryScreenTest {
} }
composeRule.waitForIdle() composeRule.waitForIdle()
composeRule.onNodeWithText(composeRule.activity.getString(R.string.offline_mode_banner)).assertHeightIsEqualTo(36.dp).performClick() composeRule.onNodeWithText(composeRule.activity.getString(R.string.offline_mode_banner)).performClick()
assertTrue("the offline strip should leave offline mode", exited) assertTrue("the offline strip should leave offline mode", exited)
composeRule composeRule
.onNodeWithContentDescription(composeRule.activity.getString(R.string.navigation_tabs_settings)) .onNodeWithContentDescription(composeRule.activity.getString(R.string.navigation_tabs_settings))