1
0
Fork 0

For #5709: Align ETP onboarding popup implementation with original mocks

master
mcarare 2019-10-15 17:07:47 +03:00
parent e1d05f55fc
commit b82a794908
4 changed files with 12 additions and 3 deletions

View File

@ -54,6 +54,7 @@ import org.mozilla.fenix.ext.increaseTapArea
import org.mozilla.fenix.ext.nav
import org.mozilla.fenix.ext.requireComponents
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.ext.getDimenInDip
import org.mozilla.fenix.home.sessioncontrol.SessionControlChange
import org.mozilla.fenix.home.sessioncontrol.TabCollection
import org.mozilla.fenix.mvi.getManagedEmitter
@ -385,11 +386,12 @@ class BrowserFragment : BaseBrowserFragment(), BackHandler {
layout.measure(spec, spec)
val containerHeight = layout.measuredHeight
val triangleHeight = it.getDimenInDip(R.dimen.tp_onboarding_triangle_height).toInt()
val xOffset = it.dimen(R.dimen.tp_onboarding_x_offset)
// Positioning the popup above the tp anchor.
val yOffset = -containerHeight - (browserToolbarView.view.height / THREE * 2)
val yOffset = -containerHeight - (browserToolbarView.view.height / THREE * 2) + triangleHeight
trackingOnboarding.showAsDropDown(tpIcon, xOffset, yOffset)
it.settings().incrementTrackingProtectionOnboardingCount()

View File

@ -17,12 +17,15 @@ import android.view.View
import android.view.ViewGroup
import androidx.annotation.AttrRes
import androidx.annotation.ColorInt
import androidx.annotation.DimenRes
import androidx.annotation.StringRes
import androidx.fragment.app.FragmentActivity
import mozilla.components.browser.search.SearchEngineManager
import mozilla.components.support.base.log.Log
import mozilla.components.support.base.log.Log.Priority.WARN
import mozilla.components.support.ktx.android.content.getColorFromAttr
import org.jetbrains.anko.dimen
import org.jetbrains.anko.px2dip
import org.mozilla.fenix.BuildConfig
import org.mozilla.fenix.Config
import org.mozilla.fenix.FenixApplication
@ -109,3 +112,6 @@ fun Context.getColorFromAttr(@AttrRes attr: Int) = getColorFromAttr(attr)
fun Context.settings(isCrashReportEnabledInBuild: Boolean = BuildConfig.CRASH_REPORTING && Config.channel.isReleased) =
Settings.getInstance(this, isCrashReportEnabledInBuild)
fun Context.getDimenInDip(@DimenRes resource: Int) =
this.px2dip(this.dimen(resource))

View File

@ -47,7 +47,7 @@
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_height="@dimen/tp_onboarding_triangle_height"
android:layout_marginStart="16dp"
android:importantForAccessibility="no"
android:rotation="180"

View File

@ -36,7 +36,8 @@
<dimen name="context_menu_height">48dp</dimen>
<dimen name="context_menu_x_offset">8dp</dimen>
<dimen name="tp_onboarding_width">256dp</dimen>
<dimen name="tp_onboarding_x_offset">4dp</dimen>
<dimen name="tp_onboarding_x_offset">0dp</dimen>
<dimen name="tp_onboarding_triangle_height">16dp</dimen>
<!--Quick Settings-->
<dimen name="quicksettings_item_height">46dp</dimen>