diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt index f263814a0..6495c6a16 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt @@ -128,18 +128,19 @@ class SearchFragment : Fragment(), UserInteractionHandler { searchController ) - awesomeBarView = AwesomeBarView(view.scrollable_area, searchInteractor) - + awesomeBarView = AwesomeBarView(view.scrollable_area, searchInteractor, + view.findViewById(R.id.awesomeBar)) view.scrollView.setOnScrollChangeListener { _: NestedScrollView, _: Int, _: Int, _: Int, _: Int -> view.hideKeyboard() } toolbarView = ToolbarView( - view.toolbar_component_wrapper, + requireContext(), searchInteractor, historyStorageProvider(), isPrivate, + view.toolbar, requireComponents.core.engine ) diff --git a/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt b/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt index 1c747f182..f413511e1 100644 --- a/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt +++ b/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt @@ -4,14 +4,11 @@ package org.mozilla.fenix.search.awesomebar -import android.view.LayoutInflater -import android.view.View import android.view.ViewGroup import androidx.appcompat.content.res.AppCompatResources.getDrawable import androidx.core.graphics.BlendModeColorFilterCompat.createBlendModeColorFilterCompat import androidx.core.graphics.BlendModeCompat.SRC_IN import androidx.core.graphics.drawable.toBitmap -import kotlinx.android.extensions.LayoutContainer import mozilla.components.browser.awesomebar.BrowserAwesomeBar import mozilla.components.browser.search.SearchEngine import mozilla.components.browser.session.Session @@ -82,14 +79,9 @@ interface AwesomeBarInteractor { */ class AwesomeBarView( private val container: ViewGroup, - val interactor: AwesomeBarInteractor -) : LayoutContainer { - val view: BrowserAwesomeBar = LayoutInflater.from(container.context) - .inflate(R.layout.component_awesomebar, container, true) - .findViewById(R.id.awesomeBar) - - override val containerView: View? - get() = container + val interactor: AwesomeBarInteractor, + val view: BrowserAwesomeBar +) { private val sessionProvider: SessionSuggestionProvider private val historyStorageProvider: HistoryStorageSuggestionProvider diff --git a/app/src/main/java/org/mozilla/fenix/search/toolbar/ToolbarView.kt b/app/src/main/java/org/mozilla/fenix/search/toolbar/ToolbarView.kt index 5944b1cd2..624734297 100644 --- a/app/src/main/java/org/mozilla/fenix/search/toolbar/ToolbarView.kt +++ b/app/src/main/java/org/mozilla/fenix/search/toolbar/ToolbarView.kt @@ -4,16 +4,12 @@ package org.mozilla.fenix.search.toolbar +import android.content.Context import android.graphics.Bitmap import android.graphics.drawable.BitmapDrawable -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.annotation.LayoutRes import androidx.appcompat.content.res.AppCompatResources import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.core.content.ContextCompat -import kotlinx.android.extensions.LayoutContainer import mozilla.components.browser.domains.autocomplete.ShippedDomainsProvider import mozilla.components.browser.toolbar.BrowserToolbar import mozilla.components.concept.engine.Engine @@ -23,7 +19,6 @@ import mozilla.components.support.ktx.android.content.getColorFromAttr import mozilla.components.support.ktx.android.util.dpToPx import mozilla.components.support.ktx.android.view.hideKeyboard import org.mozilla.fenix.R -import org.mozilla.fenix.ext.settings import org.mozilla.fenix.search.SearchFragmentState import org.mozilla.fenix.theme.ThemeManager @@ -55,27 +50,13 @@ interface ToolbarInteractor { * View that contains and configures the BrowserToolbar to only be used in its editing mode. */ class ToolbarView( - private val container: ViewGroup, + private val context: Context, private val interactor: ToolbarInteractor, private val historyStorage: HistoryStorage?, private val isPrivate: Boolean, + val view: BrowserToolbar, engine: Engine -) : LayoutContainer { - - override val containerView: View? - get() = container - - private val settings = container.context.settings() - - @LayoutRes - private val toolbarLayout = when { - settings.shouldUseBottomToolbar -> R.layout.component_bottom_browser_toolbar - else -> R.layout.component_browser_top_toolbar - } - - val view: BrowserToolbar = LayoutInflater.from(container.context) - .inflate(toolbarLayout, container, true) - .findViewById(R.id.toolbar) +) { private var isInitialized = false private var hasBeenCanceled = false @@ -97,7 +78,7 @@ class ToolbarView( background = AppCompatResources.getDrawable( - container.context, ThemeManager.resolveAttribute(R.attr.foundation, context) + context, ThemeManager.resolveAttribute(R.attr.foundation, context) ) layoutParams.height = CoordinatorLayout.LayoutParams.MATCH_PARENT @@ -105,17 +86,17 @@ class ToolbarView( edit.hint = context.getString(R.string.search_hint) edit.colors = edit.colors.copy( - text = container.context.getColorFromAttr(R.attr.primaryText), - hint = container.context.getColorFromAttr(R.attr.secondaryText), + text = context.getColorFromAttr(R.attr.primaryText), + hint = context.getColorFromAttr(R.attr.secondaryText), suggestionBackground = ContextCompat.getColor( - container.context, + context, R.color.suggestion_highlight_color ), - clear = container.context.getColorFromAttr(R.attr.primaryText) + clear = context.getColorFromAttr(R.attr.primaryText) ) edit.setUrlBackground( - AppCompatResources.getDrawable(container.context, R.drawable.search_url_background)) + AppCompatResources.getDrawable(context, R.drawable.search_url_background)) private = isPrivate @@ -163,7 +144,7 @@ class ToolbarView( isInitialized = true } - val iconSize = container.resources.getDimensionPixelSize(R.dimen.preference_icon_drawable_size) + val iconSize = context.resources.getDimensionPixelSize(R.dimen.preference_icon_drawable_size) val scaledIcon = Bitmap.createScaledBitmap( searchState.searchEngineSource.searchEngine.icon, @@ -171,7 +152,7 @@ class ToolbarView( iconSize, true) - val icon = BitmapDrawable(container.resources, scaledIcon) + val icon = BitmapDrawable(context.resources, scaledIcon) view.edit.setIcon(icon, searchState.searchEngineSource.searchEngine.name) } diff --git a/app/src/main/res/layout/component_awesomebar.xml b/app/src/main/res/layout/component_awesomebar.xml deleted file mode 100644 index 60fac20a0..000000000 --- a/app/src/main/res/layout/component_awesomebar.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml index e75cd713e..d9d325649 100644 --- a/app/src/main/res/layout/fragment_search.xml +++ b/app/src/main/res/layout/fragment_search.xml @@ -21,14 +21,26 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> - + app:layout_constraintTop_toTopOf="parent"/> @@ -45,7 +57,20 @@ android:id="@+id/scrollable_area" android:layout_width="match_parent" android:layout_height="wrap_content"> - +