80 lines
2.7 KiB
Kotlin
80 lines
2.7 KiB
Kotlin
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||
|
file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||
|
|
||
|
package org.mozilla.fenix.search
|
||
|
|
||
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||
|
import androidx.constraintlayout.widget.ConstraintLayout.LayoutParams.PARENT_ID
|
||
|
import androidx.constraintlayout.widget.ConstraintLayout.LayoutParams.UNSET
|
||
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||
|
import kotlinx.android.synthetic.main.fragment_search.*
|
||
|
import mozilla.components.support.base.log.logger.Logger
|
||
|
import org.jetbrains.anko.constraint.layout.ConstraintSetBuilder.Side.BOTTOM
|
||
|
import org.jetbrains.anko.constraint.layout.ConstraintSetBuilder.Side.TOP
|
||
|
import org.jetbrains.anko.constraint.layout.applyConstraintSet
|
||
|
import org.mozilla.fenix.Experiments.AATestDescriptor
|
||
|
import org.mozilla.fenix.isInExperiment
|
||
|
|
||
|
internal fun SearchFragment.layoutComponents(layout: ConstraintLayout) {
|
||
|
context?.let {
|
||
|
when {
|
||
|
it.isInExperiment(AATestDescriptor) -> {
|
||
|
setInExperimentConstraints(layout)
|
||
|
}
|
||
|
else -> {
|
||
|
setOutOfExperimentConstraints(layout)
|
||
|
}
|
||
|
}
|
||
|
} // we're unattached if context is null
|
||
|
}
|
||
|
|
||
|
internal fun SearchFragment.setInExperimentConstraints(layout: ConstraintLayout) {
|
||
|
Logger.debug("Loading in experiment constraints")
|
||
|
layout.applyConstraintSet {
|
||
|
toolbar_wrapper {
|
||
|
connect(
|
||
|
TOP to TOP of UNSET,
|
||
|
BOTTOM to TOP of pill_wrapper
|
||
|
)
|
||
|
}
|
||
|
awesomeBar {
|
||
|
connect(
|
||
|
TOP to TOP of PARENT_ID,
|
||
|
BOTTOM to TOP of toolbar_wrapper
|
||
|
)
|
||
|
}
|
||
|
(awesomeBar.layoutManager as? LinearLayoutManager)?.reverseLayout = true
|
||
|
pill_wrapper {
|
||
|
connect(
|
||
|
BOTTOM to BOTTOM of PARENT_ID
|
||
|
)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
internal fun SearchFragment.setOutOfExperimentConstraints(layout: ConstraintLayout) {
|
||
|
Logger.debug("Loading out of experiment constraints")
|
||
|
layout.applyConstraintSet {
|
||
|
toolbar_wrapper {
|
||
|
connect(
|
||
|
TOP to TOP of PARENT_ID,
|
||
|
BOTTOM to TOP of UNSET
|
||
|
)
|
||
|
}
|
||
|
awesomeBar {
|
||
|
connect(
|
||
|
TOP to TOP of UNSET,
|
||
|
TOP to BOTTOM of toolbar_wrapper,
|
||
|
BOTTOM to TOP of pill_wrapper
|
||
|
)
|
||
|
}
|
||
|
(awesomeBar.layoutManager as? LinearLayoutManager)?.reverseLayout = false
|
||
|
pill_wrapper {
|
||
|
connect(
|
||
|
BOTTOM to BOTTOM of PARENT_ID
|
||
|
)
|
||
|
}
|
||
|
}
|
||
|
}
|