diff --git a/app/src/main/java/com/duckduckgo/app/browser/omnibar/experiments/SingleOmnibarLayout.kt b/app/src/main/java/com/duckduckgo/app/browser/omnibar/experiments/SingleOmnibarLayout.kt index 8ad3e8a2998f..3a7316fe0565 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/omnibar/experiments/SingleOmnibarLayout.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/omnibar/experiments/SingleOmnibarLayout.kt @@ -18,6 +18,7 @@ package com.duckduckgo.app.browser.omnibar.experiments import android.animation.ValueAnimator import android.content.Context +import android.graphics.Color import android.os.Build import android.util.AttributeSet import android.view.View @@ -47,6 +48,7 @@ import com.duckduckgo.di.scopes.FragmentScope import com.duckduckgo.mobile.android.R as CommonR import com.duckduckgo.navigation.api.GlobalActivityStarter import com.google.android.material.card.MaterialCardView +import com.google.android.material.color.MaterialColors.* import dagger.android.support.AndroidSupportInjection import javax.inject.Inject @@ -60,7 +62,6 @@ class SingleOmnibarLayout @JvmOverloads constructor( lateinit var globalActivityStarter: GlobalActivityStarter private val aiChatDivider: View by lazy { findViewById(R.id.verticalDivider) } - private val omnibarCard: MaterialCardView by lazy { findViewById(R.id.omniBarContainer) } private val omnibarCardShadow: MaterialCardView by lazy { findViewById(R.id.omniBarContainerShadow) } private val iconsContainer: View by lazy { findViewById(R.id.iconsContainer) } private val shieldIconPulseAnimationContainer: View by lazy { findViewById(R.id.shieldIconPulseAnimationContainer) } @@ -200,28 +201,27 @@ class SingleOmnibarLayout @JvmOverloads constructor( } private fun animateOmnibarFocusedState(focused: Boolean) { - focusAnimator?.cancel() - - val startCardStrokeWidth = omnibarCard.strokeWidth - val endCardStrokeWidth: Int = if (focused) { - omnibarOutlineFocusedWidth - } else { - omnibarOutlineWidth - } + if (Build.VERSION.SDK_INT >= 28) { + focusAnimator?.cancel() - val animator = ValueAnimator.ofFloat(0f, 1f) - animator.duration = DEFAULT_ANIMATION_DURATION - animator.interpolator = DecelerateInterpolator() - animator.addUpdateListener { valueAnimator -> - val fraction = valueAnimator.animatedValue as Float + val startColor = omnibarCardShadow.outlineSpotShadowColor + val endColor: Int = if (focused) { + getColor(context, com.duckduckgo.mobile.android.R.attr.daxColorShade, Color.BLACK) + } else { + ContextCompat.getColor(context, android.R.color.transparent) + } - val animatedCardStrokeWidth = (startCardStrokeWidth + (endCardStrokeWidth - startCardStrokeWidth) * fraction).toInt() + val animator = ValueAnimator.ofArgb(startColor, endColor) + animator.duration = DEFAULT_ANIMATION_DURATION + animator.interpolator = DecelerateInterpolator() + animator.addUpdateListener { colorAnimator -> + val shadowColor = colorAnimator.animatedValue as Int + omnibarCardShadow.outlineSpotShadowColor = shadowColor + } - omnibarCard.strokeWidth = animatedCardStrokeWidth + animator.start() + focusAnimator = animator } - - animator.start() - focusAnimator = animator } private fun onFindInPageShown() { diff --git a/app/src/main/res/layout/view_single_omnibar.xml b/app/src/main/res/layout/view_single_omnibar.xml index 1343805ed583..97d251724b3c 100644 --- a/app/src/main/res/layout/view_single_omnibar.xml +++ b/app/src/main/res/layout/view_single_omnibar.xml @@ -66,7 +66,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" app:cardElevation="0dp" - app:strokeColor="?daxColorAccentBlue" app:strokeWidth="@dimen/experimentalOmnibarOutlineWidth"> - #27282A - #333538 - #404145 + #282828 + #373737 + #474747 + #1F1F1F #404145 @@ -37,9 +38,12 @@ #7AFFFFFF #3DFFFFFF - + #1FF9F9F9 + + #52171718 + #1FF9F9F9 #2EF9F9F9 @@ -51,6 +55,7 @@ #F2F2F2 #F9F9F9 #FFFFFF + #FFFFFF #FFFFFF @@ -63,9 +68,12 @@ #991F1F1F #661F1F1F - + #171F1F1F + + #8E1F1F1F + #171F1F1F #1F1F1F1F diff --git a/common/common-ui/src/main/res/values/design-experiments-theming.xml b/common/common-ui/src/main/res/values/design-experiments-theming.xml index 694d1e0a58e0..543878bbbc56 100644 --- a/common/common-ui/src/main/res/values/design-experiments-theming.xml +++ b/common/common-ui/src/main/res/values/design-experiments-theming.xml @@ -23,6 +23,7 @@ @color/background_background_dark @color/background_surface_dark @color/background_window_dark + @color/background_canvas_dark @color/text_primary_dark @@ -33,9 +34,12 @@ @color/icon_secondary_dark @color/icon_tertiary_dark - + @color/lines_dark + + @color/shade_dark + @color/controls_fill_primary_dark @color/controls_fill_secondary_dark @@ -66,6 +70,7 @@ @color/background_background_light @color/background_surface_light @color/background_window_light + @color/background_canvas_light @color/text_primary_light @@ -79,6 +84,9 @@ @color/lines_light + + @color/shade_light + @color/controls_fill_primary_light @color/controls_fill_secondary_light diff --git a/common/common-ui/src/main/res/values/design-system-colors.xml b/common/common-ui/src/main/res/values/design-system-colors.xml index 3c6e025e93a6..8849deaadf15 100644 --- a/common/common-ui/src/main/res/values/design-system-colors.xml +++ b/common/common-ui/src/main/res/values/design-system-colors.xml @@ -48,6 +48,7 @@ + @@ -58,6 +59,7 @@ +