// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.omnibox.suggestions.header;
import androidx.core.view.ViewCompat;
import org.chromium.chrome.browser.omnibox.suggestions.SuggestionCommonProperties;
import org.chromium.chrome.browser.ui.theme.BrandedColorScheme;
import org.chromium.components.browser_ui.styles.ChromeColors;
import org.chromium.ui.modelutil.PropertyKey;
import org.chromium.ui.modelutil.PropertyModel;
/** Properties associated with the header suggestion view. */
public interface HeaderViewBinder {
/**
* @see PropertyModelChangeProcessor.ViewBinder#bind(Object, Object, Object)
*/
public static void bind(PropertyModel model, HeaderView view, PropertyKey propertyKey) {
if (HeaderViewProperties.TITLE == propertyKey) {
view.setText(model.get(HeaderViewProperties.TITLE));
} else if (propertyKey == SuggestionCommonProperties.COLOR_SCHEME) {
final boolean isIncognito =
model.get(SuggestionCommonProperties.COLOR_SCHEME)
== BrandedColorScheme.INCOGNITO;
view.setTextAppearance(ChromeColors.getTextMediumThickSecondaryStyle(isIncognito));
} else if (propertyKey == SuggestionCommonProperties.LAYOUT_DIRECTION) {
ViewCompat.setLayoutDirection(
view, model.get(SuggestionCommonProperties.LAYOUT_DIRECTION));
}
}
}