From db71d8dfe7b1301c53a86059840fc32661e57dd7 Mon Sep 17 00:00:00 2001 From: Matt Tighe Date: Fri, 17 Dec 2021 13:02:58 -0800 Subject: [PATCH] fixes #22889: add bottom spacer to onboarding adapter --- .../perf/StartupExcessiveResourceUseTest.kt | 2 +- .../fenix/home/BottomSpacerViewHolder.kt | 21 +++++-------------- .../sessioncontrol/SessionControlAdapter.kt | 4 +--- .../home/sessioncontrol/SessionControlView.kt | 3 ++- app/src/main/res/layout/bottom_spacer.xml | 7 +++++++ 5 files changed, 16 insertions(+), 21 deletions(-) create mode 100644 app/src/main/res/layout/bottom_spacer.xml diff --git a/app/src/androidTest/java/org/mozilla/fenix/perf/StartupExcessiveResourceUseTest.kt b/app/src/androidTest/java/org/mozilla/fenix/perf/StartupExcessiveResourceUseTest.kt index 966ad1dd7..577e7ba65 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/perf/StartupExcessiveResourceUseTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/perf/StartupExcessiveResourceUseTest.kt @@ -25,7 +25,7 @@ private const val EXPECTED_SUPPRESSION_COUNT = 19 @Suppress("TopLevelPropertyNaming") // it's silly this would have a different naming convention b/c no const private val EXPECTED_RUNBLOCKING_RANGE = 0..1 // CI has +1 counts compared to local runs: increment these together private const val EXPECTED_RECYCLER_VIEW_CONSTRAINT_LAYOUT_CHILDREN = 4 -private const val EXPECTED_NUMBER_OF_INFLATION = 13 +private const val EXPECTED_NUMBER_OF_INFLATION = 14 private val failureMsgStrictMode = getErrorMessage( shortName = "StrictMode suppression", diff --git a/app/src/main/java/org/mozilla/fenix/home/BottomSpacerViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/BottomSpacerViewHolder.kt index fd1f198d6..b7bbe69d0 100644 --- a/app/src/main/java/org/mozilla/fenix/home/BottomSpacerViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/BottomSpacerViewHolder.kt @@ -5,24 +5,13 @@ package org.mozilla.fenix.home import android.view.View -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.height -import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.ComposeView -import androidx.compose.ui.unit.dp import androidx.recyclerview.widget.RecyclerView -import org.mozilla.fenix.theme.FirefoxTheme - -class BottomSpacerViewHolder(val composeView: ComposeView) : RecyclerView.ViewHolder(composeView) { - init { - composeView.setContent { - FirefoxTheme { - Spacer(modifier = Modifier.height(88.dp)) - } - } - } +import org.mozilla.fenix.R +class BottomSpacerViewHolder( + view: View, +) : RecyclerView.ViewHolder(view) { companion object { - val LAYOUT_ID = View.generateViewId() + val LAYOUT_ID = R.layout.bottom_spacer } } diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlAdapter.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlAdapter.kt index 6eb654e67..b321e2cce 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlAdapter.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlAdapter.kt @@ -235,9 +235,6 @@ class SessionControlAdapter( interactor = interactor, metrics = components.analytics.metrics ) - BottomSpacerViewHolder.LAYOUT_ID -> return BottomSpacerViewHolder( - composeView = ComposeView(parent.context) - ) } val view = LayoutInflater.from(parent.context).inflate(viewType, parent, false) @@ -284,6 +281,7 @@ class SessionControlAdapter( view, interactor ) + BottomSpacerViewHolder.LAYOUT_ID -> BottomSpacerViewHolder(view) else -> throw IllegalStateException() } } diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt index 0f5f86c9a..59020b097 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt @@ -142,7 +142,8 @@ private fun onboardingAdapterItems(onboardingState: OnboardingState): List + +