Bug 1875465 - Part 2: Update layout and positioning logic

fenix/125.0
rahulsainani 4 months ago committed by mergify[bot]
parent 8a32c516df
commit c91378ceb7

@ -66,16 +66,27 @@ class ToolbarView(
gravity = Gravity.TOP
}
val isTabletAndTabStripEnabled = context.resources.getBoolean(R.bool.tablet)
ConstraintSet().apply {
clone(binding.toolbarLayout)
clear(binding.bottomBar.id, ConstraintSet.BOTTOM)
clear(binding.bottomBarShadow.id, ConstraintSet.BOTTOM)
connect(
binding.bottomBar.id,
ConstraintSet.TOP,
ConstraintSet.PARENT_ID,
ConstraintSet.TOP,
)
if (isTabletAndTabStripEnabled) {
connect(
binding.bottomBar.id,
ConstraintSet.TOP,
binding.tabStripView.id,
ConstraintSet.BOTTOM,
)
} else {
connect(
binding.bottomBar.id,
ConstraintSet.TOP,
ConstraintSet.PARENT_ID,
ConstraintSet.TOP,
)
}
connect(
binding.bottomBarShadow.id,
ConstraintSet.TOP,
@ -98,7 +109,12 @@ class ToolbarView(
binding.homeAppBar.updateLayoutParams<ViewGroup.MarginLayoutParams> {
topMargin =
context.resources.getDimensionPixelSize(R.dimen.home_fragment_top_toolbar_header_margin)
context.resources.getDimensionPixelSize(R.dimen.home_fragment_top_toolbar_header_margin) +
if (isTabletAndTabStripEnabled) {
context.resources.getDimensionPixelSize(R.dimen.tab_strip_height)
} else {
0
}
}
}

@ -4,9 +4,11 @@
package org.mozilla.fenix.search.toolbar
import android.view.ViewGroup
import androidx.annotation.VisibleForTesting
import androidx.appcompat.content.res.AppCompatResources
import androidx.core.content.ContextCompat
import androidx.core.view.updateMargins
import mozilla.components.browser.toolbar.BrowserToolbar
import mozilla.components.concept.toolbar.Toolbar
import mozilla.components.feature.toolbar.ToolbarAutocompleteFeature
@ -123,6 +125,12 @@ class ToolbarView(
}
},
)
if (settings.isTabletAndTabStripEnabled) {
(layoutParams as ViewGroup.MarginLayoutParams).updateMargins(
top = context.resources.getDimensionPixelSize(R.dimen.tab_strip_height),
)
}
}
}

@ -13,6 +13,14 @@
android:id="@+id/browserWindow"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.compose.ui.platform.ComposeView
android:id="@+id/tabStripView"
app:layout_constraintBottom_toTopOf="@+id/browserLayout"
app:layout_constraintTop_toTopOf="parent"
android:layout_width="match_parent"
android:visibility="gone"
android:layout_height="@dimen/tab_strip_height" />
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/browserLayout"
@ -20,7 +28,7 @@
android:layout_height="0dp"
app:layout_constraintHeight_min="1dp"
app:layout_constraintBottom_toTopOf="@+id/addressSelectBar"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tabStripView"
tools:context="browser.BrowserFragment">
<mozilla.components.ui.widgets.VerticalSwipeRefreshLayout

@ -109,6 +109,14 @@
android:layout_gravity="bottom"
tools:context=".home.HomeFragment">
<androidx.compose.ui.platform.ComposeView
android:id="@+id/tabStripView"
android:layout_width="match_parent"
app:layout_constraintBottom_toTopOf="@id/bottom_bar"
app:layout_constraintTop_toTopOf="parent"
android:visibility="gone"
android:layout_height="@dimen/tab_strip_height" />
<View
android:id="@+id/bottom_bar"
android:layout_width="0dp"

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<resources>
<!-- Also used as toolbar top margin when tab strip is enabled to accommodate the tab strip-->
<dimen name="tab_strip_height">48dp</dimen>
</resources>

@ -70,6 +70,7 @@
<!-- Browser Toolbar -->
<dimen name="browser_toolbar_height">56dp</dimen>
<dimen name="tab_strip_height">0dp</dimen>
<!-- Bookmark Edit Fragment -->
<dimen name="bookmark_edit_text_height">48dp</dimen>

Loading…
Cancel
Save