// Copyright 2015 The Chromium Authors. All rights reserved.
// 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.compositor.bottombar.contextualsearch;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel;
import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelInflater;
import org.chromium.ui.resources.dynamics.DynamicResourceLoader;
/**
* Controls the Search Context View that is used as a dynamic resource.
*/
public class ContextualSearchContextControl extends OverlayPanelInflater {
/**
* The selected text View.
*/
private TextView mSelectedText;
/**
* The end of the surrounding text View.
*/
private TextView mEndText;
/**
* @param panel The panel.
* @param context The Android Context used to inflate the View.
* @param container The container View used to inflate the View.
* @param resourceLoader The resource loader that will handle the snapshot capturing.
*/
public ContextualSearchContextControl(OverlayPanel panel,
Context context,
ViewGroup container,
DynamicResourceLoader resourceLoader) {
super(panel, R.layout.contextual_search_context_view, R.id.contextual_search_context_view,
context, container, resourceLoader);
}
/**
* Sets the search context to display in the control.
* @param selection The portion of the context that represents the user's selection.
* @param end The portion of the context after the selection.
*/
public void setSearchContext(String selection, String end) {
inflate();
mSelectedText.setText(sanitizeText(selection));
mEndText.setText(sanitizeText(end));
invalidate();
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
View view = getView();
mSelectedText = (TextView) view.findViewById(R.id.selected_text);
mEndText = (TextView) view.findViewById(R.id.surrounding_text_end);
}
}