Bug 1963011 - Don't show the setup checklist on tablet devices r=android-reviewers,gmalekpour

Differential Revision: https://phabricator.services.mozilla.com/D246917
This commit is contained in:
t-p-white
2025-04-29 09:00:00 +00:00
parent c94cdd4752
commit 0f71ce3d96
2 changed files with 20 additions and 7 deletions

View File

@@ -12,6 +12,7 @@ import mozilla.components.lib.state.ext.observeAsComposableState
import org.mozilla.fenix.components.components
import org.mozilla.fenix.compose.ComposeViewHolder
import org.mozilla.fenix.home.sessioncontrol.SetupChecklistInteractor
import org.mozilla.fenix.utils.isLargeScreenSize
/**
* View holder for the Setup Checklist feature.
@@ -32,7 +33,7 @@ class SetupChecklistViewHolder(
val setupChecklistState =
appStore.observeAsComposableState { state -> state.setupChecklistState }.value
if (setupChecklistState != null && setupChecklistState.isVisible) {
if (!composeView.context.isLargeScreenSize() && setupChecklistState != null && setupChecklistState.isVisible) {
SetupChecklist(
setupChecklistState = setupChecklistState,
interactor = interactor,

View File

@@ -25,6 +25,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
@@ -37,6 +38,7 @@ import org.mozilla.fenix.GleanMetrics.History
import org.mozilla.fenix.GleanMetrics.HomeBookmarks
import org.mozilla.fenix.GleanMetrics.RecentlyVisitedHomepage
import org.mozilla.fenix.R
import org.mozilla.fenix.components.appstate.setup.checklist.SetupChecklistState
import org.mozilla.fenix.compose.MessageCard
import org.mozilla.fenix.compose.home.HomeSectionHeader
import org.mozilla.fenix.home.bookmarks.Bookmark
@@ -71,6 +73,7 @@ import org.mozilla.fenix.home.topsites.TopSiteColors
import org.mozilla.fenix.home.topsites.TopSites
import org.mozilla.fenix.theme.FirefoxTheme
import org.mozilla.fenix.theme.Theme
import org.mozilla.fenix.utils.isLargeScreenSize
import org.mozilla.fenix.wallpapers.WallpaperState
private const val MIDDLE_SEARCH_SCROLL_THRESHOLD_PX = 10
@@ -156,12 +159,7 @@ internal fun Homepage(
}
}
if (setupChecklistState != null && setupChecklistState.isVisible) {
SetupChecklist(
setupChecklistState = setupChecklistState,
interactor = interactor,
)
}
MaybeAddSetupChecklist(setupChecklistState, interactor)
if (showRecentTabs) {
RecentTabsSection(
@@ -234,6 +232,20 @@ internal fun Homepage(
}
}
@Composable
private fun MaybeAddSetupChecklist(
setupChecklistState: SetupChecklistState?,
interactor: HomepageInteractor,
) {
val isTabletDevice = LocalContext.current.isLargeScreenSize()
if (!isTabletDevice && setupChecklistState != null && setupChecklistState.isVisible) {
SetupChecklist(
setupChecklistState = setupChecklistState,
interactor = interactor,
)
}
}
@Composable
private fun NimbusMessageCardSection(
nimbusMessage: NimbusMessageState,