For #6820: Place address bar at top or bottom of the home screen based on user preference

fennec/nightly
David Walsh 4 years ago committed by Jeff Boek
parent 97915107eb
commit 4b3effdfab

@ -202,23 +202,59 @@ class HomeFragment : Fragment() {
sessionControlView = SessionControlView(homeFragmentStore, view.homeLayout, sessionControlInteractor) sessionControlView = SessionControlView(homeFragmentStore, view.homeLayout, sessionControlInteractor)
updateLayout(view)
activity.themeManager.applyStatusBarTheme(activity)
return view
}
private fun updateLayout(view: View) {
var shouldUseBottomToolbar = view.context.settings().shouldUseBottomToolbar
ConstraintSet().apply { ConstraintSet().apply {
clone(view.homeLayout) clone(view.homeLayout)
connect(sessionControlView.view.id, TOP, view.wordmark.id, BOTTOM)
if (shouldUseBottomToolbar) {
connect(sessionControlView.view.id, TOP, view.wordmark.id, BOTTOM)
connect(sessionControlView.view.id, BOTTOM, view.bottom_bar.id, TOP)
connect(view.bottom_bar.id, BOTTOM, PARENT_ID, BOTTOM)
connect(view.bottomBarShadow.id, BOTTOM, view.bottom_bar.id, TOP)
connect(view.privateBrowsingButton.id, TOP, PARENT_ID, TOP)
} else {
connect(sessionControlView.view.id, TOP, view.wordmark.id, TOP)
connect(sessionControlView.view.id, BOTTOM, PARENT_ID, BOTTOM)
connect(view.bottomBarShadow.id, BOTTOM, view.bottom_bar.id, BOTTOM)
connect(view.privateBrowsingButton.id, TOP, view.bottomBarShadow.id, TOP)
}
connect(sessionControlView.view.id, START, PARENT_ID, START) connect(sessionControlView.view.id, START, PARENT_ID, START)
connect(sessionControlView.view.id, END, PARENT_ID, END) connect(sessionControlView.view.id, END, PARENT_ID, END)
connect(sessionControlView.view.id, BOTTOM, view.bottom_bar.id, TOP)
applyTo(view.homeLayout) applyTo(view.homeLayout)
} }
@Suppress("MagicNumber") // we need constants if we define layouts in code. var headingsTopMargins = if (shouldUseBottomToolbar) { HEADER_MARGIN } else { TOP_TOOLBAR_HEADER_MARGIN }
sessionControlView.view.updateLayoutParams<ViewGroup.MarginLayoutParams> { var sessionControlViewTopMargin = if (shouldUseBottomToolbar) {
topMargin = 32.dpToPx(resources.displayMetrics) SESSION_CONTROL_VIEW_TOP_MARGIN
} else {
SESSION_CONTROL_VIEW_TOP_TOOLBAR_MARGIN
} }
activity.themeManager.applyStatusBarTheme(activity) view.wordmark.updateLayoutParams<ViewGroup.MarginLayoutParams> {
topMargin = headingsTopMargins.dpToPx(resources.displayMetrics)
}
return view sessionControlView.view.updateLayoutParams<ViewGroup.MarginLayoutParams> {
topMargin = sessionControlViewTopMargin.dpToPx(resources.displayMetrics)
}
if (!shouldUseBottomToolbar) {
view.privateBrowsingButton.updateLayoutParams<ViewGroup.MarginLayoutParams> {
topMargin = PRIVATE_BROWSING_BUTTON_TOP_MARGIN.dpToPx(resources.displayMetrics)
}
}
} }
@ExperimentalCoroutinesApi @ExperimentalCoroutinesApi
@ -799,6 +835,13 @@ class HomeFragment : Fragment() {
private const val SHARED_TRANSITION_MS = 200L private const val SHARED_TRANSITION_MS = 200L
private const val CFR_WIDTH_DIVIDER = 1.7 private const val CFR_WIDTH_DIVIDER = 1.7
private const val CFR_Y_OFFSET = -20 private const val CFR_Y_OFFSET = -20
// Layout
private const val HEADER_MARGIN = 60
private const val TOP_TOOLBAR_HEADER_MARGIN = 120
private const val SESSION_CONTROL_VIEW_TOP_MARGIN = 32
private const val SESSION_CONTROL_VIEW_TOP_TOOLBAR_MARGIN = 64
private const val PRIVATE_BROWSING_BUTTON_TOP_MARGIN = 40
} }
} }

@ -22,15 +22,13 @@
android:contentDescription="@string/content_description_private_browsing_button" android:contentDescription="@string/content_description_private_browsing_button"
app:srcCompat="@drawable/private_browsing_button" app:srcCompat="@drawable/private_browsing_button"
app:layout_constraintBottom_toTopOf="@+id/wordmark" app:layout_constraintBottom_toTopOf="@+id/wordmark"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent" />
app:layout_constraintTop_toTopOf="parent" />
<ImageView <ImageView
android:id="@+id/wordmark" android:id="@+id/wordmark"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="80dp" android:layout_height="80dp"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:layout_marginTop="60dp"
android:layout_marginBottom="32dp" android:layout_marginBottom="32dp"
android:adjustViewBounds="true" android:adjustViewBounds="true"
android:clickable="false" android:clickable="false"
@ -55,7 +53,6 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="56dp" android:layout_height="56dp"
android:background="?bottomBarBackground" android:background="?bottomBarBackground"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" /> app:layout_constraintStart_toStartOf="parent" />

Loading…
Cancel
Save