From f9b05e7d5a2497f6ddeb0d408b5e5fbd6fd6a9d3 Mon Sep 17 00:00:00 2001 From: Jeff Boek Date: Mon, 10 Feb 2020 10:32:26 -0800 Subject: [PATCH] For #8212 - Fixes shadow/border when toolbar is on top (#8234) --- .../org/mozilla/fenix/home/HomeFragment.kt | 15 +++++++++++++ .../drawable/home_bottom_bar_background.xml | 2 +- .../home_bottom_bar_background_top.xml | 17 ++++++++++++++ ...te_home_bottom_bar_background_gradient.xml | 2 +- ...ome_bottom_bar_background_gradient_top.xml | 22 +++++++++++++++++++ app/src/main/res/layout/fragment_home.xml | 10 +++++++++ app/src/main/res/values/attrs.xml | 1 + app/src/main/res/values/styles.xml | 2 ++ 8 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 app/src/main/res/drawable/home_bottom_bar_background_top.xml create mode 100644 app/src/main/res/drawable/private_home_bottom_bar_background_gradient_top.xml diff --git a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt index c46726c01..307040b42 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -20,6 +20,9 @@ import android.widget.PopupWindow import androidx.annotation.StringRes import androidx.appcompat.app.AlertDialog import androidx.constraintlayout.widget.ConstraintLayout +import androidx.constraintlayout.widget.ConstraintSet +import androidx.constraintlayout.widget.ConstraintSet.BOTTOM +import androidx.constraintlayout.widget.ConstraintSet.TOP import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.core.content.ContextCompat import androidx.core.view.updateLayoutParams @@ -229,6 +232,18 @@ class HomeFragment : Fragment() { gravity = Gravity.TOP } + ConstraintSet().apply { + clone(view.toolbarLayout) + clear(view.bottomBarShadow.id, BOTTOM) + connect(view.bottomBarShadow.id, TOP, view.bottom_bar.id, BOTTOM) + applyTo(view.toolbarLayout) + } + + view.bottom_bar.background = resources.getDrawable( + ThemeManager.resolveAttribute(R.attr.bottomBarBackgroundTop, requireContext()), + null + ) + view.homeAppBar.updateLayoutParams { topMargin = HEADER_MARGIN.dpToPx(resources.displayMetrics) } diff --git a/app/src/main/res/drawable/home_bottom_bar_background.xml b/app/src/main/res/drawable/home_bottom_bar_background.xml index b57a92a7e..080355691 100644 --- a/app/src/main/res/drawable/home_bottom_bar_background.xml +++ b/app/src/main/res/drawable/home_bottom_bar_background.xml @@ -9,7 +9,7 @@ - + diff --git a/app/src/main/res/drawable/home_bottom_bar_background_top.xml b/app/src/main/res/drawable/home_bottom_bar_background_top.xml new file mode 100644 index 000000000..4f55f346c --- /dev/null +++ b/app/src/main/res/drawable/home_bottom_bar_background_top.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/private_home_bottom_bar_background_gradient.xml b/app/src/main/res/drawable/private_home_bottom_bar_background_gradient.xml index 8bce2c24f..b96094a6e 100644 --- a/app/src/main/res/drawable/private_home_bottom_bar_background_gradient.xml +++ b/app/src/main/res/drawable/private_home_bottom_bar_background_gradient.xml @@ -14,7 +14,7 @@ android:type="linear" /> - + diff --git a/app/src/main/res/drawable/private_home_bottom_bar_background_gradient_top.xml b/app/src/main/res/drawable/private_home_bottom_bar_background_gradient_top.xml new file mode 100644 index 000000000..3516dfeba --- /dev/null +++ b/app/src/main/res/drawable/private_home_bottom_bar_background_gradient_top.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index f5dfeac9e..5a592e99c 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -91,11 +91,21 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintBottom_toTopOf="@id/bottom_bar" /> + + diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 8553cccb7..febbd8cf8 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -31,6 +31,7 @@ + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index aefb6c31d..784d2df46 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -59,6 +59,7 @@ @drawable/ic_logo_wordmark_normal @color/foundation_normal_theme @drawable/home_bottom_bar_background + @drawable/home_bottom_bar_background_top @android:color/transparent @color/primary_text_normal_theme @raw/shield_json @@ -147,6 +148,7 @@ @drawable/ic_logo_wordmark_private @drawable/private_home_background_gradient @drawable/private_home_bottom_bar_background_gradient + @drawable/private_home_bottom_bar_background_gradient_top @color/primary_text_private_theme @color/above_private_theme @raw/shield_json_dark