From 127d006d6622638c31480b5c434a0f6a5ed198ba Mon Sep 17 00:00:00 2001 From: Sijan Rijal Date: Fri, 9 Oct 2020 06:22:57 -0700 Subject: [PATCH] For #15402: Hide ETP pop-up if the toolbar is not visible (#15667) For #15402: Hide ETP pop-up when top or bottom toolbar is not visible --- .../TrackingProtectionOverlay.kt | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionOverlay.kt b/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionOverlay.kt index 2902b2392..e3719304a 100644 --- a/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionOverlay.kt +++ b/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionOverlay.kt @@ -15,6 +15,7 @@ import android.view.View import android.widget.ImageView import androidx.core.view.isVisible import androidx.core.view.marginTop +import com.google.android.material.appbar.AppBarLayout import kotlinx.android.synthetic.main.tracking_protection_onboarding_popup.* import kotlinx.android.synthetic.main.tracking_protection_onboarding_popup.view.* import mozilla.components.browser.session.Session @@ -44,13 +45,32 @@ class TrackingProtectionOverlay( private fun shouldShowTrackingProtectionOnboarding(session: Session) = session.trackerBlockingEnabled && - session.trackersBlocked.isNotEmpty() && - settings.shouldShowTrackingProtectionCfr + session.trackersBlocked.isNotEmpty() && + settings.shouldShowTrackingProtectionCfr @Suppress("MagicNumber", "InflateParams") private fun showTrackingProtectionOnboarding() { + if (!getToolbar().hasWindowFocus()) return + val toolbarPosition = settings.toolbarPosition + + when (toolbarPosition) { + ToolbarPosition.BOTTOM -> { + if (getToolbar().translationY > 0) { + return + } + } + ToolbarPosition.TOP -> { + val appBarLayout = getToolbar().parent as? AppBarLayout + appBarLayout?.let { appBar -> + if (appBar.y != 0.toFloat()) { + return + } + } + } + } + val trackingOnboardingDialog = object : Dialog(context) { override fun onTouchEvent(event: MotionEvent): Boolean { @@ -63,7 +83,6 @@ class TrackingProtectionOverlay( val layout = LayoutInflater.from(context) .inflate(R.layout.tracking_protection_onboarding_popup, null) - val toolbarPosition = settings.toolbarPosition layout.drop_down_triangle.isVisible = toolbarPosition == ToolbarPosition.TOP layout.pop_up_triangle.isVisible = toolbarPosition == ToolbarPosition.BOTTOM